<?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>119362</bug_id>
          
          <creation_ts>2013-07-31 17:28:48 -0700</creation_ts>
          <short_desc>Have vm&apos;s exceptionStack match java&apos;s vm&apos;s exceptionStack.</short_desc>
          <delta_ts>2013-08-02 14:31:13 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Curtis">chris_curtis</reporter>
          <assigned_to name="Chris Curtis">chris_curtis</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>ggaren</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>913563</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-07-31 17:28:48 -0700</bug_when>
    <thetext>This will allow the inspector to see the previous stack trace as well as the current stack trace if desired.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913566</commentid>
    <comment_count>1</comment_count>
      <attachid>207889</attachid>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-07-31 17:35:21 -0700</bug_when>
    <thetext>Created attachment 207889
patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913567</commentid>
    <comment_count>2</comment_count>
      <attachid>207889</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-07-31 17:42:57 -0700</bug_when>
    <thetext>Comment on attachment 207889
patch 1

Attachment 207889 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1288923</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913568</commentid>
    <comment_count>3</comment_count>
      <attachid>207889</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-07-31 17:43:12 -0700</bug_when>
    <thetext>Comment on attachment 207889
patch 1

Attachment 207889 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1287846</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913576</commentid>
    <comment_count>4</comment_count>
      <attachid>207889</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-31 17:59:13 -0700</bug_when>
    <thetext>Comment on attachment 207889
patch 1

Attachment 207889 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1299796</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913577</commentid>
    <comment_count>5</comment_count>
      <attachid>207889</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-07-31 18:00:36 -0700</bug_when>
    <thetext>Comment on attachment 207889
patch 1

Attachment 207889 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1298864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913578</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-07-31 18:02:35 -0700</bug_when>
    <thetext>Looks like you need an #include or two:

../../Source/WTF/wtf/RefCountedArray.h:128:23: error: invalid use of incomplete type &apos;struct JSC::StackFrame&apos;
         return m_data + Header::fromPayload(m_data)-&gt;length;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913581</commentid>
    <comment_count>7</comment_count>
      <attachid>207889</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-07-31 18:08:36 -0700</bug_when>
    <thetext>Comment on attachment 207889
patch 1

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

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        1. The vm-&gt;exceptionStack is unconditionally updated at each throw, and error 
&gt; +            objects are only updated when they do not have the stack property.

You should mention the &apos;why&apos; here: This matches other browsers, and Java VMs.

