<?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>140479</bug_id>
          
          <creation_ts>2015-01-14 16:28:07 -0800</creation_ts>
          <short_desc>WeakPtr functions crash when created with default constructor</short_desc>
          <delta_ts>2016-03-12 13:01:33 -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>New Bugs</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>kling</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061396</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-14 16:28:07 -0800</bug_when>
    <thetext>WeakPtr functions crash when created with default constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061408</commentid>
    <comment_count>1</comment_count>
      <attachid>244662</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-14 16:46:25 -0800</bug_when>
    <thetext>Created attachment 244662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061409</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-14 16:48:24 -0800</bug_when>
    <thetext>Attachment 244662 did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:92:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:101:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061446</commentid>
    <comment_count>3</comment_count>
      <attachid>244672</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-14 18:19:26 -0800</bug_when>
    <thetext>Created attachment 244672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061447</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-14 18:21:22 -0800</bug_when>
    <thetext>Attachment 244672 did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:92:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:101:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061471</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-14 20:59:33 -0800</bug_when>
    <thetext>EFL is a false negative - it looks like the compiler was killed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061544</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-15 07:28:17 -0800</bug_when>
    <thetext>Style is also a false negative - the style checker doesn&apos;t understand single line functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061594</commentid>
    <comment_count>7</comment_count>
      <attachid>244672</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-01-15 11:22:22 -0800</bug_when>
    <thetext>Comment on attachment 244672
Patch

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

&gt; Source/WTF/wtf/WeakPtr.h:101
&gt; +    WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt; ref) : m_ref(ref) { }

Shouldn&apos;t this be:
WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt;&amp;&amp; ref) : m_ref(WTF::move(ref)) { }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061670</commentid>
    <comment_count>8</comment_count>
      <attachid>244672</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-15 15:48:06 -0800</bug_when>
    <thetext>Comment on attachment 244672
Patch

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

&gt;&gt; Source/WTF/wtf/WeakPtr.h:101
&gt;&gt; +    WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt; ref) : m_ref(ref) { }
&gt; 
&gt; Shouldn&apos;t this be:
&gt; WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt;&amp;&amp; ref) : m_ref(WTF::move(ref)) { }

I don&apos;t think so. I&apos;m trying to copy the Ref that the caller uses when calling this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061675</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-15 15:54:23 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 244672 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244672&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WTF/wtf/WeakPtr.h:101
&gt; &gt;&gt; +    WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt; ref) : m_ref(ref) { }
&gt; &gt; 
&gt; &gt; Shouldn&apos;t this be:
&gt; &gt; WeakPtr(Ref&lt;WeakReference&lt;T&gt;&gt;&amp;&amp; ref) : m_ref(WTF::move(ref)) { }
&gt; 
&gt; I don&apos;t think so. I&apos;m trying to copy the Ref that the caller uses when
&gt; calling this function.

Then you should use copyRef() at the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061827</commentid>
    <comment_count>10</comment_count>
      <attachid>244768</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-16 09:49:04 -0800</bug_when>
    <thetext>Created attachment 244768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061830</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 09:50:53 -0800</bug_when>
    <thetext>Attachment 244768 did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:92:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:93:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:102:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061863</commentid>
    <comment_count>12</comment_count>
      <attachid>244779</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-16 11:29:35 -0800</bug_when>
    <thetext>Created attachment 244779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061865</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 11:33:26 -0800</bug_when>
    <thetext>Attachment 244779 did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:92:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:93:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:106:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061896</commentid>
    <comment_count>14</comment_count>
      <attachid>244786</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-01-16 12:19:01 -0800</bug_when>
    <thetext>Created attachment 244786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061898</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 12:21:46 -0800</bug_when>
    <thetext>Attachment 244786 did not pass style-queue:


ERROR: Source/WTF/wtf/WeakPtr.h:92:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:93:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/WeakPtr.h:106:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061995</commentid>
    <comment_count>16</comment_count>
      <attachid>244786</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-01-16 15:31:21 -0800</bug_when>
    <thetext>Comment on attachment 244786
Patch

r=me

We really should make more use of this class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062035</commentid>
    <comment_count>17</comment_count>
      <attachid>244786</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 16:39:56 -0800</bug_when>
    <thetext>Comment on attachment 244786
Patch

Clearing flags on attachment: 244786

Committed r178615: &lt;http://trac.webkit.org/changeset/178615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062036</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 16:40:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174067</commentid>
    <comment_count>19</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-03-12 13:01:33 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Comment on attachment 244786 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 244786
&gt; 
&gt; Committed r178615: &lt;http://trac.webkit.org/changeset/178615&gt;

Build fix for GTK once patch in Bug 155394 lands (since WeakPtr.cpp was not added to Tools/TestWebKitAPI/CMakeLists.txt when this patch originally landed):

Committed r198067.  &lt;http://trac.webkit.org/changeset/198067&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244662</attachid>
            <date>2015-01-14 16:46:25 -0800</date>
            <delta_ts>2015-01-14 18:19:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140479-20150114164630.patch</filename>
            <type>text/plain</type>
            <size>6897</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDczNTA5N2M2MmU1ZDJhNTBiZTVlOTlj
NDg1YTA4ZjdmMDNkN2I0ODIuLjg3MTkwMjVlZDUxZWFkZjAwZmY0ODNmMzgzYTA1MDMwOGI1NTZh
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTUtMDEtMTQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3
aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlYXJyYW5nZXMgaG93IFdl
YWtQdHIgd29ya3MsIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBpZGVhcyBiZWhpbmQgaXQ6CisKKyAg
ICAgICAgMS4gV2Vha1B0ciBzaG91bGQgdXNlIFJlZiBpbnRlcm5hbGx5LiBUaGlzIHNvbHZlcyB0
aGUgY3Jhc2ggYnkgYWx3YXlzIGhhdmluZyBhCisgICAgICAgIHZhbGlkIFdlYWtSZWZlcmVuY2Uu
CisgICAgICAgIDIuIENsaWVudHMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBXZWFr
UmVmZXJlbmNlcyBkaXJlY3RseS4gSW5zdGVhZCwKKyAgICAgICAgb25seSBXZWFrUHRyRmFjdG9y
eSAoYW5kIFdlYWtQdHIncyBkZWZhdWx0IGNvbnN0cnVjdG9yKSBzaG91bGQgYmUgYWJsZSB0bwor
ICAgICAgICBjb25zdHJ1Y3QgdGhlbS4gVGhleSBhcmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRh
dGlvbiBkZXRhaWwgb2YgV2Vha1B0ci4KKyAgICAgICAgMy4gRXhjZXB0IGZvciB0aGUgZGVmYXVs
dCBjb25zdHJ1Y3RvciwgY2xpZW50cyBzaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0Cisg
ICAgICAgIFdlYWtQdHJzIGRpcmVjdGx5LiBJbnN0ZWFkLCB0aGUgV2Vha1B0ckZhY3RvcnkgbXVz
dCBjb25zdHJ1Y3QgdGhlbS4gVGhpcworICAgICAgICBndWFyYW50ZWVzIHRoYXQgdGhlIFdlYWtQ
dHJzIGFsbCByZWZlcmVuY2UgdGhlIHNhbWUgV2Vha1JlZmVyZW5jZS4KKyAgICAgICAgNC4gQ2xp
ZW50cyBjYW4gY29uc3RydWN0IGEgV2Vha1B0ciB1c2luZyBpdHMgZGVmYXVsdCBjb25zdHJ1Y3Rv
ciwgYW5kIHRoZW4KKyAgICAgICAgdXNlIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIG1ha2Ug
aXQgbm9uLW51bGwuIChPciB0aGV5IGNvdWxkIHVzZQorICAgICAgICBXZWFrUHRyRmFjdG9yeSB0
byBtYWtlIGl0IG5vbi1udWxsIGF0IGNyZWF0aW9uLXRpbWUuKQorICAgICAgICA1LiBObyBvbmUg
d2FzIHVzaW5nIFdlYWtSZWZlcmVuY2U6OmJpbmRUbygpLCBhbmQgaXQgZG9lc24ndCBzZWVtIHVz
ZWZ1bCwgc28gSQorICAgICAgICByZW1vdmVkIGl0LgorCisgICAgICAgICogd3RmL1JlZi5oOgor
ICAgICAgICAoV1RGOjpSZWY6OlJlZik6IEFkZGVkIGNvcHkgY29uc3RydWN0b3JzIGFuZCBleHRy
YSBBU1NFUlQoKXMKKyAgICAgICAgKFdURjo6UmVmOjpvcGVyYXRvcj0pOiBBZGRlZCBjb3B5IGFz
c2lnbm1lbnQgb3BlcmF0b3JzIGFuZCBleHRyYSBBU1NFUlQoKXMuCisgICAgICAgICogd3RmL1dl
YWtQdHIuaDoKKyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6Y2xlYXIpOiBVc2VkIG51bGxw
dHIuCisgICAgICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmNyZWF0ZSk6IE1vdmVkIHRvIHByaXZh
dGU6CisgICAgICAgIChXVEY6OldlYWtQdHI6OldlYWtQdHIpOiBGb3IgdGhlIGRlZmF1bHQgY29u
c3RydWN0b3IsIGluaXRpYWxpemVkIHRoZSBSZWYgd2l0aAorICAgICAgICBhIG5ldyBXZWFrUmVm
ZXJlbmNlLiBGb3IgdGhlIG90aGVyIGNvbnN0cnVjdG9yLCBtb3ZlZCBpdCB0byBwcml2YXRlOi4K
KyAgICAgICAgKFdURjo6V2Vha1B0cjo6b3BlcmF0b3IgYm9vbCk6IE1hZGUgbm9uLWV4cGxpY2l0
LgorICAgICAgICAoV1RGOjpXZWFrUmVmZXJlbmNlOjpjcmVhdGVVbmJvdW5kKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6YmluZFRvKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6V2Vha1JlZmVyZW5jZTo6V2Vha1JlZmVyZW5jZSk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OldlYWtQdHJGYWN0b3J5OjpXZWFrUHRyRmFjdG9yeSk6IERlbGV0ZWQuCisKIDIwMTUtMDEt
MTQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkIGZpeCBhZnRlciByMTYzMzMwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVm
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAppbmRleCA3OWY2OTYwM2I1MDUwMzNhZTFmMzBkNjJi
ODdiNjgzNmZhYjdmYjllLi5jOTVhM2E1MDIyYjlhMDAyNGYzNjE2NWIxZGZjMzU4ODZkODQxMTc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaApAQCAtNTIsMTUgKzUyLDMwIEBAIHB1YmxpYzoKICAgICAgICAgbV9wdHItPnJlZigpOwog
ICAgIH0KIAorICAgIFJlZihjb25zdCBSZWYmIG90aGVyKQorICAgICAgICA6IFJlZihjb25zdF9j
YXN0PFQmPihvdGhlci5nZXQoKSkpCisgICAgeworICAgICAgICBBU1NFUlQobV9wdHIpOworICAg
IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgUmVmKGNvbnN0IFJlZjxVPiYgb3Ro
ZXIpCisgICAgICAgIDogUmVmKGNvbnN0X2Nhc3Q8VSY+KG90aGVyLmdldCgpKSkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChtX3B0cik7CisgICAgfQorCiAgICAgUmVmKFJlZiYmIG90aGVyKQogICAg
ICAgICA6IG1fcHRyKCZvdGhlci5sZWFrUmVmKCkpCiAgICAgeworICAgICAgICBBU1NFUlQobV9w
dHIpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CiAgICAgUmVmKFJlZjxVPiYm
IG90aGVyKQogICAgICAgICA6IG1fcHRyKCZvdGhlci5sZWFrUmVmKCkpCiAgICAgeworICAgICAg
ICBBU1NFUlQobV9wdHIpOwogICAgIH0KIAogICAgIFJlZiYgb3BlcmF0b3I9KFQmIG9iamVjdCkK
QEAgLTY5LDYgKzg0LDE3IEBAIHB1YmxpYzoKICAgICAgICAgb2JqZWN0LnJlZigpOwogICAgICAg
ICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAgbV9wdHIgPSAmb2JqZWN0OworICAgICAgICBBU1NF
UlQobV9wdHIpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgUmVmJiBvcGVy
YXRvcj0oY29uc3QgUmVmJiByZWZlcmVuY2UpCisgICAgeworICAgICAgICBBU1NFUlQobV9wdHIp
OworICAgICAgICBtX3B0ci0+ZGVyZWYoKTsKKyAgICAgICAgbV9wdHIgPSBjb25zdF9jYXN0PFQq
PihyZWZlcmVuY2UucHRyKCkpOworICAgICAgICBtX3B0ci0+cmVmKCk7CisgICAgICAgIEFTU0VS
VChtX3B0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTc3LDYgKzEwMywx
NyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChtX3B0cik7CiAgICAgICAgIG1fcHRyLT5kZXJl
ZigpOwogICAgICAgICBtX3B0ciA9ICZyZWZlcmVuY2UubGVha1JlZigpOworICAgICAgICBBU1NF
UlQobV9wdHIpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVT4gUmVmJiBvcGVyYXRvcj0oY29uc3QgUmVmPFU+JiByZWZlcmVuY2UpCisgICAg
eworICAgICAgICBBU1NFUlQobV9wdHIpOworICAgICAgICBtX3B0ci0+ZGVyZWYoKTsKKyAgICAg
ICAgbV9wdHIgPSBjb25zdF9jYXN0PFUqPihyZWZlcmVuY2UucHRyKCkpOworICAgICAgICBtX3B0
ci0+cmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsK
ICAgICB9CiAKQEAgLTg1LDYgKzEyMiw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKG1fcHRy
KTsKICAgICAgICAgbV9wdHItPmRlcmVmKCk7CiAgICAgICAgIG1fcHRyID0gJnJlZmVyZW5jZS5s
ZWFrUmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaCBiL1NvdXJjZS9X
VEYvd3RmL1dlYWtQdHIuaAppbmRleCA0ZmQ2ZjcxZmVmOWY3OWYzODY3MDBjNzNhMTYwZWIxMjk1
M2ZjMWU4Li45YTFlY2Q5NTZlMDVmYzc0YjY2YmM2Yzk5OGNhN2M1NTNlMjc3OTM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCkBAIC0yNyw4ICsyNyw3IEBACiAjZGVmaW5lIFdURl9XZWFrUHRyX2gKIAogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKQEAgLTM4
LDE0ICszNywxNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha1B0cjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtQdHJGYWN0b3J5
OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogY2xhc3MgV2Vha1JlZmVyZW5jZSA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxXZWFrUmVmZXJlbmNlPFQ+PiB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2Vha1JlZmVyZW5jZTxUPik7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gY3JlYXRl
KFQqIHB0cikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYWtSZWZlcmVuY2UocHRyKSk7IH0KLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWFrUmVmZXJlbmNlPFQ+PiBjcmVhdGVVbmJvdW5kKCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYWtSZWZlcmVuY2UoKSk7IH0KLQogICAgIFQqIGdldCgpIGNv
bnN0CiAgICAgewogI2lmIFVTRShXRUJfVEhSRUFEKQpAQCAtNjMsMjAgKzYyLDE0IEBAIHB1Ymxp
YzoKICNlbHNlCiAgICAgICAgIEFTU0VSVChtX2JvdW5kVGhyZWFkID09IGN1cnJlbnRUaHJlYWQo
KSk7CiAjZW5kaWYKLSAgICAgICAgbV9wdHIgPSAwOwotICAgIH0KLQotICAgIHZvaWQgYmluZFRv
KFQqIHB0cikKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9wdHIpOwotI2lmbmRlZiBOREVCVUcK
LSAgICAgICAgbV9ib3VuZFRocmVhZCA9IGN1cnJlbnRUaHJlYWQoKTsKLSNlbmRpZgotICAgICAg
ICBtX3B0ciA9IHB0cjsKKyAgICAgICAgbV9wdHIgPSBudWxscHRyOwogICAgIH0KIAogcHJpdmF0
ZToKLSAgICBXZWFrUmVmZXJlbmNlKCkgOiBtX3B0cigwKSB7IH0KKyAgICBmcmllbmQgY2xhc3Mg
V2Vha1B0cjxUPjsKKyAgICBmcmllbmQgY2xhc3MgV2Vha1B0ckZhY3Rvcnk8VD47CisKKyAgICBz
dGF0aWMgUmVmPFdlYWtSZWZlcmVuY2U8VD4+IGNyZWF0ZShUKiBwdHIpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2Vha1JlZmVyZW5jZShwdHIpKTsgfQogCiAgICAgZXhwbGljaXQgV2Vha1JlZmVy
ZW5jZShUKiBwdHIpCiAgICAgICAgIDogbV9wdHIocHRyKQpAQCAtOTYsMTYgKzg5LDE4IEBAIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBXZWFrUHRyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXZWFrUHRyKCkgeyB9Ci0gICAgV2Vha1B0cihQYXNzUmVm
UHRyPFdlYWtSZWZlcmVuY2U8VD4+IHJlZikgOiBtX3JlZihyZWYpIHsgfQorICAgIFdlYWtQdHIo
KSA6IG1fcmVmKFdlYWtSZWZlcmVuY2U8VD46OmNyZWF0ZShudWxscHRyKSkgeyB9CiAKICAgICBU
KiBnZXQoKSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KLSAgICBleHBsaWNpdCBvcGVy
YXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CisgICAgb3BlcmF0b3Ig
Ym9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQogCiAgICAgVCogb3BlcmF0b3It
PigpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQogCiBwcml2YXRlOgotICAgIFJlZlB0
cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKKyAgICBmcmllbmQgY2xhc3MgV2Vha1B0ckZhY3Rv
cnk8VD47CisgICAgV2Vha1B0cihSZWY8V2Vha1JlZmVyZW5jZTxUPj4gcmVmKSA6IG1fcmVmKHJl
ZikgeyB9CisKKyAgICBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgpAQCAtMTE1LDEyICsxMTAsNiBAQCBjbGFzcyBXZWFrUHRyRmFjdG9yeSB7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2Vha1B0ckZhY3RvcnkoVCogcHRyKSA6IG1fcmVmKFdl
YWtSZWZlcmVuY2U8VD46OmNyZWF0ZShwdHIpKSB7IH0KIAotICAgIFdlYWtQdHJGYWN0b3J5KFBh
c3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gcmVmLCBUKiBwdHIpCi0gICAgICAgIDogbV9yZWYo
cmVmKQotICAgIHsKLSAgICAgICAgbV9yZWYtPmJpbmRUbyhwdHIpOwotICAgIH0KLQogICAgIH5X
ZWFrUHRyRmFjdG9yeSgpIHsgbV9yZWYtPmNsZWFyKCk7IH0KIAogICAgIC8vIFdlIHNob3VsZCBj
b25zaWRlciBoYXZpbmcgY3JlYXRlV2Vha1B0ciBwb3B1bGF0ZSBtX3JlZiB0aGUgZmlyc3QgdGlt
ZSBjcmVhdGVXZWFrUHRyIGlzIGNhbGxlZC4KQEAgLTEzNSw3ICsxMjQsNyBAQCBwdWJsaWM6CiAg
ICAgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKKyAg
ICBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244672</attachid>
            <date>2015-01-14 18:19:26 -0800</date>
            <delta_ts>2015-01-16 09:48:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140479-20150114181932.patch</filename>
            <type>text/plain</type>
            <size>16748</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDczNTA5N2M2MmU1ZDJhNTBiZTVlOTlj
