<?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>75080</bug_id>
          
          <creation_ts>2011-12-22 04:45:30 -0800</creation_ts>
          <short_desc>[Chromium] [WebSocket] Add WebArrayBuffer support in WebSocket to WebKit API</short_desc>
          <delta_ts>2012-01-11 22:48:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Takashi Toyoshima">toyoshim</reporter>
          <assigned_to name="Takashi Toyoshima">toyoshim</assigned_to>
          <cc>fishd</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>526183</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-22 04:45:30 -0800</bug_when>
    <thetext>ArrayBuffer is exported as WebArrayBuffer.
Now, WebSocket API support this WebArrayBuffer as one of binary data formats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526188</commentid>
    <comment_count>1</comment_count>
      <attachid>120307</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-22 04:55:52 -0800</bug_when>
    <thetext>Created attachment 120307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526189</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-22 04:57:41 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526302</commentid>
    <comment_count>3</comment_count>
      <attachid>120307</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-22 09:19:15 -0800</bug_when>
    <thetext>Comment on attachment 120307
Patch

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

&gt; Source/WebKit/chromium/src/WebSocketImpl.cpp:82
&gt; +    case BinaryTypeData:

Why not just push the BinaryType enum into the WebKit API instead of having the embedder deal with strings?

class WebSocket {
  ...
  enum BinaryType {
    ...
};

Is &quot;BinaryType&quot; the best name for this field?  XHR calls it &quot;responseType&quot;... you could also perhaps go with &quot;DataType&quot;... hmm...

Also, it looks like BinaryType only impacts how data is received.  It looks like you can say that you only receive ArrayBuffers
but then you can send text.  Is that flexibility intended?

&gt; Source/WebKit/chromium/src/WebSocketImpl.cpp:149
&gt; +    WTF::PassRefPtr&lt;WTF::ArrayBuffer&gt; arrayBuffer = webArrayBuffer;

nit: no need for WTF:: prefix in .cpp files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526673</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-22 17:58:16 -0800</bug_when>
    <thetext>The WebSocket API ( http://dev.w3.org/html5/websockets/ ) defines the binaryType property.
And my implementation come from the spec.

For example, readyState is defined as enum in the spec, so I just map it as enum by using
spec defining enum numbers like CONNECTING(0), OPEN(1), .... On the other hands, binaryType
is defined as String. If we make this interface using internal enum directly, its actual id value
is not defined in the spec, but depends on our implementation. Anyway, type of binaryType
could be enum here, I think.

About its behaviors, WebSocket protocol defines text frames and binary frames.
They represent sending and receiving packets. Text frames always map to DOMString,
but binary frames could be mapped to used chosen binary object like ArrayBuffer, and Blob.
This attribute is for specifying its receiving binary object type.

We can always send all data types, DOMString, ArrayBuffer, and Blob. But receiving type must be
DOMString and ArrayBuffer, or DOMString and Blob.
XHR&apos;s receiving data doesn&apos;t have data types originally, but WebSocket data has.
This is the reason why XHR defines responseType, and WebSocket defines binaryType, I think.

So, I agree with making its type enum. But I still want to know your opinions on its property name
and its function itself.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526722</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-22 21:03:28 -0800</bug_when>
    <thetext>+1 for using an enum instead of a string.
+1 for sticking with &quot;BinaryType&quot; since that comes from the spec.
+1 for BinaryType selection only impacting how data is received.

Please just add a comment above the binaryType attribute explaining what it means and please also define what the default value is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527175</commentid>
    <comment_count>6</comment_count>
      <attachid>120542</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 02:46:30 -0800</bug_when>
    <thetext>Created attachment 120542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527176</commentid>
    <comment_count>7</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 02:50:43 -0800</bug_when>
    <thetext>Happy holidays!

Thank you for your advice.
I fixed my change to use enum and to have comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527177</commentid>
    <comment_count>8</comment_count>
      <attachid>120543</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 02:58:56 -0800</bug_when>
    <thetext>Created attachment 120543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527178</commentid>
    <comment_count>9</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 02:59:43 -0800</bug_when>
    <thetext>Sorry, I missed to fix WTF prefix nits.
I revised again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527271</commentid>
    <comment_count>10</comment_count>
      <attachid>120563</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 21:01:12 -0800</bug_when>
    <thetext>Created attachment 120563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527272</commentid>
    <comment_count>11</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2011-12-26 21:03:38 -0800</bug_when>
    <thetext>I clarified enum-ed values for BinaryType and reorder them because I&apos;d like to define
fixed number 0 and 1 to Blob and ArrayBuffer. These value will be also used in pepper&apos;s IDL definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532868</commentid>
    <comment_count>12</comment_count>
      <attachid>121807</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-01-10 00:51:03 -0800</bug_when>
    <thetext>Created attachment 121807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532871</commentid>
    <comment_count>13</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-01-10 00:54:00 -0800</bug_when>
    <thetext>A happy new year!

Just rebased to the trunk and updated copyrights&apos; year.
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534547</commentid>
    <comment_count>14</comment_count>
      <attachid>121807</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-01-11 21:10:18 -0800</bug_when>
    <thetext>Comment on attachment 121807
Patch

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

&gt; Source/WebKit/chromium/src/WebSocketImpl.cpp:131
&gt; +    return m_private-&gt;send(*static_cast&lt;PassRefPtr&lt;ArrayBuffer&gt; &gt;(webArrayBuffer));

nit: we usually use PassRefPtr&lt;ArrayBuffer&gt;(webArrayBuffer) in cases like this.
i.e., construct a PassRefPtr.  of course, the compiler will invoke the casting
operator, and as such it&apos;ll result in the same code you have here.  it just
looks a bit cleaner as a call to the PassRefPtr constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534561</commentid>
    <comment_count>15</comment_count>
      <attachid>121807</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-01-11 21:36:30 -0800</bug_when>
    <thetext>Comment on attachment 121807
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebSocketImpl.cpp:131
&gt;&gt; +    return m_private-&gt;send(*static_cast&lt;PassRefPtr&lt;ArrayBuffer&gt; &gt;(webArrayBuffer));
&gt; 
&gt; nit: we usually use PassRefPtr&lt;ArrayBuffer&gt;(webArrayBuffer) in cases like this.
&gt; i.e., construct a PassRefPtr.  of course, the compiler will invoke the casting
&gt; operator, and as such it&apos;ll result in the same code you have here.  it just
&gt; looks a bit cleaner as a call to the PassRefPtr constructor.

Thanks.
I fixed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534562</commentid>
    <comment_count>16</comment_count>
      <attachid>122166</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-01-11 21:38:42 -0800</bug_when>
    <thetext>Created attachment 122166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534578</commentid>
    <comment_count>17</comment_count>
      <attachid>122166</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 22:48:00 -0800</bug_when>
    <thetext>Comment on attachment 122166
Patch

Clearing flags on attachment: 122166

Committed r104791: &lt;http://trac.webkit.org/changeset/104791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534579</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 22:48:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120307</attachid>
            <date>2011-12-22 04:55:52 -0800</date>
            <delta_ts>2011-12-26 02:46:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20111222215550.patch</filename>
            <type>text/plain</type>
            <size>8062</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDhkMmExZGVkZGNmY2I2ODUyNGFjNDU3ZjI1ZWNmZTFiNWU3ZWI3ZGQuLmMwNjM3NDA2NGZiZTFm
ODA1YzIxYzdlMDk5OGM0YTY5YmQ5MWVmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMTItMjIgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogQWRkIGludGVyZmFjZSB0byBzZW5k
IFdlYkFycmF5QnVmZmVyLCBhbmQgc2V0IGFuZCBnZXQgYmluYXJ5IGZvcm1hdCB0eXBlLgorICAg
ICAgICAqIHB1YmxpYy9XZWJTb2NrZXRDbGllbnQuaDogQWRkIGludGVyZmFjZSB0byByZWNlaXZl
IFdlYkFycmF5QnVmZmVyLgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRDbGllbnQ6OmRpZFJl
Y2VpdmVBcnJheUJ1ZmZlcik6CisgICAgICAgICogc3JjL1dlYlNvY2tldEltcGwuY3BwOiBBZGQg
dmFyaW91cyBiaW5hcnkgdHlwZXMgaGFuZGxpbmcuCisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tl
dEltcGw6OldlYlNvY2tldEltcGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpi
aW5hcnlUeXBlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0SW1wbDo6c2V0QmluYXJ5VHlw
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OnNlbmRBcnJheUJ1ZmZlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OmRpZFJlY2VpdmVCaW5hcnlEYXRhKToKKyAg
ICAgICAgKiBzcmMvV2ViU29ja2V0SW1wbC5oOiBBZGQgbWV0aG9kcyB0byBoYW5kbGUgdmFyaW91
cyBiaW5hcnkgdHlwZXMuCisKIDIwMTEtMTItMjAgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZlcnQgY29kZSBmb3Igcjk2OTEyIGFuZCByMTAxOTA1LCBz
aW5jZSB0aGV5IGNhdXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldC5o
CmluZGV4IGYwMGI3OTU3YWM4NzEzYzBmMTc2MjllYTk5MDRhZjgyNmJjZjZhZTIuLjQ2MjhlNTU0
YmY1MTJjZDgwOWJiNmMyYzdiNDE3MWU0ZjFhNmQ5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlNvY2tldC5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbDsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xh
c3MgV2ViQXJyYXlCdWZmZXI7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRG9jdW1lbnQ7CiBj
bGFzcyBXZWJTdHJpbmc7CkBAIC02MywxMCArNjQsMTMgQEAgcHVibGljOgogICAgIFdFQktJVF9F
WFBPUlQgc3RhdGljIFdlYlNvY2tldCogY3JlYXRlKGNvbnN0IFdlYkRvY3VtZW50JiwgV2ViU29j
a2V0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+V2ViU29ja2V0KCkgeyB9CiAKKyAgICB2aXJ0dWFs
IFdlYlN0cmluZyBiaW5hcnlUeXBlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzZXRC
aW5hcnlUeXBlKGNvbnN0IFdlYlN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVj
dChjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJTdHJpbmcmIHByb3RvY29sKSA9IDA7CiAgICAgdmly
dHVhbCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHNlbmRU
ZXh0KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBzZW5k
QmluYXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wg
c2VuZFRleHQoY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzZW5kQmlu
YXJ5KGNvbnN0IFdlYkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNlbmRBcnJheUJ1ZmZl
cihjb25zdCBXZWJBcnJheUJ1ZmZlciYpID0gMDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcg
YnVmZmVyZWRBbW91bnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKGludCBj
b2RlLCBjb25zdCBXZWJTdHJpbmcmIHJlYXNvbikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmYWls
KGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlNvY2tldENsaWVudC5oCmluZGV4IGIzYTg1NmJkMjg4NmIzYTI3NmVlZDA2
ZmZmODEyOWZhN2NkMWZhODcuLjJjOWMzOTMxMjE5YmM5OTA1YTNiYTY2MmFkODBhZmJiMDZlMWQz
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVu
dC5oCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBXZWJB
cnJheUJ1ZmZlcjsKIGNsYXNzIFdlYlN0cmluZzsKIAogY2xhc3MgV2ViU29ja2V0Q2xpZW50IHsK
QEAgLTQ5LDYgKzUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDb25uZWN0KCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYg
bWVzc2FnZSkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVCaW5hcnlEYXRhKGNvbnN0
IFdlYkRhdGEmIGJpbmFyeURhdGEpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXJy
YXlCdWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIGFycmF5QnVmZmVyKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBk
aWRVcGRhdGVCdWZmZXJlZEFtb3VudCh1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRDbG9zaW5nSGFuZHNoYWtlKCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuY3BwCmluZGV4IDljNGU4NTM0ZmY5
OThjODg2ZTRjYTdmNTEzYWZiY2U5NmVhNzQwZTQuLjU5YWVmODNmNjVjYzYwMDFmNmE2MmI4ZjQ0
NzM1MDk3NzhiZjM4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNvY2tldEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tl
dEltcGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViU29ja2V0SW1wbC5oIgogCisjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMp
CkBAIC00Myw5ICs0NCwxMCBAQCBjbGFzcyBXZWJTb2NrZXRDaGFubmVsIHsKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKICNlbmRpZgogCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRGF0YS5oIgorI2lu
Y2x1ZGUgIldlYkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJXZWJTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJEYXRhLmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJM
LmgiCiAKQEAgLTUzLDggKzU1LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAorLy8gRklYTUU6IERlZmF1bHQgbV9iaW5hcnlUeXBlIG11c3QgYmUg
QmxvYiBhZnRlciBzdXBwb3J0aW5nIFdlYkJsb2IuCiBXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJ
bXBsKGNvbnN0IFdlYkRvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2xpZW50KiBjbGllbnQp
CiAgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX2JpbmFyeVR5cGUoQmluYXJ5VHlwZURh
dGEpCiB7CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgIG1fcHJpdmF0ZSA9IFdlYlNvY2tl
dENoYW5uZWw6OmNyZWF0ZShQYXNzUmVmUHRyPERvY3VtZW50Pihkb2N1bWVudCkuZ2V0KCksIHRo
aXMpOwpAQCAtNzIsNiArNzYsMzcgQEAgV2ViU29ja2V0SW1wbDo6fldlYlNvY2tldEltcGwoKQog
I2VuZGlmCiB9CiAKK1dlYlN0cmluZyBXZWJTb2NrZXRJbXBsOjpiaW5hcnlUeXBlKCkgY29uc3QK
K3sKKyAgICBzd2l0Y2ggKG1fYmluYXJ5VHlwZSkgeworICAgIGNhc2UgQmluYXJ5VHlwZURhdGE6
CisgICAgICAgIHJldHVybiBXZWJTdHJpbmcoImRhdGEiKTsKKyAgICBjYXNlIEJpbmFyeVR5cGVC
bG9iOgorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCJibG9iIik7CisgICAgY2FzZSBCaW5hcnlU
eXBlQXJyYXlCdWZmZXI6CisgICAgICAgIHJldHVybiBXZWJTdHJpbmcoImFycmF5YnVmZmVyIik7
CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBXZWJTdHJpbmco
KTsKK30KKworYm9vbCBXZWJTb2NrZXRJbXBsOjpzZXRCaW5hcnlUeXBlKGNvbnN0IFdlYlN0cmlu
ZyYgYmluYXJ5VHlwZSkKK3sKKyAgICBpZiAoYmluYXJ5VHlwZSA9PSAiZGF0YSIpIHsKKyAgICAg
ICAgbV9iaW5hcnlUeXBlID0gQmluYXJ5VHlwZURhdGE7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICBpZiAoYmluYXJ5VHlwZSA9PSAiYmxvYiIpIHsKKyAgICAgICAgbV9iaW5hcnlU
eXBlID0gQmluYXJ5VHlwZUJsb2I7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBp
ZiAoYmluYXJ5VHlwZSA9PSAiYXJyYXlidWZmZXIiKSB7CisgICAgICAgIG1fYmluYXJ5VHlwZSA9
IEJpbmFyeVR5cGVBcnJheUJ1ZmZlcjsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBXZWJTb2NrZXRJbXBsOjpjb25uZWN0KGNvbnN0IFdl
YlVSTCYgdXJsLCBjb25zdCBXZWJTdHJpbmcmIHByb3RvY29sKQogewogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKQEAgLTEwOCw2ICsxNDMsMTYgQEAgYm9vbCBXZWJTb2NrZXRJbXBsOjpzZW5kQmlu
YXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEpCiAjZW5kaWYKIH0KIAorYm9vbCBXZWJTb2Nr
ZXRJbXBsOjpzZW5kQXJyYXlCdWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIHdlYkFycmF5QnVm
ZmVyKQoreworI2lmIEVOQUJMRShXRUJfU09DS0VUUykKKyAgICBXVEY6OlBhc3NSZWZQdHI8V1RG
OjpBcnJheUJ1ZmZlcj4gYXJyYXlCdWZmZXIgPSB3ZWJBcnJheUJ1ZmZlcjsKKyAgICByZXR1cm4g
bV9wcml2YXRlLT5zZW5kKCphcnJheUJ1ZmZlcik7CisjZWxzZQorICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworI2VuZGlmCit9CisKIHVuc2lnbmVkIGxvbmcgV2ViU29ja2V0SW1wbDo6YnVmZmVy
ZWRBbW91bnQoKSBjb25zdAogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTE2Niw3ICsy
MTEsMTUgQEAgdm9pZCBXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlTWVzc2FnZShjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpCiB2b2lkIFdlYlNvY2tldEltcGw6OmRpZFJlY2VpdmVCaW5hcnlEYXRhKFBh
c3NPd25QdHI8VmVjdG9yPGNoYXI+ID4gYmluYXJ5RGF0YSkKIHsKICNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCi0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdlYkRhdGEoYmluYXJ5
RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsKKyAgICBzd2l0Y2ggKG1fYmluYXJ5
VHlwZSkgeworICAgIGNhc2UgQmluYXJ5VHlwZURhdGE6CisgICAgY2FzZSBCaW5hcnlUeXBlQmxv
YjogLy8gRklYTUU6IEhhbmRsZSBCbG9iIGFmdGVyIHN1cHBvcnRpbmcgV2ViQmxvYi4KKyAgICAg
ICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdlYkRhdGEoYmluYXJ5RGF0YS0+ZGF0
YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBCaW5h
cnlUeXBlQXJyYXlCdWZmZXI6CisgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlQXJyYXlCdWZm
ZXIoV2ViQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXI6OmNyZWF0ZShiaW5hcnlEYXRhLT5kYXRhKCks
IGJpbmFyeURhdGEtPnNpemUoKSkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogI2Vsc2UKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU29ja2V0SW1wbC5oCmluZGV4IDNkMzczNTVkMDQ2YzQxYTdjZTJiYjM2YWVmNDAyMGQ5
YTJjODdlYWYuLjI2ZWQxYjZiMGM3MTMyMGIyY2VhMmM4MmQwNGFkYTUwMTUxZDc4NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmgKQEAgLTU0LDEwICs1NCwx
MyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX3ByaXZh
dGU7IH0KIAorICAgIFdlYlN0cmluZyBiaW5hcnlUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBi
b29sIHNldEJpbmFyeVR5cGUoY29uc3QgV2ViU3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIGNv
bm5lY3QoY29uc3QgV2ViVVJMJiwgY29uc3QgV2ViU3RyaW5nJiBwcm90b2NvbCk7CiAgICAgdmly
dHVhbCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKTsKLSAgICB2aXJ0dWFsIGJvb2wgc2VuZFRleHQo
Y29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKTsKLSAgICB2aXJ0dWFsIGJvb2wgc2VuZEJpbmFyeShj
b25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2VuZFRleHQoY29u
c3QgV2ViU3RyaW5nJik7CisgICAgdmlydHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0
YSYpOworICAgIHZpcnR1YWwgYm9vbCBzZW5kQXJyYXlCdWZmZXIoY29uc3QgV2ViQXJyYXlCdWZm
ZXImKTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoaW50IGNvZGUsIGNvbnN0IFdlYlN0cmluZyYgcmVhc29u
KTsKICAgICB2aXJ0dWFsIHZvaWQgZmFpbChjb25zdCBXZWJTdHJpbmcmIHJlYXNvbik7CkBAIC03
Myw4ICs3NiwxNSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKHVuc2lnbmVk
IGxvbmcgYnVmZmVyZWRBbW91bnQsIENsb3NpbmdIYW5kc2hha2VDb21wbGV0aW9uU3RhdHVzLCB1
bnNpZ25lZCBzaG9ydCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbik7CiAKIHByaXZhdGU6Cisg
ICAgZW51bSBCaW5hcnlUeXBlIHsKKyAgICAgICAgQmluYXJ5VHlwZURhdGEsCisgICAgICAgIEJp
bmFyeVR5cGVCbG9iLAorICAgICAgICBCaW5hcnlUeXBlQXJyYXlCdWZmZXIKKyAgICB9OworCiAg
ICAgUmVmUHRyPFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw+IG1fcHJpdmF0ZTsKICAgICBXZWJT
b2NrZXRDbGllbnQqIG1fY2xpZW50OworICAgIEJpbmFyeVR5cGUgbV9iaW5hcnlUeXBlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120542</attachid>
            <date>2011-12-26 02:46:30 -0800</date>
            <delta_ts>2011-12-26 02:58:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20111226194628.patch</filename>
            <type>text/plain</type>
            <size>8139</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDhkMmExZGVkZGNmY2I2ODUyNGFjNDU3ZjI1ZWNmZTFiNWU3ZWI3ZGQuLjIyNDhkYWQ5NDM0NzM1
OTkyYmE3YjZjZTNhNGFlYzM1NjBjODQ2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMTItMjYgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogQWRkIGludGVyZmFjZSB0byBzZW5k
IFdlYkFycmF5QnVmZmVyLCBhbmQgc2V0IGFuZCBnZXQgcmVjZWl2aW5nIGJpbmFyeSBvYmplY3Qg
dHlwZS4KKyAgICAgICAgKiBwdWJsaWMvV2ViU29ja2V0Q2xpZW50Lmg6IEFkZCBpbnRlcmZhY2Ug
dG8gcmVjZWl2ZSBXZWJBcnJheUJ1ZmZlci4KKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2xp
ZW50OjpkaWRSZWNlaXZlQXJyYXlCdWZmZXIpOgorICAgICAgICAqIHNyYy9XZWJTb2NrZXRJbXBs
LmNwcDogQWRkIHZhcmlvdXMgYmluYXJ5IHR5cGVzIGhhbmRsaW5nLgorICAgICAgICAoV2ViS2l0
OjpXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29j
a2V0SW1wbDo6YmluYXJ5VHlwZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OnNl
dEJpbmFyeVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlC
dWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5
RGF0YSk6CisgICAgICAgICogc3JjL1dlYlNvY2tldEltcGwuaDogQWRkIG1ldGhvZHMgdG8gaGFu
ZGxlIHZhcmlvdXMgYmluYXJ5IHR5cGVzLgorCiAyMDExLTEyLTIwICBOYXRlIENoYXBpbiAgPGph
cGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IGNvZGUgZm9yIHI5NjkxMiBhbmQg
cjEwMTkwNSwgc2luY2UgdGhleSBjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTb2NrZXQuaAppbmRleCBmMDBiNzk1N2FjODcxM2MwZjE3NjI5ZWE5OTA0YWY4MjZiY2Y2YWUy
Li5mMjFkM2E2NzY4ODkxYzY2OWI4NjI1NjBmNjFjODFlNzcxMDMzZWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7IGNsYXNzIFdlYlNvY2tldENoYW5uZWw7IH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKK2NsYXNzIFdlYkFycmF5QnVmZmVyOwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkRv
Y3VtZW50OwogY2xhc3MgV2ViU3RyaW5nOwpAQCAtNjAsMTMgKzYxLDMxIEBAIHB1YmxpYzoKICAg
ICAgICAgQ2xvc2VFdmVudENvZGVNYXhpbXVtVXNlckRlZmluZWQgPSA0OTk5CiAgICAgfTsKIAor
ICAgIC8vIEZJWE1FOiBSZW1vdmUgQmluYXJ5VHlwZURhdGEgYWZ0ZXIgYSBzd2l0Y2hvdmVyIHRv
IG90aGVyIHR5cGVzLgorICAgIGVudW0gQmluYXJ5VHlwZSB7CisgICAgICAgIEJpbmFyeVR5cGVE
YXRhLAorICAgICAgICBCaW5hcnlUeXBlQmxvYiwKKyAgICAgICAgQmluYXJ5VHlwZUFycmF5QnVm
ZmVyCisgICAgfTsKKwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYlNvY2tldCogY3JlYXRl
KGNvbnN0IFdlYkRvY3VtZW50JiwgV2ViU29ja2V0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+V2Vi
U29ja2V0KCkgeyB9CiAKKyAgICAvLyBUaGVzZSBmdW5jdGlvbnMgY29tZSBmcm9tIGJpbmFyeVR5
cGUgYXR0cmlidXRlIG9mIHRoZSBXZWJTb2NrZXQgQVBJCisgICAgLy8gc3BlY2lmaWNhdGlvbi4g
SXQgc3BlY2lmaWVzIGJpbmFyeSBvYmplY3QgdHlwZSBmb3IgcmVjZWl2aW5nIGJpbmFyeQorICAg
IC8vIGZyYW1lcyByZXByZXNlbnRhdGlvbi4gUmVjZWl2aW5nIHRleHQgZnJhbWVzIGFyZSBhbHdh
eXMgbWFwcGVkIHRvCisgICAgLy8gV2ViU3RyaW5nIHR5cGUgcmVnYXJkbGVzcyBvZiB0aGlzIGF0
dHJpYnV0ZS4KKyAgICAvLyBEZWZhdWx0IHR5cGUgbXVzdCBiZSBCaW5hcnlUeXBlQmxvYiwgYnV0
IGN1cnJlbnRseSBpcyBCaW5hcnlUeXBlRGF0YQorICAgIC8vIGZvciBhIHN3aXRjaG92ZXIgZnJv
bSBXZWJEYXRhIHRvIFdlYkFycmF5QnVmZmVyLgorICAgIC8vIFNlZSBhbHNvLCBUaGUgV2ViU29j
a2V0IEFQSSAtIGh0dHA6Ly93d3cudzMub3JnL1RSL3dlYnNvY2tldHMvIC4KKyAgICB2aXJ0dWFs
IEJpbmFyeVR5cGUgYmluYXJ5VHlwZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0
QmluYXJ5VHlwZShCaW5hcnlUeXBlKSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChj
b25zdCBXZWJVUkwmLCBjb25zdCBXZWJTdHJpbmcmIHByb3RvY29sKSA9IDA7CiAgICAgdmlydHVh
bCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHNlbmRUZXh0
KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBzZW5kQmlu
YXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgc2Vu
ZFRleHQoY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzZW5kQmluYXJ5
KGNvbnN0IFdlYkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNlbmRBcnJheUJ1ZmZlcihj
b25zdCBXZWJBcnJheUJ1ZmZlciYpID0gMDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgYnVm
ZmVyZWRBbW91bnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKGludCBjb2Rl
LCBjb25zdCBXZWJTdHJpbmcmIHJlYXNvbikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmYWlsKGNv
bnN0IFdlYlN0cmluZyYgcmVhc29uKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNvY2tldENsaWVudC5oCmluZGV4IGIzYTg1NmJkMjg4NmIzYTI3NmVlZDA2ZmZm
ODEyOWZhN2NkMWZhODcuLjJjOWMzOTMxMjE5YmM5OTA1YTNiYTY2MmFkODBhZmJiMDZlMWQzODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVudC5o
CkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBXZWJBcnJh
eUJ1ZmZlcjsKIGNsYXNzIFdlYlN0cmluZzsKIAogY2xhc3MgV2ViU29ja2V0Q2xpZW50IHsKQEAg
LTQ5LDYgKzUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDb25uZWN0KCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYgbWVz
c2FnZSkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVCaW5hcnlEYXRhKGNvbnN0IFdl
YkRhdGEmIGJpbmFyeURhdGEpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXJyYXlC
dWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIGFycmF5QnVmZmVyKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRV
cGRhdGVCdWZmZXJlZEFtb3VudCh1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRDbG9zaW5nSGFuZHNoYWtlKCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuY3BwCmluZGV4IDljNGU4NTM0ZmY5OThj
ODg2ZTRjYTdmNTEzYWZiY2U5NmVhNzQwZTQuLmQ2Yjc2ZDBlNjhmMDgzOGJlNTc1NDBlMTVlM2U4
OTk4MmY0ODUzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNv
Y2tldEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldElt
cGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SW1wbC5oIgogCisjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCkBA
IC00Myw5ICs0NCwxMCBAQCBjbGFzcyBXZWJTb2NrZXRDaGFubmVsIHsKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKICNlbmRpZgogCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRGF0YS5oIgorI2luY2x1
ZGUgIldlYkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJXZWJTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJEYXRhLmgiCiAjaW5j
bHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgi
CiAKQEAgLTUzLDggKzU1LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorLy8gRklYTUU6IERlZmF1bHQgbV9iaW5hcnlUeXBlIG11c3QgYmUgQmxv
YiBhZnRlciBzdXBwb3J0aW5nIFdlYkJsb2IuCiBXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBs
KGNvbnN0IFdlYkRvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2xpZW50KiBjbGllbnQpCiAg
ICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX2JpbmFyeVR5cGUoQmluYXJ5VHlwZURhdGEp
CiB7CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgIG1fcHJpdmF0ZSA9IFdlYlNvY2tldENo
YW5uZWw6OmNyZWF0ZShQYXNzUmVmUHRyPERvY3VtZW50Pihkb2N1bWVudCkuZ2V0KCksIHRoaXMp
OwpAQCAtNzIsNiArNzYsMTkgQEAgV2ViU29ja2V0SW1wbDo6fldlYlNvY2tldEltcGwoKQogI2Vu
ZGlmCiB9CiAKK1dlYlNvY2tldDo6QmluYXJ5VHlwZSBXZWJTb2NrZXRJbXBsOjpiaW5hcnlUeXBl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9iaW5hcnlUeXBlOworfQorCitib29sIFdlYlNvY2tl
dEltcGw6OnNldEJpbmFyeVR5cGUoQmluYXJ5VHlwZSBiaW5hcnlUeXBlKQoreworICAgIGlmIChi
aW5hcnlUeXBlID4gQmluYXJ5VHlwZUFycmF5QnVmZmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgbV9iaW5hcnlUeXBlID0gYmluYXJ5VHlwZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
dm9pZCBXZWJTb2NrZXRJbXBsOjpjb25uZWN0KGNvbnN0IFdlYlVSTCYgdXJsLCBjb25zdCBXZWJT
dHJpbmcmIHByb3RvY29sKQogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTEwOCw2ICsx
MjUsMTYgQEAgYm9vbCBXZWJTb2NrZXRJbXBsOjpzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmIGJp
bmFyeURhdGEpCiAjZW5kaWYKIH0KIAorYm9vbCBXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlCdWZm
ZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIHdlYkFycmF5QnVmZmVyKQoreworI2lmIEVOQUJMRShX
RUJfU09DS0VUUykKKyAgICBXVEY6OlBhc3NSZWZQdHI8V1RGOjpBcnJheUJ1ZmZlcj4gYXJyYXlC
dWZmZXIgPSB3ZWJBcnJheUJ1ZmZlcjsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5zZW5kKCphcnJh
eUJ1ZmZlcik7CisjZWxzZQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisK
IHVuc2lnbmVkIGxvbmcgV2ViU29ja2V0SW1wbDo6YnVmZmVyZWRBbW91bnQoKSBjb25zdAogewog
I2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTE2Niw3ICsxOTMsMTUgQEAgdm9pZCBXZWJTb2Nr
ZXRJbXBsOjpkaWRSZWNlaXZlTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB2b2lkIFdl
YlNvY2tldEltcGw6OmRpZFJlY2VpdmVCaW5hcnlEYXRhKFBhc3NPd25QdHI8VmVjdG9yPGNoYXI+
ID4gYmluYXJ5RGF0YSkKIHsKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgbV9jbGllbnQt
PmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdlYkRhdGEoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlE
YXRhLT5zaXplKCkpKTsKKyAgICBzd2l0Y2ggKG1fYmluYXJ5VHlwZSkgeworICAgIGNhc2UgQmlu
YXJ5VHlwZURhdGE6CisgICAgY2FzZSBCaW5hcnlUeXBlQmxvYjogLy8gRklYTUU6IEhhbmRsZSBC
bG9iIGFmdGVyIHN1cHBvcnRpbmcgV2ViQmxvYi4KKyAgICAgICAgbV9jbGllbnQtPmRpZFJlY2Vp
dmVCaW5hcnlEYXRhKFdlYkRhdGEoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXpl
KCkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI6Cisg
ICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlQXJyYXlCdWZmZXIoV2ViQXJyYXlCdWZmZXIoQXJy
YXlCdWZmZXI6OmNyZWF0ZShiaW5hcnlEYXRhLT5kYXRhKCksIGJpbmFyeURhdGEtPnNpemUoKSkp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogI2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29j
a2V0SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oCmlu
ZGV4IDNkMzczNTVkMDQ2YzQxYTdjZTJiYjM2YWVmNDAyMGQ5YTJjODdlYWYuLmQ1MzA4MTFmM2Zh
NzQ4NmYzMjFhZGFhOTlkYmNmMmM0ZTgwNGQwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTb2NrZXRJbXBsLmgKQEAgLTU0LDEwICs1NCwxNCBAQCBwdWJsaWM6CiAKICAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX3ByaXZhdGU7IH0KIAorICAgIEJpbmFyeVR5
cGUgYmluYXJ5VHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzZXRCaW5hcnlUeXBlKEJp
bmFyeVR5cGUpOwogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KGNvbnN0IFdlYlVSTCYsIGNvbnN0
IFdlYlN0cmluZyYgcHJvdG9jb2wpOwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHN1YnByb3RvY29s
KCk7Ci0gICAgdmlydHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSk7
Ci0gICAgdmlydHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0YSYgYmluYXJ5RGF0YSk7
CisgICAgdmlydHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYpOworICAgIC8vIEZJ
WE1FOiBSZW1vdmUgc2VuZEJpbmFyeSgpIGFmdGVyIGEgc3dpdGNob3ZlciB0byBvdGhlciB0eXBl
cy4KKyAgICB2aXJ0dWFsIGJvb2wgc2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJik7CisgICAgdmly
dHVhbCBib29sIHNlbmRBcnJheUJ1ZmZlcihjb25zdCBXZWJBcnJheUJ1ZmZlciYpOwogICAgIHZp
cnR1YWwgdW5zaWduZWQgbG9uZyBidWZmZXJlZEFtb3VudCgpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBjbG9zZShpbnQgY29kZSwgY29uc3QgV2ViU3RyaW5nJiByZWFzb24pOwogICAgIHZpcnR1
YWwgdm9pZCBmYWlsKGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKTsKQEAgLTc1LDYgKzc5LDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbD4g
bV9wcml2YXRlOwogICAgIFdlYlNvY2tldENsaWVudCogbV9jbGllbnQ7CisgICAgQmluYXJ5VHlw
ZSBtX2JpbmFyeVR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120543</attachid>
            <date>2011-12-26 02:58:56 -0800</date>
            <delta_ts>2011-12-26 21:01:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20111226195853.patch</filename>
            <type>text/plain</type>
            <size>8112</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDhkMmExZGVkZGNmY2I2ODUyNGFjNDU3ZjI1ZWNmZTFiNWU3ZWI3ZGQuLjIyNDhkYWQ5NDM0NzM1
OTkyYmE3YjZjZTNhNGFlYzM1NjBjODQ2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMTItMjYgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogQWRkIGludGVyZmFjZSB0byBzZW5k
IFdlYkFycmF5QnVmZmVyLCBhbmQgc2V0IGFuZCBnZXQgcmVjZWl2aW5nIGJpbmFyeSBvYmplY3Qg
dHlwZS4KKyAgICAgICAgKiBwdWJsaWMvV2ViU29ja2V0Q2xpZW50Lmg6IEFkZCBpbnRlcmZhY2Ug
dG8gcmVjZWl2ZSBXZWJBcnJheUJ1ZmZlci4KKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2xp
ZW50OjpkaWRSZWNlaXZlQXJyYXlCdWZmZXIpOgorICAgICAgICAqIHNyYy9XZWJTb2NrZXRJbXBs
LmNwcDogQWRkIHZhcmlvdXMgYmluYXJ5IHR5cGVzIGhhbmRsaW5nLgorICAgICAgICAoV2ViS2l0
OjpXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29j
a2V0SW1wbDo6YmluYXJ5VHlwZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OnNl
dEJpbmFyeVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlC
dWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5
RGF0YSk6CisgICAgICAgICogc3JjL1dlYlNvY2tldEltcGwuaDogQWRkIG1ldGhvZHMgdG8gaGFu
ZGxlIHZhcmlvdXMgYmluYXJ5IHR5cGVzLgorCiAyMDExLTEyLTIwICBOYXRlIENoYXBpbiAgPGph
cGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IGNvZGUgZm9yIHI5NjkxMiBhbmQg
cjEwMTkwNSwgc2luY2UgdGhleSBjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTb2NrZXQuaAppbmRleCBmMDBiNzk1N2FjODcxM2MwZjE3NjI5ZWE5OTA0YWY4MjZiY2Y2YWUy
Li5mMjFkM2E2NzY4ODkxYzY2OWI4NjI1NjBmNjFjODFlNzcxMDMzZWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7IGNsYXNzIFdlYlNvY2tldENoYW5uZWw7IH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKK2NsYXNzIFdlYkFycmF5QnVmZmVyOwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkRv
Y3VtZW50OwogY2xhc3MgV2ViU3RyaW5nOwpAQCAtNjAsMTMgKzYxLDMxIEBAIHB1YmxpYzoKICAg
ICAgICAgQ2xvc2VFdmVudENvZGVNYXhpbXVtVXNlckRlZmluZWQgPSA0OTk5CiAgICAgfTsKIAor
ICAgIC8vIEZJWE1FOiBSZW1vdmUgQmluYXJ5VHlwZURhdGEgYWZ0ZXIgYSBzd2l0Y2hvdmVyIHRv
IG90aGVyIHR5cGVzLgorICAgIGVudW0gQmluYXJ5VHlwZSB7CisgICAgICAgIEJpbmFyeVR5cGVE
YXRhLAorICAgICAgICBCaW5hcnlUeXBlQmxvYiwKKyAgICAgICAgQmluYXJ5VHlwZUFycmF5QnVm
ZmVyCisgICAgfTsKKwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYlNvY2tldCogY3JlYXRl
KGNvbnN0IFdlYkRvY3VtZW50JiwgV2ViU29ja2V0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+V2Vi
U29ja2V0KCkgeyB9CiAKKyAgICAvLyBUaGVzZSBmdW5jdGlvbnMgY29tZSBmcm9tIGJpbmFyeVR5
cGUgYXR0cmlidXRlIG9mIHRoZSBXZWJTb2NrZXQgQVBJCisgICAgLy8gc3BlY2lmaWNhdGlvbi4g
SXQgc3BlY2lmaWVzIGJpbmFyeSBvYmplY3QgdHlwZSBmb3IgcmVjZWl2aW5nIGJpbmFyeQorICAg
IC8vIGZyYW1lcyByZXByZXNlbnRhdGlvbi4gUmVjZWl2aW5nIHRleHQgZnJhbWVzIGFyZSBhbHdh
eXMgbWFwcGVkIHRvCisgICAgLy8gV2ViU3RyaW5nIHR5cGUgcmVnYXJkbGVzcyBvZiB0aGlzIGF0
dHJpYnV0ZS4KKyAgICAvLyBEZWZhdWx0IHR5cGUgbXVzdCBiZSBCaW5hcnlUeXBlQmxvYiwgYnV0
IGN1cnJlbnRseSBpcyBCaW5hcnlUeXBlRGF0YQorICAgIC8vIGZvciBhIHN3aXRjaG92ZXIgZnJv
bSBXZWJEYXRhIHRvIFdlYkFycmF5QnVmZmVyLgorICAgIC8vIFNlZSBhbHNvLCBUaGUgV2ViU29j
a2V0IEFQSSAtIGh0dHA6Ly93d3cudzMub3JnL1RSL3dlYnNvY2tldHMvIC4KKyAgICB2aXJ0dWFs
IEJpbmFyeVR5cGUgYmluYXJ5VHlwZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0
QmluYXJ5VHlwZShCaW5hcnlUeXBlKSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChj
b25zdCBXZWJVUkwmLCBjb25zdCBXZWJTdHJpbmcmIHByb3RvY29sKSA9IDA7CiAgICAgdmlydHVh
bCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHNlbmRUZXh0
KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBzZW5kQmlu
YXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgc2Vu
ZFRleHQoY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzZW5kQmluYXJ5
KGNvbnN0IFdlYkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNlbmRBcnJheUJ1ZmZlcihj
b25zdCBXZWJBcnJheUJ1ZmZlciYpID0gMDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgYnVm
ZmVyZWRBbW91bnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKGludCBjb2Rl
LCBjb25zdCBXZWJTdHJpbmcmIHJlYXNvbikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmYWlsKGNv
bnN0IFdlYlN0cmluZyYgcmVhc29uKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNvY2tldENsaWVudC5oCmluZGV4IGIzYTg1NmJkMjg4NmIzYTI3NmVlZDA2ZmZm
ODEyOWZhN2NkMWZhODcuLjJjOWMzOTMxMjE5YmM5OTA1YTNiYTY2MmFkODBhZmJiMDZlMWQzODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVudC5o
CkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBXZWJBcnJh
eUJ1ZmZlcjsKIGNsYXNzIFdlYlN0cmluZzsKIAogY2xhc3MgV2ViU29ja2V0Q2xpZW50IHsKQEAg
LTQ5LDYgKzUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDb25uZWN0KCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYgbWVz
c2FnZSkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVCaW5hcnlEYXRhKGNvbnN0IFdl
YkRhdGEmIGJpbmFyeURhdGEpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXJyYXlC
dWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIGFycmF5QnVmZmVyKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRV
cGRhdGVCdWZmZXJlZEFtb3VudCh1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRDbG9zaW5nSGFuZHNoYWtlKCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuY3BwCmluZGV4IDljNGU4NTM0ZmY5OThj
ODg2ZTRjYTdmNTEzYWZiY2U5NmVhNzQwZTQuLmZjMDU1ZGY1NGNlNDQ5OWFiM2MwNTQyOWNhYTRk
NWE0YzQzMTNiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNv
Y2tldEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldElt
cGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SW1wbC5oIgogCisjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCkBA
IC00Myw5ICs0NCwxMCBAQCBjbGFzcyBXZWJTb2NrZXRDaGFubmVsIHsKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKICNlbmRpZgogCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRGF0YS5oIgorI2luY2x1
ZGUgIldlYkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJXZWJTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJEYXRhLmgiCiAjaW5j
bHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgi
CiAKQEAgLTUzLDggKzU1LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorLy8gRklYTUU6IERlZmF1bHQgbV9iaW5hcnlUeXBlIG11c3QgYmUgQmxv
YiBhZnRlciBzdXBwb3J0aW5nIFdlYkJsb2IuCiBXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBs
KGNvbnN0IFdlYkRvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2xpZW50KiBjbGllbnQpCiAg
ICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX2JpbmFyeVR5cGUoQmluYXJ5VHlwZURhdGEp
CiB7CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgIG1fcHJpdmF0ZSA9IFdlYlNvY2tldENo
YW5uZWw6OmNyZWF0ZShQYXNzUmVmUHRyPERvY3VtZW50Pihkb2N1bWVudCkuZ2V0KCksIHRoaXMp
OwpAQCAtNzIsNiArNzYsMTkgQEAgV2ViU29ja2V0SW1wbDo6fldlYlNvY2tldEltcGwoKQogI2Vu
ZGlmCiB9CiAKK1dlYlNvY2tldDo6QmluYXJ5VHlwZSBXZWJTb2NrZXRJbXBsOjpiaW5hcnlUeXBl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9iaW5hcnlUeXBlOworfQorCitib29sIFdlYlNvY2tl
dEltcGw6OnNldEJpbmFyeVR5cGUoQmluYXJ5VHlwZSBiaW5hcnlUeXBlKQoreworICAgIGlmIChi
aW5hcnlUeXBlID4gQmluYXJ5VHlwZUFycmF5QnVmZmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgbV9iaW5hcnlUeXBlID0gYmluYXJ5VHlwZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
dm9pZCBXZWJTb2NrZXRJbXBsOjpjb25uZWN0KGNvbnN0IFdlYlVSTCYgdXJsLCBjb25zdCBXZWJT
dHJpbmcmIHByb3RvY29sKQogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTEwOCw2ICsx
MjUsMTUgQEAgYm9vbCBXZWJTb2NrZXRJbXBsOjpzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmIGJp
bmFyeURhdGEpCiAjZW5kaWYKIH0KIAorYm9vbCBXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlCdWZm
ZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImIHdlYkFycmF5QnVmZmVyKQoreworI2lmIEVOQUJMRShX
RUJfU09DS0VUUykKKyAgICByZXR1cm4gbV9wcml2YXRlLT5zZW5kKCpzdGF0aWNfY2FzdDxQYXNz
UmVmUHRyPEFycmF5QnVmZmVyPiA+KHdlYkFycmF5QnVmZmVyKSk7CisjZWxzZQorICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisKIHVuc2lnbmVkIGxvbmcgV2ViU29ja2V0SW1w
bDo6YnVmZmVyZWRBbW91bnQoKSBjb25zdAogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAg
LTE2Niw3ICsxOTIsMTUgQEAgdm9pZCBXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlTWVzc2FnZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB2b2lkIFdlYlNvY2tldEltcGw6OmRpZFJlY2VpdmVCaW5h
cnlEYXRhKFBhc3NPd25QdHI8VmVjdG9yPGNoYXI+ID4gYmluYXJ5RGF0YSkKIHsKICNpZiBFTkFC
TEUoV0VCX1NPQ0tFVFMpCi0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdlYkRh
dGEoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsKKyAgICBzd2l0Y2gg
KG1fYmluYXJ5VHlwZSkgeworICAgIGNhc2UgQmluYXJ5VHlwZURhdGE6CisgICAgY2FzZSBCaW5h
cnlUeXBlQmxvYjogLy8gRklYTUU6IEhhbmRsZSBCbG9iIGFmdGVyIHN1cHBvcnRpbmcgV2ViQmxv
Yi4KKyAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdlYkRhdGEoYmluYXJ5
RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI6CisgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZl
QXJyYXlCdWZmZXIoV2ViQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXI6OmNyZWF0ZShiaW5hcnlEYXRh
LT5kYXRhKCksIGJpbmFyeURhdGEtPnNpemUoKSkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQog
I2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oCmluZGV4IDNkMzczNTVkMDQ2YzQxYTdjZTJiYjM2
YWVmNDAyMGQ5YTJjODdlYWYuLmQ1MzA4MTFmM2ZhNzQ4NmYzMjFhZGFhOTlkYmNmMmM0ZTgwNGQw
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmgKQEAgLTU0
LDEwICs1NCwxNCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJu
ICFtX3ByaXZhdGU7IH0KIAorICAgIEJpbmFyeVR5cGUgYmluYXJ5VHlwZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgYm9vbCBzZXRCaW5hcnlUeXBlKEJpbmFyeVR5cGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBjb25uZWN0KGNvbnN0IFdlYlVSTCYsIGNvbnN0IFdlYlN0cmluZyYgcHJvdG9jb2wpOwogICAg
IHZpcnR1YWwgV2ViU3RyaW5nIHN1YnByb3RvY29sKCk7Ci0gICAgdmlydHVhbCBib29sIHNlbmRU
ZXh0KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSk7Ci0gICAgdmlydHVhbCBib29sIHNlbmRCaW5h
cnkoY29uc3QgV2ViRGF0YSYgYmluYXJ5RGF0YSk7CisgICAgdmlydHVhbCBib29sIHNlbmRUZXh0
KGNvbnN0IFdlYlN0cmluZyYpOworICAgIC8vIEZJWE1FOiBSZW1vdmUgc2VuZEJpbmFyeSgpIGFm
dGVyIGEgc3dpdGNob3ZlciB0byBvdGhlciB0eXBlcy4KKyAgICB2aXJ0dWFsIGJvb2wgc2VuZEJp
bmFyeShjb25zdCBXZWJEYXRhJik7CisgICAgdmlydHVhbCBib29sIHNlbmRBcnJheUJ1ZmZlcihj
b25zdCBXZWJBcnJheUJ1ZmZlciYpOwogICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBidWZmZXJl
ZEFtb3VudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShpbnQgY29kZSwgY29uc3Qg
V2ViU3RyaW5nJiByZWFzb24pOwogICAgIHZpcnR1YWwgdm9pZCBmYWlsKGNvbnN0IFdlYlN0cmlu
ZyYgcmVhc29uKTsKQEAgLTc1LDYgKzc5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBSZWZQ
dHI8V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbD4gbV9wcml2YXRlOwogICAgIFdlYlNvY2tldENs
aWVudCogbV9jbGllbnQ7CisgICAgQmluYXJ5VHlwZSBtX2JpbmFyeVR5cGU7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120563</attachid>
            <date>2011-12-26 21:01:12 -0800</date>
            <delta_ts>2012-01-10 00:50:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20111227140110.patch</filename>
            <type>text/plain</type>
            <size>8140</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDhkMmExZGVkZGNmY2I2ODUyNGFjNDU3ZjI1ZWNmZTFiNWU3ZWI3ZGQuLjIyNDhkYWQ5NDM0NzM1
OTkyYmE3YjZjZTNhNGFlYzM1NjBjODQ2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMTItMjYgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogQWRkIGludGVyZmFjZSB0byBzZW5k
IFdlYkFycmF5QnVmZmVyLCBhbmQgc2V0IGFuZCBnZXQgcmVjZWl2aW5nIGJpbmFyeSBvYmplY3Qg
dHlwZS4KKyAgICAgICAgKiBwdWJsaWMvV2ViU29ja2V0Q2xpZW50Lmg6IEFkZCBpbnRlcmZhY2Ug
dG8gcmVjZWl2ZSBXZWJBcnJheUJ1ZmZlci4KKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2xp
ZW50OjpkaWRSZWNlaXZlQXJyYXlCdWZmZXIpOgorICAgICAgICAqIHNyYy9XZWJTb2NrZXRJbXBs
LmNwcDogQWRkIHZhcmlvdXMgYmluYXJ5IHR5cGVzIGhhbmRsaW5nLgorICAgICAgICAoV2ViS2l0
OjpXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29j
a2V0SW1wbDo6YmluYXJ5VHlwZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OnNl
dEJpbmFyeVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlC
dWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5
RGF0YSk6CisgICAgICAgICogc3JjL1dlYlNvY2tldEltcGwuaDogQWRkIG1ldGhvZHMgdG8gaGFu
ZGxlIHZhcmlvdXMgYmluYXJ5IHR5cGVzLgorCiAyMDExLTEyLTIwICBOYXRlIENoYXBpbiAgPGph
cGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IGNvZGUgZm9yIHI5NjkxMiBhbmQg
cjEwMTkwNSwgc2luY2UgdGhleSBjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTb2NrZXQuaAppbmRleCBmMDBiNzk1N2FjODcxM2MwZjE3NjI5ZWE5OTA0YWY4MjZiY2Y2YWUy
Li41ZTIwZWI2M2MxZjVhYjA1YTczNGYxYTc5MGExNGRiZWRkNDc0NThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7IGNsYXNzIFdlYlNvY2tldENoYW5uZWw7IH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKK2NsYXNzIFdlYkFycmF5QnVmZmVyOwogY2xhc3MgV2ViRGF0YTsKIGNsYXNzIFdlYkRv
Y3VtZW50OwogY2xhc3MgV2ViU3RyaW5nOwpAQCAtNjAsMTMgKzYxLDMxIEBAIHB1YmxpYzoKICAg
ICAgICAgQ2xvc2VFdmVudENvZGVNYXhpbXVtVXNlckRlZmluZWQgPSA0OTk5CiAgICAgfTsKIAor
ICAgIC8vIEZJWE1FOiBSZW1vdmUgQmluYXJ5VHlwZURhdGEgYWZ0ZXIgYSBzd2l0Y2hvdmVyIHRv
IG90aGVyIHR5cGVzLgorICAgIGVudW0gQmluYXJ5VHlwZSB7CisgICAgICAgIEJpbmFyeVR5cGVC
bG9iID0gMCwKKyAgICAgICAgQmluYXJ5VHlwZUFycmF5QnVmZmVyID0gMSwKKyAgICAgICAgQmlu
YXJ5VHlwZURhdGEgPSAyIC8vIERvbid0IHVzZSBpdAorICAgIH07CisKICAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyBXZWJTb2NrZXQqIGNyZWF0ZShjb25zdCBXZWJEb2N1bWVudCYsIFdlYlNvY2tl
dENsaWVudCopOwogICAgIHZpcnR1YWwgfldlYlNvY2tldCgpIHsgfQogCisgICAgLy8gVGhlc2Ug
ZnVuY3Rpb25zIGNvbWUgZnJvbSBiaW5hcnlUeXBlIGF0dHJpYnV0ZSBvZiB0aGUgV2ViU29ja2V0
IEFQSQorICAgIC8vIHNwZWNpZmljYXRpb24uIEl0IHNwZWNpZmllcyBiaW5hcnkgb2JqZWN0IHR5
cGUgZm9yIHJlY2VpdmluZyBiaW5hcnkKKyAgICAvLyBmcmFtZXMgcmVwcmVzZW50YXRpb24uIFJl
Y2VpdmluZyB0ZXh0IGZyYW1lcyBhcmUgYWx3YXlzIG1hcHBlZCB0bworICAgIC8vIFdlYlN0cmlu
ZyB0eXBlIHJlZ2FyZGxlc3Mgb2YgdGhpcyBhdHRyaWJ1dGUuCisgICAgLy8gRGVmYXVsdCB0eXBl
IG11c3QgYmUgQmluYXJ5VHlwZUJsb2IsIGJ1dCBjdXJyZW50bHkgaXMgQmluYXJ5VHlwZURhdGEK
KyAgICAvLyBmb3IgYSBzd2l0Y2hvdmVyIGZyb20gV2ViRGF0YSB0byBXZWJBcnJheUJ1ZmZlci4K
KyAgICAvLyBTZWUgYWxzbywgVGhlIFdlYlNvY2tldCBBUEkgLSBodHRwOi8vd3d3LnczLm9yZy9U
Ui93ZWJzb2NrZXRzLyAuCisgICAgdmlydHVhbCBCaW5hcnlUeXBlIGJpbmFyeVR5cGUoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBib29sIHNldEJpbmFyeVR5cGUoQmluYXJ5VHlwZSkgPSAwOwor
CiAgICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoY29uc3QgV2ViVVJMJiwgY29uc3QgV2ViU3RyaW5n
JiBwcm90b2NvbCkgPSAwOwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHN1YnByb3RvY29sKCkgPSAw
OwotICAgIHZpcnR1YWwgYm9vbCBzZW5kVGV4dChjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpID0g
MDsKLSAgICB2aXJ0dWFsIGJvb2wgc2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRh
KSA9IDA7CisgICAgdmlydHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYpID0gMDsK
KyAgICB2aXJ0dWFsIGJvb2wgc2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJikgPSAwOworICAgIHZp
cnR1YWwgYm9vbCBzZW5kQXJyYXlCdWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImKSA9IDA7CiAg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjbG9zZShpbnQgY29kZSwgY29uc3QgV2ViU3RyaW5nJiByZWFzb24pID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZmFpbChjb25zdCBXZWJTdHJpbmcmIHJlYXNvbikgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU29ja2V0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaAppbmRl
eCBiM2E4NTZiZDI4ODZiM2EyNzZlZWQwNmZmZjgxMjlmYTdjZDFmYTg3Li4yYzljMzkzMTIxOWJj
OTkwNWEzYmE2NjJhZDgwYWZiYjA2ZTFkMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaApAQCAtMzYsNiArMzYsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorY2xhc3MgV2ViQXJyYXlCdWZmZXI7CiBjbGFzcyBXZWJTdHJpbmc7CiAK
IGNsYXNzIFdlYlNvY2tldENsaWVudCB7CkBAIC00OSw2ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ29ubmVjdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlQmluYXJ5RGF0YShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJiBh
cnJheUJ1ZmZlcikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRXJyb3Io
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlQnVmZmVyZWRBbW91bnQodW5zaWduZWQg
bG9uZyBidWZmZXJlZEFtb3VudCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0Q2xvc2lu
Z0hhbmRzaGFrZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU29ja2V0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJ
bXBsLmNwcAppbmRleCA5YzRlODUzNGZmOTk4Yzg4NmU0Y2E3ZjUxM2FmYmNlOTZlYTc0MGU0Li5m
YzA1NWRmNTRjZTQ0OTlhYjNjMDU0MjljYWE0ZDVhNGM0MzEzYjZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlNvY2tldEltcGwuaCIKIAorI2luY2x1ZGUg
IkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJLVVJMLmgi
CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQpAQCAtNDMsOSArNDQsMTAgQEAgY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbCB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5kaWYKIAotI2luY2x1ZGUg
InBsYXRmb3JtL1dlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJBcnJheUJ1ZmZlci5oIgogI2luY2x1
ZGUgIldlYkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0Q2xpZW50LmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViRGF0YS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5oIgog
I2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogCkBAIC01Myw4ICs1NSwxMCBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKKy8vIEZJWE1FOiBEZWZh
dWx0IG1fYmluYXJ5VHlwZSBtdXN0IGJlIEJsb2IgYWZ0ZXIgc3VwcG9ydGluZyBXZWJCbG9iLgog
V2ViU29ja2V0SW1wbDo6V2ViU29ja2V0SW1wbChjb25zdCBXZWJEb2N1bWVudCYgZG9jdW1lbnQs
IFdlYlNvY2tldENsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwg
bV9iaW5hcnlUeXBlKEJpbmFyeVR5cGVEYXRhKQogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykK
ICAgICBtX3ByaXZhdGUgPSBXZWJTb2NrZXRDaGFubmVsOjpjcmVhdGUoUGFzc1JlZlB0cjxEb2N1
bWVudD4oZG9jdW1lbnQpLmdldCgpLCB0aGlzKTsKQEAgLTcyLDYgKzc2LDE5IEBAIFdlYlNvY2tl
dEltcGw6On5XZWJTb2NrZXRJbXBsKCkKICNlbmRpZgogfQogCitXZWJTb2NrZXQ6OkJpbmFyeVR5
cGUgV2ViU29ja2V0SW1wbDo6YmluYXJ5VHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYmlu
YXJ5VHlwZTsKK30KKworYm9vbCBXZWJTb2NrZXRJbXBsOjpzZXRCaW5hcnlUeXBlKEJpbmFyeVR5
cGUgYmluYXJ5VHlwZSkKK3sKKyAgICBpZiAoYmluYXJ5VHlwZSA+IEJpbmFyeVR5cGVBcnJheUJ1
ZmZlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fYmluYXJ5VHlwZSA9IGJpbmFyeVR5
cGU7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViU29ja2V0SW1wbDo6Y29ubmVjdChj
b25zdCBXZWJVUkwmIHVybCwgY29uc3QgV2ViU3RyaW5nJiBwcm90b2NvbCkKIHsKICNpZiBFTkFC
TEUoV0VCX1NPQ0tFVFMpCkBAIC0xMDgsNiArMTI1LDE1IEBAIGJvb2wgV2ViU29ja2V0SW1wbDo6
c2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKQogI2VuZGlmCiB9CiAKK2Jvb2wg
V2ViU29ja2V0SW1wbDo6c2VuZEFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJiB3ZWJB
cnJheUJ1ZmZlcikKK3sKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgcmV0dXJuIG1fcHJp
dmF0ZS0+c2VuZCgqc3RhdGljX2Nhc3Q8UGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gPih3ZWJBcnJh
eUJ1ZmZlcikpOworI2Vsc2UKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorfQor
CiB1bnNpZ25lZCBsb25nIFdlYlNvY2tldEltcGw6OmJ1ZmZlcmVkQW1vdW50KCkgY29uc3QKIHsK
ICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCkBAIC0xNjYsNyArMTkyLDE1IEBAIHZvaWQgV2ViU29j
a2V0SW1wbDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogdm9pZCBX
ZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5RGF0YShQYXNzT3duUHRyPFZlY3RvcjxjaGFy
PiA+IGJpbmFyeURhdGEpCiB7CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlQmluYXJ5RGF0YShXZWJEYXRhKGJpbmFyeURhdGEtPmRhdGEoKSwgYmluYXJ5
RGF0YS0+c2l6ZSgpKSk7CisgICAgc3dpdGNoIChtX2JpbmFyeVR5cGUpIHsKKyAgICBjYXNlIEJp
bmFyeVR5cGVEYXRhOgorICAgIGNhc2UgQmluYXJ5VHlwZUJsb2I6IC8vIEZJWE1FOiBIYW5kbGUg
QmxvYiBhZnRlciBzdXBwb3J0aW5nIFdlYkJsb2IuCisgICAgICAgIG1fY2xpZW50LT5kaWRSZWNl
aXZlQmluYXJ5RGF0YShXZWJEYXRhKGJpbmFyeURhdGEtPmRhdGEoKSwgYmluYXJ5RGF0YS0+c2l6
ZSgpKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQmluYXJ5VHlwZUFycmF5QnVmZmVyOgor
ICAgICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZUFycmF5QnVmZmVyKFdlYkFycmF5QnVmZmVyKEFy
cmF5QnVmZmVyOjpjcmVhdGUoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkp
KSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICNlbHNlCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNv
Y2tldEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuaApp
bmRleCAzZDM3MzU1ZDA0NmM0MWE3Y2UyYmIzNmFlZjQwMjBkOWEyYzg3ZWFmLi5kNTMwODExZjNm
YTc0ODZmMzIxYWRhYTk5ZGJjZjJjNGU4MDRkMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU29ja2V0SW1wbC5oCkBAIC01NCwxMCArNTQsMTQgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiAhbV9wcml2YXRlOyB9CiAKKyAgICBCaW5hcnlU
eXBlIGJpbmFyeVR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0QmluYXJ5VHlwZShC
aW5hcnlUeXBlKTsKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChjb25zdCBXZWJVUkwmLCBjb25z
dCBXZWJTdHJpbmcmIHByb3RvY29sKTsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBzdWJwcm90b2Nv
bCgpOwotICAgIHZpcnR1YWwgYm9vbCBzZW5kVGV4dChjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2Up
OwotICAgIHZpcnR1YWwgYm9vbCBzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEp
OworICAgIHZpcnR1YWwgYm9vbCBzZW5kVGV4dChjb25zdCBXZWJTdHJpbmcmKTsKKyAgICAvLyBG
SVhNRTogUmVtb3ZlIHNlbmRCaW5hcnkoKSBhZnRlciBhIHN3aXRjaG92ZXIgdG8gb3RoZXIgdHlw
ZXMuCisgICAgdmlydHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0YSYpOworICAgIHZp
cnR1YWwgYm9vbCBzZW5kQXJyYXlCdWZmZXIoY29uc3QgV2ViQXJyYXlCdWZmZXImKTsKICAgICB2
aXJ0dWFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQoKSBjb25zdDsKICAgICB2aXJ0dWFs
IHZvaWQgY2xvc2UoaW50IGNvZGUsIGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKTsKICAgICB2aXJ0
dWFsIHZvaWQgZmFpbChjb25zdCBXZWJTdHJpbmcmIHJlYXNvbik7CkBAIC03NSw2ICs3OSw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw+
IG1fcHJpdmF0ZTsKICAgICBXZWJTb2NrZXRDbGllbnQqIG1fY2xpZW50OworICAgIEJpbmFyeVR5
cGUgbV9iaW5hcnlUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121807</attachid>
            <date>2012-01-10 00:51:03 -0800</date>
            <delta_ts>2012-01-11 21:38:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20120110175102.patch</filename>
            <type>text/plain</type>
            <size>9285</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYwZTQyMDE1MTNhYjllNTVkMGU3NTJhZTA4MDg3ZTY1MDIyYmQyMGYuLjA4Yjg0YjNhMzg2YTNh
ZDk2ZDhjODUyMTAyMTA5MzE5MzU4OTI5YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDEtMTAgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogQWRkIGludGVyZmFjZSB0byBzZW5k
IFdlYkFycmF5QnVmZmVyLCBhbmQgc2V0IGFuZCBnZXQgcmVjZWl2aW5nIGJpbmFyeSBvYmplY3Qg
dHlwZS4KKyAgICAgICAgKiBwdWJsaWMvV2ViU29ja2V0Q2xpZW50Lmg6IEFkZCBpbnRlcmZhY2Ug
dG8gcmVjZWl2ZSBXZWJBcnJheUJ1ZmZlci4KKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0Q2xp
ZW50OjpkaWRSZWNlaXZlQXJyYXlCdWZmZXIpOgorICAgICAgICAqIHNyYy9XZWJTb2NrZXRJbXBs
LmNwcDogQWRkIHZhcmlvdXMgYmluYXJ5IHR5cGVzIGhhbmRsaW5nLgorICAgICAgICAoV2ViS2l0
OjpXZWJTb2NrZXRJbXBsOjpXZWJTb2NrZXRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29j
a2V0SW1wbDo6YmluYXJ5VHlwZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldEltcGw6OnNl
dEJpbmFyeVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpzZW5kQXJyYXlC
dWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5
RGF0YSk6CisgICAgICAgICogc3JjL1dlYlNvY2tldEltcGwuaDogQWRkIG1ldGhvZHMgdG8gaGFu
ZGxlIHZhcmlvdXMgYmluYXJ5IHR5cGVzLgorCiAyMDEyLTAxLTA5ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJvbGwgQ2hyb21pdW0gREVQUyBmcm9tIDExNjQ1
OSB0byAxMTY5NzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldC5oCmlu
ZGV4IGYwMGI3OTU3YWM4NzEzYzBmMTc2MjllYTk5MDRhZjgyNmJjZjZhZTIuLjZjNWZlOWU4OWQx
ZGU0Yzg4YzA0YWE1N2FiODI5N2JiMTU3NDYyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlNvY2tldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNvY2tldC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgeyBjbGFzcyBXZWJTb2NrZXRDaGFubmVsOyB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitj
bGFzcyBXZWJBcnJheUJ1ZmZlcjsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJEb2N1bWVudDsK
IGNsYXNzIFdlYlN0cmluZzsKQEAgLTYwLDEzICs2MSwzMSBAQCBwdWJsaWM6CiAgICAgICAgIENs
b3NlRXZlbnRDb2RlTWF4aW11bVVzZXJEZWZpbmVkID0gNDk5OQogICAgIH07CiAKKyAgICAvLyBG
SVhNRTogUmVtb3ZlIEJpbmFyeVR5cGVEYXRhIGFmdGVyIGEgc3dpdGNob3ZlciB0byBvdGhlciB0
eXBlcy4KKyAgICBlbnVtIEJpbmFyeVR5cGUgeworICAgICAgICBCaW5hcnlUeXBlQmxvYiA9IDAs
CisgICAgICAgIEJpbmFyeVR5cGVBcnJheUJ1ZmZlciA9IDEsCisgICAgICAgIEJpbmFyeVR5cGVE
YXRhID0gMiAvLyBEb24ndCB1c2UgaXQKKyAgICB9OworCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0
aWMgV2ViU29ja2V0KiBjcmVhdGUoY29uc3QgV2ViRG9jdW1lbnQmLCBXZWJTb2NrZXRDbGllbnQq
KTsKICAgICB2aXJ0dWFsIH5XZWJTb2NrZXQoKSB7IH0KIAorICAgIC8vIFRoZXNlIGZ1bmN0aW9u
cyBjb21lIGZyb20gYmluYXJ5VHlwZSBhdHRyaWJ1dGUgb2YgdGhlIFdlYlNvY2tldCBBUEkKKyAg
ICAvLyBzcGVjaWZpY2F0aW9uLiBJdCBzcGVjaWZpZXMgYmluYXJ5IG9iamVjdCB0eXBlIGZvciBy
ZWNlaXZpbmcgYmluYXJ5CisgICAgLy8gZnJhbWVzIHJlcHJlc2VudGF0aW9uLiBSZWNlaXZpbmcg
dGV4dCBmcmFtZXMgYXJlIGFsd2F5cyBtYXBwZWQgdG8KKyAgICAvLyBXZWJTdHJpbmcgdHlwZSBy
ZWdhcmRsZXNzIG9mIHRoaXMgYXR0cmlidXRlLgorICAgIC8vIERlZmF1bHQgdHlwZSBtdXN0IGJl
IEJpbmFyeVR5cGVCbG9iLCBidXQgY3VycmVudGx5IGlzIEJpbmFyeVR5cGVEYXRhCisgICAgLy8g
Zm9yIGEgc3dpdGNob3ZlciBmcm9tIFdlYkRhdGEgdG8gV2ViQXJyYXlCdWZmZXIuCisgICAgLy8g
U2VlIGFsc28sIFRoZSBXZWJTb2NrZXQgQVBJIC0gaHR0cDovL3d3dy53My5vcmcvVFIvd2Vic29j
a2V0cy8gLgorICAgIHZpcnR1YWwgQmluYXJ5VHlwZSBiaW5hcnlUeXBlKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBzZXRCaW5hcnlUeXBlKEJpbmFyeVR5cGUpID0gMDsKKwogICAgIHZp
cnR1YWwgdm9pZCBjb25uZWN0KGNvbnN0IFdlYlVSTCYsIGNvbnN0IFdlYlN0cmluZyYgcHJvdG9j
b2wpID0gMDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBzdWJwcm90b2NvbCgpID0gMDsKLSAgICB2
aXJ0dWFsIGJvb2wgc2VuZFRleHQoY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKSA9IDA7Ci0gICAg
dmlydHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0YSYgYmluYXJ5RGF0YSkgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBzZW5kVGV4dChjb25zdCBXZWJTdHJpbmcmKSA9IDA7CisgICAgdmly
dHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0YSYpID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgc2VuZEFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJikgPSAwOwogICAgIHZpcnR1
YWwgdW5zaWduZWQgbG9uZyBidWZmZXJlZEFtb3VudCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgY2xvc2UoaW50IGNvZGUsIGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGZhaWwoY29uc3QgV2ViU3RyaW5nJiByZWFzb24pID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVudC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU29ja2V0Q2xpZW50LmgKaW5kZXggYjNhODU2
YmQyODg2YjNhMjc2ZWVkMDZmZmY4MTI5ZmE3Y2QxZmE4Ny4uNTkzNWVmYmM2YjcyNzA4NGQ5M2Y2
ODUyZjE4YTk3NmEwODU0ZjkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViU29ja2V0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU29ja2V0Q2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzYsNiArMzYsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAorY2xhc3MgV2ViQXJyYXlCdWZmZXI7CiBjbGFzcyBXZWJTdHJpbmc7CiAKIGNs
YXNzIFdlYlNvY2tldENsaWVudCB7CkBAIC00OSw2ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ29ubmVjdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlQmluYXJ5RGF0YShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZUFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJiBhcnJh
eUJ1ZmZlcikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRXJyb3IoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlQnVmZmVyZWRBbW91bnQodW5zaWduZWQgbG9u
ZyBidWZmZXJlZEFtb3VudCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0Q2xvc2luZ0hh
bmRzaGFrZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U29ja2V0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBs
LmNwcAppbmRleCA5YzRlODUzNGZmOTk4Yzg4NmU0Y2E3ZjUxM2FmYmNlOTZlYTc0MGU0Li5mN2Y3
MTViNDcxNzFhZDkzZGU1ODE5OTlhZWJiZTZlOWQ2ZWE5ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlNvY2tldEltcGwuaCIKIAorI2luY2x1ZGUg
IkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJLVVJMLmgi
CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQpAQCAtNDMsOSArNDQsMTAgQEAgY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbCB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5kaWYKIAotI2luY2x1ZGUg
InBsYXRmb3JtL1dlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJBcnJheUJ1ZmZlci5oIgogI2luY2x1
ZGUgIldlYkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0Q2xpZW50LmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViRGF0YS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5oIgog
I2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogCkBAIC01Myw4ICs1NSwxMCBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKKy8vIEZJWE1FOiBEZWZh
dWx0IG1fYmluYXJ5VHlwZSBtdXN0IGJlIEJsb2IgYWZ0ZXIgc3VwcG9ydGluZyBXZWJCbG9iLgog
V2ViU29ja2V0SW1wbDo6V2ViU29ja2V0SW1wbChjb25zdCBXZWJEb2N1bWVudCYgZG9jdW1lbnQs
IFdlYlNvY2tldENsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwg
bV9iaW5hcnlUeXBlKEJpbmFyeVR5cGVEYXRhKQogewogI2lmIEVOQUJMRShXRUJfU09DS0VUUykK
ICAgICBtX3ByaXZhdGUgPSBXZWJTb2NrZXRDaGFubmVsOjpjcmVhdGUoUGFzc1JlZlB0cjxEb2N1
bWVudD4oZG9jdW1lbnQpLmdldCgpLCB0aGlzKTsKQEAgLTcyLDYgKzc2LDE5IEBAIFdlYlNvY2tl
dEltcGw6On5XZWJTb2NrZXRJbXBsKCkKICNlbmRpZgogfQogCitXZWJTb2NrZXQ6OkJpbmFyeVR5
cGUgV2ViU29ja2V0SW1wbDo6YmluYXJ5VHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYmlu
YXJ5VHlwZTsKK30KKworYm9vbCBXZWJTb2NrZXRJbXBsOjpzZXRCaW5hcnlUeXBlKEJpbmFyeVR5
cGUgYmluYXJ5VHlwZSkKK3sKKyAgICBpZiAoYmluYXJ5VHlwZSA+IEJpbmFyeVR5cGVBcnJheUJ1
ZmZlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fYmluYXJ5VHlwZSA9IGJpbmFyeVR5
cGU7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViU29ja2V0SW1wbDo6Y29ubmVjdChj
b25zdCBXZWJVUkwmIHVybCwgY29uc3QgV2ViU3RyaW5nJiBwcm90b2NvbCkKIHsKICNpZiBFTkFC
TEUoV0VCX1NPQ0tFVFMpCkBAIC0xMDgsNiArMTI1LDE1IEBAIGJvb2wgV2ViU29ja2V0SW1wbDo6
c2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKQogI2VuZGlmCiB9CiAKK2Jvb2wg
V2ViU29ja2V0SW1wbDo6c2VuZEFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJiB3ZWJB
cnJheUJ1ZmZlcikKK3sKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCisgICAgcmV0dXJuIG1fcHJp
dmF0ZS0+c2VuZCgqc3RhdGljX2Nhc3Q8UGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gPih3ZWJBcnJh
eUJ1ZmZlcikpOworI2Vsc2UKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorfQor
CiB1bnNpZ25lZCBsb25nIFdlYlNvY2tldEltcGw6OmJ1ZmZlcmVkQW1vdW50KCkgY29uc3QKIHsK
ICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCkBAIC0xNjYsNyArMTkyLDE1IEBAIHZvaWQgV2ViU29j
a2V0SW1wbDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogdm9pZCBX
ZWJTb2NrZXRJbXBsOjpkaWRSZWNlaXZlQmluYXJ5RGF0YShQYXNzT3duUHRyPFZlY3RvcjxjaGFy
PiA+IGJpbmFyeURhdGEpCiB7CiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlQmluYXJ5RGF0YShXZWJEYXRhKGJpbmFyeURhdGEtPmRhdGEoKSwgYmluYXJ5
RGF0YS0+c2l6ZSgpKSk7CisgICAgc3dpdGNoIChtX2JpbmFyeVR5cGUpIHsKKyAgICBjYXNlIEJp
bmFyeVR5cGVEYXRhOgorICAgIGNhc2UgQmluYXJ5VHlwZUJsb2I6IC8vIEZJWE1FOiBIYW5kbGUg
QmxvYiBhZnRlciBzdXBwb3J0aW5nIFdlYkJsb2IuCisgICAgICAgIG1fY2xpZW50LT5kaWRSZWNl
aXZlQmluYXJ5RGF0YShXZWJEYXRhKGJpbmFyeURhdGEtPmRhdGEoKSwgYmluYXJ5RGF0YS0+c2l6
ZSgpKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQmluYXJ5VHlwZUFycmF5QnVmZmVyOgor
ICAgICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZUFycmF5QnVmZmVyKFdlYkFycmF5QnVmZmVyKEFy
cmF5QnVmZmVyOjpjcmVhdGUoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkp
KSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICNlbHNlCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNv
Y2tldEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNvY2tldEltcGwuaApp
bmRleCAzZDM3MzU1ZDA0NmM0MWE3Y2UyYmIzNmFlZjQwMjBkOWEyYzg3ZWFmLi4wNjdmYThiYjk0
MjhlZGJjMmVjZjA4YzZhMDViYjY1NDRjOWE2MmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU29ja2V0SW1wbC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU0LDEwICs1NCwxNCBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX3ByaXZhdGU7IH0KIAorICAgIEJp
bmFyeVR5cGUgYmluYXJ5VHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzZXRCaW5hcnlU
eXBlKEJpbmFyeVR5cGUpOwogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KGNvbnN0IFdlYlVSTCYs
IGNvbnN0IFdlYlN0cmluZyYgcHJvdG9jb2wpOwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHN1YnBy
b3RvY29sKCk7Ci0gICAgdmlydHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYgbWVz
c2FnZSk7Ci0gICAgdmlydHVhbCBib29sIHNlbmRCaW5hcnkoY29uc3QgV2ViRGF0YSYgYmluYXJ5
RGF0YSk7CisgICAgdmlydHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYpOworICAg
IC8vIEZJWE1FOiBSZW1vdmUgc2VuZEJpbmFyeSgpIGFmdGVyIGEgc3dpdGNob3ZlciB0byBvdGhl
ciB0eXBlcy4KKyAgICB2aXJ0dWFsIGJvb2wgc2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJik7Cisg
ICAgdmlydHVhbCBib29sIHNlbmRBcnJheUJ1ZmZlcihjb25zdCBXZWJBcnJheUJ1ZmZlciYpOwog
ICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBidWZmZXJlZEFtb3VudCgpIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCBjbG9zZShpbnQgY29kZSwgY29uc3QgV2ViU3RyaW5nJiByZWFzb24pOwogICAg
IHZpcnR1YWwgdm9pZCBmYWlsKGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKTsKQEAgLTc1LDYgKzc5
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViQ29yZTo6V2ViU29ja2V0Q2hh
bm5lbD4gbV9wcml2YXRlOwogICAgIFdlYlNvY2tldENsaWVudCogbV9jbGllbnQ7CisgICAgQmlu
YXJ5VHlwZSBtX2JpbmFyeVR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122166</attachid>
            <date>2012-01-11 21:38:42 -0800</date>
            <delta_ts>2012-01-11 22:48:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75080-20120112143841.patch</filename>
            <type>text/plain</type>
            <size>9269</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYwZTQyMDE1MTNhYjllNTVkMGU3NTJhZTA4MDg3ZTY1MDIyYmQyMGYuLmJmOTE2MDViZmFlZjJi
MjA0YzBhOTZkZjZmYTJiM2Y4N2UyN2NjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDEtMTAgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBXZWJBcnJheUJ1ZmZlciBzdXBwb3J0IGluIFdl
YlNvY2tldCB0byBXZWJLaXQgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzUwODAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIu
CisKKyAgICAgICAgKiBwdWJsaWMvV2ViU29ja2V0Lmg6IEFkZCBpbnRlcmZhY2UgdG8gc2VuZCBX
ZWJBcnJheUJ1ZmZlciwgYW5kIHNldCBhbmQgZ2V0IHJlY2VpdmluZyBiaW5hcnkgb2JqZWN0IHR5
cGUuCisgICAgICAgICogcHVibGljL1dlYlNvY2tldENsaWVudC5oOiBBZGQgaW50ZXJmYWNlIHRv
IHJlY2VpdmUgV2ViQXJyYXlCdWZmZXIuCisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldENsaWVu
dDo6ZGlkUmVjZWl2ZUFycmF5QnVmZmVyKToKKyAgICAgICAgKiBzcmMvV2ViU29ja2V0SW1wbC5j
cHA6IEFkZCB2YXJpb3VzIGJpbmFyeSB0eXBlcyBoYW5kbGluZy4KKyAgICAgICAgKFdlYktpdDo6
V2ViU29ja2V0SW1wbDo6V2ViU29ja2V0SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tl
dEltcGw6OmJpbmFyeVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRJbXBsOjpzZXRC
aW5hcnlUeXBlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0SW1wbDo6c2VuZEFycmF5QnVm
ZmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0SW1wbDo6ZGlkUmVjZWl2ZUJpbmFyeURh
dGEpOgorICAgICAgICAqIHNyYy9XZWJTb2NrZXRJbXBsLmg6IEFkZCBtZXRob2RzIHRvIGhhbmRs
ZSB2YXJpb3VzIGJpbmFyeSB0eXBlcy4KKwogMjAxMi0wMS0wOSAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSb2xsIENocm9taXVtIERFUFMgZnJvbSAxMTY0NTkg
dG8gMTE2OTc5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAppbmRl
eCBmMDBiNzk1N2FjODcxM2MwZjE3NjI5ZWE5OTA0YWY4MjZiY2Y2YWUyLi42YzVmZTllODlkMWRl
NGM4OGMwNGFhNTdhYjgyOTdiYjE1NzQ2MmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTb2NrZXQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbDsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xh
c3MgV2ViQXJyYXlCdWZmZXI7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRG9jdW1lbnQ7CiBj
bGFzcyBXZWJTdHJpbmc7CkBAIC02MCwxMyArNjEsMzEgQEAgcHVibGljOgogICAgICAgICBDbG9z
ZUV2ZW50Q29kZU1heGltdW1Vc2VyRGVmaW5lZCA9IDQ5OTkKICAgICB9OwogCisgICAgLy8gRklY
TUU6IFJlbW92ZSBCaW5hcnlUeXBlRGF0YSBhZnRlciBhIHN3aXRjaG92ZXIgdG8gb3RoZXIgdHlw
ZXMuCisgICAgZW51bSBCaW5hcnlUeXBlIHsKKyAgICAgICAgQmluYXJ5VHlwZUJsb2IgPSAwLAor
ICAgICAgICBCaW5hcnlUeXBlQXJyYXlCdWZmZXIgPSAxLAorICAgICAgICBCaW5hcnlUeXBlRGF0
YSA9IDIgLy8gRG9uJ3QgdXNlIGl0CisgICAgfTsKKwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IFdlYlNvY2tldCogY3JlYXRlKGNvbnN0IFdlYkRvY3VtZW50JiwgV2ViU29ja2V0Q2xpZW50Kik7
CiAgICAgdmlydHVhbCB+V2ViU29ja2V0KCkgeyB9CiAKKyAgICAvLyBUaGVzZSBmdW5jdGlvbnMg
Y29tZSBmcm9tIGJpbmFyeVR5cGUgYXR0cmlidXRlIG9mIHRoZSBXZWJTb2NrZXQgQVBJCisgICAg
Ly8gc3BlY2lmaWNhdGlvbi4gSXQgc3BlY2lmaWVzIGJpbmFyeSBvYmplY3QgdHlwZSBmb3IgcmVj
ZWl2aW5nIGJpbmFyeQorICAgIC8vIGZyYW1lcyByZXByZXNlbnRhdGlvbi4gUmVjZWl2aW5nIHRl
eHQgZnJhbWVzIGFyZSBhbHdheXMgbWFwcGVkIHRvCisgICAgLy8gV2ViU3RyaW5nIHR5cGUgcmVn
YXJkbGVzcyBvZiB0aGlzIGF0dHJpYnV0ZS4KKyAgICAvLyBEZWZhdWx0IHR5cGUgbXVzdCBiZSBC
aW5hcnlUeXBlQmxvYiwgYnV0IGN1cnJlbnRseSBpcyBCaW5hcnlUeXBlRGF0YQorICAgIC8vIGZv
ciBhIHN3aXRjaG92ZXIgZnJvbSBXZWJEYXRhIHRvIFdlYkFycmF5QnVmZmVyLgorICAgIC8vIFNl
ZSBhbHNvLCBUaGUgV2ViU29ja2V0IEFQSSAtIGh0dHA6Ly93d3cudzMub3JnL1RSL3dlYnNvY2tl
dHMvIC4KKyAgICB2aXJ0dWFsIEJpbmFyeVR5cGUgYmluYXJ5VHlwZSgpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIGJvb2wgc2V0QmluYXJ5VHlwZShCaW5hcnlUeXBlKSA9IDA7CisKICAgICB2aXJ0
dWFsIHZvaWQgY29ubmVjdChjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJTdHJpbmcmIHByb3RvY29s
KSA9IDA7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKSA9IDA7Ci0gICAgdmly
dHVhbCBib29sIHNlbmRUZXh0KGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkgPSAwOwotICAgIHZp
cnR1YWwgYm9vbCBzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmIGJpbmFyeURhdGEpID0gMDsKKyAg
ICB2aXJ0dWFsIGJvb2wgc2VuZFRleHQoY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1
YWwgYm9vbCBzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCBib29s
IHNlbmRBcnJheUJ1ZmZlcihjb25zdCBXZWJBcnJheUJ1ZmZlciYpID0gMDsKICAgICB2aXJ0dWFs
IHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNsb3NlKGludCBjb2RlLCBjb25zdCBXZWJTdHJpbmcmIHJlYXNvbikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBmYWlsKGNvbnN0IFdlYlN0cmluZyYgcmVhc29uKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXRDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldENsaWVudC5oCmluZGV4IGIzYTg1NmJk
Mjg4NmIzYTI3NmVlZDA2ZmZmODEyOWZhN2NkMWZhODcuLjU5MzVlZmJjNmI3MjcwODRkOTNmNjg1
MmYxOGE5NzZhMDg1NGY5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNvY2tldENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlNvY2tldENsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKK2NsYXNzIFdlYkFycmF5QnVmZmVyOwogY2xhc3MgV2ViU3RyaW5nOwogCiBjbGFz
cyBXZWJTb2NrZXRDbGllbnQgewpAQCAtNDksNiArNTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZENvbm5lY3QoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUJpbmFyeURhdGEoY29uc3QgV2ViRGF0YSYgYmluYXJ5RGF0YSkgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVBcnJheUJ1ZmZlcihjb25zdCBXZWJBcnJheUJ1ZmZlciYgYXJyYXlC
dWZmZXIpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUVycm9yKCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZUJ1ZmZlcmVkQW1vdW50KHVuc2lnbmVkIGxvbmcg
YnVmZmVyZWRBbW91bnQpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydENsb3NpbmdIYW5k
c2hha2UoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNv
Y2tldEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5j
cHAKaW5kZXggOWM0ZTg1MzRmZjk5OGM4ODZlNGNhN2Y1MTNhZmJjZTk2ZWE3NDBlNC4uMTNjMzIw
MDg2MjhkZWIzZjJlNjJmZGJiMjg1ZjdiMWU4YjEyMjY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRJbXBsLmgiCiAKKyNpbmNsdWRlICJB
cnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgog
I2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTQzLDkgKzQ0LDEwIEBAIGNsYXNzIFdlYlNvY2tl
dENoYW5uZWwgewogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlmCiAKLSNpbmNsdWRlICJw
bGF0Zm9ybS9XZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRl
ICJXZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYlNvY2tldENsaWVudC5oIgorI2luY2x1ZGUg
InBsYXRmb3JtL1dlYkRhdGEuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKICNp
bmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKIApAQCAtNTMsOCArNTUsMTAgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCisvLyBGSVhNRTogRGVmYXVs
dCBtX2JpbmFyeVR5cGUgbXVzdCBiZSBCbG9iIGFmdGVyIHN1cHBvcnRpbmcgV2ViQmxvYi4KIFdl
YlNvY2tldEltcGw6OldlYlNvY2tldEltcGwoY29uc3QgV2ViRG9jdW1lbnQmIGRvY3VtZW50LCBX
ZWJTb2NrZXRDbGllbnQqIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1f
YmluYXJ5VHlwZShCaW5hcnlUeXBlRGF0YSkKIHsKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAg
ICAgbV9wcml2YXRlID0gV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKFBhc3NSZWZQdHI8RG9jdW1l
bnQ+KGRvY3VtZW50KS5nZXQoKSwgdGhpcyk7CkBAIC03Miw2ICs3NiwxOSBAQCBXZWJTb2NrZXRJ
bXBsOjp+V2ViU29ja2V0SW1wbCgpCiAjZW5kaWYKIH0KIAorV2ViU29ja2V0OjpCaW5hcnlUeXBl
IFdlYlNvY2tldEltcGw6OmJpbmFyeVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2JpbmFy
eVR5cGU7Cit9CisKK2Jvb2wgV2ViU29ja2V0SW1wbDo6c2V0QmluYXJ5VHlwZShCaW5hcnlUeXBl
IGJpbmFyeVR5cGUpCit7CisgICAgaWYgKGJpbmFyeVR5cGUgPiBCaW5hcnlUeXBlQXJyYXlCdWZm
ZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBtX2JpbmFyeVR5cGUgPSBiaW5hcnlUeXBl
OworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIFdlYlNvY2tldEltcGw6OmNvbm5lY3QoY29u
c3QgV2ViVVJMJiB1cmwsIGNvbnN0IFdlYlN0cmluZyYgcHJvdG9jb2wpCiB7CiAjaWYgRU5BQkxF
KFdFQl9TT0NLRVRTKQpAQCAtMTA4LDYgKzEyNSwxNSBAQCBib29sIFdlYlNvY2tldEltcGw6OnNl
bmRCaW5hcnkoY29uc3QgV2ViRGF0YSYgYmluYXJ5RGF0YSkKICNlbmRpZgogfQogCitib29sIFdl
YlNvY2tldEltcGw6OnNlbmRBcnJheUJ1ZmZlcihjb25zdCBXZWJBcnJheUJ1ZmZlciYgd2ViQXJy
YXlCdWZmZXIpCit7CisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQorICAgIHJldHVybiBtX3ByaXZh
dGUtPnNlbmQoKlBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KHdlYkFycmF5QnVmZmVyKSk7CisjZWxz
ZQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisKIHVuc2lnbmVkIGxvbmcg
V2ViU29ja2V0SW1wbDo6YnVmZmVyZWRBbW91bnQoKSBjb25zdAogewogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKQEAgLTE2Niw3ICsxOTIsMTUgQEAgdm9pZCBXZWJTb2NrZXRJbXBsOjpkaWRSZWNl
aXZlTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB2b2lkIFdlYlNvY2tldEltcGw6OmRp
ZFJlY2VpdmVCaW5hcnlEYXRhKFBhc3NPd25QdHI8VmVjdG9yPGNoYXI+ID4gYmluYXJ5RGF0YSkK
IHsKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5h
cnlEYXRhKFdlYkRhdGEoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsK
KyAgICBzd2l0Y2ggKG1fYmluYXJ5VHlwZSkgeworICAgIGNhc2UgQmluYXJ5VHlwZURhdGE6Cisg
ICAgY2FzZSBCaW5hcnlUeXBlQmxvYjogLy8gRklYTUU6IEhhbmRsZSBCbG9iIGFmdGVyIHN1cHBv
cnRpbmcgV2ViQmxvYi4KKyAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVCaW5hcnlEYXRhKFdl
YkRhdGEoYmluYXJ5RGF0YS0+ZGF0YSgpLCBiaW5hcnlEYXRhLT5zaXplKCkpKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI6CisgICAgICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlQXJyYXlCdWZmZXIoV2ViQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXI6OmNyZWF0
ZShiaW5hcnlEYXRhLT5kYXRhKCksIGJpbmFyeURhdGEtPnNpemUoKSkpKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQogI2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU29ja2V0SW1wbC5oCmluZGV4IDNkMzczNTVkMDQ2
YzQxYTdjZTJiYjM2YWVmNDAyMGQ5YTJjODdlYWYuLjA2N2ZhOGJiOTQyOGVkYmMyZWNmMDhjNmEw
NWJiNjU0NGM5YTYyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNvY2tldEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTb2NrZXRJ
bXBsLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNTQsMTAgKzU0LDE0IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxs
KCkgY29uc3QgeyByZXR1cm4gIW1fcHJpdmF0ZTsgfQogCisgICAgQmluYXJ5VHlwZSBiaW5hcnlU
eXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHNldEJpbmFyeVR5cGUoQmluYXJ5VHlwZSk7
CiAgICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoY29uc3QgV2ViVVJMJiwgY29uc3QgV2ViU3RyaW5n
JiBwcm90b2NvbCk7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgc3VicHJvdG9jb2woKTsKLSAgICB2
aXJ0dWFsIGJvb2wgc2VuZFRleHQoY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKTsKLSAgICB2aXJ0
dWFsIGJvb2wgc2VuZEJpbmFyeShjb25zdCBXZWJEYXRhJiBiaW5hcnlEYXRhKTsKKyAgICB2aXJ0
dWFsIGJvb2wgc2VuZFRleHQoY29uc3QgV2ViU3RyaW5nJik7CisgICAgLy8gRklYTUU6IFJlbW92
ZSBzZW5kQmluYXJ5KCkgYWZ0ZXIgYSBzd2l0Y2hvdmVyIHRvIG90aGVyIHR5cGVzLgorICAgIHZp
cnR1YWwgYm9vbCBzZW5kQmluYXJ5KGNvbnN0IFdlYkRhdGEmKTsKKyAgICB2aXJ0dWFsIGJvb2wg
c2VuZEFycmF5QnVmZmVyKGNvbnN0IFdlYkFycmF5QnVmZmVyJik7CiAgICAgdmlydHVhbCB1bnNp
Z25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGNsb3Nl
KGludCBjb2RlLCBjb25zdCBXZWJTdHJpbmcmIHJlYXNvbik7CiAgICAgdmlydHVhbCB2b2lkIGZh
aWwoY29uc3QgV2ViU3RyaW5nJiByZWFzb24pOwpAQCAtNzUsNiArNzksNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFJlZlB0cjxXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsPiBtX3ByaXZhdGU7
CiAgICAgV2ViU29ja2V0Q2xpZW50KiBtX2NsaWVudDsKKyAgICBCaW5hcnlUeXBlIG1fYmluYXJ5
VHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>