&gt; Source/JavaScriptCore/interpreter/Interpreter.cpp:617
&gt; -        if (!callFrame-&gt;vm().exceptionStack().size()) {
&gt; +        if (!callFrame-&gt;vm().getExceptionStack().size()) {

WebKit style only uses the &quot;get&quot; prefix for functions that have out parameters. This should be &quot;exceptionStack()&quot;.

&gt; Source/JavaScriptCore/runtime/VM.cpp:535
&gt; +void VM::setExceptionStack(const RefCountedArray&lt;StackFrame&gt; newStack)

Passing an object like this will invoke its copy constructor. In the case of RefCountedArray, that will copy a pointer on the stack and then increment a refcount. When the temporary copy is destroyed, it will do some branching and possibly decrement the refcount. This is needless wasted performance.

You should pass &quot;const RefCountedArray&lt;StackFrame&gt;&amp;&quot; to avoid this cost.

&gt; Source/JavaScriptCore/runtime/VM.h:336
&gt; +        RefCountedArray&lt;StackFrame&gt; getExceptionStack() const { return m_exceptionStack; } 
&gt; +        void setExceptionStack(const RefCountedArray&lt;StackFrame&gt;);
&gt; +        RefCountedArray&lt;StackFrame&gt;&amp; lastExceptionStack() { return m_lastExceptionStack; }

I believe it&apos;s sufficient to have a single &quot;lastExceptionStack&quot;. Any new exception can just overwrite the last lastExceptionStack. Is there any time when we want to know the current exception stack and the last simultaneously?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913771</commentid>
    <comment_count>8</comment_count>
      <attachid>207933</attachid>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-08-01 09:53:02 -0700</bug_when>
    <thetext>Created attachment 207933
patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913911</commentid>
    <comment_count>9</comment_count>
      <attachid>207933</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-01 15:36:04 -0700</bug_when>
    <thetext>Comment on attachment 207933
patch 2

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

&gt; Source/JavaScriptCore/interpreter/Interpreter.cpp:621
&gt; -        if (!callFrame-&gt;vm().exceptionStack().size()) {
&gt; +        if (!callFrame-&gt;vm().lastExceptionStack().size()) {
&gt;              Vector&lt;StackFrame&gt; stack;
&gt;              callFrame-&gt;vm().interpreter-&gt;getStackTrace(stack);
&gt; -            callFrame-&gt;vm().exceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt; +            callFrame-&gt;vm().lastExceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt;          }

I think we want to set lastExceptionStack unconditionally, don&apos;t we? Isn&apos;t that what addErrorInfo() does in the &quot;if&quot; case above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913916</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-08-01 15:49:43 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 207933 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207933&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/interpreter/Interpreter.cpp:621
&gt; &gt; -        if (!callFrame-&gt;vm().exceptionStack().size()) {
&gt; &gt; +        if (!callFrame-&gt;vm().lastExceptionStack().size()) {
&gt; &gt;              Vector&lt;StackFrame&gt; stack;
&gt; &gt;              callFrame-&gt;vm().interpreter-&gt;getStackTrace(stack);
&gt; &gt; -            callFrame-&gt;vm().exceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt; &gt; +            callFrame-&gt;vm().lastExceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt; &gt;          }
&gt; 
&gt; I think we want to set lastExceptionStack unconditionally, don&apos;t we? Isn&apos;t that what addErrorInfo() does in the &quot;if&quot; case above?

I was not sure about this case, its an exception coming from a non object. Considering that all of the changes I made effected error objects only, and the original changes to the vm were reverted to its original state. It seemed like a bad idea to change this functionality. These changes are just the naming convention that was altered in the process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913925</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-08-01 16:38:39 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 207933 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207933&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/interpreter/Interpreter.cpp:621
&gt; &gt; -        if (!callFrame-&gt;vm().exceptionStack().size()) {
&gt; &gt; +        if (!callFrame-&gt;vm().lastExceptionStack().size()) {
&gt; &gt;              Vector&lt;StackFrame&gt; stack;
&gt; &gt;              callFrame-&gt;vm().interpreter-&gt;getStackTrace(stack);
&gt; &gt; -            callFrame-&gt;vm().exceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt; &gt; +            callFrame-&gt;vm().lastExceptionStack() = RefCountedArray&lt;StackFrame&gt;(stack);
&gt; &gt;          }
&gt; 
&gt; I think we want to set lastExceptionStack unconditionally, don&apos;t we? Isn&apos;t that what addErrorInfo() does in the &quot;if&quot; case above?

After running tests on this, it would be incorrect to remove the check. Seen in current regression tests:
storage/websql/sql-error-codes.html
fast/dom/exception-getting-event-handler.html

Throw error is called, which originally sets the vm exceptionStack. Later, Throw exception is called. Without that check, the exceptionStack overwrites its own current exception. This results in the lose of a few call frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913952</commentid>
    <comment_count>12</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-01 18:08:12 -0700</bug_when>
    <thetext>&gt; I was not sure about this case, its an exception coming from a non object.

Why do we want different behavior for throwing an object vs throwing, say, a string?

&gt; These changes are just the naming convention that was altered in the process.

Right. But &quot;lastExceptionStack&quot; is a bad name if it doesn&apos;t hold the last exception stack. Something about our understanding here is wrong.

&gt; After running tests on this, it would be incorrect to remove the check. Seen in current regression tests:
&gt; storage/websql/sql-error-codes.html
&gt; fast/dom/exception-getting-event-handler.html

If you change fast/dom/exception-getting-event-handler.html to throw an object instead of a number, does it have the same problem? If so, what&apos;s the right fix? Our goal is that all throwing should behave the same way, regardless of what value is thrown.

&gt; Throw error is called, which originally sets the vm exceptionStack. Later, Throw exception is called. Without that check, the exceptionStack overwrites its own current exception. This results in the lose of a few call frames.

Do you know why throwException gets the wrong information about the call stack? That seems like the fundamental bug here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914189</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-08-02 10:19:53 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; After running tests on this, it would be incorrect to remove the check. Seen in current regression tests:
&gt; &gt; storage/websql/sql-error-codes.html
&gt; &gt; fast/dom/exception-getting-event-handler.html
&gt; 
&gt; If you change fast/dom/exception-getting-event-handler.html to throw an object instead of a number, does it have the same problem? If so, what&apos;s the right fix? Our goal is that all throwing should behave the same way, regardless of what value is thrown.
&gt; 
&gt; &gt; Throw error is called, which originally sets the vm exceptionStack. Later, Throw exception is called. Without that check, the exceptionStack overwrites its own current exception. This results in the lose of a few call frames.
&gt; 
&gt; Do you know why throwException gets the wrong information about the call stack? That seems like the fundamental bug here.

If you throw an object instead, the result gave the correct information, but that is because there was a similar check that looked to see if error information was already set.  The only difference was that it looks at the error object instead of the vm. By removing that check, the results matched, but exception stack was missing frames.

Both cases call throw exception a second time, and both had a check to see if the error was already set. 

So a solution could be to change the naming convention of lastExceptionStack back to exceptionStack and leave the functionality here. The other solution is to change what is causing throw exception to be called twice and remove the checks for both objects and non objects throws.

In general I think the first solution is probably better, but I am looking at the conditions for the second throw, to get a better understanding of what changes would need to be done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914221</commentid>
    <comment_count>14</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-02 11:33:14 -0700</bug_when>
    <thetext>&gt; storage/websql/sql-error-codes.html
&gt; fast/dom/exception-getting-event-handler.html

What these tests have in common is that they throw exceptions from within JavaScript callbacks. sql-error-codes.html throws from within a database transaction callback, and exception-getting-event-handler.html throws from within an event handler callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914260</commentid>
    <comment_count>15</comment_count>
      <attachid>208044</attachid>
    <who name="Chris Curtis">chris_curtis</who>
    <bug_when>2013-08-02 13:48:29 -0700</bug_when>
    <thetext>Created attachment 208044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914266</commentid>
    <comment_count>16</comment_count>
      <attachid>208044</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-02 14:06:25 -0700</bug_when>
    <thetext>Comment on attachment 208044
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914281</commentid>
    <comment_count>17</comment_count>
      <attachid>208044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-02 14:31:10 -0700</bug_when>
    <thetext>Comment on attachment 208044
Patch

Clearing flags on attachment: 208044

Committed r153669: &lt;http://trac.webkit.org/changeset/153669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914282</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-02 14:31:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207889</attachid>
            <date>2013-07-31 17:35:21 -0700</date>
            <delta_ts>2013-08-01 09:53:02 -0700</delta_ts>
            <desc>patch 1</desc>
            <filename>ro.diff</filename>
            <type>text/plain</type>
            <size>13541</size>
            <attacher name="Chris Curtis">chris_curtis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzNTQ1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDEzLTA3LTMxICBDaHJpcyBDdXJ0aXMgIDxjaHJpc19jdXJ0aXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFNhdmUgbGFzdCBleGNlcHRpb25TdGFjayBiZWZvcmUgc2F2aW5nIGN1cnJlbnQgZXhj
ZXB0aW9uU3RhY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIFRoaXMgcGF0Y2ggbW9kaWZpZXMgdHdvIHRoaW5ncy4gCisgICAgICAgIDEu
IFRoZSB2bS0+ZXhjZXB0aW9uU3RhY2sgaXMgdW5jb25kaXRpb25hbGx5IHVwZGF0ZWQgYXQgZWFj
aCB0aHJvdywgYW5kIGVycm9yIAorICAgICAgICAgICAgb2JqZWN0cyBhcmUgb25seSB1cGRhdGVk
IHdoZW4gdGhleSBkbyBub3QgaGF2ZSB0aGUgc3RhY2sgcHJvcGVydHkuCisgICAgICAgIDIuIFRo
ZSB2bSBub3cgc2F2ZXMgdGhlIGxhc3QgZXhjZXB0aW9uU3RhY2sgYmVmb3JlIHNhdmluZyB0aGUg
ZXhjZXB0aW9uU3RhY2sgZm9yCisgICAgICAgICAgICB0aGUgY3VycmVudCBlcnJvci4KKyAgICAg
ICAgCisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlND
OjpJbnRlcnByZXRlcjo6YWRkU3RhY2tUcmFjZUlmTmVjZXNzYXJ5KToKKyAgICAgICAgTW9kaWZp
ZWQgdG8gYWx3YXlzIHVwZGF0ZSB0aGUgdm0tPmV4Y2VwdGlvbiBzdGFjaywgYW5kIGNoYW5nZWQg
dGhlIGNoZWNrIGZvciBlcnJvcgorICAgICAgICBvYmplY3QgdG8gb25seSBzYXZlIHRoZSBzdGFj
ayBwcm9wZXJ0eSBpZiBpdCBkb2VzIG5vdCBleGlzdCB5ZXQuCisgICAgICAgIAorICAgICAgICAo
SlNDOjpJbnRlcnByZXRlcjo6dGhyb3dFeGNlcHRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvVk0u
Y3BwOgorICAgICAgICAoSlNDOjpWTTo6c2V0RXhjZXB0aW9uU3RhY2spOgorICAgICAgICAoSlND
OjpWTTo6Y2xlYXJFeGNlcHRpb25TdGFjayk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAg
ICAgICAoSlNDOjpWTTo6Z2V0RXhjZXB0aW9uU3RhY2spOgorICAgICAgICAoSlNDOjpWTTo6bGFz
dEV4Y2VwdGlvblN0YWNrKToKKyAgICAgICAgVGhlIGV4Y2VwdGlvblN0YWNrIG5vdyBoYXMgYSBn
ZXR0ZXIvc2V0dGVyIHRvIGxpbmsgc2F2aW5nIHRoZSBsYXN0RXhjZXB0aW9uU3RhY2sgCisgICAg
ICAgIHdpdGggc2V0dGluZyBhIG5ldyB2YWx1ZSB0byBleGNlcHRpb25TdGFjay4KKwogMjAxMy0w
Ny0zMSAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICA8aW5wdXQg
dHlwZT1jb2xvcj4gTWFjIFVJIGJlaGF2aW91cgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxNTM1MjQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NzQsMjAgKzU3NCwxNSBAQCB2b2lkIEludGVycHJldGVyOjphZGRTdGFj
a1RyYWNlSWZOZWNlc3NhCiAgICAgVk0qIHZtID0gJmNhbGxGcmFtZS0+dm0oKTsKICAgICBBU1NF
UlQoY2FsbEZyYW1lID09IHZtLT50b3BDYWxsRnJhbWUgfHwgY2FsbEZyYW1lID09IGNhbGxGcmFt
ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkgfHwgY2FsbEZyYW1lID09IGNh
bGxGcmFtZS0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkpOwogCi0gICAgaWYg
KHZtLT5leGNlcHRpb25TdGFjaygpLnNpemUoKSkgewotICAgICAgICBpZiAoIWVycm9yLmlzT2Jq
ZWN0KCkgfHwgYXNPYmplY3QoZXJyb3IpLT5oYXNQcm9wZXJ0eShjYWxsRnJhbWUsIHZtLT5wcm9w
ZXJ0eU5hbWVzLT5zdGFjaykpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAogICAg
IFZlY3RvcjxTdGFja0ZyYW1lPiBzdGFja1RyYWNlOwogICAgIHZtLT5pbnRlcnByZXRlci0+Z2V0
U3RhY2tUcmFjZShzdGFja1RyYWNlKTsKLSAgICB2bS0+ZXhjZXB0aW9uU3RhY2soKSA9IFJlZkNv
dW50ZWRBcnJheTxTdGFja0ZyYW1lPihzdGFja1RyYWNlKTsKKyAgICB2bS0+c2V0RXhjZXB0aW9u
U3RhY2soUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+KHN0YWNrVHJhY2UpKTsKICAgICBpZiAo
c3RhY2tUcmFjZS5pc0VtcHR5KCkgfHwgIWVycm9yLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIC8vIE5vdGU6ICdlcnJvcicgbWlnaHQgYWxyZWFkeSBoYXZlIGEgc3RhY2sgcHJv
cGVydHkgaWYgaXQgd2FzIGNyZWF0ZWQgYnkgdGhlIHVzZXIgKGUuZy4gIm5ldyBFcnJvciIpLiBU
aGUgc3RhY2sKLSAgICAvLyBub3csIGFzIHRoZSBlcnJvciBpcyB0aHJvd24sIG1pZ2h0IGJlIGRp
ZmZlcmVudCBmcm9tIHRoZSBzdGFjayB3aGVuIGl0IHdhcyBjcmVhdGVkLCBzbyB3ZSBvdmVyd3Jp
dGUgaXQgd2l0aAotICAgIC8vIHRoZSBjdXJyZW50IHN0YWNrIHVuY29uZGl0aW9uYWxseS4KKyAg
ICBpZiAoYXNPYmplY3QoZXJyb3IpLT5oYXNQcm9wZXJ0eShjYWxsRnJhbWUsIHZtLT5wcm9wZXJ0
eU5hbWVzLT5zdGFjaykpCisgICAgICAgIHJldHVybjsKKyAgICAKICAgICBhc09iamVjdChlcnJv
ciktPnB1dERpcmVjdCgqdm0sIHZtLT5wcm9wZXJ0eU5hbWVzLT5zdGFjaywgdm0tPmludGVycHJl
dGVyLT5zdGFja1RyYWNlQXNTdHJpbmcodm0tPnRvcENhbGxGcmFtZSwgc3RhY2tUcmFjZSksIFJl
YWRPbmx5IHwgRG9udERlbGV0ZSk7CiAKIH0KQEAgLTYxOSwxMCArNjE0LDEwIEBAIE5FVkVSX0lO
TElORSBIYW5kbGVySW5mbyogSW50ZXJwcmV0ZXI6OnQKIAogICAgICAgICBpc1Rlcm1pbmF0aW9u
ID0gaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGV4Y2VwdGlvbik7CiAgICAgfSBlbHNl
IHsKLSAgICAgICAgaWYgKCFjYWxsRnJhbWUtPnZtKCkuZXhjZXB0aW9uU3RhY2soKS5zaXplKCkp
IHsKKyAgICAgICAgaWYgKCFjYWxsRnJhbWUtPnZtKCkuZ2V0RXhjZXB0aW9uU3RhY2soKS5zaXpl
KCkpIHsKICAgICAgICAgICAgIFZlY3RvcjxTdGFja0ZyYW1lPiBzdGFjazsKICAgICAgICAgICAg
IGNhbGxGcmFtZS0+dm0oKS5pbnRlcnByZXRlci0+Z2V0U3RhY2tUcmFjZShzdGFjayk7Ci0gICAg
ICAgICAgICBjYWxsRnJhbWUtPnZtKCkuZXhjZXB0aW9uU3RhY2soKSA9IFJlZkNvdW50ZWRBcnJh
eTxTdGFja0ZyYW1lPihzdGFjayk7CisgICAgICAgICAgICBjYWxsRnJhbWUtPnZtKCkuc2V0RXhj
ZXB0aW9uU3RhY2soUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+KHN0YWNrKSk7CiAgICAgICAg
IH0KICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlz
aW9uIDE1MzUyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTMyLDkgKzUzMiwxNCBAQCB2b2lkIFZNOjpyZWxlYXNlRXhlY3V0YWJs
ZU1lbW9yeSgpCiAgICAgbV9yZWdFeHBDYWNoZS0+aW52YWxpZGF0ZUNvZGUoKTsKICAgICBoZWFw
LmNvbGxlY3RBbGxHYXJiYWdlKCk7CiB9Ci0KK3ZvaWQgVk06OnNldEV4Y2VwdGlvblN0YWNrKGNv
bnN0IFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPiBuZXdTdGFjaykKK3sKKyAgICBtX2xhc3RF
eGNlcHRpb25TdGFjayA9IG1fZXhjZXB0aW9uU3RhY2s7CisgICAgbV9leGNlcHRpb25TdGFjayA9
IG5ld1N0YWNrOworfQogdm9pZCBWTTo6Y2xlYXJFeGNlcHRpb25TdGFjaygpCiB7CisgICAgbV9s
YXN0RXhjZXB0aW9uU3RhY2sgPSBtX2V4Y2VwdGlvblN0YWNrOwogICAgIG1fZXhjZXB0aW9uU3Rh
Y2sgPSBSZWZDb3VudGVkQXJyYXk8U3RhY2tGcmFtZT4oKTsKIH0KICAgICAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMTUzNTI0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDcgKzMzMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTVmFsdWUgZXhjZXB0aW9uOwogICAgICAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGNsZWFyRXhjZXB0aW9uU3RhY2soKTsKLSAgICAgICAgUmVm
Q291bnRlZEFycmF5PFN0YWNrRnJhbWU+JiBleGNlcHRpb25TdGFjaygpIHsgcmV0dXJuIG1fZXhj
ZXB0aW9uU3RhY2s7IH0KKyAgICAgICAgUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+IGdldEV4
Y2VwdGlvblN0YWNrKCkgY29uc3QgeyByZXR1cm4gbV9leGNlcHRpb25TdGFjazsgfSAKKyAgICAg
ICAgdm9pZCBzZXRFeGNlcHRpb25TdGFjayhjb25zdCBSZWZDb3VudGVkQXJyYXk8U3RhY2tGcmFt
ZT4pOworICAgICAgICBSZWZDb3VudGVkQXJyYXk8U3RhY2tGcmFtZT4mIGxhc3RFeGNlcHRpb25T
dGFjaygpIHsgcmV0dXJuIG1fbGFzdEV4Y2VwdGlvblN0YWNrOyB9CiAKICAgICAgICAgY29uc3Qg
Q2xhc3NJbmZvKiBjb25zdCBqc0FycmF5Q2xhc3NJbmZvOwogICAgICAgICBjb25zdCBDbGFzc0lu
Zm8qIGNvbnN0IGpzRmluYWxPYmplY3RDbGFzc0luZm87CkBAIC01MDEsNiArNTAzLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbV9pbkRlZmluZU93blByb3BlcnR5OwogICAgICAg
ICBPd25QdHI8Q29kZUNhY2hlPiBtX2NvZGVDYWNoZTsKICAgICAgICAgUmVmQ291bnRlZEFycmF5
PFN0YWNrRnJhbWU+IG1fZXhjZXB0aW9uU3RhY2s7CisgICAgICAgIFJlZkNvdW50ZWRBcnJheTxT
dGFja0ZyYW1lPiBtX2xhc3RFeGNlcHRpb25TdGFjazsKIAogICAgICAgICBUeXBlZEFycmF5RGVz
Y3JpcHRvciBtX2ludDhBcnJheURlc2NyaXB0b3I7CiAgICAgICAgIFR5cGVkQXJyYXlEZXNjcmlw
dG9yIG1faW50MTZBcnJheURlc2NyaXB0b3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTM1
NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMy0wNy0zMSAgQ2hyaXMgQ3VydGlzICA8Y2hyaXNfY3VydGlzQGFwcGxlLmNv
bT4KKworICAgICAgICBTYXZlIGxhc3QgZXhjZXB0aW9uU3RhY2sgYmVmb3JlIHNhdmluZyBjdXJy
ZW50IGV4Y2VwdGlvblN0YWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE5MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFkZGVkLgorICAgICAgICAKKyAgICAgICAgVGhlIHZt
IGV4Y2VwdGlvblN0YWNrIG5vdyBoYXMgZ2V0dGVyL3NldHRlci4gCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24pOgorCiAyMDEzLTA3LTMxICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIDxpbnB1dCB0eXBlPWNvbG9yPiBN
YWMgVUkgYmVoYXZpb3VyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAkocmV2aXNpb24gMTUzNTI0KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y3JlYXRlU2NyaXB0CiBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlJiBl
eGNlcHRpb24sIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAgVmVjdG9yPFNjcmlwdENhbGxG
cmFtZT4gZnJhbWVzOwotICAgIFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPiBzdGFja1RyYWNl
ID0gZXhlYy0+dm0oKS5leGNlcHRpb25TdGFjaygpOworICAgIFJlZkNvdW50ZWRBcnJheTxTdGFj
a0ZyYW1lPiBzdGFja1RyYWNlID0gZXhlYy0+dm0oKS5nZXRFeGNlcHRpb25TdGFjaygpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhY2tUcmFjZS5zaXplKCkgJiYgaSA8IG1heFN0YWNr
U2l6ZTsgaSsrKSB7CiAgICAgICAgIGlmICghc3RhY2tUcmFjZVtpXS5jYWxsZWUgJiYgZnJhbWVz
LnNpemUoKSkKICAgICAgICAgICAgIGJyZWFrOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzNTQ1KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTMtMDctMzEgIENocmlzIEN1cnRpcyAgPGNocmlzX2N1cnRpc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgU2F2ZSBsYXN0IGV4Y2VwdGlvblN0YWNrIGJlZm9yZSBzYXZpbmcgY3VycmVudCBleGNl
cHRpb25TdGFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExOTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgQWxsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIHRlc3RzIGJlbG93IGFyZSBjb2x1
bW4gbnVtYmVyIGNoYW5nZXMuIFRoZSBjb2x1bW4gbnVtYmVyIG5vdyAKKyAgICAgICAgcmVmZXJl
bmNlcyB0aGUgZXJyb3Igb2JqZWN0IGluc3RlYWQgb2YgdGhlIHRocm93LgorICAgICAgICAKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvanMvbGluZS1jb2x1bW4tbnVtYmVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9qcy9zdGFjay10cmFjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93
b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzT25FcnJvci1leHBlY3RlZC50eHQ6CisKIDIwMTMt
MDctMzEgIFJvYiBCdWlzICA8cndsYnVpc0B3ZWJraXQub3JnPgogCiAgICAgICAgIENvbnZlcnQg
U1ZHIHRlc3QgZnJvbSByMTUzNDMzIHRvIGEgcmVmdGVzdApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNTM1MjQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAogVGVzdCB0aGF0IHdpbmRv
dy5vbmVycm9yIGlzIGludm9rZWQgZm9yIHN5bnRheCBlcnJvciBpbiBldmFsLiBZb3Ugc2hvdWxk
IHNlZSBhIGxvZyByZWNvcmQgaWYgd2luZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBm
b3IgdGhpcyB0ZXN0LkJ1ZyA4NTE5LgogCi1FcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBFT0YgRmlsZTogd2luZG93LW9uZXJyb3I1Lmh0bWwgTGluZTog
MTYgQ29sdW1uOiAwCitFcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBFT0YgRmlsZTogd2luZG93LW9uZXJyb3I1Lmh0bWwgTGluZTogMTYgQ29sdW1uOiA5
CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvbGluZS1jb2x1bW4tbnVtYmVycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9saW5lLWNvbHVtbi1udW1i
ZXJzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTUzNTI0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9saW5lLWNvbHVtbi1udW1iZXJzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw2
OCArNCw2OCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAog
LS0+IENhc2UgMSBTdGFjayBUcmFjZToKLSAgICAwICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1
bW4tbnVtYmVycy5odG1sOjQwOjM2CisgICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1u
LW51bWJlcnMuaHRtbDo0MDozNAogCiAtLT4gQ2FzZSAyIFN0YWNrIFRyYWNlOgotICAgIDAgICBn
bG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NDQ6NDAKKyAgICAwICAgZ2xv
YmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQ0OjM4CiAKIC0tPiBDYXNlIDMg
U3RhY2sgVHJhY2U6Ci0gICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMu
aHRtbDo0ODozMgorICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0
bWw6NDg6MzAKIAogLS0+IENhc2UgMyBTdGFjayBUcmFjZToKLSAgICAwICAgZ2xvYmFsIGNvZGUg
YXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQ4OjExMworICAgIDAgICBnbG9iYWwgY29kZSBh
dCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NDg6MTExCiAKIC0tPiBDYXNlIDQgU3RhY2sgVHJh
Y2U6Ci0gICAgMCAgIGRvVGhyb3c0IGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo1NDo0NAor
ICAgIDAgICBkb1Rocm93NCBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NTQ6NDIKICAgICAx
ICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjU1OjEzCiAKIC0tPiBD
YXNlIDUgU3RhY2sgVHJhY2U6Ci0gICAgMCAgIGlubmVyRnVuYyBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6NjQ6NjkKKyAgICAwICAgaW5uZXJGdW5jIGF0IGxpbmUtY29sdW1uLW51bWJlcnMu
aHRtbDo2NDo2NwogICAgIDEgICBkb1Rocm93NSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6
NjQ6ODIKICAgICAyICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjY0
OjEzMwogCiAtLT4gQ2FzZSA2IFN0YWNrIFRyYWNlOgotICAgIDAgICBpbm5lckZ1bmMgYXQgbGlu
ZS1jb2x1bW4tbnVtYmVycy5odG1sOjcwOjY5CisgICAgMCAgIGlubmVyRnVuYyBhdCBsaW5lLWNv
bHVtbi1udW1iZXJzLmh0bWw6NzA6NjcKICAgICAxICAgZG9UaHJvdzYgYXQgbGluZS1jb2x1bW4t
bnVtYmVycy5odG1sOjcwOjgyCiAgICAgMiAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo3MDoxMzMKIAogLS0+IENhc2UgNyBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0
IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo3NTo1MQorICAgIDAgICAgYXQgbGluZS1jb2x1bW4t
bnVtYmVycy5odG1sOjc1OjQ5CiAgICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo3NTo1NQogCiAtLT4gQ2FzZSA4IFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQg
bGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjc4OjU5CisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1u
dW1iZXJzLmh0bWw6Nzg6NTcKICAgICAxICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVt
YmVycy5odG1sOjc4OjYzCiAKIC0tPiBDYXNlIDkgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBs
aW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6ODI6NTUKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo4Mjo1MwogICAgIDEgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6ODI6NTkKIAogLS0+IENhc2UgOSBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxp
bmUtY29sdW1uLW51bWJlcnMuaHRtbDo4MjoxNTcKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo4MjoxNTUKICAgICAxICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVt
YmVycy5odG1sOjgyOjE2MQogCiAtLT4gQ2FzZSAxMCBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0
IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo4OToyNgorICAgIDAgICAgYXQgbGluZS1jb2x1bW4t
bnVtYmVycy5odG1sOjg5OjI0CiAgICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo5MDo4CiAKIC0tPiBDYXNlIDExIFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQg
bGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEwMTo0MQorICAgIDAgICAgYXQgbGluZS1jb2x1bW4t
bnVtYmVycy5odG1sOjEwMTozOQogICAgIDEgICBkb1Rocm93MTEgYXQgbGluZS1jb2x1bW4tbnVt
YmVycy5odG1sOjEwMTo0NQogICAgIDIgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6MTAzOjE0CiAKIC0tPiBDYXNlIDEyIFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQg
bGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjExMjo1MworICAgIDAgICAgYXQgbGluZS1jb2x1bW4t
bnVtYmVycy5odG1sOjExMjo1MQogICAgIDEgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1s
OjExMjo1NwogICAgIDIgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6
MTEyOjYyCiAKIC0tPiBDYXNlIDEzIFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGluZS1jb2x1
bW4tbnVtYmVycy5odG1sOjExODo1MworICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5o
dG1sOjExODo1MQogICAgIDEgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjExODo1Nwog
ICAgIDIgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTE4OjYyCiAK
IC0tPiBDYXNlIDE0IFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjEyNDo3NgorICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEyNDo3
NAogICAgIDEgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEyNDo4MAogICAgIDIgICBk
b1Rocm93MTQgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEyNDo4NQogICAgIDMgICBnbG9i
YWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTI0Ojk5CkBAIC0xNDYsNyArMTQ2
LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogICAgIDEgICBn
bG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MjI0OjEzCiAKIC0tPiBDYXNl
IDEgU3RhY2sgVHJhY2U6Ci0gICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJl
cnMuanM6MzoyOAorICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmpz
OjM6MjYKIAogLS0+IENhc2UgMiBTdGFjayBUcmFjZToKICAgICAwICAgZ2xvYmFsIGNvZGUgYXQg
bGluZS1jb2x1bW4tbnVtYmVycy5qczo3OjMwCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3N0
YWNrLXRyYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L3N0YWNrLXRyYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTUzNTI0KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9qcy9zdGFjay10cmFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTks
MTQgKzksMTQgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogICAg
IDIgICBnbG9iYWwgY29kZSBhdCBzdGFjay10cmFjZS5qczozNjoxOAogCiAtLT4gU3RhY2sgVHJh
Y2U6Ci0gICAgMCAgIGlubmVyIGF0IHN0YWNrLXRyYWNlLmpzOjI4OjY5CisgICAgMCAgIGlubmVy
IGF0IHN0YWNrLXRyYWNlLmpzOjI4OjQ0CiAgICAgMSAgICBhdCBldmFsIGNvZGUKICAgICAyICAg
ZXZhbCBhdCBbbmF0aXZlIGNvZGVdCiAgICAgMyAgIGV2YWxlciBhdCBzdGFjay10cmFjZS5qczoy
OToyOQogICAgIDQgICBnbG9iYWwgY29kZSBhdCBzdGFjay10cmFjZS5qczozOToxMwogCiAtLT4g
U3RhY2sgVHJhY2U6Ci0gICAgMCAgIGlubmVyIGF0IHN0YWNrLXRyYWNlLmpzOjI4OjY5CisgICAg
MCAgIGlubmVyIGF0IHN0YWNrLXRyYWNlLmpzOjI4OjQ0CiAgICAgMSAgIG91dGVyIGF0IHN0YWNr
LXRyYWNlLmpzOjI3OjM0CiAgICAgMiAgICBhdCBldmFsIGNvZGUKICAgICAzICAgZXZhbCBhdCBb
bmF0aXZlIGNvZGVdCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvd29ya2Vy
LWltcG9ydFNjcmlwdHNPbkVycm9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLWltcG9ydFNjcmlwdHNPbkVycm9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMTUzNTI0KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzT25FcnJvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDcgKzI2LDcgQEAgYnViYmxlczogZmFsc2UsCiBjYW5jZWxCdWJibGU6IGZhbHNl
LAogY2FuY2VsYWJsZTogdHJ1ZSwKIGNsaXBib2FyZERhdGE6IHVuZGVmaW5lZCwKLWNvbG5vOiAw
LAorY29sbm86IDE0LAogY3VycmVudFRhcmdldDogW29iamVjdCBXb3JrZXJdLAogZGVmYXVsdFBy
ZXZlbnRlZDogZmFsc2UsCiBldmVudFBoYXNlOiAyLAo=
</data>
<flag name="review"
          id="229723"
          type_id="1"
          status="-"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="229724"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207933</attachid>
            <date>2013-08-01 09:53:02 -0700</date>
            <delta_ts>2013-08-02 13:48:27 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>ro.diff</filename>
            <type>text/plain</type>
            <size>12855</size>
            <attacher name="Chris Curtis">chris_curtis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzNTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDEzLTA4LTAxICBDaHJpcyBDdXJ0aXMgIDxjaHJpc19jdXJ0aXNAYXBwbGUuY29tPgorCisg
ICAgICAgIEhhdmUgdm0ncyBleGNlcHRpb25TdGFjayBtYXRjaCBqYXZhJ3Mgdm0ncyBleGNlcHRp
b25TdGFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExOTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgVGhlIHZtLT5leGNlcHRpb24gc3RhY2sgbm93IGlzIHVuY29uZGl0aW9uYWxseSB1
cGRhdGVkIGZvciBlYWNoIHRocm93IGNhbGwuIFRoZSAKKyAgICAgICAgZXJyb3Igb2JqZWN0J3Mg
c3RhY2sgaXMgb25seSB1cGRhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXN0IHlldC4gVGhpcyBtYXRj
aGVzIAorICAgICAgICB0aGUgZnVuY3Rpb25hbGl0eSBvZiBvdGhlciBicm93c2VycywgYW5kIEph
dmEgVk1zLiAKKworICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmFkZFN0YWNrVHJhY2VJZk5lY2Vzc2FyeSk6CisgICAgICAg
IChKU0M6OkludGVycHJldGVyOjp0aHJvd0V4Y2VwdGlvbik6CisgICAgICAgICogcnVudGltZS9W
TS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpjbGVhckV4Y2VwdGlvblN0YWNrKToKKyAgICAgICAg
KiBydW50aW1lL1ZNLmg6CisgICAgICAgIChKU0M6OlZNOjpsYXN0RXhjZXB0aW9uU3RhY2spOgor
CiAyMDEzLTA4LTAxICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04oRlRMKTogRml4IHNoNCBpbXBsZW1lbnRhdGlvbiBvZiBjdGlWTVRo
cm93VHJhbXBvbGluZVNsb3dwYXRoLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxNTM1MjQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NzQsMjAgKzU3NCwxNSBAQCB2b2lkIEludGVycHJldGVyOjphZGRTdGFja1RyYWNl
SWZOZWNlc3NhCiAgICAgVk0qIHZtID0gJmNhbGxGcmFtZS0+dm0oKTsKICAgICBBU1NFUlQoY2Fs
bEZyYW1lID09IHZtLT50b3BDYWxsRnJhbWUgfHwgY2FsbEZyYW1lID09IGNhbGxGcmFtZS0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkgfHwgY2FsbEZyYW1lID09IGNhbGxGcmFt
ZS0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkpOwogCi0gICAgaWYgKHZtLT5l
eGNlcHRpb25TdGFjaygpLnNpemUoKSkgewotICAgICAgICBpZiAoIWVycm9yLmlzT2JqZWN0KCkg
fHwgYXNPYmplY3QoZXJyb3IpLT5oYXNQcm9wZXJ0eShjYWxsRnJhbWUsIHZtLT5wcm9wZXJ0eU5h
bWVzLT5zdGFjaykpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAogICAgIFZlY3Rv
cjxTdGFja0ZyYW1lPiBzdGFja1RyYWNlOwogICAgIHZtLT5pbnRlcnByZXRlci0+Z2V0U3RhY2tU
cmFjZShzdGFja1RyYWNlKTsKLSAgICB2bS0+ZXhjZXB0aW9uU3RhY2soKSA9IFJlZkNvdW50ZWRB
cnJheTxTdGFja0ZyYW1lPihzdGFja1RyYWNlKTsKKyAgICB2bS0+bGFzdEV4Y2VwdGlvblN0YWNr
KCkgPSBSZWZDb3VudGVkQXJyYXk8U3RhY2tGcmFtZT4oc3RhY2tUcmFjZSk7CiAgICAgaWYgKHN0
YWNrVHJhY2UuaXNFbXB0eSgpIHx8ICFlcnJvci5pc09iamVjdCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICAvLyBOb3RlOiAnZXJyb3InIG1pZ2h0IGFscmVhZHkgaGF2ZSBhIHN0YWNrIHByb3Bl
cnR5IGlmIGl0IHdhcyBjcmVhdGVkIGJ5IHRoZSB1c2VyIChlLmcuICJuZXcgRXJyb3IiKS4gVGhl
IHN0YWNrCi0gICAgLy8gbm93LCBhcyB0aGUgZXJyb3IgaXMgdGhyb3duLCBtaWdodCBiZSBkaWZm
ZXJlbnQgZnJvbSB0aGUgc3RhY2sgd2hlbiBpdCB3YXMgY3JlYXRlZCwgc28gd2Ugb3ZlcndyaXRl
IGl0IHdpdGgKLSAgICAvLyB0aGUgY3VycmVudCBzdGFjayB1bmNvbmRpdGlvbmFsbHkuCisgICAg
aWYgKGFzT2JqZWN0KGVycm9yKS0+aGFzUHJvcGVydHkoY2FsbEZyYW1lLCB2bS0+cHJvcGVydHlO
YW1lcy0+c3RhY2spKQorICAgICAgICByZXR1cm47CisgICAgCiAgICAgYXNPYmplY3QoZXJyb3Ip
LT5wdXREaXJlY3QoKnZtLCB2bS0+cHJvcGVydHlOYW1lcy0+c3RhY2ssIHZtLT5pbnRlcnByZXRl
ci0+c3RhY2tUcmFjZUFzU3RyaW5nKHZtLT50b3BDYWxsRnJhbWUsIHN0YWNrVHJhY2UpLCBSZWFk
T25seSB8IERvbnREZWxldGUpOwogCiB9CkBAIC02MTksMTAgKzYxNCwxMCBAQCBORVZFUl9JTkxJ
TkUgSGFuZGxlckluZm8qIEludGVycHJldGVyOjp0CiAKICAgICAgICAgaXNUZXJtaW5hdGlvbiA9
IGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbihleGNlcHRpb24pOwogICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghY2FsbEZyYW1lLT52bSgpLmV4Y2VwdGlvblN0YWNrKCkuc2l6ZSgpKSB7
CisgICAgICAgIGlmICghY2FsbEZyYW1lLT52bSgpLmxhc3RFeGNlcHRpb25TdGFjaygpLnNpemUo
KSkgewogICAgICAgICAgICAgVmVjdG9yPFN0YWNrRnJhbWU+IHN0YWNrOwogICAgICAgICAgICAg
Y2FsbEZyYW1lLT52bSgpLmludGVycHJldGVyLT5nZXRTdGFja1RyYWNlKHN0YWNrKTsKLSAgICAg
ICAgICAgIGNhbGxGcmFtZS0+dm0oKS5leGNlcHRpb25TdGFjaygpID0gUmVmQ291bnRlZEFycmF5
PFN0YWNrRnJhbWU+KHN0YWNrKTsKKyAgICAgICAgICAgIGNhbGxGcmFtZS0+dm0oKS5sYXN0RXhj
ZXB0aW9uU3RhY2soKSA9IFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPihzdGFjayk7CiAgICAg
ICAgIH0KICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJl
dmlzaW9uIDE1MzUyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTM1LDcgKzUzNSw3IEBAIHZvaWQgVk06OnJlbGVhc2VFeGVjdXRh
YmxlTWVtb3J5KCkKIAogdm9pZCBWTTo6Y2xlYXJFeGNlcHRpb25TdGFjaygpCiB7Ci0gICAgbV9l
eGNlcHRpb25TdGFjayA9IFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPigpOworICAgIG1fbGFz
dEV4Y2VwdGlvblN0YWNrID0gUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+KCk7CiB9CiAgICAg
CiB2b2lkIHJlbGVhc2VFeGVjdXRhYmxlTWVtb3J5KFZNJiB2bSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMTUzNTI0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDcgKzMzMSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIEpTVmFsdWUgZXhjZXB0aW9uOwogICAgICAgICBKU19FWFBP
UlRfUFJJVkFURSB2b2lkIGNsZWFyRXhjZXB0aW9uU3RhY2soKTsKLSAgICAgICAgUmVmQ291bnRl
ZEFycmF5PFN0YWNrRnJhbWU+JiBleGNlcHRpb25TdGFjaygpIHsgcmV0dXJuIG1fZXhjZXB0aW9u
U3RhY2s7IH0KKyAgICAgICAgUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+JiBsYXN0RXhjZXB0
aW9uU3RhY2soKSB7IHJldHVybiBtX2xhc3RFeGNlcHRpb25TdGFjazsgfQogCiAgICAgICAgIGNv
bnN0IENsYXNzSW5mbyogY29uc3QganNBcnJheUNsYXNzSW5mbzsKICAgICAgICAgY29uc3QgQ2xh
c3NJbmZvKiBjb25zdCBqc0ZpbmFsT2JqZWN0Q2xhc3NJbmZvOwpAQCAtNTAwLDcgKzUwMCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgICAgIGJvb2wgbV9pbkRlZmluZU93blByb3Bl
cnR5OwogICAgICAgICBPd25QdHI8Q29kZUNhY2hlPiBtX2NvZGVDYWNoZTsKLSAgICAgICAgUmVm
Q291bnRlZEFycmF5PFN0YWNrRnJhbWU+IG1fZXhjZXB0aW9uU3RhY2s7CisgICAgICAgIFJlZkNv
dW50ZWRBcnJheTxTdGFja0ZyYW1lPiBtX2xhc3RFeGNlcHRpb25TdGFjazsKIAogICAgICAgICBU
eXBlZEFycmF5RGVzY3JpcHRvciBtX2ludDhBcnJheURlc2NyaXB0b3I7CiAgICAgICAgIFR5cGVk
QXJyYXlEZXNjcmlwdG9yIG1faW50MTZBcnJheURlc2NyaXB0b3I7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNTM1ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wOC0wMSAgQ2hyaXMgQ3VydGlzICA8Y2hyaXNfY3Vy
dGlzQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIHZtJ3MgZXhjZXB0aW9uU3RhY2sgbWF0Y2gg
amF2YSdzIHZtJ3MgZXhjZXB0aW9uU3RhY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYWRkZWQuCisgICAgICAgIAorICAgICAg
ICBOYW1lIGNoYW5nZSBvZiB0aGUgdm0ncyBleGNlcHRpb25TdGFjay4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbik6CisKIDIwMTMtMDgtMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVhcnJhbmdlIHRo
ZSBjb2RlIG9mIEZyYW1lV2luCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAkocmV2aXNpb24gMTUzNTI0KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY3JlYXRlU2NyaXB0CiBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVl
JiBleGNlcHRpb24sIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAgVmVjdG9yPFNjcmlwdENh
bGxGcmFtZT4gZnJhbWVzOwotICAgIFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPiBzdGFja1Ry
YWNlID0gZXhlYy0+dm0oKS5leGNlcHRpb25TdGFjaygpOworICAgIFJlZkNvdW50ZWRBcnJheTxT
dGFja0ZyYW1lPiBzdGFja1RyYWNlID0gZXhlYy0+dm0oKS5sYXN0RXhjZXB0aW9uU3RhY2soKTsK
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YWNrVHJhY2Uuc2l6ZSgpICYmIGkgPCBtYXhT
dGFja1NpemU7IGkrKykgewogICAgICAgICBpZiAoIXN0YWNrVHJhY2VbaV0uY2FsbGVlICYmIGZy
YW1lcy5zaXplKCkpCiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzU4
NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEzLTA4LTAxICBDaHJpcyBDdXJ0aXMgIDxjaHJpc19jdXJ0aXNAYXBwbGUuY29tPgor
CisgICAgICAgIEhhdmUgdm0ncyBleGNlcHRpb25TdGFjayBtYXRjaCBqYXZhJ3Mgdm0ncyBleGNl
cHRpb25TdGFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExOTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgQWxsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIHRlc3RzIGJlbG93IGFyZSBjb2x1
bW4gbnVtYmVyIGNoYW5nZXMuIElmIHRoZSB0aHJvd24gCisgICAgICAgIG9iamVjdCB3YXMgY3Jl
YXRlZCBieSB0aGUgdXNlciB0aGUgY29sdW1uIG51bWJlciByZWZlcmVuY2VzIHRoZSBlcnJvciBv
YmplY3QsIAorICAgICAgICBvdGhlcndpc2UgaXQgcmVmZXJlbmNlcyB0aGUgdGhlIHRocm93Lgor
ICAgICAgICAKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvanMvbGluZS1jb2x1bW4tbnVtYmVycy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9qcy9zdGFjay10cmFjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzT25FcnJvci1leHBlY3RlZC50
eHQ6CisKIDIwMTMtMDgtMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cC90ZXN0cy9tdWx0aXBhcnQvaW52YWxpZC1pbWFnZS1kYXRhLXN0YW5k
YWxvbmUuaHRtbCBuZWVkcyB0byBza2lwcGVkLCBub3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTUzNTI0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKIFRlc3QgdGhhdCB3aW5kb3cu
b25lcnJvciBpcyBpbnZva2VkIGZvciBzeW50YXggZXJyb3IgaW4gZXZhbC4gWW91IHNob3VsZCBz
ZWUgYSBsb2cgcmVjb3JkIGlmIHdpbmRvdy5vbmVycm9yIGlzIHdvcmtpbmcgcHJvcGVybHkgZm9y
IHRoaXMgdGVzdC5CdWcgODUxOS4KIAotRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgRU9GIEZpbGU6IHdpbmRvdy1vbmVycm9yNS5odG1sIExpbmU6IDE2
IENvbHVtbjogMAorRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgRU9GIEZpbGU6IHdpbmRvdy1vbmVycm9yNS5odG1sIExpbmU6IDE2IENvbHVtbjogOQog
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2xpbmUtY29sdW1uLW51bWJlcnMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvbGluZS1jb2x1bW4tbnVtYmVy
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1MzUyNCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMv
bGluZS1jb2x1bW4tbnVtYmVycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNjgg
KzQsNjggQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIC0t
PiBDYXNlIDEgU3RhY2sgVHJhY2U6Ci0gICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1u
LW51bWJlcnMuaHRtbDo0MDozNgorICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1u
dW1iZXJzLmh0bWw6NDA6MzQKIAogLS0+IENhc2UgMiBTdGFjayBUcmFjZToKLSAgICAwICAgZ2xv
YmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQ0OjQwCisgICAgMCAgIGdsb2Jh
bCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo0NDozOAogCiAtLT4gQ2FzZSAzIFN0
YWNrIFRyYWNlOgotICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0
bWw6NDg6MzIKKyAgICAwICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1s
OjQ4OjMwCiAKIC0tPiBDYXNlIDMgU3RhY2sgVHJhY2U6Ci0gICAgMCAgIGdsb2JhbCBjb2RlIGF0
IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo0ODoxMTMKKyAgICAwICAgZ2xvYmFsIGNvZGUgYXQg
bGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQ4OjExMQogCiAtLT4gQ2FzZSA0IFN0YWNrIFRyYWNl
OgotICAgIDAgICBkb1Rocm93NCBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NTQ6NDQKKyAg
ICAwICAgZG9UaHJvdzQgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjU0OjQyCiAgICAgMSAg
IGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo1NToxMwogCiAtLT4gQ2Fz
ZSA1IFN0YWNrIFRyYWNlOgotICAgIDAgICBpbm5lckZ1bmMgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjY0OjY5CisgICAgMCAgIGlubmVyRnVuYyBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0
bWw6NjQ6NjcKICAgICAxICAgZG9UaHJvdzUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjY0
OjgyCiAgICAgMiAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo2NDox
MzMKIAogLS0+IENhc2UgNiBTdGFjayBUcmFjZToKLSAgICAwICAgaW5uZXJGdW5jIGF0IGxpbmUt
Y29sdW1uLW51bWJlcnMuaHRtbDo3MDo2OQorICAgIDAgICBpbm5lckZ1bmMgYXQgbGluZS1jb2x1
bW4tbnVtYmVycy5odG1sOjcwOjY3CiAgICAgMSAgIGRvVGhyb3c2IGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo3MDo4MgogICAgIDIgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6NzA6MTMzCiAKIC0tPiBDYXNlIDcgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBs
aW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NzU6NTEKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo3NTo0OQogICAgIDEgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6NzU6NTUKIAogLS0+IENhc2UgOCBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxp
bmUtY29sdW1uLW51bWJlcnMuaHRtbDo3ODo1OQorICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVt
YmVycy5odG1sOjc4OjU3CiAgICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJl
cnMuaHRtbDo3ODo2MwogCiAtLT4gQ2FzZSA5IFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGlu
ZS1jb2x1bW4tbnVtYmVycy5odG1sOjgyOjU1CisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6ODI6NTMKICAgICAxICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjgyOjU5CiAKIC0tPiBDYXNlIDkgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBsaW5l
LWNvbHVtbi1udW1iZXJzLmh0bWw6ODI6MTU3CisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6ODI6MTU1CiAgICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJl
cnMuaHRtbDo4MjoxNjEKIAogLS0+IENhc2UgMTAgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBs
aW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6ODk6MjYKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDo4OToyNAogICAgIDEgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6OTA6OAogCiAtLT4gQ2FzZSAxMSBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxp
bmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMDE6NDEKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDoxMDE6MzkKICAgICAxICAgZG9UaHJvdzExIGF0IGxpbmUtY29sdW1uLW51bWJl
cnMuaHRtbDoxMDE6NDUKICAgICAyICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjEwMzoxNAogCiAtLT4gQ2FzZSAxMiBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxp
bmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMTI6NTMKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51
bWJlcnMuaHRtbDoxMTI6NTEKICAgICAxICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDox
MTI6NTcKICAgICAyICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEx
Mjo2MgogCiAtLT4gQ2FzZSAxMyBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxpbmUtY29sdW1u
LW51bWJlcnMuaHRtbDoxMTg6NTMKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRt
bDoxMTg6NTEKICAgICAxICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMTg6NTcKICAg
ICAyICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjExODo2MgogCiAt
LT4gQ2FzZSAxNCBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMu
aHRtbDoxMjQ6NzYKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMjQ6NzQK
ICAgICAxICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMjQ6ODAKICAgICAyICAgZG9U
aHJvdzE0IGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMjQ6ODUKICAgICAzICAgZ2xvYmFs
IGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjEyNDo5OQpAQCAtMTQ2LDcgKzE0Niw3
IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKICAgICAxICAgZ2xv
YmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjIyNDoxMwogCiAtLT4gQ2FzZSAx
IFN0YWNrIFRyYWNlOgotICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJz
LmpzOjM6MjgKKyAgICAwICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5qczoz
OjI2CiAKIC0tPiBDYXNlIDIgU3RhY2sgVHJhY2U6CiAgICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxp
bmUtY29sdW1uLW51bWJlcnMuanM6NzozMApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zdGFj
ay10cmFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9z
dGFjay10cmFjZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1MzUyNCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvanMvc3RhY2stdHJhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05LDE0
ICs5LDE0IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKICAgICAy
ICAgZ2xvYmFsIGNvZGUgYXQgc3RhY2stdHJhY2UuanM6MzY6MTgKIAogLS0+IFN0YWNrIFRyYWNl
OgotICAgIDAgICBpbm5lciBhdCBzdGFjay10cmFjZS5qczoyODo2OQorICAgIDAgICBpbm5lciBh
dCBzdGFjay10cmFjZS5qczoyODo0NAogICAgIDEgICAgYXQgZXZhbCBjb2RlCiAgICAgMiAgIGV2
YWwgYXQgW25hdGl2ZSBjb2RlXQogICAgIDMgICBldmFsZXIgYXQgc3RhY2stdHJhY2UuanM6Mjk6
MjkKICAgICA0ICAgZ2xvYmFsIGNvZGUgYXQgc3RhY2stdHJhY2UuanM6Mzk6MTMKIAogLS0+IFN0
YWNrIFRyYWNlOgotICAgIDAgICBpbm5lciBhdCBzdGFjay10cmFjZS5qczoyODo2OQorICAgIDAg
ICBpbm5lciBhdCBzdGFjay10cmFjZS5qczoyODo0NAogICAgIDEgICBvdXRlciBhdCBzdGFjay10
cmFjZS5qczoyNzozNAogICAgIDIgICAgYXQgZXZhbCBjb2RlCiAgICAgMyAgIGV2YWwgYXQgW25h
dGl2ZSBjb2RlXQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1p
bXBvcnRTY3JpcHRzT25FcnJvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzT25FcnJvci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE1MzUyNCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJyb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBAIGJ1YmJsZXM6IGZhbHNlLAogY2FuY2VsQnViYmxlOiBmYWxzZSwK
IGNhbmNlbGFibGU6IHRydWUsCiBjbGlwYm9hcmREYXRhOiB1bmRlZmluZWQsCi1jb2xubzogMCwK
K2NvbG5vOiAxNCwKIGN1cnJlbnRUYXJnZXQ6IFtvYmplY3QgV29ya2VyXSwKIGRlZmF1bHRQcmV2
ZW50ZWQ6IGZhbHNlLAogZXZlbnRQaGFzZTogMiwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208044</attachid>
            <date>2013-08-02 13:48:29 -0700</date>
            <delta_ts>2013-08-02 14:31:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119362-20130802134831.patch</filename>
            <type>text/plain</type>
            <size>9190</size>
            <attacher name="Chris Curtis">chris_curtis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzNjY1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDEzLTA4LTAyICBDaHJpcyBDdXJ0aXMgIDxjaHJpc19jdXJ0aXNAYXBwbGUuY29tPgorCisg
ICAgICAgIEhhdmUgdm0ncyBleGNlcHRpb25TdGFjayBtYXRjaCBqYXZhJ3Mgdm0ncyBleGNlcHRp
b25TdGFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExOTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgVGhlIGVycm9yIG9iamVjdCdzIHN0YWNrIGlzIG9ubHkgdXBkYXRlZCBpZiBpdCBk
b2VzIG5vdCBleGlzdCB5ZXQuIFRoaXMgbWF0Y2hlcyAKKyAgICAgICAgdGhlIGZ1bmN0aW9uYWxp
dHkgb2Ygb3RoZXIgYnJvd3NlcnMsIGFuZCBKYXZhIFZNcy4gCisKKyAgICAgICAgKiBpbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjphZGRTdGFj
a1RyYWNlSWZOZWNlc3NhcnkpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6dGhyb3dFeGNl
cHRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Y2xl
YXJFeGNlcHRpb25TdGFjayk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlND
OjpWTTo6bGFzdEV4Y2VwdGlvblN0YWNrKToKKwogMjAxMy0wOC0wMiAgSnVsaWVuIEJyaWFuY2Vh
dSAgPGpicmlhbmNlYXVAbmRzLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKEZUTCk6IEZpeCBt
aXBzIGltcGxlbWVudGF0aW9uIG9mIGN0aVZNVGhyb3dUcmFtcG9saW5lU2xvd3BhdGguCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAJKHJldmlzaW9uIDE1MzY2NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3NCwyMCArNTc0LDE1IEBAIHZv
aWQgSW50ZXJwcmV0ZXI6OmFkZFN0YWNrVHJhY2VJZk5lY2Vzc2EKICAgICBWTSogdm0gPSAmY2Fs
bEZyYW1lLT52bSgpOwogICAgIEFTU0VSVChjYWxsRnJhbWUgPT0gdm0tPnRvcENhbGxGcmFtZSB8
fCBjYWxsRnJhbWUgPT0gY2FsbEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4
ZWMoKSB8fCBjYWxsRnJhbWUgPT0gY2FsbEZyYW1lLT5keW5hbWljR2xvYmFsT2JqZWN0KCktPmds
b2JhbEV4ZWMoKSk7CiAKLSAgICBpZiAodm0tPmV4Y2VwdGlvblN0YWNrKCkuc2l6ZSgpKSB7Ci0g
ICAgICAgIGlmICghZXJyb3IuaXNPYmplY3QoKSB8fCBhc09iamVjdChlcnJvciktPmhhc1Byb3Bl
cnR5KGNhbGxGcmFtZSwgdm0tPnByb3BlcnR5TmFtZXMtPnN0YWNrKSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICB9Ci0gICAgCiAgICAgVmVjdG9yPFN0YWNrRnJhbWU+IHN0YWNrVHJhY2U7CiAg
ICAgdm0tPmludGVycHJldGVyLT5nZXRTdGFja1RyYWNlKHN0YWNrVHJhY2UpOwogICAgIHZtLT5l
eGNlcHRpb25TdGFjaygpID0gUmVmQ291bnRlZEFycmF5PFN0YWNrRnJhbWU+KHN0YWNrVHJhY2Up
OwogICAgIGlmIChzdGFja1RyYWNlLmlzRW1wdHkoKSB8fCAhZXJyb3IuaXNPYmplY3QoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgLy8gTm90ZTogJ2Vycm9yJyBtaWdodCBhbHJlYWR5IGhhdmUg
YSBzdGFjayBwcm9wZXJ0eSBpZiBpdCB3YXMgY3JlYXRlZCBieSB0aGUgdXNlciAoZS5nLiAibmV3
IEVycm9yIikuIFRoZSBzdGFjawotICAgIC8vIG5vdywgYXMgdGhlIGVycm9yIGlzIHRocm93biwg
bWlnaHQgYmUgZGlmZmVyZW50IGZyb20gdGhlIHN0YWNrIHdoZW4gaXQgd2FzIGNyZWF0ZWQsIHNv
IHdlIG92ZXJ3cml0ZSBpdCB3aXRoCi0gICAgLy8gdGhlIGN1cnJlbnQgc3RhY2sgdW5jb25kaXRp
b25hbGx5LgorICAgIGlmIChhc09iamVjdChlcnJvciktPmhhc1Byb3BlcnR5KGNhbGxGcmFtZSwg
dm0tPnByb3BlcnR5TmFtZXMtPnN0YWNrKSkKKyAgICAgICAgcmV0dXJuOworICAgIAogICAgIGFz
T2JqZWN0KGVycm9yKS0+cHV0RGlyZWN0KCp2bSwgdm0tPnByb3BlcnR5TmFtZXMtPnN0YWNrLCB2
bS0+aW50ZXJwcmV0ZXItPnN0YWNrVHJhY2VBc1N0cmluZyh2bS0+dG9wQ2FsbEZyYW1lLCBzdGFj
a1RyYWNlKSwgUmVhZE9ubHkgfCBEb250RGVsZXRlKTsKIAogfQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTUzNjY1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTMtMDgtMDIgIENocmlzIEN1cnRpcyAgPGNocmlzX2N1cnRpc0BhcHBsZS5j
b20+CisKKyAgICAgICAgSGF2ZSB2bSdzIGV4Y2VwdGlvblN0YWNrIG1hdGNoIGphdmEncyB2bSdz
IGV4Y2VwdGlvblN0YWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE5MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisg
ICAgICAgIAorICAgICAgICBBbGwgbW9kaWZpY2F0aW9ucyB0byB0aGUgdGVzdHMgYmVsb3cgYXJl
IGNvbHVtbiBudW1iZXIgY2hhbmdlcy4gSWYgdGhlIHRocm93biAKKyAgICAgICAgb2JqZWN0IHdh
cyBjcmVhdGVkIGJ5IHRoZSB1c2VyIHRoZSBjb2x1bW4gbnVtYmVyIHJlZmVyZW5jZXMgdGhlIGVy
cm9yIG9iamVjdCwgCisgICAgICAgIG90aGVyd2lzZSBpdCByZWZlcmVuY2VzIHRoZSB0aGUgdGhy
b3cuCisgICAgICAgIAorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9saW5lLWNvbHVtbi1udW1iZXJzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3N0YWNrLXRyYWNlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLWltcG9ydFNjcmlwdHNPbkVycm9yLWV4cGVj
dGVkLnR4dDoKKwogMjAxMy0wOC0wMiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Eu
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgY29tcGFyZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQg
cmVwb3J0IFBSRUNFRElORyBvciBGT0xMT1dJTkcgaW5mb3JtYXRpb24gZXZlbiBpZiBub2RlcyBh
cmUgZGlzY29ubmVjdGVkCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1MzY2NSkKKysrIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNCArMSw0IEBACiBUZXN0IHRoYXQgd2luZG93Lm9uZXJyb3IgaXMgaW52b2tl
ZCBmb3Igc3ludGF4IGVycm9yIGluIGV2YWwuIFlvdSBzaG91bGQgc2VlIGEgbG9nIHJlY29yZCBp
ZiB3aW5kb3cub25lcnJvciBpcyB3b3JraW5nIHByb3Blcmx5IGZvciB0aGlzIHRlc3QuQnVnIDg1
MTkuCiAKLUVycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IEVPRiBGaWxlOiB3aW5kb3ctb25lcnJvcjUuaHRtbCBMaW5lOiAxNiBDb2x1bW46IDAKK0Vycm9y
IGNhdWdodCBzdWNjZXNzZnVsbHk6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIEVPRiBGaWxlOiB3
aW5kb3ctb25lcnJvcjUuaHRtbCBMaW5lOiAxNiBDb2x1bW46IDkKIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9saW5lLWNvbHVtbi1udW1iZXJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2pzL2xpbmUtY29sdW1uLW51bWJlcnMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxNTM2NjUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2xpbmUtY29sdW1uLW51bWJl
cnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDY4ICs0LDY4IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiAtLT4gQ2FzZSAxIFN0YWNrIFRy
YWNlOgotICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NDA6
MzYKKyAgICAwICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQwOjM0
CiAKIC0tPiBDYXNlIDIgU3RhY2sgVHJhY2U6Ci0gICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUt
Y29sdW1uLW51bWJlcnMuaHRtbDo0NDo0MAorICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNv
bHVtbi1udW1iZXJzLmh0bWw6NDQ6MzgKIAogLS0+IENhc2UgMyBTdGFjayBUcmFjZToKLSAgICAw
ICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjQ4OjMyCisgICAgMCAg
IGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo0ODozMAogCiAtLT4gQ2Fz
ZSAzIFN0YWNrIFRyYWNlOgotICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1i
ZXJzLmh0bWw6NDg6MTEzCisgICAgMCAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJl
cnMuaHRtbDo0ODoxMTEKIAogLS0+IENhc2UgNCBTdGFjayBUcmFjZToKLSAgICAwICAgZG9UaHJv
dzQgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjU0OjQ0CisgICAgMCAgIGRvVGhyb3c0IGF0
IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo1NDo0MgogICAgIDEgICBnbG9iYWwgY29kZSBhdCBs
aW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NTU6MTMKIAogLS0+IENhc2UgNSBTdGFjayBUcmFjZToK
LSAgICAwICAgaW5uZXJGdW5jIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo2NDo2OQorICAg
IDAgICBpbm5lckZ1bmMgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjY0OjY3CiAgICAgMSAg
IGRvVGhyb3c1IGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo2NDo4MgogICAgIDIgICBnbG9i
YWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NjQ6MTMzCiAKIC0tPiBDYXNlIDYg
U3RhY2sgVHJhY2U6Ci0gICAgMCAgIGlubmVyRnVuYyBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0
bWw6NzA6NjkKKyAgICAwICAgaW5uZXJGdW5jIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo3
MDo2NwogICAgIDEgICBkb1Rocm93NiBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NzA6ODIK
ICAgICAyICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjcwOjEzMwog
CiAtLT4gQ2FzZSA3IFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjc1OjUxCisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6NzU6NDkK
ICAgICAxICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjc1OjU1CiAK
IC0tPiBDYXNlIDggU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJz
Lmh0bWw6Nzg6NTkKKyAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo3ODo1Nwog
ICAgIDEgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6Nzg6NjMKIAog
LS0+IENhc2UgOSBTdGFjayBUcmFjZToKLSAgICAwICAgIGF0IGxpbmUtY29sdW1uLW51bWJlcnMu
aHRtbDo4Mjo1NQorICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjgyOjUzCiAg
ICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDo4Mjo1OQogCiAt
LT4gQ2FzZSA5IFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5o
dG1sOjgyOjE1NworICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjgyOjE1NQog
ICAgIDEgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6ODI6MTYxCiAK
IC0tPiBDYXNlIDEwIFN0YWNrIFRyYWNlOgotICAgIDAgICAgYXQgbGluZS1jb2x1bW4tbnVtYmVy
cy5odG1sOjg5OjI2CisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6ODk6MjQK
ICAgICAxICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5odG1sOjkwOjgKIAog
LS0+IENhc2UgMTEgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJz
Lmh0bWw6MTAxOjQxCisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTAxOjM5
CiAgICAgMSAgIGRvVGhyb3cxMSBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTAxOjQ1CiAg
ICAgMiAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMDM6MTQKIAog
LS0+IENhc2UgMTIgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJz
Lmh0bWw6MTEyOjUzCisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTEyOjUx
CiAgICAgMSAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTEyOjU3CiAgICAgMiAgIGds
b2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMTI6NjIKIAogLS0+IENhc2Ug
MTMgU3RhY2sgVHJhY2U6Ci0gICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTE4
OjUzCisgICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTE4OjUxCiAgICAgMSAg
ICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTE4OjU3CiAgICAgMiAgIGdsb2JhbCBjb2Rl
IGF0IGxpbmUtY29sdW1uLW51bWJlcnMuaHRtbDoxMTg6NjIKIAogLS0+IENhc2UgMTQgU3RhY2sg
VHJhY2U6Ci0gICAgMCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTI0Ojc2CisgICAg
MCAgICBhdCBsaW5lLWNvbHVtbi1udW1iZXJzLmh0bWw6MTI0Ojc0CiAgICAgMSAgICBhdCBsaW5l
LWNvbHVtbi1udW1iZXJzLmh0bWw6MTI0OjgwCiAgICAgMiAgIGRvVGhyb3cxNCBhdCBsaW5lLWNv
bHVtbi1udW1iZXJzLmh0bWw6MTI0Ojg1CiAgICAgMyAgIGdsb2JhbCBjb2RlIGF0IGxpbmUtY29s
dW1uLW51bWJlcnMuaHRtbDoxMjQ6OTkKQEAgLTE0Niw3ICsxNDYsNyBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAgICAgMSAgIGdsb2JhbCBjb2RlIGF0IGxpbmUt
Y29sdW1uLW51bWJlcnMuaHRtbDoyMjQ6MTMKIAogLS0+IENhc2UgMSBTdGFjayBUcmFjZToKLSAg
ICAwICAgZ2xvYmFsIGNvZGUgYXQgbGluZS1jb2x1bW4tbnVtYmVycy5qczozOjI4CisgICAgMCAg
IGdsb2JhbCBjb2RlIGF0IGxpbmUtY29sdW1uLW51bWJlcnMuanM6MzoyNgogCiAtLT4gQ2FzZSAy
IFN0YWNrIFRyYWNlOgogICAgIDAgICBnbG9iYWwgY29kZSBhdCBsaW5lLWNvbHVtbi1udW1iZXJz
LmpzOjc6MzAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc3RhY2stdHJhY2UtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc3RhY2stdHJhY2UtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAxNTM2NjUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3N0YWNrLXRy
YWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSwxNCArOSwxNCBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAgICAgMiAgIGdsb2JhbCBjb2RlIGF0
IHN0YWNrLXRyYWNlLmpzOjM2OjE4CiAKIC0tPiBTdGFjayBUcmFjZToKLSAgICAwICAgaW5uZXIg
YXQgc3RhY2stdHJhY2UuanM6Mjg6NjkKKyAgICAwICAgaW5uZXIgYXQgc3RhY2stdHJhY2UuanM6
Mjg6NDQKICAgICAxICAgIGF0IGV2YWwgY29kZQogICAgIDIgICBldmFsIGF0IFtuYXRpdmUgY29k
ZV0KICAgICAzICAgZXZhbGVyIGF0IHN0YWNrLXRyYWNlLmpzOjI5OjI5CiAgICAgNCAgIGdsb2Jh
bCBjb2RlIGF0IHN0YWNrLXRyYWNlLmpzOjM5OjEzCiAKIC0tPiBTdGFjayBUcmFjZToKLSAgICAw
ICAgaW5uZXIgYXQgc3RhY2stdHJhY2UuanM6Mjg6NjkKKyAgICAwICAgaW5uZXIgYXQgc3RhY2st
dHJhY2UuanM6Mjg6NDQKICAgICAxICAgb3V0ZXIgYXQgc3RhY2stdHJhY2UuanM6Mjc6MzQKICAg
ICAyICAgIGF0IGV2YWwgY29kZQogICAgIDMgICBldmFsIGF0IFtuYXRpdmUgY29kZV0KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJy
b3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd29y
a2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJyb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
NTM2NjUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLWltcG9ydFNj
cmlwdHNPbkVycm9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QCBidWJibGVzOiBmYWxzZSwKIGNhbmNlbEJ1YmJsZTogZmFsc2UsCiBjYW5jZWxhYmxlOiB0cnVl
LAogY2xpcGJvYXJkRGF0YTogdW5kZWZpbmVkLAotY29sbm86IDAsCitjb2xubzogMTQsCiBjdXJy
ZW50VGFyZ2V0OiBbb2JqZWN0IFdvcmtlcl0sCiBkZWZhdWx0UHJldmVudGVkOiBmYWxzZSwKIGV2
ZW50UGhhc2U6IDIsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>