NDg1YTA4ZjdmMDNkN2I0ODIuLjY0NGQ2MWQ0MWVjNDU0MzUyMGRmMzY5MmFlZGExYWQwZGI3MWJj
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTUtMDEtMTQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3
aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlYXJyYW5nZXMgaG93IFdl
YWtQdHIgd29ya3MsIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBpZGVhcyBiZWhpbmQgaXQ6CisKKyAg
ICAgICAgMS4gV2Vha1B0ciBzaG91bGQgdXNlIFJlZiBpbnRlcm5hbGx5LiBUaGlzIHNvbHZlcyB0
aGUgY3Jhc2ggYnkgYWx3YXlzIGhhdmluZyBhCisgICAgICAgIHZhbGlkIFdlYWtSZWZlcmVuY2Uu
CisgICAgICAgIDIuIENsaWVudHMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBXZWFr
UmVmZXJlbmNlcyBkaXJlY3RseS4gSW5zdGVhZCwKKyAgICAgICAgb25seSBXZWFrUHRyRmFjdG9y
eSAoYW5kIFdlYWtQdHIncyBkZWZhdWx0IGNvbnN0cnVjdG9yKSBzaG91bGQgYmUgYWJsZSB0bwor
ICAgICAgICBjb25zdHJ1Y3QgdGhlbS4gVGhleSBhcmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRh
dGlvbiBkZXRhaWwgb2YgV2Vha1B0ci4KKyAgICAgICAgMy4gRXhjZXB0IGZvciB0aGUgZGVmYXVs
dCBjb25zdHJ1Y3RvciwgY2xpZW50cyBzaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0Cisg
ICAgICAgIFdlYWtQdHJzIGRpcmVjdGx5LiBJbnN0ZWFkLCB0aGUgV2Vha1B0ckZhY3RvcnkgbXVz
dCBjb25zdHJ1Y3QgdGhlbS4gVGhpcworICAgICAgICBndWFyYW50ZWVzIHRoYXQgdGhlIFdlYWtQ
dHJzIGFsbCByZWZlcmVuY2UgdGhlIHNhbWUgV2Vha1JlZmVyZW5jZS4KKyAgICAgICAgNC4gQ2xp
ZW50cyBjYW4gY29uc3RydWN0IGEgV2Vha1B0ciB1c2luZyBpdHMgZGVmYXVsdCBjb25zdHJ1Y3Rv
ciwgYW5kIHRoZW4KKyAgICAgICAgdXNlIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIG1ha2Ug
aXQgbm9uLW51bGwuIChPciB0aGV5IGNvdWxkIHVzZQorICAgICAgICBXZWFrUHRyRmFjdG9yeSB0
byBtYWtlIGl0IG5vbi1udWxsIGF0IGNyZWF0aW9uLXRpbWUuKQorICAgICAgICA1LiBObyBvbmUg
d2FzIHVzaW5nIFdlYWtSZWZlcmVuY2U6OmJpbmRUbygpLCBhbmQgaXQgZG9lc24ndCBzZWVtIHVz
ZWZ1bCwgc28gSQorICAgICAgICByZW1vdmVkIGl0LgorCisgICAgICAgIFRlc3RzOiBXVEZfV2Vh
a1B0ciBhbmQgV1RGX1JlZiBBUEkgdGVzdHMKKworICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAg
ICAgKFdURjo6UmVmOjpSZWYpOiBBZGRlZCBjb3B5IGNvbnN0cnVjdG9ycyBhbmQgZXh0cmEgQVNT
RVJUKClzCisgICAgICAgIChXVEY6OlJlZjo6b3BlcmF0b3I9KTogQWRkZWQgY29weSBhc3NpZ25t
ZW50IG9wZXJhdG9ycyBhbmQgZXh0cmEgQVNTRVJUKClzLgorICAgICAgICAqIHd0Zi9XZWFrUHRy
Lmg6CisgICAgICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmNsZWFyKTogVXNlZCBudWxscHRyLgor
ICAgICAgICAoV1RGOjpXZWFrUmVmZXJlbmNlOjpjcmVhdGUpOiBNb3ZlZCB0byBwcml2YXRlOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyOjpXZWFrUHRyKTogRm9yIHRoZSBkZWZhdWx0IGNvbnN0cnVj
dG9yLCBpbml0aWFsaXplZCB0aGUgUmVmIHdpdGgKKyAgICAgICAgYSBuZXcgV2Vha1JlZmVyZW5j
ZS4gRm9yIHRoZSBvdGhlciBjb25zdHJ1Y3RvciwgbW92ZWQgaXQgdG8gcHJpdmF0ZTouCisgICAg
ICAgIChXVEY6OldlYWtQdHI6Om9wZXJhdG9yIGJvb2wpOiBNYWRlIG5vbi1leHBsaWNpdC4KKyAg
ICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6Y3JlYXRlVW5ib3VuZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmJpbmRUbyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OldlYWtSZWZlcmVuY2U6OldlYWtSZWZlcmVuY2UpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpX
ZWFrUHRyRmFjdG9yeTo6V2Vha1B0ckZhY3RvcnkpOiBEZWxldGVkLgorCiAyMDE1LTAxLTE0ICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBmaXggYWZ0ZXIgcjE2MzMzMC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlZi5oIGIv
U291cmNlL1dURi93dGYvUmVmLmgKaW5kZXggNzlmNjk2MDNiNTA1MDMzYWUxZjMwZDYyYjg3YjY4
MzZmYWI3ZmI5ZS4uYzk1YTNhNTAyMmI5YTAwMjRmMzYxNjViMWRmYzM1ODg2ZDg0MTE3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVmLmgK
QEAgLTUyLDE1ICs1MiwzMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fcHRyLT5yZWYoKTsKICAgICB9
CiAKKyAgICBSZWYoY29uc3QgUmVmJiBvdGhlcikKKyAgICAgICAgOiBSZWYoY29uc3RfY2FzdDxU
Jj4ob3RoZXIuZ2V0KCkpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKKyAgICB9CisK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgIFJlZihjb25zdCBSZWY8VT4mIG90aGVyKQor
ICAgICAgICA6IFJlZihjb25zdF9jYXN0PFUmPihvdGhlci5nZXQoKSkpCisgICAgeworICAgICAg
ICBBU1NFUlQobV9wdHIpOworICAgIH0KKwogICAgIFJlZihSZWYmJiBvdGhlcikKICAgICAgICAg
OiBtX3B0cigmb3RoZXIubGVha1JlZigpKQogICAgIHsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsK
ICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogICAgIFJlZihSZWY8VT4mJiBvdGhl
cikKICAgICAgICAgOiBtX3B0cigmb3RoZXIubGVha1JlZigpKQogICAgIHsKKyAgICAgICAgQVNT
RVJUKG1fcHRyKTsKICAgICB9CiAKICAgICBSZWYmIG9wZXJhdG9yPShUJiBvYmplY3QpCkBAIC02
OSw2ICs4NCwxNyBAQCBwdWJsaWM6CiAgICAgICAgIG9iamVjdC5yZWYoKTsKICAgICAgICAgbV9w
dHItPmRlcmVmKCk7CiAgICAgICAgIG1fcHRyID0gJm9iamVjdDsKKyAgICAgICAgQVNTRVJUKG1f
cHRyKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIFJlZiYgb3BlcmF0b3I9
KGNvbnN0IFJlZiYgcmVmZXJlbmNlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKKyAg
ICAgICAgbV9wdHItPmRlcmVmKCk7CisgICAgICAgIG1fcHRyID0gY29uc3RfY2FzdDxUKj4ocmVm
ZXJlbmNlLnB0cigpKTsKKyAgICAgICAgbV9wdHItPnJlZigpOworICAgICAgICBBU1NFUlQobV9w
dHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCkBAIC03Nyw2ICsxMDMsMTcgQEAg
cHVibGljOgogICAgICAgICBBU1NFUlQobV9wdHIpOwogICAgICAgICBtX3B0ci0+ZGVyZWYoKTsK
ICAgICAgICAgbV9wdHIgPSAmcmVmZXJlbmNlLmxlYWtSZWYoKTsKKyAgICAgICAgQVNTRVJUKG1f
cHRyKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFU+IFJlZiYgb3BlcmF0b3I9KGNvbnN0IFJlZjxVPiYgcmVmZXJlbmNlKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1fcHRyKTsKKyAgICAgICAgbV9wdHItPmRlcmVmKCk7CisgICAgICAgIG1f
cHRyID0gY29uc3RfY2FzdDxVKj4ocmVmZXJlbmNlLnB0cigpKTsKKyAgICAgICAgbV9wdHItPnJl
ZigpOworICAgICAgICBBU1NFUlQobV9wdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAg
fQogCkBAIC04NSw2ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChtX3B0cik7CiAg
ICAgICAgIG1fcHRyLT5kZXJlZigpOwogICAgICAgICBtX3B0ciA9ICZyZWZlcmVuY2UubGVha1Jl
ZigpOworICAgICAgICBBU1NFUlQobV9wdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmggYi9Tb3VyY2UvV1RGL3d0
Zi9XZWFrUHRyLmgKaW5kZXggNGZkNmY3MWZlZjlmNzlmMzg2NzAwYzczYTE2MGViMTI5NTNmYzFl
OC4uOWExZWNkOTU2ZTA1ZmM3NGI2NmJjNmM5OThjYTdjNTUzZTI3NzkzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvV2Vha1B0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaApA
QCAtMjcsOCArMjcsNyBAQAogI2RlZmluZSBXVEZfV2Vha1B0cl9oCiAKICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC0zOCwxNCAr
MzcsMTQgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFdlYWtQdHI7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrUHRyRmFjdG9yeTsKKwog
dGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIFdlYWtSZWZlcmVuY2UgOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8V2Vha1JlZmVyZW5jZTxUPj4gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtSZWZlcmVuY2U8VD4pOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+IGNyZWF0ZShUKiBw
dHIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWFrUmVmZXJlbmNlKHB0cikpOyB9Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gY3JlYXRlVW5ib3VuZCgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBXZWFrUmVmZXJlbmNlKCkpOyB9Ci0KICAgICBUKiBnZXQoKSBjb25zdAog
ICAgIHsKICNpZiBVU0UoV0VCX1RIUkVBRCkKQEAgLTYzLDIwICs2MiwxNCBAQCBwdWJsaWM6CiAj
ZWxzZQogICAgICAgICBBU1NFUlQobV9ib3VuZFRocmVhZCA9PSBjdXJyZW50VGhyZWFkKCkpOwog
I2VuZGlmCi0gICAgICAgIG1fcHRyID0gMDsKLSAgICB9Ci0KLSAgICB2b2lkIGJpbmRUbyhUKiBw
dHIpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fcHRyKTsKLSNpZm5kZWYgTkRFQlVHCi0gICAg
ICAgIG1fYm91bmRUaHJlYWQgPSBjdXJyZW50VGhyZWFkKCk7Ci0jZW5kaWYKLSAgICAgICAgbV9w
dHIgPSBwdHI7CisgICAgICAgIG1fcHRyID0gbnVsbHB0cjsKICAgICB9CiAKIHByaXZhdGU6Ci0g
ICAgV2Vha1JlZmVyZW5jZSgpIDogbV9wdHIoMCkgeyB9CisgICAgZnJpZW5kIGNsYXNzIFdlYWtQ
dHI8VD47CisgICAgZnJpZW5kIGNsYXNzIFdlYWtQdHJGYWN0b3J5PFQ+OworCisgICAgc3RhdGlj
IFJlZjxXZWFrUmVmZXJlbmNlPFQ+PiBjcmVhdGUoVCogcHRyKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYWtSZWZlcmVuY2UocHRyKSk7IH0KIAogICAgIGV4cGxpY2l0IFdlYWtSZWZlcmVuY2Uo
VCogcHRyKQogICAgICAgICA6IG1fcHRyKHB0cikKQEAgLTk2LDE2ICs4OSwxOCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgogY2xhc3MgV2Vha1B0ciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgV2Vha1B0cigpIHsgfQotICAgIFdlYWtQdHIoUGFzc1JlZlB0cjxX
ZWFrUmVmZXJlbmNlPFQ+PiByZWYpIDogbV9yZWYocmVmKSB7IH0KKyAgICBXZWFrUHRyKCkgOiBt
X3JlZihXZWFrUmVmZXJlbmNlPFQ+OjpjcmVhdGUobnVsbHB0cikpIHsgfQogCiAgICAgVCogZ2V0
KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9Ci0gICAgZXhwbGljaXQgb3BlcmF0b3Ig
Ym9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQorICAgIG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KIAogICAgIFQqIG9wZXJhdG9yLT4oKSBj
b25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBSZWZQdHI8V2Vh
a1JlZmVyZW5jZTxUPj4gbV9yZWY7CisgICAgZnJpZW5kIGNsYXNzIFdlYWtQdHJGYWN0b3J5PFQ+
OworICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVuY2U8VD4+IHJlZikgOiBtX3JlZihyZWYpIHsg
fQorCisgICAgUmVmPFdlYWtSZWZlcmVuY2U8VD4+IG1fcmVmOwogfTsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KQEAgLTExNSwxMiArMTEwLDYgQEAgY2xhc3MgV2Vha1B0ckZhY3RvcnkgewogcHVi
bGljOgogICAgIGV4cGxpY2l0IFdlYWtQdHJGYWN0b3J5KFQqIHB0cikgOiBtX3JlZihXZWFrUmVm
ZXJlbmNlPFQ+OjpjcmVhdGUocHRyKSkgeyB9CiAKLSAgICBXZWFrUHRyRmFjdG9yeShQYXNzUmVm
UHRyPFdlYWtSZWZlcmVuY2U8VD4+IHJlZiwgVCogcHRyKQotICAgICAgICA6IG1fcmVmKHJlZikK
LSAgICB7Ci0gICAgICAgIG1fcmVmLT5iaW5kVG8ocHRyKTsKLSAgICB9Ci0KICAgICB+V2Vha1B0
ckZhY3RvcnkoKSB7IG1fcmVmLT5jbGVhcigpOyB9CiAKICAgICAvLyBXZSBzaG91bGQgY29uc2lk
ZXIgaGF2aW5nIGNyZWF0ZVdlYWtQdHIgcG9wdWxhdGUgbV9yZWYgdGhlIGZpcnN0IHRpbWUgY3Jl
YXRlV2Vha1B0ciBpcyBjYWxsZWQuCkBAIC0xMzUsNyArMTI0LDcgQEAgcHVibGljOgogICAgIH0K
IAogcHJpdmF0ZToKLSAgICBSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CisgICAgUmVm
PFdlYWtSZWZlcmVuY2U8VD4+IG1fcmVmOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGM5Nzk2ZDYz
M2Q2NzE3NTliZTE5ODI1MjA5ZWIyNjY3NjZlOTcyMS4uYjFmZWYxY2I1YTlkNzEzNWU4MTkwZjg5
ZGYxODcwMmQ3MTBhNjk5MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTE0ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vha1B0ciBmdW5jdGlvbnMgY3Jh
c2ggd2hlbiBjcmVhdGVkIHdpdGggZGVmYXVsdCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDc5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYWtQdHIgYW5kIFJlZiBBUEkg
dGVzdHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XZWFr
UHRyLmNwcDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmLmNw
cDogQWRkZWQgdGVzdHMgZm9yIGNvcHkgY29uc3RydWN0b3JzIGFuZCBjb3B5IGFzc2lnbm1lbnQK
KyAgICAgICAgb3BlcmF0b3IuCisKIDIwMTUtMDEtMTQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHJ1bi13ZWJraXQtdGVzdHMgLS1pb3MgaGFuZ3Mg
dHJ5aW5nIHRvIGxhdW5jaCBpT1MgU2ltdWxhdG9yIHdpdGggdW5hdmFpbGFibGUgcnVudGltZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1M2EzZWU4MTVlMDViODE4YzczOTQ0NjgwZGYxYWFi
ODNkNzQ0MTcxLi43MDAxMjJhNjJmZWE4ZDg3YzA2YzZkNTQyMDM5ZTNlZTc4MjIwMjQzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTcsNiArMTcsNyBAQAogCQkxQTlFNTJDOTEzRTY1RUY0
MDA2OTE3RjUgLyogMTgtY2hhcmFjdGVycy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNDVGOTQ2MTM4NUMyRjgwMEMwRjNDRCAvKiAx
OC1jaGFyYWN0ZXJzLmh0bWwgKi87IH07CiAJCTFBREJFRkUzMTMwQzZBQTEwMEQ2MUQxOSAvKiBz
aW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURCRUZCQzEzMEM2QTAxMDBENjFEMTkg
Lyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwgKi87IH07CiAJCTFBRURFMjI2
MTNFNUU3RTcwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUVERTIyNDEzRTVFN0Ew
MDBFNjJGRTggLyogSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tICovOyB9OworCQkxQ0I5
QkMzODFBNjc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0I5QkMzNzFBNjc0ODIzMDBGRTU2NzggLyogV2Vh
a1B0ci5jcHAgKi87IH07CiAJCTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2Fk
RnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZERjVBNjExNUEyQTIyQjAwMzY4OUMyIC8qIENh
bmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJMjZGNTJFQUQx
ODI4ODI3QjAwMjNENDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGNTJF
QUMxODI4ODIwRTAwMjNENDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uLmh0bWwg
Ki87IH07CiAJCTI2RjUyRUFGMTgyODhDMjMwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbkdldEN1cnJl
bnRQb3NpdGlvbldpdGhIaWdoQWNjdXJhY3kuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY1MkVBRTE4Mjg4QzA0MDAyM0Q0MTIgLyog
Z2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb25XaXRoSGlnaEFjY3VyYWN5Lmh0bWwgKi87IH07
CkBAIC00MDQsNiArNDA1LDcgQEAKIAkJMUFFREUyMjQxM0U1RTdBMDAwRTYyRkU4IC8qIEluamVj
dGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IEluamVjdGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUFFRjk5NDgxN0EwOUY1MzAwOTk4RUYwIC8qIEdldFBJREFmdGVyQWJv
cnRlZFByb2Nlc3NMYXVuY2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR2V0UElEQWZ0ZXJBYm9ydGVkUHJvY2Vzc0xhdW5jaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBRkRFNjU0MTk1M0IyQzAwMEM0OEZGQSAvKiBPcHRpb25hbC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcHRpb25hbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDQjlCQzM3MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYWtQdHIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjE1MTZENTE1QjBFNjA1MDBBMkMyMDEgLyog
U2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2MzAwQjE3MTY3NTVDRDkwMDY2ODg2RCAvKiBMaXN0SGFzaFNldC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaXN0SGFzaFNldC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2NUFGNTRGMTVEMUU0OEEwMEIwQ0I0QSAvKiBXVEZT
dHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV1RGU3RyaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjAsNiArMTAyMiw3IEBACiAJ
CQkJMEJDRDg1NjkxNDg1Qzk4QjAwRUEyMDAzIC8qIFRlbXBvcmFyeUNoYW5nZS5jcHAgKi8sCiAJ
CQkJQkM1NUY1RjgxNEFENzhFRTAwNDg0QkUxIC8qIFZlY3Rvci5jcHAgKi8sCiAJCQkJMjY1QUY1
NEYxNUQxRTQ4QTAwQjBDQjRBIC8qIFdURlN0cmluZy5jcHAgKi8sCisJCQkJMUNCOUJDMzcxQTY3
NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIuY3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBXVEY7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTUxMyw2ICsxNTE2LDcgQEAKIAkJCWlzYSA9
IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAorCQkJCTFDQjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9T
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5N
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SZWYuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVm
LmNwcAppbmRleCAwMjI3YjViMGE3YjNjYzE4OTA3NWViMjIyMjE0NTMzNTYwZGNkZmFiLi5hYTUw
MjgxNDFhZjdkOTIzZTIxZTFkNWNlZWZlYmFiMTdhY2E1ZWM4IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SZWYuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1JlZi5jcHAKQEAgLTE1OCw0ICsxNTgsMjQgQEAgVEVTVChXVEZfUmVmLCBSZXR1
cm5WYWx1ZSkKICAgICBBU1NFUlRfU1RSRVEoInJlZihhKSByZWYoYSkgZGVyZWYoYSkgZGVyZWYo
YSkgIiwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOwogfQogCitURVNUKFdURl9SZWYsIENvcHkpCit7
CisgICAgRGVyaXZlZFJlZkxvZ2dlciBhKCJhIik7CisgICAgeworICAgICAgICBSZWY8RGVyaXZl
ZFJlZkxvZ2dlcj4gcHRyKGEpOworICAgICAgICBsb2coKSA8PCAifCAiOworICAgICAgICBSZWY8
RGVyaXZlZFJlZkxvZ2dlcj4gcHRyMihwdHIpOworICAgICAgICBSZWY8UmVmTG9nZ2VyPiBwdHIz
KHB0cik7CisgICAgICAgIGxvZygpIDw8ICJ8ICI7CisgICAgICAgIFJlZjxEZXJpdmVkUmVmTG9n
Z2VyPiBwdHI0ID0gcHRyOworICAgICAgICBSZWY8UmVmTG9nZ2VyPiBwdHI1ID0gcHRyOworICAg
ICAgICBsb2coKSA8PCAifCAiOworICAgICAgICBwdHIyID0gcHRyOworICAgICAgICBsb2coKSA8
PCAifCAiOworICAgICAgICBwdHIzID0gcHRyMjsKKyAgICAgICAgbG9nKCkgPDwgInwgIjsKKyAg
ICB9CisgICAgQVNTRVJUX1NUUkVRKCJyZWYoYSkgfCByZWYoYSkgcmVmKGEpIHwgcmVmKGEpIHJl
ZihhKSB8IGRlcmVmKGEpIHJlZihhKSB8IGRlcmVmKGEpIHJlZihhKSB8IGRlcmVmKGEpIGRlcmVm
KGEpIGRlcmVmKGEpIGRlcmVmKGEpIGRlcmVmKGEpICIsIHRha2VMb2dTdHIoKS5jX3N0cigpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9XZWFrUHRyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDk4ZTgzZjFmMDhjODgwMjdlNjY5MTk1
N2Y1MWY1NzQyN2Y5MDM0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvV2Vha1B0ci5jcHAKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAidGVzdC5oIgorCisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdURl9XZWFrUHRyLCBC
YXNpYykKK3sKKyAgICBpbnQgZHVtbXkgPSA1OworICAgIFdlYWtQdHJGYWN0b3J5PGludD4qIGZh
Y3RvcnkgPSBuZXcgV2Vha1B0ckZhY3Rvcnk8aW50PigmZHVtbXkpOworICAgIFdlYWtQdHI8aW50
PiB3ZWFrUHRyMSA9IGZhY3RvcnktPmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBXZWFrUHRyPGludD4g
d2Vha1B0cjIgPSBmYWN0b3J5LT5jcmVhdGVXZWFrUHRyKCk7CisgICAgV2Vha1B0cjxpbnQ+IHdl
YWtQdHIzID0gZmFjdG9yeS0+Y3JlYXRlV2Vha1B0cigpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRy
MS5nZXQoKSwgJmR1bW15KTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teSk7
CisgICAgRVhQRUNUX0VRKHdlYWtQdHIzLmdldCgpLCAmZHVtbXkpOworICAgIEVYUEVDVF9UUlVF
KHdlYWtQdHIxKTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWFrUHRyMik7CisgICAgRVhQRUNUX1RSVUUo
d2Vha1B0cjMpOworICAgIGRlbGV0ZSBmYWN0b3J5OworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIx
LmdldCgpKTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMi5nZXQoKSk7CisgICAgRVhQRUNUX05V
TEwod2Vha1B0cjMuZ2V0KCkpOworICAgIEVYUEVDVF9GQUxTRSh3ZWFrUHRyMSk7CisgICAgRVhQ
RUNUX0ZBTFNFKHdlYWtQdHIyKTsKKyAgICBFWFBFQ1RfRkFMU0Uod2Vha1B0cjMpOworfQorCitU
RVNUKFdURl9XZWFrUHRyLCBBc3NpZ25tZW50KQoreworICAgIGludCBkdW1teSA9IDU7CisgICAg
V2Vha1B0cjxpbnQ+IHdlYWtQdHI7CisgICAgeworICAgICAgICBXZWFrUHRyRmFjdG9yeTxpbnQ+
IGZhY3RvcnkoJmR1bW15KTsKKyAgICAgICAgd2Vha1B0ciA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0
cigpOworICAgICAgICBFWFBFQ1RfRVEod2Vha1B0ci5nZXQoKSwgJmR1bW15KTsKKyAgICB9Cisg
ICAgRVhQRUNUX05VTEwod2Vha1B0ci5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIsIE11
bHRpcGxlRmFjdG9yaWVzKQoreworICAgIGludCBkdW1teTEgPSA1OworICAgIGludCBkdW1teTIg
PSA3OworICAgIFdlYWtQdHJGYWN0b3J5PGludD4qIGZhY3RvcnkxID0gbmV3IFdlYWtQdHJGYWN0
b3J5PGludD4oJmR1bW15MSk7CisgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiogZmFjdG9yeTIgPSBu
ZXcgV2Vha1B0ckZhY3Rvcnk8aW50PigmZHVtbXkyKTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0
cjEgPSBmYWN0b3J5MS0+Y3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRy
MiA9IGZhY3RvcnkyLT5jcmVhdGVXZWFrUHRyKCk7CisgICAgRVhQRUNUX0VRKHdlYWtQdHIxLmdl
dCgpLCAmZHVtbXkxKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teTIpOwor
ICAgIGRlbGV0ZSBmYWN0b3J5MTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMS5nZXQoKSk7Cisg
ICAgRVhQRUNUX0VRKHdlYWtQdHIyLmdldCgpLCAmZHVtbXkyKTsKKyAgICBkZWxldGUgZmFjdG9y
eTI7CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjIuZ2V0KCkpOworfQorCitURVNUKFdURl9XZWFr
UHRyLCBSZXZva2VBbGwpCit7CisgICAgaW50IGR1bW15ID0gNTsKKyAgICBXZWFrUHRyRmFjdG9y
eTxpbnQ+IGZhY3RvcnkoJmR1bW15KTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0cjEgPSBmYWN0
b3J5LmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0cjIgPSBmYWN0b3J5
LmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0cjMgPSBmYWN0b3J5LmNy
ZWF0ZVdlYWtQdHIoKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjEuZ2V0KCksICZkdW1teSk7Cisg
ICAgRVhQRUNUX0VRKHdlYWtQdHIyLmdldCgpLCAmZHVtbXkpOworICAgIEVYUEVDVF9FUSh3ZWFr
UHRyMy5nZXQoKSwgJmR1bW15KTsKKyAgICBmYWN0b3J5LnJldm9rZUFsbCgpOworICAgIEVYUEVD
VF9OVUxMKHdlYWtQdHIxLmdldCgpKTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMi5nZXQoKSk7
CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjMuZ2V0KCkpOworfQorCitURVNUKFdURl9XZWFrUHRy
LCBOdWxsRmFjdG9yeSkKK3sKKyAgICBXZWFrUHRyRmFjdG9yeTxpbnQ+IGZhY3RvcnkobnVsbHB0
cik7CisgICAgV2Vha1B0cjxpbnQ+IHdlYWtQdHIgPSBmYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsK
KyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyLmdldCgpKTsKKyAgICBmYWN0b3J5LnJldm9rZUFsbCgp
OworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIuZ2V0KCkpOworfQorCitzdHJ1Y3QgRm9vIHsKKyAg
ICB2b2lkIGJhcigpIHsgfTsKK307CisKK1RFU1QoV1RGX1dlYWtQdHIsIERlcmVmZXJlbmNlKQor
eworICAgIEZvbyBmOworICAgIFdlYWtQdHJGYWN0b3J5PEZvbz4gZmFjdG9yeSgmZik7CisgICAg
V2Vha1B0cjxGb28+IHdlYWtQdHIgPSBmYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsKKyAgICB3ZWFr
UHRyLT5iYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244768</attachid>
            <date>2015-01-16 09:49:04 -0800</date>
            <delta_ts>2015-01-16 11:29:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140479-20150116094911.patch</filename>
            <type>text/plain</type>
            <size>17086</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg1OGYzZGMyZTgyZWNiNTUzOTBhMTMz
ZWJhZDc5YmE0YTU4ODZkY2IuLjkzZmM2ZTM3MjczYTgzMmUyZGU5ODk2YjZiZjk2NmU1NmU5M2Ez
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTUtMDEtMTYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3
aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlYXJyYW5nZXMgaG93IFdl
YWtQdHIgd29ya3MsIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBpZGVhcyBiZWhpbmQgaXQ6CisKKyAg
ICAgICAgMS4gV2Vha1B0ciBzaG91bGQgdXNlIFJlZiBpbnRlcm5hbGx5LiBUaGlzIHNvbHZlcyB0
aGUgY3Jhc2ggYnkgYWx3YXlzIGhhdmluZyBhCisgICAgICAgIHZhbGlkIFdlYWtSZWZlcmVuY2Uu
CisgICAgICAgIDIuIENsaWVudHMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBXZWFr
UmVmZXJlbmNlcyBkaXJlY3RseS4gSW5zdGVhZCwKKyAgICAgICAgb25seSBXZWFrUHRyRmFjdG9y
eSAoYW5kIFdlYWtQdHIncyBkZWZhdWx0IGNvbnN0cnVjdG9yKSBzaG91bGQgYmUgYWJsZSB0bwor
ICAgICAgICBjb25zdHJ1Y3QgdGhlbS4gVGhleSBhcmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRh
dGlvbiBkZXRhaWwgb2YgV2Vha1B0ci4KKyAgICAgICAgMy4gRXhjZXB0IGZvciB0aGUgZGVmYXVs
dCBjb25zdHJ1Y3RvciwgY2xpZW50cyBzaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0Cisg
ICAgICAgIFdlYWtQdHJzIGRpcmVjdGx5LiBJbnN0ZWFkLCB0aGUgV2Vha1B0ckZhY3RvcnkgbXVz
dCBjb25zdHJ1Y3QgdGhlbS4gVGhpcworICAgICAgICBndWFyYW50ZWVzIHRoYXQgdGhlIFdlYWtQ
dHJzIGFsbCByZWZlcmVuY2UgdGhlIHNhbWUgV2Vha1JlZmVyZW5jZS4KKyAgICAgICAgNC4gQ2xp
ZW50cyBjYW4gY29uc3RydWN0IGEgV2Vha1B0ciB1c2luZyBpdHMgZGVmYXVsdCBjb25zdHJ1Y3Rv
ciwgYW5kIHRoZW4KKyAgICAgICAgdXNlIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIG1ha2Ug
aXQgbm9uLW51bGwuIChPciB0aGV5IGNvdWxkIHVzZQorICAgICAgICBXZWFrUHRyRmFjdG9yeSB0
byBtYWtlIGl0IG5vbi1udWxsIGF0IGNyZWF0aW9uLXRpbWUuKQorICAgICAgICA1LiBObyBvbmUg
d2FzIHVzaW5nIFdlYWtSZWZlcmVuY2U6OmJpbmRUbygpLCBhbmQgaXQgZG9lc24ndCBzZWVtIHVz
ZWZ1bCwgc28gSQorICAgICAgICByZW1vdmVkIGl0LgorCisgICAgICAgIFRlc3RzOiBXVEZfV2Vh
a1B0ciBhbmQgV1RGX1JlZiBBUEkgdGVzdHMKKworICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAg
ICAgKFdURjo6UmVmOjpSZWYpOiBBZGRlZCBjb3B5IGNvbnN0cnVjdG9ycyBhbmQgZXh0cmEgQVNT
RVJUKClzCisgICAgICAgIChXVEY6OlJlZjo6b3BlcmF0b3I9KTogQWRkZWQgY29weSBhc3NpZ25t
ZW50IG9wZXJhdG9ycyBhbmQgZXh0cmEgQVNTRVJUKClzLgorICAgICAgICAqIHd0Zi9XZWFrUHRy
Lmg6CisgICAgICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmNsZWFyKTogVXNlZCBudWxscHRyLgor
ICAgICAgICAoV1RGOjpXZWFrUmVmZXJlbmNlOjpjcmVhdGUpOiBNb3ZlZCB0byBwcml2YXRlOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyOjpXZWFrUHRyKTogRm9yIHRoZSBkZWZhdWx0IGNvbnN0cnVj
dG9yLCBpbml0aWFsaXplZCB0aGUgUmVmIHdpdGgKKyAgICAgICAgYSBuZXcgV2Vha1JlZmVyZW5j
ZS4gRm9yIHRoZSBvdGhlciBjb25zdHJ1Y3RvciwgbW92ZWQgaXQgdG8gcHJpdmF0ZTouCisgICAg
ICAgIChXVEY6OldlYWtQdHI6Om9wZXJhdG9yIGJvb2wpOiBNYWRlIG5vbi1leHBsaWNpdC4KKyAg
ICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6Y3JlYXRlVW5ib3VuZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmJpbmRUbyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OldlYWtSZWZlcmVuY2U6OldlYWtSZWZlcmVuY2UpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpX
ZWFrUHRyRmFjdG9yeTo6V2Vha1B0ckZhY3RvcnkpOiBEZWxldGVkLgorCiAyMDE1LTAxLTE1ICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVO
QUJMRShTUUxfREFUQUJBU0UpIGd1YXJkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVm
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAppbmRleCA3OWY2OTYwM2I1MDUwMzNhZTFmMzBkNjJi
ODdiNjgzNmZhYjdmYjllLi44NzM4MDRkMzRjOWNkM2IwZjEwYjhiMjRkNjJhMGVjNGE4MjQ2ZjQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaApAQCAtNTIsMTUgKzUyLDIxIEBAIHB1YmxpYzoKICAgICAgICAgbV9wdHItPnJlZigpOwog
ICAgIH0KIAorICAgIC8vIFVzZSBjb3B5UmVmKCkgaW5zdGVhZC4KKyAgICBSZWYoY29uc3QgUmVm
JiBvdGhlcikgPSBkZWxldGU7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gUmVmKGNvbnN0IFJl
ZjxVPiYgb3RoZXIpID0gZGVsZXRlOworCiAgICAgUmVmKFJlZiYmIG90aGVyKQogICAgICAgICA6
IG1fcHRyKCZvdGhlci5sZWFrUmVmKCkpCiAgICAgeworICAgICAgICBBU1NFUlQobV9wdHIpOwog
ICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CiAgICAgUmVmKFJlZjxVPiYmIG90aGVy
KQogICAgICAgICA6IG1fcHRyKCZvdGhlci5sZWFrUmVmKCkpCiAgICAgeworICAgICAgICBBU1NF
UlQobV9wdHIpOwogICAgIH0KIAogICAgIFJlZiYgb3BlcmF0b3I9KFQmIG9iamVjdCkKQEAgLTY5
LDYgKzc1LDE3IEBAIHB1YmxpYzoKICAgICAgICAgb2JqZWN0LnJlZigpOwogICAgICAgICBtX3B0
ci0+ZGVyZWYoKTsKICAgICAgICAgbV9wdHIgPSAmb2JqZWN0OworICAgICAgICBBU1NFUlQobV9w
dHIpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgUmVmJiBvcGVyYXRvcj0o
Y29uc3QgUmVmJiByZWZlcmVuY2UpCisgICAgeworICAgICAgICBBU1NFUlQobV9wdHIpOworICAg
ICAgICBtX3B0ci0+ZGVyZWYoKTsKKyAgICAgICAgbV9wdHIgPSBjb25zdF9jYXN0PFQqPihyZWZl
cmVuY2UucHRyKCkpOworICAgICAgICBtX3B0ci0+cmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0
cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTc3LDYgKzk0LDE3IEBAIHB1
YmxpYzoKICAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAgICAgICAgbV9wdHItPmRlcmVmKCk7CiAg
ICAgICAgIG1fcHRyID0gJnJlZmVyZW5jZS5sZWFrUmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0
cik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBVPiBSZWYmIG9wZXJhdG9yPShjb25zdCBSZWY8VT4mIHJlZmVyZW5jZSkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtX3B0cik7CisgICAgICAgIG1fcHRyLT5kZXJlZigpOworICAgICAgICBtX3B0
ciA9IGNvbnN0X2Nhc3Q8VSo+KHJlZmVyZW5jZS5wdHIoKSk7CisgICAgICAgIG1fcHRyLT5yZWYo
KTsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0K
IApAQCAtODUsNiArMTEzLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQobV9wdHIpOwogICAg
ICAgICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAgbV9wdHIgPSAmcmVmZXJlbmNlLmxlYWtSZWYo
KTsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYv
V2Vha1B0ci5oCmluZGV4IDRmZDZmNzFmZWY5Zjc5ZjM4NjcwMGM3M2ExNjBlYjEyOTUzZmMxZTgu
LmY2MDhmMjIyMzQ1NjUzN2RlNThmMzc4ZDE0ZTEzMjg5ZTU2YjU1NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1dlYWtQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAg
LTI3LDggKzI3LDcgQEAKICNkZWZpbmUgV1RGX1dlYWtQdHJfaAogCiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZl
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAtMzgsMTQgKzM3
LDE0IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBX
ZWFrUHRyOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha1B0ckZhY3Rvcnk7CisKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBXZWFrUmVmZXJlbmNlIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFdlYWtSZWZlcmVuY2U8VD4+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWFrUmVmZXJlbmNlPFQ+KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWFrUmVmZXJlbmNlPFQ+PiBjcmVhdGUoVCogcHRy
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2Vha1JlZmVyZW5jZShwdHIpKTsgfQotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+IGNyZWF0ZVVuYm91bmQoKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgV2Vha1JlZmVyZW5jZSgpKTsgfQotCiAgICAgVCogZ2V0KCkgY29uc3QKICAg
ICB7CiAjaWYgVVNFKFdFQl9USFJFQUQpCkBAIC02MywyMCArNjIsMTQgQEAgcHVibGljOgogI2Vs
c2UKICAgICAgICAgQVNTRVJUKG1fYm91bmRUaHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZgotICAgICAgICBtX3B0ciA9IDA7Ci0gICAgfQotCi0gICAgdm9pZCBiaW5kVG8oVCogcHRy
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX3B0cik7Ci0jaWZuZGVmIE5ERUJVRwotICAgICAg
ICBtX2JvdW5kVGhyZWFkID0gY3VycmVudFRocmVhZCgpOwotI2VuZGlmCi0gICAgICAgIG1fcHRy
ID0gcHRyOworICAgICAgICBtX3B0ciA9IG51bGxwdHI7CiAgICAgfQogCiBwcml2YXRlOgotICAg
IFdlYWtSZWZlcmVuY2UoKSA6IG1fcHRyKDApIHsgfQorICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRy
PFQ+OworICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRyRmFjdG9yeTxUPjsKKworICAgIHN0YXRpYyBS
ZWY8V2Vha1JlZmVyZW5jZTxUPj4gY3JlYXRlKFQqIHB0cikgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXZWFrUmVmZXJlbmNlKHB0cikpOyB9CiAKICAgICBleHBsaWNpdCBXZWFrUmVmZXJlbmNlKFQq
IHB0cikKICAgICAgICAgOiBtX3B0cihwdHIpCkBAIC05NiwxNiArODksMTkgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4KIGNsYXNzIFdlYWtQdHIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIFdlYWtQdHIoKSB7IH0KLSAgICBXZWFrUHRyKFBhc3NSZWZQdHI8V2Vh
a1JlZmVyZW5jZTxUPj4gcmVmKSA6IG1fcmVmKHJlZikgeyB9CisgICAgV2Vha1B0cigpIDogbV9y
ZWYoV2Vha1JlZmVyZW5jZTxUPjo6Y3JlYXRlKG51bGxwdHIpKSB7IH0KKyAgICBXZWFrUHRyKGNv
bnN0IFdlYWtQdHImIG8pIDogbV9yZWYoby5tX3JlZi5jb3B5UmVmKCkpIHsgfQogCiAgICAgVCog
Z2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9Ci0gICAgZXhwbGljaXQgb3BlcmF0
b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQorICAgIG9wZXJhdG9yIGJv
b2woKSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KIAogICAgIFQqIG9wZXJhdG9yLT4o
KSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBSZWZQdHI8
V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CisgICAgZnJpZW5kIGNsYXNzIFdlYWtQdHJGYWN0b3J5
PFQ+OworICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVuY2U8VD4+JiYgcmVmKSA6IG1fcmVmKHN0
ZDo6Zm9yd2FyZDxSZWY8V2Vha1JlZmVyZW5jZTxUPj4+KHJlZikpIHsgfQorCisgICAgUmVmPFdl
YWtSZWZlcmVuY2U8VD4+IG1fcmVmOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTEx
NSwxNiArMTExLDEwIEBAIGNsYXNzIFdlYWtQdHJGYWN0b3J5IHsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBXZWFrUHRyRmFjdG9yeShUKiBwdHIpIDogbV9yZWYoV2Vha1JlZmVyZW5jZTxUPjo6Y3Jl
YXRlKHB0cikpIHsgfQogCi0gICAgV2Vha1B0ckZhY3RvcnkoUGFzc1JlZlB0cjxXZWFrUmVmZXJl
bmNlPFQ+PiByZWYsIFQqIHB0cikKLSAgICAgICAgOiBtX3JlZihyZWYpCi0gICAgewotICAgICAg
ICBtX3JlZi0+YmluZFRvKHB0cik7Ci0gICAgfQotCiAgICAgfldlYWtQdHJGYWN0b3J5KCkgeyBt
X3JlZi0+Y2xlYXIoKTsgfQogCiAgICAgLy8gV2Ugc2hvdWxkIGNvbnNpZGVyIGhhdmluZyBjcmVh
dGVXZWFrUHRyIHBvcHVsYXRlIG1fcmVmIHRoZSBmaXJzdCB0aW1lIGNyZWF0ZVdlYWtQdHIgaXMg
Y2FsbGVkLgotICAgIFdlYWtQdHI8VD4gY3JlYXRlV2Vha1B0cigpIHsgcmV0dXJuIFdlYWtQdHI8
VD4obV9yZWYpOyB9CisgICAgV2Vha1B0cjxUPiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1cm4gV2Vh
a1B0cjxUPihtX3JlZi5jb3B5UmVmKCkpOyB9CiAKICAgICB2b2lkIHJldm9rZUFsbCgpCiAgICAg
ewpAQCAtMTM1LDcgKzEyNSw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgUmVm
UHRyPFdlYWtSZWZlcmVuY2U8VD4+IG1fcmVmOworICAgIFJlZjxXZWFrUmVmZXJlbmNlPFQ+PiBt
X3JlZjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJhMWM3MTk5OGJkNjQ3ZGRlZWIzMGIzOGZiYzRm
YTYxNTk2NTBiNmEuLjQzNTQ4NWUyOTE4M2Q5NzQxODc2ODgwYjliNjU2N2ZkNGYxNmM3NzUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxNS0wMS0xNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYWtQdHIgZnVuY3Rpb25zIGNyYXNoIHdoZW4gY3JlYXRlZCB3aXRo
IGRlZmF1bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBXZWFrUHRyIGFuZCBSZWYgQVBJIHRlc3RzLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHA6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZi5jcHA6IEFkZGVkIHRlc3RzIGZvciBj
b3B5IGNvbnN0cnVjdG9ycyBhbmQgY29weSBhc3NpZ25tZW50CisgICAgICAgIG9wZXJhdG9yLgor
CiAyMDE1LTAxLTE1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIEVOQUJMRShTUUxfREFUQUJBU0UpIGd1YXJkcwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA1M2EzZWU4MTVlMDViODE4YzczOTQ0NjgwZGYxYWFiODNkNzQ0MTcxLi43MDAx
MjJhNjJmZWE4ZDg3YzA2YzZkNTQyMDM5ZTNlZTc4MjIwMjQzIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTcsNiArMTcsNyBAQAogCQkxQTlFNTJDOTEzRTY1RUY0MDA2OTE3RjUgLyogMTgt
Y2hhcmFjdGVycy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMwNDVGOTQ2MTM4NUMyRjgwMEMwRjNDRCAvKiAxOC1jaGFyYWN0ZXJzLmh0
bWwgKi87IH07CiAJCTFBREJFRkUzMTMwQzZBQTEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0
ZWQtY29tcG9zaXRpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQURCRUZCQzEzMEM2QTAxMDBENjFEMTkgLyogc2ltcGxlLWFjY2Vs
ZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwgKi87IH07CiAJCTFBRURFMjI2MTNFNUU3RTcwMEU2MkZF
OCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUVERTIyNDEzRTVFN0EwMDBFNjJGRTggLyogSW5q
ZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tICovOyB9OworCQkxQ0I5QkMzODFBNjc0ODIzMDBG
RTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQ0I5QkMzNzFBNjc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgKi87IH07
CiAJCTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9h
ZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjZERjVBNjExNUEyQTIyQjAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVz
b3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJMjZGNTJFQUQxODI4ODI3QjAwMjNENDEy
IC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGNTJFQUMxODI4ODIwRTAwMjNE
NDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uLmh0bWwgKi87IH07CiAJCTI2RjUy
RUFGMTgyODhDMjMwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvbldpdGhI
aWdoQWNjdXJhY3kuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyNkY1MkVBRTE4Mjg4QzA0MDAyM0Q0MTIgLyogZ2VvbG9jYXRpb25HZXRD
dXJyZW50UG9zaXRpb25XaXRoSGlnaEFjY3VyYWN5Lmh0bWwgKi87IH07CkBAIC00MDQsNiArNDA1
LDcgQEAKIAkJMUFFREUyMjQxM0U1RTdBMDAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29udHJv
bGxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluamVj
dGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFFRjk5NDgxN0EwOUY1MzAwOTk4RUYwIC8qIEdldFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVu
Y2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2V0UElEQWZ0ZXJB
Ym9ydGVkUHJvY2Vzc0xhdW5jaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
RkRFNjU0MTk1M0IyQzAwMEM0OEZGQSAvKiBPcHRpb25hbC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBPcHRpb25hbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDQjlCQzM3MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYWtQdHIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyNjE1MTZENTE1QjBFNjA1MDBBMkMyMDEgLyogU2V0QW5kVXBkYXRlQ2Fj
aGVNb2RlbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNldEFu
ZFVwZGF0ZUNhY2hlTW9kZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MzAw
QjE3MTY3NTVDRDkwMDY2ODg2RCAvKiBMaXN0SGFzaFNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMaXN0SGFzaFNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2NUFGNTRGMTVEMUU0OEEwMEIwQ0I0QSAvKiBXVEZTdHJpbmcuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV1RGU3RyaW5nLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjAsNiArMTAyMiw3IEBACiAJCQkJMEJDRDg1NjkxNDg1
Qzk4QjAwRUEyMDAzIC8qIFRlbXBvcmFyeUNoYW5nZS5jcHAgKi8sCiAJCQkJQkM1NUY1RjgxNEFE
NzhFRTAwNDg0QkUxIC8qIFZlY3Rvci5jcHAgKi8sCiAJCQkJMjY1QUY1NEYxNUQxRTQ4QTAwQjBD
QjRBIC8qIFdURlN0cmluZy5jcHAgKi8sCisJCQkJMUNCOUJDMzcxQTY3NDgyMzAwRkU1Njc4IC8q
IFdlYWtQdHIuY3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBXVEY7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMTUxMyw2ICsxNTE2LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWls
ZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAor
CQkJCTFDQjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9S
ZWYuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmLmNwcAppbmRleCAwMjI3
YjViMGE3YjNjYzE4OTA3NWViMjIyMjE0NTMzNTYwZGNkZmFiLi5kNzVjYWYwNWMzNGI0NTM5NTI5
MDBlZmY4MTEwZWZkMTU0MzYyODZhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9SZWYuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZi5j
cHAKQEAgLTE1MSwxMSArMTUxLDMwIEBAIFRFU1QoV1RGX1JlZiwgUmV0dXJuVmFsdWUpCiAKICAg
ICB7CiAgICAgICAgIFJlZjxEZXJpdmVkUmVmTG9nZ2VyPiBkZXJpdmVkUmVmZXJlbmNlKGEpOwot
ICAgICAgICBSZWY8UmVmTG9nZ2VyPiBiYXNlUmVmZXJlbmNlKHBhc3NXaXRoUmVmKFJlZjxSZWZM
b2dnZXI+KGRlcml2ZWRSZWZlcmVuY2UpKSk7CisgICAgICAgIFJlZjxSZWZMb2dnZXI+IGJhc2VS
ZWZlcmVuY2UocGFzc1dpdGhSZWYoZGVyaXZlZFJlZmVyZW5jZS5jb3B5UmVmKCkpKTsKICAgICAg
ICAgQVNTRVJUX0VRKCZhLCBkZXJpdmVkUmVmZXJlbmNlLnB0cigpKTsKICAgICAgICAgQVNTRVJU
X0VRKCZhLCBiYXNlUmVmZXJlbmNlLnB0cigpKTsKICAgICB9CiAgICAgQVNTRVJUX1NUUkVRKCJy
ZWYoYSkgcmVmKGEpIGRlcmVmKGEpIGRlcmVmKGEpICIsIHRha2VMb2dTdHIoKS5jX3N0cigpKTsK
IH0KIAorVEVTVChXVEZfUmVmLCBDb3B5KQoreworICAgIERlcml2ZWRSZWZMb2dnZXIgYSgiYSIp
OworICAgIERlcml2ZWRSZWZMb2dnZXIgYigiYiIpOworICAgIFJlZkxvZ2dlciBjKCJjIik7Cisg
ICAgeworICAgICAgICBSZWY8RGVyaXZlZFJlZkxvZ2dlcj4gcHRyKGEpOworICAgICAgICBSZWY8
RGVyaXZlZFJlZkxvZ2dlcj4gcHRyMihiKTsKKyAgICAgICAgbG9nKCkgPDwgInwgIjsKKyAgICAg
ICAgcHRyMiA9IHB0cjsKKyAgICAgICAgbG9nKCkgPDwgInwgIjsKKyAgICAgICAgUmVmPFJlZkxv
Z2dlcj4gcHRyMyhjKTsKKyAgICAgICAgbG9nKCkgPDwgInwgIjsKKyAgICAgICAgcHRyMyA9IHB0
cjsKKyAgICAgICAgbG9nKCkgPDwgInwgIjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKCJyZWYo
YSkgcmVmKGIpIHwgZGVyZWYoYikgcmVmKGEpIHwgcmVmKGMpIHwgZGVyZWYoYykgcmVmKGEpIHwg
ZGVyZWYoYSkgZGVyZWYoYSkgZGVyZWYoYSkgIiwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9XZWFrUHRyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1dlYWtQdHIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwOThlODNmMWYwOGM4ODAyN2U2NjkxOTU3ZjUx
ZjU3NDI3ZjkwMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9XZWFrUHRyLmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJ0ZXN0LmgiCisKKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV1RGX1dlYWtQdHIsIEJhc2lj
KQoreworICAgIGludCBkdW1teSA9IDU7CisgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiogZmFjdG9y
eSA9IG5ldyBXZWFrUHRyRmFjdG9yeTxpbnQ+KCZkdW1teSk7CisgICAgV2Vha1B0cjxpbnQ+IHdl
YWtQdHIxID0gZmFjdG9yeS0+Y3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFr
UHRyMiA9IGZhY3RvcnktPmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0
cjMgPSBmYWN0b3J5LT5jcmVhdGVXZWFrUHRyKCk7CisgICAgRVhQRUNUX0VRKHdlYWtQdHIxLmdl
dCgpLCAmZHVtbXkpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRyMi5nZXQoKSwgJmR1bW15KTsKKyAg
ICBFWFBFQ1RfRVEod2Vha1B0cjMuZ2V0KCksICZkdW1teSk7CisgICAgRVhQRUNUX1RSVUUod2Vh
a1B0cjEpOworICAgIEVYUEVDVF9UUlVFKHdlYWtQdHIyKTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWFr
UHRyMyk7CisgICAgZGVsZXRlIGZhY3Rvcnk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjEuZ2V0
KCkpOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIyLmdldCgpKTsKKyAgICBFWFBFQ1RfTlVMTCh3
ZWFrUHRyMy5nZXQoKSk7CisgICAgRVhQRUNUX0ZBTFNFKHdlYWtQdHIxKTsKKyAgICBFWFBFQ1Rf
RkFMU0Uod2Vha1B0cjIpOworICAgIEVYUEVDVF9GQUxTRSh3ZWFrUHRyMyk7Cit9CisKK1RFU1Qo
V1RGX1dlYWtQdHIsIEFzc2lnbm1lbnQpCit7CisgICAgaW50IGR1bW15ID0gNTsKKyAgICBXZWFr
UHRyPGludD4gd2Vha1B0cjsKKyAgICB7CisgICAgICAgIFdlYWtQdHJGYWN0b3J5PGludD4gZmFj
dG9yeSgmZHVtbXkpOworICAgICAgICB3ZWFrUHRyID0gZmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7
CisgICAgICAgIEVYUEVDVF9FUSh3ZWFrUHRyLmdldCgpLCAmZHVtbXkpOworICAgIH0KKyAgICBF
WFBFQ1RfTlVMTCh3ZWFrUHRyLmdldCgpKTsKK30KKworVEVTVChXVEZfV2Vha1B0ciwgTXVsdGlw
bGVGYWN0b3JpZXMpCit7CisgICAgaW50IGR1bW15MSA9IDU7CisgICAgaW50IGR1bW15MiA9IDc7
CisgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiogZmFjdG9yeTEgPSBuZXcgV2Vha1B0ckZhY3Rvcnk8
aW50PigmZHVtbXkxKTsKKyAgICBXZWFrUHRyRmFjdG9yeTxpbnQ+KiBmYWN0b3J5MiA9IG5ldyBX
ZWFrUHRyRmFjdG9yeTxpbnQ+KCZkdW1teTIpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMSA9
IGZhY3RvcnkxLT5jcmVhdGVXZWFrUHRyKCk7CisgICAgV2Vha1B0cjxpbnQ+IHdlYWtQdHIyID0g
ZmFjdG9yeTItPmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjEuZ2V0KCks
ICZkdW1teTEpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRyMi5nZXQoKSwgJmR1bW15Mik7CisgICAg
ZGVsZXRlIGZhY3RvcnkxOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIxLmdldCgpKTsKKyAgICBF
WFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teTIpOworICAgIGRlbGV0ZSBmYWN0b3J5MjsK
KyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMi5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIs
IFJldm9rZUFsbCkKK3sKKyAgICBpbnQgZHVtbXkgPSA1OworICAgIFdlYWtQdHJGYWN0b3J5PGlu
dD4gZmFjdG9yeSgmZHVtbXkpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMSA9IGZhY3Rvcnku
Y3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMiA9IGZhY3RvcnkuY3Jl
YXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMyA9IGZhY3RvcnkuY3JlYXRl
V2Vha1B0cigpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRyMS5nZXQoKSwgJmR1bW15KTsKKyAgICBF
WFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teSk7CisgICAgRVhQRUNUX0VRKHdlYWtQdHIz
LmdldCgpLCAmZHVtbXkpOworICAgIGZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAgRVhQRUNUX05V
TEwod2Vha1B0cjEuZ2V0KCkpOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIyLmdldCgpKTsKKyAg
ICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMy5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIsIE51
bGxGYWN0b3J5KQoreworICAgIFdlYWtQdHJGYWN0b3J5PGludD4gZmFjdG9yeShudWxscHRyKTsK
KyAgICBXZWFrUHRyPGludD4gd2Vha1B0ciA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAg
IEVYUEVDVF9OVUxMKHdlYWtQdHIuZ2V0KCkpOworICAgIGZhY3RvcnkucmV2b2tlQWxsKCk7Cisg
ICAgRVhQRUNUX05VTEwod2Vha1B0ci5nZXQoKSk7Cit9CisKK3N0cnVjdCBGb28geworICAgIHZv
aWQgYmFyKCkgeyB9OworfTsKKworVEVTVChXVEZfV2Vha1B0ciwgRGVyZWZlcmVuY2UpCit7Cisg
ICAgRm9vIGY7CisgICAgV2Vha1B0ckZhY3Rvcnk8Rm9vPiBmYWN0b3J5KCZmKTsKKyAgICBXZWFr
UHRyPEZvbz4gd2Vha1B0ciA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIHdlYWtQdHIt
PmJhcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244779</attachid>
            <date>2015-01-16 11:29:35 -0800</date>
            <delta_ts>2015-01-16 12:18:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140479-20150116112941.patch</filename>
            <type>text/plain</type>
            <size>16039</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg1OGYzZGMyZTgyZWNiNTUzOTBhMTMz
ZWJhZDc5YmE0YTU4ODZkY2IuLmZhMjlhOTdjMWRmMDgyNDRjMzYwZGIxOTY2MzZlOWEyYTVjMmZi
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTUtMDEtMTYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3
aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlYXJyYW5nZXMgaG93IFdl
YWtQdHIgd29ya3MsIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBpZGVhcyBiZWhpbmQgaXQ6CisKKyAg
ICAgICAgMS4gV2Vha1B0ciBzaG91bGQgdXNlIFJlZiBpbnRlcm5hbGx5LiBUaGlzIHNvbHZlcyB0
aGUgY3Jhc2ggYnkgYWx3YXlzIGhhdmluZyBhCisgICAgICAgIHZhbGlkIFdlYWtSZWZlcmVuY2Uu
CisgICAgICAgIDIuIENsaWVudHMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBXZWFr
UmVmZXJlbmNlcyBkaXJlY3RseS4gSW5zdGVhZCwKKyAgICAgICAgb25seSBXZWFrUHRyRmFjdG9y
eSAoYW5kIFdlYWtQdHIncyBkZWZhdWx0IGNvbnN0cnVjdG9yKSBzaG91bGQgYmUgYWJsZSB0bwor
ICAgICAgICBjb25zdHJ1Y3QgdGhlbS4gVGhleSBhcmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRh
dGlvbiBkZXRhaWwgb2YgV2Vha1B0ci4KKyAgICAgICAgMy4gRXhjZXB0IGZvciB0aGUgZGVmYXVs
dCBjb25zdHJ1Y3RvciwgY2xpZW50cyBzaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0Cisg
ICAgICAgIFdlYWtQdHJzIGRpcmVjdGx5LiBJbnN0ZWFkLCB0aGUgV2Vha1B0ckZhY3RvcnkgbXVz
dCBjb25zdHJ1Y3QgdGhlbS4gVGhpcworICAgICAgICBndWFyYW50ZWVzIHRoYXQgdGhlIFdlYWtQ
dHJzIGFsbCByZWZlcmVuY2UgdGhlIHNhbWUgV2Vha1JlZmVyZW5jZS4KKyAgICAgICAgNC4gQ2xp
ZW50cyBjYW4gY29uc3RydWN0IGEgV2Vha1B0ciB1c2luZyBpdHMgZGVmYXVsdCBjb25zdHJ1Y3Rv
ciwgYW5kIHRoZW4KKyAgICAgICAgdXNlIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIG1ha2Ug
aXQgbm9uLW51bGwuIChPciB0aGV5IGNvdWxkIHVzZQorICAgICAgICBXZWFrUHRyRmFjdG9yeSB0
byBtYWtlIGl0IG5vbi1udWxsIGF0IGNyZWF0aW9uLXRpbWUuKQorICAgICAgICA1LiBObyBvbmUg
d2FzIHVzaW5nIFdlYWtSZWZlcmVuY2U6OmJpbmRUbygpLCBhbmQgaXQgZG9lc24ndCBzZWVtIHVz
ZWZ1bCwgc28gSQorICAgICAgICByZW1vdmVkIGl0LgorCisgICAgICAgIFRlc3RzOiBXVEZfV2Vh
a1B0ciBBUEkgdGVzdHMKKworICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAgICAgKFdURjo6UmVm
OjpSZWYpOiBBZGRlZCBleHRyYSBBU1NFUlQoKXMsIGFuZCBleHBsaWNpdGx5IGRlbGV0ZWQgY29w
eQorICAgICAgICBjb25zdHJ1Y3RvcnMgd2l0aCBhIGNvbW1lbnQuCisgICAgICAgIChXVEY6OlJl
Zjo6b3BlcmF0b3I9KTogQWRkZWQgZXh0cmEgQVNTRVJUKClzLCBhbmQgZXhwbGljaXRseSBkZWxl
dGVkIGNvcHkKKyAgICAgICAgYXNzaWdubWVudCBvcGVyYXRvcnMgd2l0aCBhIGNvbW1lbnQuCisg
ICAgICAgICogd3RmL1dlYWtQdHIuaDoKKyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6Y2xl
YXIpOiBVc2VkIG51bGxwdHIuCisgICAgICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmNyZWF0ZSk6
IE1vdmVkIHRvIHByaXZhdGU6CisgICAgICAgIChXVEY6OldlYWtQdHI6OldlYWtQdHIpOiBGb3Ig
dGhlIGRlZmF1bHQgY29uc3RydWN0b3IsIGluaXRpYWxpemVkIHRoZSBSZWYgd2l0aAorICAgICAg
ICBhIG5ldyBXZWFrUmVmZXJlbmNlLiBGb3IgdGhlIG90aGVyIGNvbnN0cnVjdG9yLCBtb3ZlZCBp
dCB0byBwcml2YXRlOi4gQWxzbyBhZGRlZAorICAgICAgICBjb3B5IGNvbnN0cnVjdG9ycyBhbmQg
Y29weSBhc3NpZ25tZW50IG9wZXJhdG9ycyAoc2luY2UgUmVmIGRvZXNuJ3QgaGF2ZSB0aGVtIGJ1
dAorICAgICAgICBSZWZQdHIgZG9lcykuIFRoZXNlIGNvbnN0cnVjdG9ycy9vcGVyYXRvcnMgYXJl
IHJlbGllZCB1cG9uIGluIHZhcmlvdXMgcGxhY2VzCisgICAgICAgIHRocm91Z2hvdXQgV2ViQ29y
ZS4KKyAgICAgICAgKFdURjo6V2Vha1B0cjo6b3BlcmF0b3IgYm9vbCk6IE1hZGUgbm9uLWV4cGxp
Y2l0LgorICAgICAgICAoV1RGOjpXZWFrUmVmZXJlbmNlOjpjcmVhdGVVbmJvdW5kKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6YmluZFRvKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6V2Vha1JlZmVyZW5jZSk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OldlYWtQdHJGYWN0b3J5OjpXZWFrUHRyRmFjdG9yeSk6IERlbGV0ZWQuCisKIDIwMTUt
MDEtMTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgRU5BQkxFKFNRTF9EQVRBQkFTRSkgZ3VhcmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9SZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZi5oCmluZGV4IDc5ZjY5NjAzYjUwNTAzM2Fl
MWYzMGQ2MmI4N2I2ODM2ZmFiN2ZiOWUuLjI4ZDY0YTQwODMzMzY3ZGUwMzkwYjA0MTA1ZmQxNzBj
ZjA0MTljYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZi5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1JlZi5oCkBAIC01MiwxNSArNTIsMjEgQEAgcHVibGljOgogICAgICAgICBtX3B0ci0+
cmVmKCk7CiAgICAgfQogCisgICAgLy8gVXNlIGNvcHlSZWYoKSBpbnN0ZWFkLgorICAgIFJlZihj
b25zdCBSZWYmIG90aGVyKSA9IGRlbGV0ZTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBSZWYo
Y29uc3QgUmVmPFU+JiBvdGhlcikgPSBkZWxldGU7CisKICAgICBSZWYoUmVmJiYgb3RoZXIpCiAg
ICAgICAgIDogbV9wdHIoJm90aGVyLmxlYWtSZWYoKSkKICAgICB7CisgICAgICAgIEFTU0VSVCht
X3B0cik7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KICAgICBSZWYoUmVmPFU+
JiYgb3RoZXIpCiAgICAgICAgIDogbV9wdHIoJm90aGVyLmxlYWtSZWYoKSkKICAgICB7CisgICAg
ICAgIEFTU0VSVChtX3B0cik7CiAgICAgfQogCiAgICAgUmVmJiBvcGVyYXRvcj0oVCYgb2JqZWN0
KQpAQCAtNjksMTQgKzc1LDIwIEBAIHB1YmxpYzoKICAgICAgICAgb2JqZWN0LnJlZigpOwogICAg
ICAgICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAgbV9wdHIgPSAmb2JqZWN0OworICAgICAgICBB
U1NFUlQobV9wdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCisgICAgLy8gVXNl
IGNvcHlSZWYoKSBhbmQgdGhlIG1vdmUgYXNzaWdubWVudCBvcGVyYXRvcnMgaW5zdGVhZC4KKyAg
ICBSZWYmIG9wZXJhdG9yPShjb25zdCBSZWYmIHJlZmVyZW5jZSkgPSBkZWxldGU7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gUmVmJiBvcGVyYXRvcj0oY29uc3QgUmVmPFU+JiByZWZlcmVuY2Up
ID0gZGVsZXRlOworCiAgICAgUmVmJiBvcGVyYXRvcj0oUmVmJiYgcmVmZXJlbmNlKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAgICAgICAgbV9wdHItPmRlcmVmKCk7CiAgICAgICAg
IG1fcHRyID0gJnJlZmVyZW5jZS5sZWFrUmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0cik7CiAg
ICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTg1LDYgKzk3LDcgQEAgcHVibGljOgog
ICAgICAgICBBU1NFUlQobV9wdHIpOwogICAgICAgICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAg
bV9wdHIgPSAmcmVmZXJlbmNlLmxlYWtSZWYoKTsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAg
ICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
V2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0ci5oCmluZGV4IDRmZDZmNzFmZWY5Zjc5
ZjM4NjcwMGM3M2ExNjBlYjEyOTUzZmMxZTguLjQ1ZWMxODBjYTQ2Mzc1ZWM0NjY3ZWRkYWFmMzE3
OTE3Y2RiMDk0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTI3LDggKzI3LDcgQEAKICNkZWZpbmUgV1RGX1dl
YWtQdHJfaAogCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIApAQCAtMzgsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrUHRyOwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha1B0ckZhY3Rvcnk7CisKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBXZWFr
UmVmZXJlbmNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdlYWtSZWZlcmVuY2U8VD4+
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWFrUmVmZXJlbmNlPFQ+KTsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWFr
UmVmZXJlbmNlPFQ+PiBjcmVhdGUoVCogcHRyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2Vha1Jl
ZmVyZW5jZShwdHIpKTsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+
IGNyZWF0ZVVuYm91bmQoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2Vha1JlZmVyZW5jZSgpKTsg
fQotCiAgICAgVCogZ2V0KCkgY29uc3QKICAgICB7CiAjaWYgVVNFKFdFQl9USFJFQUQpCkBAIC02
MywyMCArNjIsMTQgQEAgcHVibGljOgogI2Vsc2UKICAgICAgICAgQVNTRVJUKG1fYm91bmRUaHJl
YWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZgotICAgICAgICBtX3B0ciA9IDA7Ci0gICAg
fQotCi0gICAgdm9pZCBiaW5kVG8oVCogcHRyKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX3B0
cik7Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICBtX2JvdW5kVGhyZWFkID0gY3VycmVudFRocmVh
ZCgpOwotI2VuZGlmCi0gICAgICAgIG1fcHRyID0gcHRyOworICAgICAgICBtX3B0ciA9IG51bGxw
dHI7CiAgICAgfQogCiBwcml2YXRlOgotICAgIFdlYWtSZWZlcmVuY2UoKSA6IG1fcHRyKDApIHsg
fQorICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRyPFQ+OworICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRy
RmFjdG9yeTxUPjsKKworICAgIHN0YXRpYyBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gY3JlYXRlKFQq
IHB0cikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWFrUmVmZXJlbmNlKHB0cikpOyB9CiAKICAg
ICBleHBsaWNpdCBXZWFrUmVmZXJlbmNlKFQqIHB0cikKICAgICAgICAgOiBtX3B0cihwdHIpCkBA
IC05NiwxNiArODksMjMgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIFdlYWtQdHIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdlYWtQdHIoKSB7IH0K
LSAgICBXZWFrUHRyKFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gcmVmKSA6IG1fcmVmKHJl
ZikgeyB9CisgICAgV2Vha1B0cigpIDogbV9yZWYoV2Vha1JlZmVyZW5jZTxUPjo6Y3JlYXRlKG51
bGxwdHIpKSB7IH0KKyAgICBXZWFrUHRyKGNvbnN0IFdlYWtQdHImIG8pIDogbV9yZWYoby5tX3Jl
Zi5jb3B5UmVmKCkpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3Qg
V2Vha1B0cjxVPiYgbykgOiBtX3JlZihvLm1fcmVmLmNvcHlSZWYoKSkgeyB9CiAKICAgICBUKiBn
ZXQoKSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KLSAgICBleHBsaWNpdCBvcGVyYXRv
ciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CisgICAgb3BlcmF0b3IgYm9v
bCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQorCisgICAgV2Vha1B0ciYgb3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHImIG8pIHsgbV9yZWYgPSBvLm1fcmVmLmNvcHlSZWYoKTsgcmV0dXJu
ICp0aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KGNv
bnN0IFdlYWtQdHI8VT4mIG8pIHsgbV9yZWYgPSBvLm1fcmVmLmNvcHlSZWYoKTsgcmV0dXJuICp0
aGlzOyB9CiAKICAgICBUKiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgp
OyB9CiAKIHByaXZhdGU6Ci0gICAgUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+IG1fcmVmOworICAg
IGZyaWVuZCBjbGFzcyBXZWFrUHRyRmFjdG9yeTxUPjsKKyAgICBXZWFrUHRyKFJlZjxXZWFrUmVm
ZXJlbmNlPFQ+PiYmIHJlZikgOiBtX3JlZihzdGQ6OmZvcndhcmQ8UmVmPFdlYWtSZWZlcmVuY2U8
VD4+PihyZWYpKSB7IH0KKworICAgIFJlZjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC0xMTUsMTYgKzExNSwxMCBAQCBjbGFzcyBXZWFrUHRy
RmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2Vha1B0ckZhY3RvcnkoVCogcHRyKSA6
IG1fcmVmKFdlYWtSZWZlcmVuY2U8VD46OmNyZWF0ZShwdHIpKSB7IH0KIAotICAgIFdlYWtQdHJG
YWN0b3J5KFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gcmVmLCBUKiBwdHIpCi0gICAgICAg
IDogbV9yZWYocmVmKQotICAgIHsKLSAgICAgICAgbV9yZWYtPmJpbmRUbyhwdHIpOwotICAgIH0K
LQogICAgIH5XZWFrUHRyRmFjdG9yeSgpIHsgbV9yZWYtPmNsZWFyKCk7IH0KIAogICAgIC8vIFdl
IHNob3VsZCBjb25zaWRlciBoYXZpbmcgY3JlYXRlV2Vha1B0ciBwb3B1bGF0ZSBtX3JlZiB0aGUg
Zmlyc3QgdGltZSBjcmVhdGVXZWFrUHRyIGlzIGNhbGxlZC4KLSAgICBXZWFrUHRyPFQ+IGNyZWF0
ZVdlYWtQdHIoKSB7IHJldHVybiBXZWFrUHRyPFQ+KG1fcmVmKTsgfQorICAgIFdlYWtQdHI8VD4g
Y3JlYXRlV2Vha1B0cigpIHsgcmV0dXJuIFdlYWtQdHI8VD4obV9yZWYuY29weVJlZigpKTsgfQog
CiAgICAgdm9pZCByZXZva2VBbGwoKQogICAgIHsKQEAgLTEzNSw3ICsxMjksNyBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsK
KyAgICBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
VEYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAy
YTFjNzE5OThiZDY0N2RkZWViMzBiMzhmYmM0ZmE2MTU5NjUwYjZhLi5iZWUwNDA5ZjQyNDNmYjU1
MTAzMDJlYThiNDhhYWYzZWE1NTQxYjk4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDEtMTYgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0
aW9ucyBjcmFzaCB3aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV2Vha1B0ciBBUEkg
dGVzdHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XZWFr
UHRyLmNwcDogQWRkZWQuCisKIDIwMTUtMDEtMTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFKFNRTF9EQVRBQkFTRSkgZ3VhcmRz
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzYTNlZTgxNWUwNWI4MThjNzM5NDQ2ODBkZjFh
YWI4M2Q3NDQxNzEuLjcwMDEyMmE2MmZlYThkODdjMDZjNmQ1NDIwMzllM2VlNzgyMjAyNDMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNyw2ICsxNyw3IEBACiAJCTFBOUU1MkM5MTNFNjVF
RjQwMDY5MTdGNSAvKiAxOC1jaGFyYWN0ZXJzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA0NUY5NDYxMzg1QzJGODAwQzBGM0NEIC8q
IDE4LWNoYXJhY3RlcnMuaHRtbCAqLzsgfTsKIAkJMUFEQkVGRTMxMzBDNkFBMTAwRDYxRDE5IC8q
IHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREJFRkJDMTMwQzZBMDEwMEQ2MUQx
OSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLzsgfTsKIAkJMUFFREUy
MjYxM0U1RTdFNzAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRURFMjI0MTNFNUU3
QTAwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi87IH07CisJCTFD
QjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjlCQzM3MUE2NzQ4MjMwMEZFNTY3OCAvKiBX
ZWFrUHRyLmNwcCAqLzsgfTsKIAkJMjZERjVBNjMxNUEyQTI3RTAwMzY4OUMyIC8qIENhbmNlbExv
YWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkRGNUE2MTE1QTJBMjJCMDAzNjg5QzIgLyog
Q2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sICovOyB9OwogCQkyNkY1MkVB
RDE4Mjg4MjdCMDAyM0Q0MTIgLyogZ2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb24uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY1
MkVBQzE4Mjg4MjBFMDAyM0Q0MTIgLyogZ2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb24uaHRt
bCAqLzsgfTsKIAkJMjZGNTJFQUYxODI4OEMyMzAwMjNENDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3Vy
cmVudFBvc2l0aW9uV2l0aEhpZ2hBY2N1cmFjeS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjUyRUFFMTgyODhDMDQwMDIzRDQxMiAv
KiBnZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvbldpdGhIaWdoQWNjdXJhY3kuaHRtbCAqLzsg
fTsKQEAgLTQwNCw2ICs0MDUsNyBAQAogCQkxQUVERTIyNDEzRTVFN0EwMDBFNjJGRTggLyogSW5q
ZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQUVGOTk0ODE3QTA5RjUzMDA5OThFRjAgLyogR2V0UElEQWZ0ZXJB
Ym9ydGVkUHJvY2Vzc0xhdW5jaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZXRQSURBZnRlckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUFGREU2NTQxOTUzQjJDMDAwQzQ4RkZBIC8qIE9wdGlvbmFsLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wdGlvbmFsLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNCOUJDMzcxQTY3NDgyMzAwRkU1Njc4IC8qIFdlYWtQ
dHIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vha1B0ci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MTUxNkQ1MTVCMEU2MDUwMEEyQzIwMSAv
KiBTZXRBbmRVcGRhdGVDYWNoZU1vZGVsLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU2V0QW5kVXBkYXRlQ2FjaGVNb2RlbC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMjYzMDBCMTcxNjc1NUNEOTAwNjY4ODZEIC8qIExpc3RIYXNoU2V0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpc3RIYXNoU2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY1QUY1NEYxNUQxRTQ4QTAwQjBDQjRBIC8qIFdU
RlN0cmluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXVEZTdHJp
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAyMCw2ICsxMDIyLDcgQEAK
IAkJCQkwQkNEODU2OTE0ODVDOThCMDBFQTIwMDMgLyogVGVtcG9yYXJ5Q2hhbmdlLmNwcCAqLywK
IAkJCQlCQzU1RjVGODE0QUQ3OEVFMDA0ODRCRTEgLyogVmVjdG9yLmNwcCAqLywKIAkJCQkyNjVB
RjU0RjE1RDFFNDhBMDBCMENCNEEgLyogV1RGU3RyaW5nLmNwcCAqLywKKwkJCQkxQ0I5QkMzNzFB
Njc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IFdURjsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNTEzLDYgKzE1MTYsNyBAQAogCQkJaXNh
ID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwogCQkJZmlsZXMgPSAoCisJCQkJMUNCOUJDMzgxQTY3NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3NzY1Q0QxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5J
T1MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFp
bk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvV2Vha1B0ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjYTQ1NjdhNjhlNzZkYWE3YmY2NzgzMTAxZTY2
ZTZiMjZmZDg4NAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1dlYWtQdHIuY3BwCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgInRlc3QuaCIKKworI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXVEZfV2Vha1B0ciwgQmFzaWMp
Cit7CisgICAgaW50IGR1bW15ID0gNTsKKyAgICBXZWFrUHRyRmFjdG9yeTxpbnQ+KiBmYWN0b3J5
ID0gbmV3IFdlYWtQdHJGYWN0b3J5PGludD4oJmR1bW15KTsKKyAgICBXZWFrUHRyPGludD4gd2Vh
a1B0cjEgPSBmYWN0b3J5LT5jcmVhdGVXZWFrUHRyKCk7CisgICAgV2Vha1B0cjxpbnQ+IHdlYWtQ
dHIyID0gZmFjdG9yeS0+Y3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRy
MyA9IGZhY3RvcnktPmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjEuZ2V0
KCksICZkdW1teSk7CisgICAgRVhQRUNUX0VRKHdlYWtQdHIyLmdldCgpLCAmZHVtbXkpOworICAg
IEVYUEVDVF9FUSh3ZWFrUHRyMy5nZXQoKSwgJmR1bW15KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWFr
UHRyMSk7CisgICAgRVhQRUNUX1RSVUUod2Vha1B0cjIpOworICAgIEVYUEVDVF9UUlVFKHdlYWtQ
dHIzKTsKKyAgICBkZWxldGUgZmFjdG9yeTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMS5nZXQo
KSk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjIuZ2V0KCkpOworICAgIEVYUEVDVF9OVUxMKHdl
YWtQdHIzLmdldCgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uod2Vha1B0cjEpOworICAgIEVYUEVDVF9G
QUxTRSh3ZWFrUHRyMik7CisgICAgRVhQRUNUX0ZBTFNFKHdlYWtQdHIzKTsKK30KKworVEVTVChX
VEZfV2Vha1B0ciwgQXNzaWdubWVudCkKK3sKKyAgICBpbnQgZHVtbXkgPSA1OworICAgIFdlYWtQ
dHI8aW50PiB3ZWFrUHRyOworICAgIHsKKyAgICAgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiBmYWN0
b3J5KCZkdW1teSk7CisgICAgICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIuZ2V0KCkpOworICAgICAg
ICB3ZWFrUHRyID0gZmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7CisgICAgICAgIEVYUEVDVF9FUSh3
ZWFrUHRyLmdldCgpLCAmZHVtbXkpOworICAgIH0KKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyLmdl
dCgpKTsKK30KKworVEVTVChXVEZfV2Vha1B0ciwgTXVsdGlwbGVGYWN0b3JpZXMpCit7CisgICAg
aW50IGR1bW15MSA9IDU7CisgICAgaW50IGR1bW15MiA9IDc7CisgICAgV2Vha1B0ckZhY3Rvcnk8
aW50PiogZmFjdG9yeTEgPSBuZXcgV2Vha1B0ckZhY3Rvcnk8aW50PigmZHVtbXkxKTsKKyAgICBX
ZWFrUHRyRmFjdG9yeTxpbnQ+KiBmYWN0b3J5MiA9IG5ldyBXZWFrUHRyRmFjdG9yeTxpbnQ+KCZk
dW1teTIpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMSA9IGZhY3RvcnkxLT5jcmVhdGVXZWFr
UHRyKCk7CisgICAgV2Vha1B0cjxpbnQ+IHdlYWtQdHIyID0gZmFjdG9yeTItPmNyZWF0ZVdlYWtQ
dHIoKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjEuZ2V0KCksICZkdW1teTEpOworICAgIEVYUEVD
VF9FUSh3ZWFrUHRyMi5nZXQoKSwgJmR1bW15Mik7CisgICAgZGVsZXRlIGZhY3RvcnkxOworICAg
IEVYUEVDVF9OVUxMKHdlYWtQdHIxLmdldCgpKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0
KCksICZkdW1teTIpOworICAgIGRlbGV0ZSBmYWN0b3J5MjsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFr
UHRyMi5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIsIFJldm9rZUFsbCkKK3sKKyAgICBp
bnQgZHVtbXkgPSA1OworICAgIFdlYWtQdHJGYWN0b3J5PGludD4gZmFjdG9yeSgmZHVtbXkpOwor
ICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMSA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAg
IFdlYWtQdHI8aW50PiB3ZWFrUHRyMiA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIFdl
YWtQdHI8aW50PiB3ZWFrUHRyMyA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIEVYUEVD
VF9FUSh3ZWFrUHRyMS5nZXQoKSwgJmR1bW15KTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0
KCksICZkdW1teSk7CisgICAgRVhQRUNUX0VRKHdlYWtQdHIzLmdldCgpLCAmZHVtbXkpOworICAg
IGZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjEuZ2V0KCkpOwor
ICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIyLmdldCgpKTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRy
My5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIsIE51bGxGYWN0b3J5KQoreworICAgIFdl
YWtQdHJGYWN0b3J5PGludD4gZmFjdG9yeShudWxscHRyKTsKKyAgICBXZWFrUHRyPGludD4gd2Vh
a1B0ciA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIu
Z2V0KCkpOworICAgIGZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0
ci5nZXQoKSk7Cit9CisKK3N0cnVjdCBGb28geworICAgIHZvaWQgYmFyKCkgeyB9OworfTsKKwor
VEVTVChXVEZfV2Vha1B0ciwgRGVyZWZlcmVuY2UpCit7CisgICAgRm9vIGY7CisgICAgV2Vha1B0
ckZhY3Rvcnk8Rm9vPiBmYWN0b3J5KCZmKTsKKyAgICBXZWFrUHRyPEZvbz4gd2Vha1B0ciA9IGZh
Y3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIHdlYWtQdHItPmJhcigpOworfQorCit9IC8vIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244786</attachid>
            <date>2015-01-16 12:19:01 -0800</date>
            <delta_ts>2015-01-16 16:39:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140479-20150116121908.patch</filename>
            <type>text/plain</type>
            <size>16768</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg1OGYzZGMyZTgyZWNiNTUzOTBhMTMz
ZWJhZDc5YmE0YTU4ODZkY2IuLmZhMjlhOTdjMWRmMDgyNDRjMzYwZGIxOTY2MzZlOWEyYTVjMmZi
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTUtMDEtMTYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3
aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlYXJyYW5nZXMgaG93IFdl
YWtQdHIgd29ya3MsIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBpZGVhcyBiZWhpbmQgaXQ6CisKKyAg
ICAgICAgMS4gV2Vha1B0ciBzaG91bGQgdXNlIFJlZiBpbnRlcm5hbGx5LiBUaGlzIHNvbHZlcyB0
aGUgY3Jhc2ggYnkgYWx3YXlzIGhhdmluZyBhCisgICAgICAgIHZhbGlkIFdlYWtSZWZlcmVuY2Uu
CisgICAgICAgIDIuIENsaWVudHMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBXZWFr
UmVmZXJlbmNlcyBkaXJlY3RseS4gSW5zdGVhZCwKKyAgICAgICAgb25seSBXZWFrUHRyRmFjdG9y
eSAoYW5kIFdlYWtQdHIncyBkZWZhdWx0IGNvbnN0cnVjdG9yKSBzaG91bGQgYmUgYWJsZSB0bwor
ICAgICAgICBjb25zdHJ1Y3QgdGhlbS4gVGhleSBhcmUgY29uc2lkZXJlZCBhbiBpbXBsZW1lbnRh
dGlvbiBkZXRhaWwgb2YgV2Vha1B0ci4KKyAgICAgICAgMy4gRXhjZXB0IGZvciB0aGUgZGVmYXVs
dCBjb25zdHJ1Y3RvciwgY2xpZW50cyBzaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0Cisg
ICAgICAgIFdlYWtQdHJzIGRpcmVjdGx5LiBJbnN0ZWFkLCB0aGUgV2Vha1B0ckZhY3RvcnkgbXVz
dCBjb25zdHJ1Y3QgdGhlbS4gVGhpcworICAgICAgICBndWFyYW50ZWVzIHRoYXQgdGhlIFdlYWtQ
dHJzIGFsbCByZWZlcmVuY2UgdGhlIHNhbWUgV2Vha1JlZmVyZW5jZS4KKyAgICAgICAgNC4gQ2xp
ZW50cyBjYW4gY29uc3RydWN0IGEgV2Vha1B0ciB1c2luZyBpdHMgZGVmYXVsdCBjb25zdHJ1Y3Rv
ciwgYW5kIHRoZW4KKyAgICAgICAgdXNlIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIG1ha2Ug
aXQgbm9uLW51bGwuIChPciB0aGV5IGNvdWxkIHVzZQorICAgICAgICBXZWFrUHRyRmFjdG9yeSB0
byBtYWtlIGl0IG5vbi1udWxsIGF0IGNyZWF0aW9uLXRpbWUuKQorICAgICAgICA1LiBObyBvbmUg
d2FzIHVzaW5nIFdlYWtSZWZlcmVuY2U6OmJpbmRUbygpLCBhbmQgaXQgZG9lc24ndCBzZWVtIHVz
ZWZ1bCwgc28gSQorICAgICAgICByZW1vdmVkIGl0LgorCisgICAgICAgIFRlc3RzOiBXVEZfV2Vh
a1B0ciBBUEkgdGVzdHMKKworICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAgICAgKFdURjo6UmVm
OjpSZWYpOiBBZGRlZCBleHRyYSBBU1NFUlQoKXMsIGFuZCBleHBsaWNpdGx5IGRlbGV0ZWQgY29w
eQorICAgICAgICBjb25zdHJ1Y3RvcnMgd2l0aCBhIGNvbW1lbnQuCisgICAgICAgIChXVEY6OlJl
Zjo6b3BlcmF0b3I9KTogQWRkZWQgZXh0cmEgQVNTRVJUKClzLCBhbmQgZXhwbGljaXRseSBkZWxl
dGVkIGNvcHkKKyAgICAgICAgYXNzaWdubWVudCBvcGVyYXRvcnMgd2l0aCBhIGNvbW1lbnQuCisg
ICAgICAgICogd3RmL1dlYWtQdHIuaDoKKyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6Y2xl
YXIpOiBVc2VkIG51bGxwdHIuCisgICAgICAgIChXVEY6OldlYWtSZWZlcmVuY2U6OmNyZWF0ZSk6
IE1vdmVkIHRvIHByaXZhdGU6CisgICAgICAgIChXVEY6OldlYWtQdHI6OldlYWtQdHIpOiBGb3Ig
dGhlIGRlZmF1bHQgY29uc3RydWN0b3IsIGluaXRpYWxpemVkIHRoZSBSZWYgd2l0aAorICAgICAg
ICBhIG5ldyBXZWFrUmVmZXJlbmNlLiBGb3IgdGhlIG90aGVyIGNvbnN0cnVjdG9yLCBtb3ZlZCBp
dCB0byBwcml2YXRlOi4gQWxzbyBhZGRlZAorICAgICAgICBjb3B5IGNvbnN0cnVjdG9ycyBhbmQg
Y29weSBhc3NpZ25tZW50IG9wZXJhdG9ycyAoc2luY2UgUmVmIGRvZXNuJ3QgaGF2ZSB0aGVtIGJ1
dAorICAgICAgICBSZWZQdHIgZG9lcykuIFRoZXNlIGNvbnN0cnVjdG9ycy9vcGVyYXRvcnMgYXJl
IHJlbGllZCB1cG9uIGluIHZhcmlvdXMgcGxhY2VzCisgICAgICAgIHRocm91Z2hvdXQgV2ViQ29y
ZS4KKyAgICAgICAgKFdURjo6V2Vha1B0cjo6b3BlcmF0b3IgYm9vbCk6IE1hZGUgbm9uLWV4cGxp
Y2l0LgorICAgICAgICAoV1RGOjpXZWFrUmVmZXJlbmNlOjpjcmVhdGVVbmJvdW5kKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6YmluZFRvKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdURjo6V2Vha1JlZmVyZW5jZTo6V2Vha1JlZmVyZW5jZSk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OldlYWtQdHJGYWN0b3J5OjpXZWFrUHRyRmFjdG9yeSk6IERlbGV0ZWQuCisKIDIwMTUt
MDEtMTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgRU5BQkxFKFNRTF9EQVRBQkFTRSkgZ3VhcmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9SZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZi5oCmluZGV4IDc5ZjY5NjAzYjUwNTAzM2Fl
MWYzMGQ2MmI4N2I2ODM2ZmFiN2ZiOWUuLjI4ZDY0YTQwODMzMzY3ZGUwMzkwYjA0MTA1ZmQxNzBj
ZjA0MTljYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZi5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1JlZi5oCkBAIC01MiwxNSArNTIsMjEgQEAgcHVibGljOgogICAgICAgICBtX3B0ci0+
cmVmKCk7CiAgICAgfQogCisgICAgLy8gVXNlIGNvcHlSZWYoKSBpbnN0ZWFkLgorICAgIFJlZihj
b25zdCBSZWYmIG90aGVyKSA9IGRlbGV0ZTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBSZWYo
Y29uc3QgUmVmPFU+JiBvdGhlcikgPSBkZWxldGU7CisKICAgICBSZWYoUmVmJiYgb3RoZXIpCiAg
ICAgICAgIDogbV9wdHIoJm90aGVyLmxlYWtSZWYoKSkKICAgICB7CisgICAgICAgIEFTU0VSVCht
X3B0cik7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KICAgICBSZWYoUmVmPFU+
JiYgb3RoZXIpCiAgICAgICAgIDogbV9wdHIoJm90aGVyLmxlYWtSZWYoKSkKICAgICB7CisgICAg
ICAgIEFTU0VSVChtX3B0cik7CiAgICAgfQogCiAgICAgUmVmJiBvcGVyYXRvcj0oVCYgb2JqZWN0
KQpAQCAtNjksMTQgKzc1LDIwIEBAIHB1YmxpYzoKICAgICAgICAgb2JqZWN0LnJlZigpOwogICAg
ICAgICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAgbV9wdHIgPSAmb2JqZWN0OworICAgICAgICBB
U1NFUlQobV9wdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCisgICAgLy8gVXNl
IGNvcHlSZWYoKSBhbmQgdGhlIG1vdmUgYXNzaWdubWVudCBvcGVyYXRvcnMgaW5zdGVhZC4KKyAg
ICBSZWYmIG9wZXJhdG9yPShjb25zdCBSZWYmIHJlZmVyZW5jZSkgPSBkZWxldGU7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gUmVmJiBvcGVyYXRvcj0oY29uc3QgUmVmPFU+JiByZWZlcmVuY2Up
ID0gZGVsZXRlOworCiAgICAgUmVmJiBvcGVyYXRvcj0oUmVmJiYgcmVmZXJlbmNlKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAgICAgICAgbV9wdHItPmRlcmVmKCk7CiAgICAgICAg
IG1fcHRyID0gJnJlZmVyZW5jZS5sZWFrUmVmKCk7CisgICAgICAgIEFTU0VSVChtX3B0cik7CiAg
ICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTg1LDYgKzk3LDcgQEAgcHVibGljOgog
ICAgICAgICBBU1NFUlQobV9wdHIpOwogICAgICAgICBtX3B0ci0+ZGVyZWYoKTsKICAgICAgICAg
bV9wdHIgPSAmcmVmZXJlbmNlLmxlYWtSZWYoKTsKKyAgICAgICAgQVNTRVJUKG1fcHRyKTsKICAg
ICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
V2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0ci5oCmluZGV4IDRmZDZmNzFmZWY5Zjc5
ZjM4NjcwMGM3M2ExNjBlYjEyOTUzZmMxZTguLjQ1ZWMxODBjYTQ2Mzc1ZWM0NjY3ZWRkYWFmMzE3
OTE3Y2RiMDk0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTI3LDggKzI3LDcgQEAKICNkZWZpbmUgV1RGX1dl
YWtQdHJfaAogCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIApAQCAtMzgsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrUHRyOwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha1B0ckZhY3Rvcnk7CisKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBXZWFr
UmVmZXJlbmNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdlYWtSZWZlcmVuY2U8VD4+
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWFrUmVmZXJlbmNlPFQ+KTsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWFr
UmVmZXJlbmNlPFQ+PiBjcmVhdGUoVCogcHRyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2Vha1Jl
ZmVyZW5jZShwdHIpKTsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+
IGNyZWF0ZVVuYm91bmQoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2Vha1JlZmVyZW5jZSgpKTsg
fQotCiAgICAgVCogZ2V0KCkgY29uc3QKICAgICB7CiAjaWYgVVNFKFdFQl9USFJFQUQpCkBAIC02
MywyMCArNjIsMTQgQEAgcHVibGljOgogI2Vsc2UKICAgICAgICAgQVNTRVJUKG1fYm91bmRUaHJl
YWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZgotICAgICAgICBtX3B0ciA9IDA7Ci0gICAg
fQotCi0gICAgdm9pZCBiaW5kVG8oVCogcHRyKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX3B0
cik7Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICBtX2JvdW5kVGhyZWFkID0gY3VycmVudFRocmVh
ZCgpOwotI2VuZGlmCi0gICAgICAgIG1fcHRyID0gcHRyOworICAgICAgICBtX3B0ciA9IG51bGxw
dHI7CiAgICAgfQogCiBwcml2YXRlOgotICAgIFdlYWtSZWZlcmVuY2UoKSA6IG1fcHRyKDApIHsg
fQorICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRyPFQ+OworICAgIGZyaWVuZCBjbGFzcyBXZWFrUHRy
RmFjdG9yeTxUPjsKKworICAgIHN0YXRpYyBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gY3JlYXRlKFQq
IHB0cikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWFrUmVmZXJlbmNlKHB0cikpOyB9CiAKICAg
ICBleHBsaWNpdCBXZWFrUmVmZXJlbmNlKFQqIHB0cikKICAgICAgICAgOiBtX3B0cihwdHIpCkBA
IC05NiwxNiArODksMjMgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIFdlYWtQdHIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdlYWtQdHIoKSB7IH0K
LSAgICBXZWFrUHRyKFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gcmVmKSA6IG1fcmVmKHJl
ZikgeyB9CisgICAgV2Vha1B0cigpIDogbV9yZWYoV2Vha1JlZmVyZW5jZTxUPjo6Y3JlYXRlKG51
bGxwdHIpKSB7IH0KKyAgICBXZWFrUHRyKGNvbnN0IFdlYWtQdHImIG8pIDogbV9yZWYoby5tX3Jl
Zi5jb3B5UmVmKCkpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3Qg
V2Vha1B0cjxVPiYgbykgOiBtX3JlZihvLm1fcmVmLmNvcHlSZWYoKSkgeyB9CiAKICAgICBUKiBn
ZXQoKSBjb25zdCB7IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KLSAgICBleHBsaWNpdCBvcGVyYXRv
ciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CisgICAgb3BlcmF0b3IgYm9v
bCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmLT5nZXQoKTsgfQorCisgICAgV2Vha1B0ciYgb3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHImIG8pIHsgbV9yZWYgPSBvLm1fcmVmLmNvcHlSZWYoKTsgcmV0dXJu
ICp0aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KGNv
bnN0IFdlYWtQdHI8VT4mIG8pIHsgbV9yZWYgPSBvLm1fcmVmLmNvcHlSZWYoKTsgcmV0dXJuICp0
aGlzOyB9CiAKICAgICBUKiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgp
OyB9CiAKIHByaXZhdGU6Ci0gICAgUmVmUHRyPFdlYWtSZWZlcmVuY2U8VD4+IG1fcmVmOworICAg
IGZyaWVuZCBjbGFzcyBXZWFrUHRyRmFjdG9yeTxUPjsKKyAgICBXZWFrUHRyKFJlZjxXZWFrUmVm
ZXJlbmNlPFQ+PiYmIHJlZikgOiBtX3JlZihzdGQ6OmZvcndhcmQ8UmVmPFdlYWtSZWZlcmVuY2U8
VD4+PihyZWYpKSB7IH0KKworICAgIFJlZjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC0xMTUsMTYgKzExNSwxMCBAQCBjbGFzcyBXZWFrUHRy
RmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2Vha1B0ckZhY3RvcnkoVCogcHRyKSA6
IG1fcmVmKFdlYWtSZWZlcmVuY2U8VD46OmNyZWF0ZShwdHIpKSB7IH0KIAotICAgIFdlYWtQdHJG
YWN0b3J5KFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxUPj4gcmVmLCBUKiBwdHIpCi0gICAgICAg
IDogbV9yZWYocmVmKQotICAgIHsKLSAgICAgICAgbV9yZWYtPmJpbmRUbyhwdHIpOwotICAgIH0K
LQogICAgIH5XZWFrUHRyRmFjdG9yeSgpIHsgbV9yZWYtPmNsZWFyKCk7IH0KIAogICAgIC8vIFdl
IHNob3VsZCBjb25zaWRlciBoYXZpbmcgY3JlYXRlV2Vha1B0ciBwb3B1bGF0ZSBtX3JlZiB0aGUg
Zmlyc3QgdGltZSBjcmVhdGVXZWFrUHRyIGlzIGNhbGxlZC4KLSAgICBXZWFrUHRyPFQ+IGNyZWF0
ZVdlYWtQdHIoKSB7IHJldHVybiBXZWFrUHRyPFQ+KG1fcmVmKTsgfQorICAgIFdlYWtQdHI8VD4g
Y3JlYXRlV2Vha1B0cigpIHsgcmV0dXJuIFdlYWtQdHI8VD4obV9yZWYuY29weVJlZigpKTsgfQog
CiAgICAgdm9pZCByZXZva2VBbGwoKQogICAgIHsKQEAgLTEzNSw3ICsxMjksNyBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIFJlZlB0cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsK
KyAgICBSZWY8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
VEYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAy
YTFjNzE5OThiZDY0N2RkZWViMzBiMzhmYmM0ZmE2MTU5NjUwYjZhLi5mOWM4YjIxNjE1Y2NhNWFk
MTZmMjQ3ZGE2MmQzMjUzYmEzODhhMDZlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDEtMTYgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWFrUHRyIGZ1bmN0
aW9ucyBjcmFzaCB3aGVuIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV2Vha1B0ciBBUEkg
dGVzdHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XZWFr
UHRyLmNwcDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmLmNw
cDogVXBkYXRlIHRvIG5vdCB1c2UgY29weSBjb25zdHJ1Y3Rvci4KKwogMjAxNS0wMS0xNSAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFC
TEUoU1FMX0RBVEFCQVNFKSBndWFyZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNhM2Vl
ODE1ZTA1YjgxOGM3Mzk0NDY4MGRmMWFhYjgzZDc0NDE3MS4uNzAwMTIyYTYyZmVhOGQ4N2MwNmM2
ZDU0MjAzOWUzZWU3ODIyMDI0MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3LDYgKzE3
LDcgQEAKIAkJMUE5RTUyQzkxM0U2NUVGNDAwNjkxN0Y1IC8qIDE4LWNoYXJhY3RlcnMuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDQ1
Rjk0NjEzODVDMkY4MDBDMEYzQ0QgLyogMTgtY2hhcmFjdGVycy5odG1sICovOyB9OwogCQkxQURC
RUZFMzEzMEM2QUExMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFEQkVGQkMxMzBDNkEwMTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGlu
Zy5odG1sICovOyB9OwogCQkxQUVERTIyNjEzRTVFN0U3MDBFNjJGRTggLyogSW5qZWN0ZWRCdW5k
bGVDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFFREUyMjQxM0U1RTdBMDAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29udHJv
bGxlck1hYy5tbSAqLzsgfTsKKwkJMUNCOUJDMzgxQTY3NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCOUJD
MzcxQTY3NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIuY3BwICovOyB9OwogCQkyNkRGNUE2MzE1QTJB
MjdFMDAzNjg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1
QTYxMTVBMkEyMkIwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRl
Lmh0bWwgKi87IH07CiAJCTI2RjUyRUFEMTgyODgyN0IwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbkdl
dEN1cnJlbnRQb3NpdGlvbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjUyRUFDMTgyODgyMEUwMDIzRDQxMiAvKiBnZW9sb2NhdGlv
bkdldEN1cnJlbnRQb3NpdGlvbi5odG1sICovOyB9OwogCQkyNkY1MkVBRjE4Mjg4QzIzMDAyM0Q0
MTIgLyogZ2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb25XaXRoSGlnaEFjY3VyYWN5Lmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
NTJFQUUxODI4OEMwNDAwMjNENDEyIC8qIGdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uV2l0
aEhpZ2hBY2N1cmFjeS5odG1sICovOyB9OwpAQCAtNDA0LDYgKzQwNSw3IEBACiAJCTFBRURFMjI0
MTNFNUU3QTAwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUNvbnRyb2xs
ZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRUY5OTQ4MTdBMDlGNTMw
MDk5OEVGMCAvKiBHZXRQSURBZnRlckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdldFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVu
Y2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUZERTY1NDE5NTNCMkMwMDBD
NDhGRkEgLyogT3B0aW9uYWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gT3B0aW9uYWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0I5QkMzNzFB
Njc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWFrUHRyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjYx
NTE2RDUxNUIwRTYwNTAwQTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXRBbmRVcGRhdGVDYWNoZU1vZGVs
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjMwMEIxNzE2NzU1Q0Q5MDA2Njg4
NkQgLyogTGlzdEhhc2hTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTGlzdEhhc2hTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjVBRjU0
RjE1RDFFNDhBMDBCMENCNEEgLyogV1RGU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdURlN0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMDIwLDYgKzEwMjIsNyBAQAogCQkJCTBCQ0Q4NTY5MTQ4NUM5OEIwMEVBMjAwMyAvKiBU
ZW1wb3JhcnlDaGFuZ2UuY3BwICovLAogCQkJCUJDNTVGNUY4MTRBRDc4RUUwMDQ4NEJFMSAvKiBW
ZWN0b3IuY3BwICovLAogCQkJCTI2NUFGNTRGMTVEMUU0OEEwMEIwQ0I0QSAvKiBXVEZTdHJpbmcu
Y3BwICovLAorCQkJCTFDQjlCQzM3MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gV1RGOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE1
MTMsNiArMTUxNiw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkxQ0I5QkMzODFBNjc0
ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTc3NjVDRDE2
QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFNzc2NUNG
MTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZi5jcHAKaW5kZXggMDIyN2I1YjBhN2IzY2MxODkwNzVl
YjIyMjIxNDUzMzU2MGRjZGZhYi4uOGM2MjJkMDdiNzZkMGNmZWUwNDBhYWY5NzQ5NmFkMTllNTYw
NmUzMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SZWYuY3BwCkBAIC0xNTEsNyArMTUx
LDcgQEAgVEVTVChXVEZfUmVmLCBSZXR1cm5WYWx1ZSkKIAogICAgIHsKICAgICAgICAgUmVmPERl
cml2ZWRSZWZMb2dnZXI+IGRlcml2ZWRSZWZlcmVuY2UoYSk7Ci0gICAgICAgIFJlZjxSZWZMb2dn
ZXI+IGJhc2VSZWZlcmVuY2UocGFzc1dpdGhSZWYoUmVmPFJlZkxvZ2dlcj4oZGVyaXZlZFJlZmVy
ZW5jZSkpKTsKKyAgICAgICAgUmVmPFJlZkxvZ2dlcj4gYmFzZVJlZmVyZW5jZShwYXNzV2l0aFJl
ZihkZXJpdmVkUmVmZXJlbmNlLmNvcHlSZWYoKSkpOwogICAgICAgICBBU1NFUlRfRVEoJmEsIGRl
cml2ZWRSZWZlcmVuY2UucHRyKCkpOwogICAgICAgICBBU1NFUlRfRVEoJmEsIGJhc2VSZWZlcmVu
Y2UucHRyKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1dlYWtQdHIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODJjYTQ1NjdhNjhlNzZkYWE3YmY2NzgzMTAxZTY2ZTZiMjZmZDg4NAot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIu
Y3BwCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgInRlc3QuaCIKKworI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXVEZfV2Vha1B0ciwgQmFzaWMpCit7CisgICAgaW50
IGR1bW15ID0gNTsKKyAgICBXZWFrUHRyRmFjdG9yeTxpbnQ+KiBmYWN0b3J5ID0gbmV3IFdlYWtQ
dHJGYWN0b3J5PGludD4oJmR1bW15KTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0cjEgPSBmYWN0
b3J5LT5jcmVhdGVXZWFrUHRyKCk7CisgICAgV2Vha1B0cjxpbnQ+IHdlYWtQdHIyID0gZmFjdG9y
eS0+Y3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3ZWFrUHRyMyA9IGZhY3Rvcnkt
PmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjEuZ2V0KCksICZkdW1teSk7
CisgICAgRVhQRUNUX0VRKHdlYWtQdHIyLmdldCgpLCAmZHVtbXkpOworICAgIEVYUEVDVF9FUSh3
ZWFrUHRyMy5nZXQoKSwgJmR1bW15KTsKKyAgICBFWFBFQ1RfVFJVRSh3ZWFrUHRyMSk7CisgICAg
RVhQRUNUX1RSVUUod2Vha1B0cjIpOworICAgIEVYUEVDVF9UUlVFKHdlYWtQdHIzKTsKKyAgICBk
ZWxldGUgZmFjdG9yeTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMS5nZXQoKSk7CisgICAgRVhQ
RUNUX05VTEwod2Vha1B0cjIuZ2V0KCkpOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIzLmdldCgp
KTsKKyAgICBFWFBFQ1RfRkFMU0Uod2Vha1B0cjEpOworICAgIEVYUEVDVF9GQUxTRSh3ZWFrUHRy
Mik7CisgICAgRVhQRUNUX0ZBTFNFKHdlYWtQdHIzKTsKK30KKworVEVTVChXVEZfV2Vha1B0ciwg
QXNzaWdubWVudCkKK3sKKyAgICBpbnQgZHVtbXkgPSA1OworICAgIFdlYWtQdHI8aW50PiB3ZWFr
UHRyOworICAgIHsKKyAgICAgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiBmYWN0b3J5KCZkdW1teSk7
CisgICAgICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIuZ2V0KCkpOworICAgICAgICB3ZWFrUHRyID0g
ZmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7CisgICAgICAgIEVYUEVDVF9FUSh3ZWFrUHRyLmdldCgp
LCAmZHVtbXkpOworICAgIH0KKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyLmdldCgpKTsKK30KKwor
VEVTVChXVEZfV2Vha1B0ciwgTXVsdGlwbGVGYWN0b3JpZXMpCit7CisgICAgaW50IGR1bW15MSA9
IDU7CisgICAgaW50IGR1bW15MiA9IDc7CisgICAgV2Vha1B0ckZhY3Rvcnk8aW50PiogZmFjdG9y
eTEgPSBuZXcgV2Vha1B0ckZhY3Rvcnk8aW50PigmZHVtbXkxKTsKKyAgICBXZWFrUHRyRmFjdG9y
eTxpbnQ+KiBmYWN0b3J5MiA9IG5ldyBXZWFrUHRyRmFjdG9yeTxpbnQ+KCZkdW1teTIpOworICAg
IFdlYWtQdHI8aW50PiB3ZWFrUHRyMSA9IGZhY3RvcnkxLT5jcmVhdGVXZWFrUHRyKCk7CisgICAg
V2Vha1B0cjxpbnQ+IHdlYWtQdHIyID0gZmFjdG9yeTItPmNyZWF0ZVdlYWtQdHIoKTsKKyAgICBF
WFBFQ1RfRVEod2Vha1B0cjEuZ2V0KCksICZkdW1teTEpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRy
Mi5nZXQoKSwgJmR1bW15Mik7CisgICAgZGVsZXRlIGZhY3RvcnkxOworICAgIEVYUEVDVF9OVUxM
KHdlYWtQdHIxLmdldCgpKTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teTIp
OworICAgIGRlbGV0ZSBmYWN0b3J5MjsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMi5nZXQoKSk7
Cit9CisKK1RFU1QoV1RGX1dlYWtQdHIsIFJldm9rZUFsbCkKK3sKKyAgICBpbnQgZHVtbXkgPSA1
OworICAgIFdlYWtQdHJGYWN0b3J5PGludD4gZmFjdG9yeSgmZHVtbXkpOworICAgIFdlYWtQdHI8
aW50PiB3ZWFrUHRyMSA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50
PiB3ZWFrUHRyMiA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIFdlYWtQdHI8aW50PiB3
ZWFrUHRyMyA9IGZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgIEVYUEVDVF9FUSh3ZWFrUHRy
MS5nZXQoKSwgJmR1bW15KTsKKyAgICBFWFBFQ1RfRVEod2Vha1B0cjIuZ2V0KCksICZkdW1teSk7
CisgICAgRVhQRUNUX0VRKHdlYWtQdHIzLmdldCgpLCAmZHVtbXkpOworICAgIGZhY3RvcnkucmV2
b2tlQWxsKCk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0cjEuZ2V0KCkpOworICAgIEVYUEVDVF9O
VUxMKHdlYWtQdHIyLmdldCgpKTsKKyAgICBFWFBFQ1RfTlVMTCh3ZWFrUHRyMy5nZXQoKSk7Cit9
CisKK1RFU1QoV1RGX1dlYWtQdHIsIE51bGxGYWN0b3J5KQoreworICAgIFdlYWtQdHJGYWN0b3J5
PGludD4gZmFjdG9yeShudWxscHRyKTsKKyAgICBXZWFrUHRyPGludD4gd2Vha1B0ciA9IGZhY3Rv
cnkuY3JlYXRlV2Vha1B0cigpOworICAgIEVYUEVDVF9OVUxMKHdlYWtQdHIuZ2V0KCkpOworICAg
IGZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAgRVhQRUNUX05VTEwod2Vha1B0ci5nZXQoKSk7Cit9
CisKK3N0cnVjdCBGb28geworICAgIHZvaWQgYmFyKCkgeyB9OworfTsKKworVEVTVChXVEZfV2Vh
a1B0ciwgRGVyZWZlcmVuY2UpCit7CisgICAgRm9vIGY7CisgICAgV2Vha1B0ckZhY3Rvcnk8Rm9v
PiBmYWN0b3J5KCZmKTsKKyAgICBXZWFrUHRyPEZvbz4gd2Vha1B0ciA9IGZhY3RvcnkuY3JlYXRl
V2Vha1B0cigpOworICAgIHdlYWtQdHItPmJhcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>