<?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>133320</bug_id>
          
          <creation_ts>2014-05-27 12:29:34 -0700</creation_ts>
          <short_desc>[GTK] Adds implementation of subtle crypto HMAC algorithm</short_desc>
          <delta_ts>2014-09-23 09:41:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>133316</dependson>
    
    <dependson>133317</dependson>
          <blocked>133122</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eduardo Lima Mitev">elima</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012039</commentid>
    <comment_count>0</comment_count>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-05-27 12:29:34 -0700</bug_when>
    <thetext>[GTK] Adds implementation of subtle crypto HMAC algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012043</commentid>
    <comment_count>1</comment_count>
      <attachid>232145</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-05-27 12:45:04 -0700</bug_when>
    <thetext>Created attachment 232145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012045</commentid>
    <comment_count>2</comment_count>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-05-27 12:48:05 -0700</bug_when>
    <thetext>Adding dependency on bug 133316 and bug 133317.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012171</commentid>
    <comment_count>3</comment_count>
      <attachid>232183</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-05-28 03:10:35 -0700</bug_when>
    <thetext>Created attachment 232183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012179</commentid>
    <comment_count>4</comment_count>
      <attachid>232188</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-05-28 03:40:50 -0700</bug_when>
    <thetext>Created attachment 232188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028753</commentid>
    <comment_count>5</comment_count>
      <attachid>236507</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-08-13 02:39:17 -0700</bug_when>
    <thetext>Created attachment 236507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028754</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-13 02:40:41 -0700</bug_when>
    <thetext>Attachment 236507 did not pass style-queue:


ERROR: Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 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>1036485</commentid>
    <comment_count>7</comment_count>
      <attachid>236507</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-09-22 02:20:29 -0700</bug_when>
    <thetext>Comment on attachment 236507
Patch

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

Looks good! Only a small nit to fix, I think

&gt; Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp:99
&gt; +    callback(result);}

Is this a spurious curly brace?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036724</commentid>
    <comment_count>8</comment_count>
      <attachid>238540</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-09-23 07:43:42 -0700</bug_when>
    <thetext>Created attachment 238540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036725</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 07:45:25 -0700</bug_when>
    <thetext>Attachment 238540 did not pass style-queue:


ERROR: Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 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>1036732</commentid>
    <comment_count>10</comment_count>
      <attachid>238540</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 08:29:24 -0700</bug_when>
    <thetext>Comment on attachment 238540
Patch

Rejecting attachment 238540 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 238540, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
/git.webkit.org/WebKit
   a45428a..f931c1e  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 173871 = a45428ae254d923e5c28643f3328a338c0c90ddc
r173872 = f931c1ee8604471d4f672c8451fd6c8fa160443e
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.appspot.com/results/4735183215394816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036733</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-09-23 08:43:37 -0700</bug_when>
    <thetext>Needs a rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036735</commentid>
    <comment_count>12</comment_count>
      <attachid>238542</attachid>
    <who name="Eduardo Lima Mitev">elima</who>
    <bug_when>2014-09-23 08:55:01 -0700</bug_when>
    <thetext>Created attachment 238542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036737</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 08:57:39 -0700</bug_when>
    <thetext>Attachment 238542 did not pass style-queue:


ERROR: Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 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>1036744</commentid>
    <comment_count>14</comment_count>
      <attachid>238542</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 09:41:52 -0700</bug_when>
    <thetext>Comment on attachment 238542
Patch

Clearing flags on attachment: 238542

Committed r173874: &lt;http://trac.webkit.org/changeset/173874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036745</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 09:41:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232145</attachid>
            <date>2014-05-27 12:45:04 -0700</date>
            <delta_ts>2014-05-28 03:10:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140527214438.patch</filename>
            <type>text/plain</type>
            <size>4928</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2JmMjNhY2ZlNmMxZjdj
MGI3NmY5MThiYTVhN2JmMzBjZTY5ZjAxZC4uMzg4ZjBkZWI2ZjIyYTdjMzIwMWNmMjY2NDQ2ZjBh
YTY3MGQ5ODU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE0LTA1LTI3ICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdIEFkZHMg
aW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgYXJlIGFscmVhZHkg
aW4gcGxhY2UgdW5kZXIgY3J5cHRvL3N1YnRsZS9obWFjLSouaHRtbAorCisgICAgICAgICogY3J5
cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEdudXRsc0RpZ2VzdEFsZ29yaXRobSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVTaWdu
YXR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1T
aWduKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVy
aWZ5KToKKworMjAxNC0wNS0yNyAgRWR1YXJkbyBMaW1hIE1pdGV2ICA8ZWxpbWFAaWdhbGlhLmNv
bT4KKwogICAgICAgICBbR1RLXSBBZGQgR251VExTIGxpYnJhcmllcyBhbmQgaW5jbHVkZWQgZGly
cyB0byBXZWJDb3JlIHRhcmdldHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMzMxNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Z3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0
ay9DcnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcAppbmRleCA0ZjQxNDM3MGRjODk3OGNlZWJmMTZj
MjMxOGVkYWUzNDMzYzI5NmI5Li41YjM5M2I1MzBlM2FkZTlhOWRkZGE4MGRjMWJkMzlhMTIzOWI2
ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRo
bUhNQUNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3Jp
dGhtSE1BQ0d0ay5jcHAKQEAgLTMxLDM0ICszMSw3MCBAQAogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUhtYWNQYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlITUFDLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgPGdudXRscy9nbnV0bHMuaD4KKyNpbmNsdWRlIDxn
bnV0bHMvY3J5cHRvLmg+CisjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNVdGlsaXRpZXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRm
b3JtU2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBwYXJhbWV0ZXJzLCBjb25z
dCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZl
Y3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJiBlYykKK3N0YXRpYyBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGdldEdudXRsc0Rp
Z2VzdEFsZ29yaXRobShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2hGdW5jdGlvbikKIHsK
LSAgICAvLyBVbmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCi0gICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKLSAgICBmYWlsdXJlQ2FsbGJhY2soKTsKLQotICAgIFVOVVNFRF9QQVJBTShwYXJh
bWV0ZXJzKTsKLSAgICBVTlVTRURfUEFSQU0oa2V5KTsKLSAgICBVTlVTRURfUEFSQU0oZGF0YSk7
Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKLSAgICBVTlVTRURfUEFSQU0oZWMpOworICAg
IHN3aXRjaCAoaGFzaEZ1bmN0aW9uKSB7CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpTSEFfMToKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMTsKKyAgICBjYXNlIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgIHJldHVybiBHTlVUTFNf
TUFDX1NIQTIyNDsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6
CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTI1NjsKKyAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV8zODQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTM4
NDsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAg
IHJldHVybiBHTlVUTFNfTUFDX1NIQTUxMjsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4g
R05VVExTX01BQ19VTktOT1dOOworICAgIH0KIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFD
OjpwbGF0Zm9ybVZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBwYXJhbWV0
ZXJzLCBjb25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
IGV4cGVjdGVkU2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBCb29s
Q2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlv
bkNvZGUmIGVjKQorc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjYWxjdWxhdGVTaWduYXR1cmUoZ251
dGxzX21hY19hbGdvcml0aG1fdCBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhKQogewotICAgIC8vIFVuaW1wbGVtZW50
ZWQgYWxnb3JpdGhtIHN0dWIKLSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgIGZhaWx1
cmVDYWxsYmFjaygpOwotCi0gICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwotICAgIFVOVVNF
RF9QQVJBTShrZXkpOwotICAgIFVOVVNFRF9QQVJBTShleHBlY3RlZFNpZ25hdHVyZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5V
U0VEX1BBUkFNKGVjKTsKKyAgICBzaXplX3QgZGlnZXN0TGVuZ3RoID0gZ251dGxzX2htYWNfZ2V0
X2xlbihhbGdvcml0aG0pOworCisgICAgVmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdChkaWdlc3RMZW5n
dGgpOworICAgIGNvbnN0IHZvaWQqIGtleURhdGEgPSBrZXkuZGF0YSgpID8ga2V5LmRhdGEoKSA6
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCIiKTsKKyAgICBpbnQgcmV0ID0gZ251
dGxzX2htYWNfZmFzdChhbGdvcml0aG0sIGtleURhdGEsIGtleS5zaXplKCksIGRhdGEuZmlyc3Qs
IGRhdGEuc2Vjb25kLCByZXN1bHQuZGF0YSgpKTsKKyAgICBBU1NFUlQocmV0ID09IEdOVVRMU19F
X1NVQ0NFU1MpOworICAgIFVOVVNFRF9QQVJBTShyZXQpOworCisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRv
QWxnb3JpdGhtSG1hY1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayBjYWxsYmFj
aywgVm9pZENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBnbnV0bHNfbWFjX2Fs
Z29yaXRobV90IGFsZ29yaXRobSA9IGdldEdudXRsc0RpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJz
Lmhhc2gpOworICAgIGlmIChhbGdvcml0aG0gPT0gR05VVExTX01BQ19VTktOT1dOKSB7CisgICAg
ICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBWZWN0b3I8dWludDhfdD4gc2lnbmF0dXJlID0gY2FsY3VsYXRlU2lnbmF0dXJlKGFsZ29yaXRo
bSwga2V5LmtleSgpLCBkYXRhKTsKKworICAgIGNhbGxiYWNrKHNpZ25hdHVyZSk7Cit9CisKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1WZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtSG1hY1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5LCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiBleHBlY3RlZFNpZ25hdHVyZSwgY29uc3QgQ3J5cHRvT3Bl
cmF0aW9uRGF0YSYgZGF0YSwgQm9vbENhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGdudXRsc19tYWNfYWxnb3JpdGhtX3QgYWxnb3JpdGht
ID0gZ2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaCk7CisgICAgaWYgKGFs
Z29yaXRobSA9PSBHTlVUTFNfTUFDX1VOS05PV04pIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFZlY3Rvcjx1aW50OF90PiBz
aWduYXR1cmUgPSBjYWxjdWxhdGVTaWduYXR1cmUoYWxnb3JpdGhtLCBrZXkua2V5KCksIGRhdGEp
OworCisgICAgLy8gVXNpbmcgYSBjb25zdGFudCB0aW1lIGNvbXBhcmlzb24gdG8gcHJldmVudCB0
aW1pbmcgYXR0YWNrcy4KKyAgICBib29sIHJlc3VsdCA9IHNpZ25hdHVyZS5zaXplKCkgPT0gZXhw
ZWN0ZWRTaWduYXR1cmUuc2Vjb25kICYmICFjb25zdGFudFRpbWVNZW1jbXAoc2lnbmF0dXJlLmRh
dGEoKSwgZXhwZWN0ZWRTaWduYXR1cmUuZmlyc3QsIHNpZ25hdHVyZS5zaXplKCkpOworCisgICAg
Y2FsbGJhY2socmVzdWx0KTsKIH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232183</attachid>
            <date>2014-05-28 03:10:35 -0700</date>
            <delta_ts>2014-05-28 03:12:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140528121010.patch</filename>
            <type>text/plain</type>
            <size>36423</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUxNDU5MTVkOGQ2MTVk
NjA2MGY3YWU4MDg5MzA0N2EzNjYwN2FiMS4uOWMyNDc4OWZmZmM4ZmRjYzMxMjQ1MzBjYjE3YzJj
ZDVjZmE3YjJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA1LTI3ICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzdHVicyBm
b3IgR1RLIG9mIGFsbCBTdWJ0bGUgQ3J5cHRvIGFsZ29yaXRobSBpbXBsZW1lbnRhdGlvbnMgY3Vy
cmVudGx5IGF2YWlsYWJsZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMzMzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIG5vIG5ldyBmdW5jdGlvbmFsaXR5IGhhcyBi
ZWVuIGFkZGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBjcnlwdG8vYWxnb3Jp
dGhtIGFuZCBjcnlwdG8vcGFyYW1ldGVycyB0byBXZWJDb3JlIGluY2x1ZGVkIGRpcmVjdG9yaWVz
IGxpc3QKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZTogQWRkcyBzdWJ0bGUgY3J5cHRvIG1v
ZHVsZSBzb3VyY2VzIHRvIFdlYkNvcmUgc291cmNlcworICAgICAgICAqIGNyeXB0by9ndGsvQ3J5
cHRvQWxnb3JpdGhtUmVnaXN0cnlHdGsuY3BwOiBBbGdvcml0aG0gaW1wbGVtZW50YXRpb24gc3R1
YnMKKyAgICAgICAgKiBjcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUFFU19DQkNHdGsuY3BwOiBB
bGdvcml0aG0gaW1wbGVtZW50YXRpb24gc3R1YnMKKyAgICAgICAgKiBjcnlwdG8vZ3RrL0NyeXB0
b0FsZ29yaXRobUFFU19LV0d0ay5jcHA6IEFsZ29yaXRobSBpbXBsZW1lbnRhdGlvbiBzdHVicwor
ICAgICAgICAqIGNyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHA6IEFsZ29yaXRo
bSBpbXBsZW1lbnRhdGlvbiBzdHVicworICAgICAgICAqIGNyeXB0by9ndGsvQ3J5cHRvQWxnb3Jp
dGhtUlNBRVNfUEtDUzFfdjFfNUd0ay5jcHA6IEFsZ29yaXRobSBpbXBsZW1lbnRhdGlvbiBzdHVi
cworICAgICAgICAqIGNyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVBHdGsuY3BwOiBB
bGdvcml0aG0gaW1wbGVtZW50YXRpb24gc3R1YnMKKyAgICAgICAgKiBjcnlwdG8vZ3RrL0NyeXB0
b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81R3RrLmNwcDogQWxnb3JpdGhtIGltcGxlbWVudGF0
aW9uIHN0dWJzCisgICAgICAgICogY3J5cHRvL2d0ay9DcnlwdG9EaWdlc3RHdGsuY3BwOiBBbGdv
cml0aG0gaW1wbGVtZW50YXRpb24gc3R1YnMKKyAgICAgICAgKiBjcnlwdG8vZ3RrL0NyeXB0b0tl
eVJTQUd0ay5jcHA6IEFsZ29yaXRobSBpbXBsZW1lbnRhdGlvbiBzdHVicworICAgICAgICAqIGNy
eXB0by9ndGsvU2VyaWFsaXplZENyeXB0b0tleVdyYXBHdGsuY3BwOiBBbGdvcml0aG0gaW1wbGVt
ZW50YXRpb24gc3R1YnMKKwogMjAxNC0wNS0yNyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2OTQwMC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZmI1NWNjYWE3NGVlYWFjOGVjMDVlNjdiMTNkMjE4ZTA0
NTU3MWEzOC4uN2I5ZGM3ZTQ0Y2JkYzFhMWZhYWRkNjM1NDcyYTdlMDViZDFlNzVmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTI3LDcgKzI3LDkgQEAgc2V0KFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9icmlkZ2UvYyIKICAgICAiJHtXRUJDT1JFX0RJ
Un0vYnJpZGdlL2pzYyIKICAgICAiJHtXRUJDT1JFX0RJUn0vY3J5cHRvIgorICAgICIke1dFQkNP
UkVfRElSfS9jcnlwdG8vYWxnb3JpdGhtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vY3J5cHRvL2tl
eXMiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2NyeXB0by9wYXJhbWV0ZXJzIgogICAgICIke1dFQkNP
UkVfRElSfS9jc3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2Nzc2ppdCIKICAgICAiJHtXRUJDT1JF
X0RJUn0vZG9tIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA2N2IwYmFjOTVlMTk5MWM2
ZGU4YzAyZThhN2FhZTEzMjk3MzY2MDdiLi5iYmUyMDc2ZjM4MzQ3ZTA3YmRiNGU0YmJiYTRjOGU3
ODZlNTkyN2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNzE3LDMgKzcxNyw0MSBA
QCBsaXN0KFJFTU9WRV9JVEVNIEdPYmplY3RET01CaW5kaW5nc19HSVJfSEVBREVSUwogCiAjIFBy
b3BhZ2F0ZSB0aGlzIHZhcmlhYmxlIHRvIHRoZSBwYXJlbnQgc2NvcGUsIHNvIHRoYXQgaXQgY2Fu
IGJlIHVzZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGJ1aWxkLgogc2V0KEdPYmplY3RET01CaW5k
aW5nc19HSVJfSEVBREVSUyAke0dPYmplY3RET01CaW5kaW5nc19HSVJfSEVBREVSU30gUEFSRU5U
X1NDT1BFKQorCitpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCisgICAgbGlzdChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCisgICAgICAgIGNyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwCisgICAgICAg
IGNyeXB0by9DcnlwdG9BbGdvcml0aG1EZXNjcmlwdGlvbkJ1aWxkZXIuY3BwCisgICAgICAgIGNy
eXB0by9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5jcHAKKyAgICAgICAgY3J5cHRvL0NyeXB0b0tl
eS5jcHAKKyAgICAgICAgY3J5cHRvL0NyeXB0b0tleVBhaXIuY3BwCisgICAgICAgIGNyeXB0by9T
dWJ0bGVDcnlwdG8uY3BwCisgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkMuY3BwCisgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19LVy5jcHAKKyAgICAgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5j
cHAKKyAgICAgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNS5jcHAKKyAgICAgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09B
RVAuY3BwCisgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9Q
S0NTMV92MV81LmNwcAorICAgICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1T
SEExLmNwcAorICAgICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1TSEEyMjQu
Y3BwCisgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVNIQTI1Ni5jcHAK
KyAgICAgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtU0hBMzg0LmNwcAorICAg
ICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1TSEE1MTIuY3BwCisgICAgICAg
IGNyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKKyAgICAgICAgY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RGF0YU9jdGV0U2VxdWVuY2UuY3BwCisgICAgICAgIGNyeXB0by9rZXlzL0NyeXB0b0tleURh
dGFSU0FDb21wb25lbnRzLmNwcAorICAgICAgICBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cAorICAgICAgICBjcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmNwcAorCisg
ICAgICAgIGNyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnlHdGsuY3BwCisgICAgICAg
IGNyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ0d0ay5jcHAKKyAgICAgICAgY3J5cHRv
L2d0ay9DcnlwdG9BbGdvcml0aG1BRVNfS1dHdGsuY3BwCisgICAgICAgIGNyeXB0by9ndGsvQ3J5
cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHAKKyAgICAgICAgY3J5cHRvL2d0ay9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81R3RrLmNwcAorICAgICAgICBjcnlwdG8vZ3RrL0NyeXB0b0FsZ29y
aXRobVJTQV9PQUVQR3RrLmNwcAorICAgICAgICBjcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJT
QVNTQV9QS0NTMV92MV81R3RrLmNwcAorICAgICAgICBjcnlwdG8vZ3RrL0NyeXB0b0RpZ2VzdEd0
ay5jcHAKKyAgICAgICAgY3J5cHRvL2d0ay9DcnlwdG9LZXlSU0FHdGsuY3BwCisgICAgICAgIGNy
eXB0by9ndGsvU2VyaWFsaXplZENyeXB0b0tleVdyYXBHdGsuY3BwCisgICAgKQorZW5kaWYgKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQ0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUFF
U19DQkNHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMDJiYTY2NTY4ZTgzNzdiNDhmNjA4NjgzZDNlYWE1
M2E1ZDEyMDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0Ny
eXB0b0FsZ29yaXRobUFFU19DQkNHdGsuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DQkMu
aCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0Ni
Y1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5QUVTJiBrZXksIGNvbnN0IENyeXB0
b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyBVbmltcGxl
bWVudGVkIGFsZ29yaXRobSBzdHViCisgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICBm
YWlsdXJlQ2FsbGJhY2soKTsKKworICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKKyAgICBV
TlVTRURfUEFSQU0oa2V5KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BB
UkFNKGNhbGxiYWNrKTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9y
bURlY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zJiBwYXJhbWV0ZXJzLCBj
b25zdCBDcnlwdG9LZXlBRVMmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwg
VmVjdG9yQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIC8vIFVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIK
KyAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgIGZhaWx1cmVDYWxsYmFjaygpOworCisg
ICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAg
IFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXR3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWYzNzk3ZTA3MzBjYjU1YzUyNGY3ODRjZWRkZTRkNzJl
Y2U1MDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9Dcnlw
dG9BbGdvcml0aG1BRVNfS1dHdGsuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19LVy5oIgor
CisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9p
ZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlB
RVMmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2sg
Y2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBlYyA9IE5PVF9T
VVBQT1JURURfRVJSOworICAgIGZhaWx1cmVDYWxsYmFjaygpOworCisgICAgVU5VU0VEX1BBUkFN
KGtleSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFj
ayk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybURlY3J5cHQoY29u
c3QgQ3J5cHRvS2V5QUVTJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZl
Y3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyB1bmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCisg
ICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICBmYWlsdXJlQ2FsbGJhY2soKTsKKworICAg
IFVOVVNFRF9QQVJBTShrZXkpOworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURf
UEFSQU0oY2FsbGJhY2spOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9ndGsvQ3J5cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Z3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNDE0MzcwZGM4OTc4
Y2VlYmYxNmMyMzE4ZWRhZTM0MzNjMjk2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwCkBAIC0wLDAgKzEsNjYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUhNQUMuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAi
Q3J5cHRvQWxnb3JpdGhtSG1hY1BhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUhNQUMuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9p
ZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRvQWxnb3JpdGht
SG1hY1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5LCBjb25zdCBD
cnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayBjYWxsYmFjaywgVm9pZENh
bGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gVW5p
bXBsZW1lbnRlZCBhbGdvcml0aG0gc3R1YgorICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgZmFpbHVyZUNhbGxiYWNrKCk7CisKKyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7Cisg
ICAgVU5VU0VEX1BBUkFNKGtleSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNF
RF9QQVJBTShjYWxsYmFjayk7CisgICAgVU5VU0VEX1BBUkFNKGVjKTsKK30KKwordm9pZCBDcnlw
dG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFj
UGFyYW1zJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0
b09wZXJhdGlvbkRhdGEmIGV4cGVjdGVkU2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25E
YXRhJiBkYXRhLCBCb29sQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2Fs
bGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIC8vIFVuaW1wbGVtZW50ZWQgYWxnb3Jp
dGhtIHN0dWIKKyAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgIGZhaWx1cmVDYWxsYmFj
aygpOworCisgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOworICAgIFVOVVNFRF9QQVJBTShr
ZXkpOworICAgIFVOVVNFRF9QQVJBTShleHBlY3RlZFNpZ25hdHVyZSk7CisgICAgVU5VU0VEX1BB
UkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7CisgICAgVU5VU0VEX1BBUkFN
KGVjKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1Mx
X3YxXzVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1S
U0FFU19QS0NTMV92MV81R3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmZjZGNhNDgwMWZiYTI4ZGZjYTI5
NGRmNjViYjM4YjRlMTMwOWI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81R3RrLmNwcApAQCAtMCwwICsx
LDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDcnlw
dG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgiCisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBU
TykKKworI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BL
Q1MxX3YxXzU6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlSU0EmIGtleSwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRD
YWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIC8vIFVu
aW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwor
ICAgIGZhaWx1cmVDYWxsYmFjaygpOworCisgICAgVU5VU0VEX1BBUkFNKGtleSk7CisgICAgVU5V
U0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Cit9CisKK3ZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1EZWNyeXB0KGNvbnN0IENy
eXB0b0tleVJTQSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JD
YWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgLy8gVW5pbXBsZW1lbnRlZCBhbGdvcml0aG0gc3R1YgorICAgIGVj
ID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgZmFpbHVyZUNhbGxiYWNrKCk7CisKKyAgICBVTlVT
RURfUEFSQU0oa2V5KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFN
KGNhbGxiYWNrKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3Rr
L0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVHdGsuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNiMDhhMjEyZDQzNzliNWYxNTU5YjljZDE0ODA1YTE2N2RkZDUzZDEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81R3RrLmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFf
NS5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNpbmNsdWRlICJDcnlwdG9BbGdv
cml0aG1Sc2FTc2FQYXJhbXMuaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlSU0EuaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6cGxhdGZvcm1TaWduKGNvbnN0IENyeXB0b0FsZ29y
aXRobVJzYVNzYVBhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5UlNBJiBrZXksIGNv
bnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBW
b2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAv
LyBVbmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCisgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKKyAgICBmYWlsdXJlQ2FsbGJhY2soKTsKKworICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJz
KTsKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAg
VU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyAgICBVTlVTRURfUEFSQU0oZWMpOworfQorCit2b2lk
IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVZlcmlmeShjb25zdCBD
cnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXMmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleVJT
QSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0
b09wZXJhdGlvbkRhdGEmIGRhdGEsIEJvb2xDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNr
IGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gVW5pbXBsZW1l
bnRlZCBhbGdvcml0aG0gc3R1YgorICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgZmFp
bHVyZUNhbGxiYWNrKCk7CisKKyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7CisgICAgVU5V
U0VEX1BBUkFNKGtleSk7CisgICAgVU5VU0VEX1BBUkFNKHNpZ25hdHVyZSk7CisgICAgVU5VU0VE
X1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7CisgICAgVU5VU0VEX1BB
UkFNKGVjKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0Ny
eXB0b0FsZ29yaXRobVJTQV9PQUVQR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsv
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVBHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5OTQ2MTczM2YyMTU2
ZTZjZWNiYmYzNzc2N2E0NDc3MGEyMjNiYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQR3RrLmNwcApAQCAtMCwwICsx
LDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDcnlw
dG9BbGdvcml0aG1SU0FfT0FFUC5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNp
bmNsdWRlICJDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRv
S2V5UlNBLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OnBsYXRmb3JtRW5jcnlwdChjb25z
dCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9L
ZXlSU0EmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJh
Y2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIC8vIFVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOworICAgIGZhaWx1cmVDYWxsYmFjaygpOworCisgICAgVU5VU0VEX1BB
UkFNKHBhcmFtZXRlcnMpOworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAgIFVOVVNFRF9QQVJB
TShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworfQorCit2b2lkIENyeXB0b0Fs
Z29yaXRobVJTQV9PQUVQOjpwbGF0Zm9ybURlY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNh
T2FlcFBhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5UlNBJiBrZXksIGNvbnN0IENy
eXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2Fs
bGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyBVbmlt
cGxlbWVudGVkIGFsZ29yaXRobSBzdHViCisgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAg
ICBmYWlsdXJlQ2FsbGJhY2soKTsKKworICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKKyAg
ICBVTlVTRURfUEFSQU0oa2V5KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VE
X1BBUkFNKGNhbGxiYWNrKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnlHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0Y2Jm
OWQxNGNkZWI5YTA1OWNjOWYyMjNjOTY3MmVjYTgwNTkxMjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5R3RrLmNwcApA
QCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCisKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgiCisjaW5jbHVkZSAiQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIgor
I2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaCIKKyNpbmNsdWRlICJD
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobVJTQV9PQUVQLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtU0hBMS5oIgorI2luY2x1
ZGUgIkNyeXB0b0FsZ29yaXRobVNIQTIyNC5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVNI
QTI1Ni5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVNIQTM4NC5oIgorI2luY2x1ZGUgIkNy
eXB0b0FsZ29yaXRobVNIQTUxMi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ3J5
cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnBsYXRmb3JtUmVnaXN0ZXJBbGdvcml0aG1zKCkKK3sKKyAg
ICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1BRVNfQ0JDPigpOworICAgIHJlZ2lz
dGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUFFU19LVz4oKTsKKyAgICByZWdpc3RlckFsZ29y
aXRobTxDcnlwdG9BbGdvcml0aG1ITUFDPigpOworICAgIHJlZ2lzdGVyQWxnb3JpdGhtPENyeXB0
b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU+KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5
cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU+KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0aG08
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA+KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRv
QWxnb3JpdGhtU0hBMT4oKTsKKyAgICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1T
SEEyMjQ+KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3JpdGhtU0hBMjU2Pigp
OworICAgIHJlZ2lzdGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobVNIQTM4ND4oKTsKKyAgICBy
ZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1TSEE1MTI+KCk7Cit9CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2d0ay9DcnlwdG9EaWdlc3RHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0
ay9DcnlwdG9EaWdlc3RHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3ZDBjMjUxOGU0YzhiNmM4YWIyNjAw
ZmFkNDlmMTNkMDRkYmZlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ3RrL0NyeXB0b0RpZ2VzdEd0ay5jcHAKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ3J5cHRvRGlnZXN0LmgiCisKKyNpZiBF
TkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ3J5
cHRvRGlnZXN0Q29udGV4dCB7CisgICAgLy8gdW5pbXBsZW1lbnRlZCBhbGdvcml0aG0gc3R1Ygor
fTsKKworQ3J5cHRvRGlnZXN0OjpDcnlwdG9EaWdlc3QoKQorICAgIDogbV9jb250ZXh0KG5ldyBD
cnlwdG9EaWdlc3RDb250ZXh0KQoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0
dWIKK30KKworQ3J5cHRvRGlnZXN0Ojp+Q3J5cHRvRGlnZXN0KCkKK3sKKyAgICAvLyB1bmltcGxl
bWVudGVkIGFsZ29yaXRobSBzdHViCit9CisKKworc3RkOjp1bmlxdWVfcHRyPENyeXB0b0RpZ2Vz
dD4gQ3J5cHRvRGlnZXN0OjpjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0
aG0pCit7CisgICAgLy8gdW5pbXBsZW1lbnRlZCBhbGdvcml0aG0gc3R1YgorICAgIFVOVVNFRF9Q
QVJBTShhbGdvcml0aG0pOworCisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgQ3J5cHRvRGlnZXN0
OjphZGRCeXRlcyhjb25zdCB2b2lkKiBpbnB1dCwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICAvLyB1
bmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCisgICAgVU5VU0VEX1BBUkFNKGlucHV0KTsKKyAg
ICBVTlVTRURfUEFSQU0obGVuZ3RoKTsKK30KKworVmVjdG9yPHVpbnQ4X3Q+IENyeXB0b0RpZ2Vz
dDo6Y29tcHV0ZUhhc2goKQoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIK
KyAgICBWZWN0b3I8dWludDhfdD4gcmVzdWx0KDApOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRP
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9LZXlSU0FHdGsu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9LZXlSU0FHdGsuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ0Y2E3ZDRkYTI1ZTU1YzNjOGE3Y2JkMDdiYjFhODRhMjUzZTMxMDYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0tleVJTQUd0ay5jcHAK
QEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNp
bmNsdWRlICJDcnlwdG9BbGdvcml0aG1EZXNjcmlwdGlvbkJ1aWxkZXIuaCIKKyNpbmNsdWRlICJD
cnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorI2luY2x1ZGUgIkNyeXB0b0tleURhdGFSU0FDb21w
b25lbnRzLmgiCisjaW5jbHVkZSAiQ3J5cHRvS2V5UGFpci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3N0cnVjdCBfUGxhdGZvcm1SU0FLZXlHdGsgeworICAgIC8vIHVuaW1wbGVtZW50ZWQg
YWxnb3JpdGhtIHN0dWIKK307CisKK0NyeXB0b0tleVJTQTo6Q3J5cHRvS2V5UlNBKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9y
bVJTQUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNh
Z2UpCisgICAgOiBDcnlwdG9LZXkoaWRlbnRpZmllciwgdHlwZSwgZXh0cmFjdGFibGUsIHVzYWdl
KQorICAgICwgbV9wbGF0Zm9ybUtleShwbGF0Zm9ybUtleSkKKyAgICAsIG1fcmVzdHJpY3RlZFRv
U3BlY2lmaWNIYXNoKGZhbHNlKQoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0
dWIKK30KKworUGFzc1JlZlB0cjxDcnlwdG9LZXlSU0E+IENyeXB0b0tleVJTQTo6Y3JlYXRlKENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgQ3J5cHRvS2V5RGF0YVJT
QUNvbXBvbmVudHMmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlKQoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBVTlVTRURf
UEFSQU0oaWRlbnRpZmllcik7CisgICAgVU5VU0VEX1BBUkFNKGtleURhdGEpOworICAgIFVOVVNF
RF9QQVJBTShleHRyYWN0YWJsZSk7CisgICAgVU5VU0VEX1BBUkFNKHVzYWdlKTsKKworICAgIHJl
dHVybiBudWxscHRyOworfQorCitDcnlwdG9LZXlSU0E6On5DcnlwdG9LZXlSU0EoKQoreworICAg
IC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKK30KKwordm9pZCBDcnlwdG9LZXlSU0E6
OnJlc3RyaWN0VG9IYXNoKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcikKK3sK
KyAgICBtX3Jlc3RyaWN0ZWRUb1NwZWNpZmljSGFzaCA9IHRydWU7CisgICAgbV9oYXNoID0gaWRl
bnRpZmllcjsKK30KKworYm9vbCBDcnlwdG9LZXlSU0E6OmlzUmVzdHJpY3RlZFRvSGFzaChDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyJiBpZGVudGlmaWVyKSBjb25zdAoreworICAgIGlmICghbV9y
ZXN0cmljdGVkVG9TcGVjaWZpY0hhc2gpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlk
ZW50aWZpZXIgPSBtX2hhc2g7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3NpemVfdCBDcnlwdG9L
ZXlSU0E6OmtleVNpemVJbkJpdHMoKSBjb25zdAoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxn
b3JpdGhtIHN0dWIKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBDcnlwdG9LZXlSU0E6OmJ1aWxk
QWxnb3JpdGhtRGVzY3JpcHRpb24oQ3J5cHRvQWxnb3JpdGhtRGVzY3JpcHRpb25CdWlsZGVyJiBi
dWlsZGVyKSBjb25zdAoreworICAgIC8vIHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAg
ICBVTlVTRURfUEFSQU0oYnVpbGRlcik7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlE
YXRhPiBDcnlwdG9LZXlSU0E6OmV4cG9ydERhdGEoKSBjb25zdAoreworICAgIEFTU0VSVChleHRy
YWN0YWJsZSgpKTsKKyAgICBBU1NFUlQobV9wbGF0Zm9ybUtleS0+cHViS2V5KTsKKworICAgIC8v
IHVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
dm9pZCBDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
IGFsZ29yaXRobSwgdW5zaWduZWQgbW9kdWx1c0xlbmd0aCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBwdWJsaWNFeHBvbmVudCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Us
IEtleVBhaXJDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaykK
K3sKKyAgICAvLyB1bmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCisgICAgZmFpbHVyZUNhbGxi
YWNrKCk7CisKKyAgICBVTlVTRURfUEFSQU0oYWxnb3JpdGhtKTsKKyAgICBVTlVTRURfUEFSQU0o
bW9kdWx1c0xlbmd0aCk7CisgICAgVU5VU0VEX1BBUkFNKHB1YmxpY0V4cG9uZW50KTsKKyAgICBV
TlVTRURfUEFSQU0oZXh0cmFjdGFibGUpOworICAgIFVOVVNFRF9QQVJBTSh1c2FnZSk7CisgICAg
VU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ3RrL1NlcmlhbGl6ZWRDcnlwdG9LZXlXcmFwR3RrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9ndGsvU2VyaWFsaXplZENyeXB0b0tleVdyYXBHdGsuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4ZWE4OTk0ZDhjMGQwZTAxNjQ1YmNhMWY1MmFhZWU3NGQ4NGNlMmEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL1NlcmlhbGl6ZWRDcnlwdG9LZXlXcmFwR3Rr
LmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBT
LkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJTZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oIgorCisjaWYgRU5BQkxFKFNVQlRM
RV9DUllQVE8pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBnZXREZWZhdWx0V2ViQ3J5
cHRvTWFzdGVyS2V5KFZlY3Rvcjx1aW50OF90PiYgbWFzdGVyS2V5KQoreworICAgIC8vIFVuaW1w
bGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBVTlVTRURfUEFSQU0obWFzdGVyS2V5KTsKKwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCB3cmFwU2VyaWFsaXplZENyeXB0b0tleShjb25z
dCBWZWN0b3I8dWludDhfdD4mIG1hc3RlcktleSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXks
IFZlY3Rvcjx1aW50OF90PiYgcmVzdWx0KQoreworICAgIC8vIFVuaW1wbGVtZW50ZWQgYWxnb3Jp
dGhtIHN0dWIKKyAgICBVTlVTRURfUEFSQU0obWFzdGVyS2V5KTsKKyAgICBVTlVTRURfUEFSQU0o
a2V5KTsKKyAgICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKKworICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCB1bndyYXBTZXJpYWxpemVkQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
bWFzdGVyS2V5LCBjb25zdCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXksIFZlY3Rvcjx1aW50
OF90PiYga2V5KQoreworICAgIC8vIFVuaW1wbGVtZW50ZWQgYWxnb3JpdGhtIHN0dWIKKyAgICBV
TlVTRURfUEFSQU0obWFzdGVyS2V5KTsKKyAgICBVTlVTRURfUEFSQU0od3JhcHBlZEtleSk7Cisg
ICAgVU5VU0VEX1BBUkFNKGtleSk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlSU0EuaAppbmRleCBjMzNkMjQzY2UxNmU5M2M1Njc5MjVlZDY2YTAzOWE3YmVhNWI3
MGNmLi4xYzVlN2JkMzMyNjA1NTM0M2M2YjEwNGFhZjc5ZDE2YjZkOThmMTEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaApAQCAtMzYsNiArMzYsMTEgQEAgdHlw
ZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NSU0FDcnlwdG9yUmVmOwogdHlwZWRlZiBDQ1JT
QUNyeXB0b3JSZWYgUGxhdGZvcm1SU0FLZXk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKEdUSykK
K3R5cGVkZWYgc3RydWN0IF9QbGF0Zm9ybVJTQUtleUd0ayBQbGF0Zm9ybVJTQUtleUd0azsKK3R5
cGVkZWYgUGxhdGZvcm1SU0FLZXlHdGsgKlBsYXRmb3JtUlNBS2V5OworI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlCmluZGV4IDg4Y2M1MDJiMDZkYjVlY2ZhOTE3OWU1ZTUyNjZjNmZlODYwNjFm
YTQuLjkwODVkNTBjNzc1MTM0YTZmODY3MWZiNDJjNjhiYTMwMGExMjEzYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25z
R1RLLmNtYWtlCkBAIC01Myw2ICs1Myw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TRUNDT01QX0ZJTFRFUlMgT0ZGKQogV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NQRUxMQ0hFQ0sgT04pCitXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1VCVExFX0NSWVBUTyBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RPVUNIX0VWRU5UUyBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCBPTikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCBmNDQyMGE3MWYyMjkzYjE2NTE1ZjhmMjI2
MzA0YzJlMDRmZGU2ODRkLi4yNTAzZDIxZmZkMTMwNWY0ZTZlMTAwN2E1OGU1Y2FhMjg5OTllNGM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xMDUsNiArMTA1LDcgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU0hB
UkVEX1dPUktFUlMgIlRvZ2dsZSBTaGFyZWRXb3JrZXJzIHN1cHBvcnQiIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfU1BFTExDSEVDSyAiVG9nZ2xlIFNwZWxsY2hlY2tpbmcg
c3VwcG9ydCAocmVxdWlyZXMgRW5jaGFudCkiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfU1FMX0RBVEFCQVNFICJUb2dnbGUgU1FMIERhdGFiYXNlIFN1cHBvcnQiIE9OKQor
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TVUJUTEVfQ1JZUFRPICJUb2dnbGUgU3Vi
dGxlIENyeXB0byBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1NWR19GT05UUyAiVG9nZ2xlIFNWRyBmb250cyBzdXBwb3J0IChpbXBsZXMgU1ZHIHN1cHBvcnQp
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCAi
VG9nZ2xlIFRlbXBsYXRlIHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcgIlRvZ2dsZSBUZXh0IGF1dG8gc2l6aW5nIHN1cHBvcnQiIE9G
RikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtl
Y29uZmlnLmguY21ha2UKaW5kZXggNmExYzE4ZmJkNGE4ZWJmOGY4ODE1ZDgzMWQ1MmU2YzY4NTNj
M2Q0Mi4uZDQ1YzgyZjA2ZWYxNGQ5ZmIzM2FmZTE0ZDBjM2JiMGY5OTE3Y2JlNyAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2UKQEAgLTEwMCw2ICsxMDAsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TUEVMTENIRUNLCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfU1FMX0RBVEFCQVNFCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfU1VCVExFX0NSWVBU
TwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NWR19GT05UUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9URVhUX0FVVE9TSVpJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232188</attachid>
            <date>2014-05-28 03:40:50 -0700</date>
            <delta_ts>2014-08-13 02:39:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140528124025.patch</filename>
            <type>text/plain</type>
            <size>4928</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5NzQ5NWQ3ODgwNzk5
ZWExMzViNzY4MWNjNTliMjY4NTU5MmU0ZC4uYjhlNTIwN2FlOTdlYzAwMmM1YmI2N2Y1NWZmYmM4
OTQ0ODNkNzM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE0LTA1LTI3ICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdIEFkZHMg
aW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgYXJlIGFscmVhZHkg
aW4gcGxhY2UgdW5kZXIgY3J5cHRvL3N1YnRsZS9obWFjLSouaHRtbAorCisgICAgICAgICogY3J5
cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEdudXRsc0RpZ2VzdEFsZ29yaXRobSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVTaWdu
YXR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1T
aWduKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVy
aWZ5KToKKworMjAxNC0wNS0yNyAgRWR1YXJkbyBMaW1hIE1pdGV2ICA8ZWxpbWFAaWdhbGlhLmNv
bT4KKwogICAgICAgICBbR1RLXSBBZGQgR251VExTIGxpYnJhcmllcyBhbmQgaW5jbHVkZWQgZGly
cyB0byBXZWJDb3JlIHRhcmdldHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMzMxNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Z3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0
ay9DcnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcAppbmRleCA0ZjQxNDM3MGRjODk3OGNlZWJmMTZj
MjMxOGVkYWUzNDMzYzI5NmI5Li41YjM5M2I1MzBlM2FkZTlhOWRkZGE4MGRjMWJkMzlhMTIzOWI2
ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRo
bUhNQUNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3Jp
dGhtSE1BQ0d0ay5jcHAKQEAgLTMxLDM0ICszMSw3MCBAQAogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUhtYWNQYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlITUFDLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgPGdudXRscy9nbnV0bHMuaD4KKyNpbmNsdWRlIDxn
bnV0bHMvY3J5cHRvLmg+CisjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNVdGlsaXRpZXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRm
b3JtU2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBwYXJhbWV0ZXJzLCBjb25z
dCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZl
Y3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJiBlYykKK3N0YXRpYyBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGdldEdudXRsc0Rp
Z2VzdEFsZ29yaXRobShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2hGdW5jdGlvbikKIHsK
LSAgICAvLyBVbmltcGxlbWVudGVkIGFsZ29yaXRobSBzdHViCi0gICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKLSAgICBmYWlsdXJlQ2FsbGJhY2soKTsKLQotICAgIFVOVVNFRF9QQVJBTShwYXJh
bWV0ZXJzKTsKLSAgICBVTlVTRURfUEFSQU0oa2V5KTsKLSAgICBVTlVTRURfUEFSQU0oZGF0YSk7
Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKLSAgICBVTlVTRURfUEFSQU0oZWMpOworICAg
IHN3aXRjaCAoaGFzaEZ1bmN0aW9uKSB7CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpTSEFfMToKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMTsKKyAgICBjYXNlIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgIHJldHVybiBHTlVUTFNf
TUFDX1NIQTIyNDsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6
CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTI1NjsKKyAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV8zODQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTM4
NDsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAg
IHJldHVybiBHTlVUTFNfTUFDX1NIQTUxMjsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4g
R05VVExTX01BQ19VTktOT1dOOworICAgIH0KIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFD
OjpwbGF0Zm9ybVZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBwYXJhbWV0
ZXJzLCBjb25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
IGV4cGVjdGVkU2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBCb29s
Q2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlv
bkNvZGUmIGVjKQorc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjYWxjdWxhdGVTaWduYXR1cmUoZ251
dGxzX21hY19hbGdvcml0aG1fdCBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhKQogewotICAgIC8vIFVuaW1wbGVtZW50
ZWQgYWxnb3JpdGhtIHN0dWIKLSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgIGZhaWx1
cmVDYWxsYmFjaygpOwotCi0gICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwotICAgIFVOVVNF
RF9QQVJBTShrZXkpOwotICAgIFVOVVNFRF9QQVJBTShleHBlY3RlZFNpZ25hdHVyZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5V
U0VEX1BBUkFNKGVjKTsKKyAgICBzaXplX3QgZGlnZXN0TGVuZ3RoID0gZ251dGxzX2htYWNfZ2V0
X2xlbihhbGdvcml0aG0pOworCisgICAgVmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdChkaWdlc3RMZW5n
dGgpOworICAgIGNvbnN0IHZvaWQqIGtleURhdGEgPSBrZXkuZGF0YSgpID8ga2V5LmRhdGEoKSA6
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCIiKTsKKyAgICBpbnQgcmV0ID0gZ251
dGxzX2htYWNfZmFzdChhbGdvcml0aG0sIGtleURhdGEsIGtleS5zaXplKCksIGRhdGEuZmlyc3Qs
IGRhdGEuc2Vjb25kLCByZXN1bHQuZGF0YSgpKTsKKyAgICBBU1NFUlQocmV0ID09IEdOVVRMU19F
X1NVQ0NFU1MpOworICAgIFVOVVNFRF9QQVJBTShyZXQpOworCisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRv
QWxnb3JpdGhtSG1hY1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayBjYWxsYmFj
aywgVm9pZENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBnbnV0bHNfbWFjX2Fs
Z29yaXRobV90IGFsZ29yaXRobSA9IGdldEdudXRsc0RpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJz
Lmhhc2gpOworICAgIGlmIChhbGdvcml0aG0gPT0gR05VVExTX01BQ19VTktOT1dOKSB7CisgICAg
ICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBWZWN0b3I8dWludDhfdD4gc2lnbmF0dXJlID0gY2FsY3VsYXRlU2lnbmF0dXJlKGFsZ29yaXRo
bSwga2V5LmtleSgpLCBkYXRhKTsKKworICAgIGNhbGxiYWNrKHNpZ25hdHVyZSk7Cit9CisKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1WZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtSG1hY1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5LCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiBleHBlY3RlZFNpZ25hdHVyZSwgY29uc3QgQ3J5cHRvT3Bl
cmF0aW9uRGF0YSYgZGF0YSwgQm9vbENhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGdudXRsc19tYWNfYWxnb3JpdGhtX3QgYWxnb3JpdGht
ID0gZ2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaCk7CisgICAgaWYgKGFs
Z29yaXRobSA9PSBHTlVUTFNfTUFDX1VOS05PV04pIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFZlY3Rvcjx1aW50OF90PiBz
aWduYXR1cmUgPSBjYWxjdWxhdGVTaWduYXR1cmUoYWxnb3JpdGhtLCBrZXkua2V5KCksIGRhdGEp
OworCisgICAgLy8gVXNpbmcgYSBjb25zdGFudCB0aW1lIGNvbXBhcmlzb24gdG8gcHJldmVudCB0
aW1pbmcgYXR0YWNrcy4KKyAgICBib29sIHJlc3VsdCA9IHNpZ25hdHVyZS5zaXplKCkgPT0gZXhw
ZWN0ZWRTaWduYXR1cmUuc2Vjb25kICYmICFjb25zdGFudFRpbWVNZW1jbXAoc2lnbmF0dXJlLmRh
dGEoKSwgZXhwZWN0ZWRTaWduYXR1cmUuZmlyc3QsIHNpZ25hdHVyZS5zaXplKCkpOworCisgICAg
Y2FsbGJhY2socmVzdWx0KTsKIH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236507</attachid>
            <date>2014-08-13 02:39:17 -0700</date>
            <delta_ts>2014-09-23 07:43:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140813113905.patch</filename>
            <type>text/plain</type>
            <size>6471</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzlmMjIzNTU4MGU4YTlj
NDg1N2Y4ODkyNjY1Yzc2YmRkNzQ5YmQwZS4uY2JhM2M5NGM0NDEwNDBmMGI1MThlNzlhZmVlNmVm
ZGRiZTc3ZDdiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA4LTEzICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZHMg
aW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgYXJlIGFscmVhZHkg
aW4gcGxhY2UgdW5kZXIgY3J5cHRvL3N1YnRsZS9obWFjLSouaHRtbAorCisgICAgICAgICogY3J5
cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dEdudXRsc0RpZ2VzdEFsZ29yaXRobSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVTaWdu
YXR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1T
aWduKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVy
aWZ5KToKKwogMjAxNC0wOC0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgogCiAgICAgICAgIEVsZW1lbnRzIHdob3NlIGNvbnRlbnRzIHN0YXJ0IHdpdGggYW4gYXN0
cmFsIFVuaWNvZGUgc3ltYm9sIGRpc2FwcGVhciB3aGVuIENTUyBgOjpmaXJzdC1sZXR0ZXJgIGlz
IGFwcGxpZWQgdG8gdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9D
cnlwdG9BbGdvcml0aG1ITUFDR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5
cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHAKaW5kZXggZjliZTY5NWJmYWI5ZTMxNDMyN2E0MDJjMGE2
OTIwMjY0N2E4MjNmNS4uNjlkOTZjNDVhNGNmYTE5OTdlY2Y0NjAzZDhiYTA5NWJiZDQyZWY0NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9BbGdvcml0aG1ITUFD
R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUhN
QUNHdGsuY3BwCkBAIC0zMSwzNyArMzEsNzIgQEAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1I
bWFjUGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5SE1BQy5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgPGdudXRs
cy9nbnV0bHMuaD4KKyNpbmNsdWRlIDxnbnV0bHMvY3J5cHRvLmg+CisjaW5jbHVkZSA8d3RmL0Ny
eXB0b2dyYXBoaWNVdGlsaXRpZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMg
Z251dGxzX21hY19hbGdvcml0aG1fdCBnZXRHbnV0bHNEaWdlc3RBbGdvcml0aG0oQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBoYXNoRnVuY3Rpb24pCit7CisgICAgc3dpdGNoIChoYXNoRnVuY3Rp
b24pIHsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgorICAgICAg
ICByZXR1cm4gR05VVExTX01BQ19TSEExOworICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
Zmllcjo6U0hBXzIyNDoKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMjI0OworICAgIGNh
c2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKKyAgICAgICAgcmV0dXJuIEdO
VVRMU19NQUNfU0hBMjU2OworICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hB
XzM4NDoKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMzg0OworICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzUxMjoKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNf
U0hBNTEyOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1VOS05PV047
CisgICAgfQorfQorCitzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGNhbGN1bGF0ZVNpZ25hdHVyZShn
bnV0bHNfbWFjX2FsZ29yaXRobV90IGFsZ29yaXRobSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBr
ZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEpCit7CisgICAgc2l6ZV90IGRpZ2Vz
dExlbmd0aCA9IGdudXRsc19obWFjX2dldF9sZW4oYWxnb3JpdGhtKTsKKworICAgIFZlY3Rvcjx1
aW50OF90PiByZXN1bHQoZGlnZXN0TGVuZ3RoKTsKKyAgICBjb25zdCB2b2lkKiBrZXlEYXRhID0g
a2V5LmRhdGEoKSA/IGtleS5kYXRhKCkgOiByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3Qq
PigiIik7CisgICAgaW50IHJldCA9IGdudXRsc19obWFjX2Zhc3QoYWxnb3JpdGhtLCBrZXlEYXRh
LCBrZXkuc2l6ZSgpLCBkYXRhLmZpcnN0LCBkYXRhLnNlY29uZCwgcmVzdWx0LmRhdGEoKSk7Cisg
ICAgQVNTRVJUKHJldCA9PSBHTlVUTFNfRV9TVUNDRVNTKTsKKyAgICBVTlVTRURfUEFSQU0ocmV0
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6
cGxhdGZvcm1TaWduKGNvbnN0IENyeXB0b0FsZ29yaXRobUhtYWNQYXJhbXMmIHBhcmFtZXRlcnMs
IGNvbnN0IENyeXB0b0tleUhNQUMmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0
YSwgVmVjdG9yQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgZWMgPSBO
T1RfU1VQUE9SVEVEX0VSUjsKLSAgICBmYWlsdXJlQ2FsbGJhY2soKTsKLQotICAgIFVOVVNFRF9Q
QVJBTShwYXJhbWV0ZXJzKTsKLSAgICBVTlVTRURfUEFSQU0oa2V5KTsKLSAgICBVTlVTRURfUEFS
QU0oZGF0YSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKLSAgICBVTlVTRURfUEFSQU0o
ZWMpOworICAgIGdudXRsc19tYWNfYWxnb3JpdGhtX3QgYWxnb3JpdGhtID0gZ2V0R251dGxzRGln
ZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaCk7CisgICAgaWYgKGFsZ29yaXRobSA9PSBHTlVU
TFNfTUFDX1VOS05PV04pIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAg
ICAgZmFpbHVyZUNhbGxiYWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBWZWN0
b3I8dWludDhfdD4gc2lnbmF0dXJlID0gY2FsY3VsYXRlU2lnbmF0dXJlKGFsZ29yaXRobSwga2V5
LmtleSgpLCBkYXRhKTsKKworICAgIGNhbGxiYWNrKHNpZ25hdHVyZSk7CiB9CiAKIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1WZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtSG1h
Y1BhcmFtcyYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5SE1BQyYga2V5LCBjb25zdCBDcnlw
dG9PcGVyYXRpb25EYXRhJiBleHBlY3RlZFNpZ25hdHVyZSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9u
RGF0YSYgZGF0YSwgQm9vbENhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNh
bGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgZmFpbHVyZUNhbGxiYWNrKCk7Ci0KLSAgICBV
TlVTRURfUEFSQU0ocGFyYW1ldGVycyk7Ci0gICAgVU5VU0VEX1BBUkFNKGtleSk7Ci0gICAgVU5V
U0VEX1BBUkFNKGV4cGVjdGVkU2lnbmF0dXJlKTsKLSAgICBVTlVTRURfUEFSQU0oZGF0YSk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKLSAgICBVTlVTRURfUEFSQU0oZWMpOwotfQorICAg
IGdudXRsc19tYWNfYWxnb3JpdGhtX3QgYWxnb3JpdGhtID0gZ2V0R251dGxzRGlnZXN0QWxnb3Jp
dGhtKHBhcmFtZXRlcnMuaGFzaCk7CisgICAgaWYgKGFsZ29yaXRobSA9PSBHTlVUTFNfTUFDX1VO
S05PV04pIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgZmFpbHVy
ZUNhbGxiYWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBWZWN0b3I8dWludDhf
dD4gc2lnbmF0dXJlID0gY2FsY3VsYXRlU2lnbmF0dXJlKGFsZ29yaXRobSwga2V5LmtleSgpLCBk
YXRhKTsKKworICAgIC8vIFVzaW5nIGEgY29uc3RhbnQgdGltZSBjb21wYXJpc29uIHRvIHByZXZl
bnQgdGltaW5nIGF0dGFja3MuCisgICAgYm9vbCByZXN1bHQgPSBzaWduYXR1cmUuc2l6ZSgpID09
IGV4cGVjdGVkU2lnbmF0dXJlLnNlY29uZCAmJiAhY29uc3RhbnRUaW1lTWVtY21wKHNpZ25hdHVy
ZS5kYXRhKCksIGV4cGVjdGVkU2lnbmF0dXJlLmZpcnN0LCBzaWduYXR1cmUuc2l6ZSgpKTsKIAor
ICAgIGNhbGxiYWNrKHJlc3VsdCk7fQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNGU0MDBiOWE1ZjlmMzc0YWM2NjJkNjM3Njk3YjUyMjUyNzAyMjg0YS4uOGRj
OTFhMTQzYTBmNTdmYTMxNTY2MjMzYWZkZDc0MTFkOTIyNTdlMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE0LTA4LTEzICBFZHVhcmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZHMgaW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFD
IGFsZ29yaXRobQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMzMzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogV2hpdGVsaXN0cyBITUFDIHJlbGF0
ZWQgdGVzdHMgdGhhdCBhcmUgcGFzc2luZworCiAyMDE0LTA4LTExICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgRWxlbWVudHMgd2hvc2UgY29udGVu
dHMgc3RhcnQgd2l0aCBhbiBhc3RyYWwgVW5pY29kZSBzeW1ib2wgZGlzYXBwZWFyIHdoZW4gQ1NT
IGA6OmZpcnN0LWxldHRlcmAgaXMgYXBwbGllZCB0byB0aGVtCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYzYTAyMWJmYzcwYzIzYTA0MTFhNTI5NjE0NTVl
NDM5YTMyMWQ1YzQuLmU4NTBlYzVjMWYwMWYxMTEzYjU1ZjA4MTc5ZWY1NGQzOTM4ZDA4ZDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNTEsOCArMzUx
LDE1IEBAIEJ1ZyhHVEspIGVkaXRpbmcvc2VjdXJlLWlucHV0IFsgRmFpbHVyZSBdCiAjIFN5bnRo
ZXNpemVkIGl0YWxpY3Mgbm90IHN1cHBvcnRlZAogd2Via2l0Lm9yZy9iLzExNzk3NSBmYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9zeW50aGVzaXplZC1pdGFsaWMtdmVydGljYWwtbGF0aW4uaHRtbCBb
IFNraXAgXQogCi0jIGNyeXB0by5zdWJ0bGUgaXMgbm90IHlldCBlbmFibGVkCisjIGNyeXB0by5z
dWJ0bGUgaXMgbm90IHlldCBlbmFibGVkLCBidXQgc29tZSBhbGdvcml0aG1zIGFyZSBhbHJlYWR5
IGltcGxlbWVudGVkCisjIGFuZCB0aGVpciB0ZXN0cyBhcmUgd2hpdGVsaXN0ZWQKIEJ1ZyhHVEsp
IGNyeXB0by9zdWJ0bGUgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMzMzMjAgY3J5cHRvL3N1YnRs
ZS9obWFjLWNoZWNrLWFsZ29yaXRobS5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIw
IGNyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5Lmh0bWwgWyBQYXNzIF0KK3dlYmtpdC5vcmcv
Yi8xMzMzMjAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWtleS5odG1sIFsgUGFzcyBdCit3
ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQtandrLmh0bWwgWyBQ
YXNzIF0KK3dlYmtpdC5vcmcvYi8xMzMzMjAgY3J5cHRvL3N1YnRsZS9obWFjLXNpZ24tdmVyaWZ5
LWVtcHR5LWtleS5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0
bGUvaG1hYy1zaWduLXZlcmlmeS5odG1sIFsgUGFzcyBdCiAKICMgUXVpY2tUaW1lIHBsdWctaW4g
bm90IHJlbGV2YW50IHRvIHRoaXMgcG9ydAogQnVnKEdUSykgcGx1Z2lucy9xdWlja3RpbWUtcGx1
Z2luLXJlcGxhY2VtZW50Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238540</attachid>
            <date>2014-09-23 07:43:42 -0700</date>
            <delta_ts>2014-09-23 08:54:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140923164340.patch</filename>
            <type>text/plain</type>
            <size>6408</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU4ZGU1YWUyYTc2OThh
ZmU1ZTljYWI0ZDg1ZDczNTQ0YmZmODAzNC4uYTI3OTU0MTUyMmRlNmE5MGYyMjhmODgyNTU5Yjlj
NmRhNWFiNGQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA5LTIzICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZHMg
aW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUGhpbGlwcGUgTm9ybWFuZC4KKworICAgICAgICBUZXN0cyBhcmUgYWxyZWFk
eSBpbiBwbGFjZSB1bmRlciBjcnlwdG8vc3VidGxlL2htYWMtKi5odG1sCisKKyAgICAgICAgKiBj
cnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZVNp
Z25hdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9y
bVNpZ24pOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1W
ZXJpZnkpOgorCiAyMDE0LTA5LTE1ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIERvIG5vdCBncm93IHRyYWNrcyB3
aGVuIHRoZSBncm93dGggZmFjdG9yIGlzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9ndGsvQ3J5cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vZ3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwCmluZGV4IGY5YmU2OTViZmFiOWUzMTQz
MjdhNDAyYzBhNjkyMDI2NDdhODIzZjUuLjI2ZTlmYjkzYzg2ZWJlOTRkNjZmZjYzZDg5ZGM0M2Y5
MDVjYjg0OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxn
b3JpdGhtSE1BQ0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9B
bGdvcml0aG1ITUFDR3RrLmNwcApAQCAtMzEsMzUgKzMxLDcyIEBACiAjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtSG1hY1BhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0tleUhNQUMuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNs
dWRlIDxnbnV0bHMvZ251dGxzLmg+CisjaW5jbHVkZSA8Z251dGxzL2NyeXB0by5oPgorI2luY2x1
ZGUgPHd0Zi9DcnlwdG9ncmFwaGljVXRpbGl0aWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorc3RhdGljIGdudXRsc19tYWNfYWxnb3JpdGhtX3QgZ2V0R251dGxzRGlnZXN0QWxnb3JpdGht
KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEZ1bmN0aW9uKQoreworICAgIHN3aXRjaCAo
aGFzaEZ1bmN0aW9uKSB7CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFf
MToKKyAgICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMTsKKyAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTIy
NDsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6CisgICAgICAg
IHJldHVybiBHTlVUTFNfTUFDX1NIQTI1NjsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlNIQV8zODQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTM4NDsKKyAgICBj
YXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAgIHJldHVybiBH
TlVUTFNfTUFDX1NIQTUxMjsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gR05VVExTX01B
Q19VTktOT1dOOworICAgIH0KK30KKworc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjYWxjdWxhdGVT
aWduYXR1cmUoZ251dGxzX21hY19hbGdvcml0aG1fdCBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhKQoreworICAgIHNp
emVfdCBkaWdlc3RMZW5ndGggPSBnbnV0bHNfaG1hY19nZXRfbGVuKGFsZ29yaXRobSk7CisKKyAg
ICBWZWN0b3I8dWludDhfdD4gcmVzdWx0KGRpZ2VzdExlbmd0aCk7CisgICAgY29uc3Qgdm9pZCog
a2V5RGF0YSA9IGtleS5kYXRhKCkgPyBrZXkuZGF0YSgpIDogcmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oIiIpOworICAgIGludCByZXQgPSBnbnV0bHNfaG1hY19mYXN0KGFsZ29yaXRo
bSwga2V5RGF0YSwga2V5LnNpemUoKSwgZGF0YS5maXJzdCwgZGF0YS5zZWNvbmQsIHJlc3VsdC5k
YXRhKCkpOworICAgIEFTU0VSVChyZXQgPT0gR05VVExTX0VfU1VDQ0VTUyk7CisgICAgVU5VU0VE
X1BBUkFNKHJldCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIENyeXB0b0FsZ29y
aXRobUhNQUM6OnBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBw
YXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlv
bkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVy
ZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgZmFpbHVyZUNhbGxiYWNrKCk7Ci0KLSAg
ICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7Ci0gICAgVU5VU0VEX1BBUkFNKGtleSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5V
U0VEX1BBUkFNKGVjKTsKKyAgICBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGFsZ29yaXRobSA9IGdl
dEdudXRsc0RpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2gpOworICAgIGlmIChhbGdvcml0
aG0gPT0gR05VVExTX01BQ19VTktOT1dOKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9F
UlI7CisgICAgICAgIGZhaWx1cmVDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHNpZ25hdHVyZSA9IGNhbGN1bGF0ZVNpZ25hdHVyZShhbGdv
cml0aG0sIGtleS5rZXkoKSwgZGF0YSk7CisKKyAgICBjYWxsYmFjayhzaWduYXR1cmUpOwogfQog
CiB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVyaWZ5KGNvbnN0IENyeXB0b0Fs
Z29yaXRobUhtYWNQYXJhbXMmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleUhNQUMmIGtleSwg
Y29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZXhwZWN0ZWRTaWduYXR1cmUsIGNvbnN0IENyeXB0
b09wZXJhdGlvbkRhdGEmIGRhdGEsIEJvb2xDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNr
IGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgIGZhaWx1cmVDYWxsYmFjaygp
OwotCi0gICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwotICAgIFVOVVNFRF9QQVJBTShrZXkp
OwotICAgIFVOVVNFRF9QQVJBTShleHBlY3RlZFNpZ25hdHVyZSk7Ci0gICAgVU5VU0VEX1BBUkFN
KGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5VU0VEX1BBUkFNKGVj
KTsKKyAgICBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGFsZ29yaXRobSA9IGdldEdudXRsc0RpZ2Vz
dEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2gpOworICAgIGlmIChhbGdvcml0aG0gPT0gR05VVExT
X01BQ19VTktOT1dOKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAg
IGZhaWx1cmVDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVmVjdG9y
PHVpbnQ4X3Q+IHNpZ25hdHVyZSA9IGNhbGN1bGF0ZVNpZ25hdHVyZShhbGdvcml0aG0sIGtleS5r
ZXkoKSwgZGF0YSk7CisKKyAgICAvLyBVc2luZyBhIGNvbnN0YW50IHRpbWUgY29tcGFyaXNvbiB0
byBwcmV2ZW50IHRpbWluZyBhdHRhY2tzLgorICAgIGJvb2wgcmVzdWx0ID0gc2lnbmF0dXJlLnNp
emUoKSA9PSBleHBlY3RlZFNpZ25hdHVyZS5zZWNvbmQgJiYgIWNvbnN0YW50VGltZU1lbWNtcChz
aWduYXR1cmUuZGF0YSgpLCBleHBlY3RlZFNpZ25hdHVyZS5maXJzdCwgc2lnbmF0dXJlLnNpemUo
KSk7CisKKyAgICBjYWxsYmFjayhyZXN1bHQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTJmNDMzN2E3MWU3
MzhiZTZkZjljYTM3M2Q4ZGNiM2U1NzgxYzM2Ny4uOGQxMjg0Y2U1NjU3ZDUxZWQwZjdlODg1NDhh
OGUwMWQyMzY4MjU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTA5LTIzICBFZHVhcmRv
IExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZHMgaW1w
bGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgUGhpbGlwcGUgTm9ybWFuZC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zOiBXaGl0ZWxpc3RzIEhNQUMgcmVsYXRlZCB0ZXN0cyB0aGF0IGFyZSBwYXNz
aW5nCisKIDIwMTQtMDktMjMgIElvbiBSb3NjYSAgPHJvc2NhQGFkb2JlLmNvbT4KIAogICAgICAg
ICBbQ1NTIEJsZW5kaW5nXSBUaGUgY29tcG9zaXRlZCBsYXllcnMgaXNvbGF0ZWQgYnkgdGhlIHBh
Z2UgZ3JvdXAgc2hvdWxkIGJsZW5kIHdpdGggdGhlIGRlZmF1bHQgd2hpdGUgYmFja2dyb3VuZCBj
b2xvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKb2xkIG1vZGUg
MTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCBjMDUxNTk0NzlkZTQzYTlhMTZlZmEwY2Y2ZTkx
NGYxYjc3ZmNjMDkxLi4xMzUwYzNmMzAxNjhiYjcxNzk0MTQxMzlhZGE2NjE1NzNmYTY3NmFmCi0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNTUsOCArMzU1LDE1IEBA
IEJ1ZyhHVEspIGVkaXRpbmcvc2VjdXJlLWlucHV0IFsgRmFpbHVyZSBdCiAjIFN5bnRoZXNpemVk
IGl0YWxpY3Mgbm90IHN1cHBvcnRlZAogd2Via2l0Lm9yZy9iLzExNzk3NSBmYXN0L3RleHQvaW50
ZXJuYXRpb25hbC9zeW50aGVzaXplZC1pdGFsaWMtdmVydGljYWwtbGF0aW4uaHRtbCBbIFNraXAg
XQogCi0jIGNyeXB0by5zdWJ0bGUgaXMgbm90IHlldCBlbmFibGVkCisjIGNyeXB0by5zdWJ0bGUg
aXMgbm90IHlldCBlbmFibGVkLCBidXQgc29tZSBhbGdvcml0aG1zIGFyZSBhbHJlYWR5IGltcGxl
bWVudGVkCisjIGFuZCB0aGVpciB0ZXN0cyBhcmUgd2hpdGVsaXN0ZWQKIEJ1ZyhHVEspIGNyeXB0
by9zdWJ0bGUgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMzMzMjAgY3J5cHRvL3N1YnRsZS9obWFj
LWNoZWNrLWFsZ29yaXRobS5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0
by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5Lmh0bWwgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8xMzMz
MjAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWtleS5odG1sIFsgUGFzcyBdCit3ZWJraXQu
b3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQtandrLmh0bWwgWyBQYXNzIF0K
K3dlYmtpdC5vcmcvYi8xMzMzMjAgY3J5cHRvL3N1YnRsZS9obWFjLXNpZ24tdmVyaWZ5LWVtcHR5
LWtleS5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0bGUvaG1h
Yy1zaWduLXZlcmlmeS5odG1sIFsgUGFzcyBdCiAKICMgUXVpY2tUaW1lIHBsdWctaW4gbm90IHJl
bGV2YW50IHRvIHRoaXMgcG9ydAogQnVnKEdUSykgcGx1Z2lucy9xdWlja3RpbWUtcGx1Z2luLXJl
cGxhY2VtZW50Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238542</attachid>
            <date>2014-09-23 08:55:01 -0700</date>
            <delta_ts>2014-09-23 09:41:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133320-20140923175459.patch</filename>
            <type>text/plain</type>
            <size>6313</size>
            <attacher name="Eduardo Lima Mitev">elima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlZTMwZTE3MjZhYmE0
YjBiMDBhMTI5ZTU4NjU0NWVjNTRlMmQ1Yi4uMTkxMTgzYWFiNDcxYzI2OWVmNTAzYzA4MzAyZTYy
NDBlMTYzMWJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE0LTA5LTIzICBFZHVh
cmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdIEFkZHMg
aW1wbGVtZW50YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUGhpbGlwcGUgTm9ybWFuZC4KKworICAgICAgICBUZXN0cyBhcmUgYWxyZWFk
eSBpbiBwbGFjZSB1bmRlciBjcnlwdG8vc3VidGxlL2htYWMtKi5odG1sCisKKyAgICAgICAgKiBj
cnlwdG8vZ3RrL0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZVNp
Z25hdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9y
bVNpZ24pOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1W
ZXJpZnkpOgorCisyMDE0LTA5LTIzICBFZHVhcmRvIExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEu
Y29tPgorCiAgICAgICAgIFtHVEtdIEFkZHMgaW1wbGVtZW50YXRpb24gb2YgU3VidGxlIENyeXB0
byBkaWdlc3QgYWxnb3JpdGhtcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMzMzE5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9n
dGsvQ3J5cHRvQWxnb3JpdGhtSE1BQ0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ3Rr
L0NyeXB0b0FsZ29yaXRobUhNQUNHdGsuY3BwCmluZGV4IGY5YmU2OTViZmFiOWUzMTQzMjdhNDAy
YzBhNjkyMDI2NDdhODIzZjUuLjI2ZTlmYjkzYzg2ZWJlOTRkNjZmZjYzZDg5ZGM0M2Y5MDVjYjg0
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9ndGsvQ3J5cHRvQWxnb3JpdGht
SE1BQ0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2d0ay9DcnlwdG9BbGdvcml0
aG1ITUFDR3RrLmNwcApAQCAtMzEsMzUgKzMxLDcyIEBACiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3Jp
dGhtSG1hY1BhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0tleUhNQUMuaCIKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDxn
bnV0bHMvZ251dGxzLmg+CisjaW5jbHVkZSA8Z251dGxzL2NyeXB0by5oPgorI2luY2x1ZGUgPHd0
Zi9DcnlwdG9ncmFwaGljVXRpbGl0aWVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3Rh
dGljIGdudXRsc19tYWNfYWxnb3JpdGhtX3QgZ2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEZ1bmN0aW9uKQoreworICAgIHN3aXRjaCAoaGFzaEZ1
bmN0aW9uKSB7CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKKyAg
ICAgICAgcmV0dXJuIEdOVVRMU19NQUNfU0hBMTsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTIyNDsKKyAg
ICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6CisgICAgICAgIHJldHVy
biBHTlVUTFNfTUFDX1NIQTI1NjsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OlNIQV8zODQ6CisgICAgICAgIHJldHVybiBHTlVUTFNfTUFDX1NIQTM4NDsKKyAgICBjYXNlIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAgIHJldHVybiBHTlVUTFNf
TUFDX1NIQTUxMjsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gR05VVExTX01BQ19VTktO
T1dOOworICAgIH0KK30KKworc3RhdGljIFZlY3Rvcjx1aW50OF90PiBjYWxjdWxhdGVTaWduYXR1
cmUoZ251dGxzX21hY19hbGdvcml0aG1fdCBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1aW50OF90
PiYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhKQoreworICAgIHNpemVfdCBk
aWdlc3RMZW5ndGggPSBnbnV0bHNfaG1hY19nZXRfbGVuKGFsZ29yaXRobSk7CisKKyAgICBWZWN0
b3I8dWludDhfdD4gcmVzdWx0KGRpZ2VzdExlbmd0aCk7CisgICAgY29uc3Qgdm9pZCoga2V5RGF0
YSA9IGtleS5kYXRhKCkgPyBrZXkuZGF0YSgpIDogcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50
OF90Kj4oIiIpOworICAgIGludCByZXQgPSBnbnV0bHNfaG1hY19mYXN0KGFsZ29yaXRobSwga2V5
RGF0YSwga2V5LnNpemUoKSwgZGF0YS5maXJzdCwgZGF0YS5zZWNvbmQsIHJlc3VsdC5kYXRhKCkp
OworICAgIEFTU0VSVChyZXQgPT0gR05VVExTX0VfU1VDQ0VTUyk7CisgICAgVU5VU0VEX1BBUkFN
KHJldCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUhN
QUM6OnBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zJiBwYXJhbWV0
ZXJzLCBjb25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
IGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxi
YWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGVj
ID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgZmFpbHVyZUNhbGxiYWNrKCk7Ci0KLSAgICBVTlVT
RURfUEFSQU0ocGFyYW1ldGVycyk7Ci0gICAgVU5VU0VEX1BBUkFNKGtleSk7Ci0gICAgVU5VU0VE
X1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5VU0VEX1BB
UkFNKGVjKTsKKyAgICBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGFsZ29yaXRobSA9IGdldEdudXRs
c0RpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2gpOworICAgIGlmIChhbGdvcml0aG0gPT0g
R05VVExTX01BQ19VTktOT1dOKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgICAgIGZhaWx1cmVDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
VmVjdG9yPHVpbnQ4X3Q+IHNpZ25hdHVyZSA9IGNhbGN1bGF0ZVNpZ25hdHVyZShhbGdvcml0aG0s
IGtleS5rZXkoKSwgZGF0YSk7CisKKyAgICBjYWxsYmFjayhzaWduYXR1cmUpOwogfQogCiB2b2lk
IENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRo
bUhtYWNQYXJhbXMmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleUhNQUMmIGtleSwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYgZXhwZWN0ZWRTaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmIGRhdGEsIEJvb2xDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1
cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
LSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgIGZhaWx1cmVDYWxsYmFjaygpOwotCi0g
ICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwotICAgIFVOVVNFRF9QQVJBTShrZXkpOwotICAg
IFVOVVNFRF9QQVJBTShleHBlY3RlZFNpZ25hdHVyZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGRhdGEp
OwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Ci0gICAgVU5VU0VEX1BBUkFNKGVjKTsKKyAg
ICBnbnV0bHNfbWFjX2FsZ29yaXRobV90IGFsZ29yaXRobSA9IGdldEdudXRsc0RpZ2VzdEFsZ29y
aXRobShwYXJhbWV0ZXJzLmhhc2gpOworICAgIGlmIChhbGdvcml0aG0gPT0gR05VVExTX01BQ19V
TktOT1dOKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIGZhaWx1
cmVDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVmVjdG9yPHVpbnQ4
X3Q+IHNpZ25hdHVyZSA9IGNhbGN1bGF0ZVNpZ25hdHVyZShhbGdvcml0aG0sIGtleS5rZXkoKSwg
ZGF0YSk7CisKKyAgICAvLyBVc2luZyBhIGNvbnN0YW50IHRpbWUgY29tcGFyaXNvbiB0byBwcmV2
ZW50IHRpbWluZyBhdHRhY2tzLgorICAgIGJvb2wgcmVzdWx0ID0gc2lnbmF0dXJlLnNpemUoKSA9
PSBleHBlY3RlZFNpZ25hdHVyZS5zZWNvbmQgJiYgIWNvbnN0YW50VGltZU1lbWNtcChzaWduYXR1
cmUuZGF0YSgpLCBleHBlY3RlZFNpZ25hdHVyZS5maXJzdCwgc2lnbmF0dXJlLnNpemUoKSk7CisK
KyAgICBjYWxsYmFjayhyZXN1bHQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTA5MmJiNDAxMzIzYzI4N2Nh
Y2Y3MzQ5Nzc5OGVkYmFlYWMyNjA1MS4uZjU3MWI3MmM2ODdjMTc2YzhiMzcxN2UzNzViMjhiNDZj
ZGI1MTJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE0LTA5LTIzICBFZHVhcmRvIExpbWEg
TWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdIEFkZHMgaW1wbGVtZW50
YXRpb24gb2Ygc3VidGxlIGNyeXB0byBITUFDIGFsZ29yaXRobQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzIwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgUGhpbGlwcGUgTm9ybWFuZC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zOiBXaGl0ZWxpc3RzIEhNQUMgcmVsYXRlZCB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nCisK
KzIwMTQtMDktMjMgIEVkdWFyZG8gTGltYSBNaXRldiAgPGVsaW1hQGlnYWxpYS5jb20+CisKICAg
ICAgICAgW0dUS10gQWRkcyBpbXBsZW1lbnRhdGlvbiBvZiBTdWJ0bGUgQ3J5cHRvIGRpZ2VzdCBh
bGdvcml0aG1zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzMzMTkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCAyOWE1OGM4OTg0YjQ5MjAyMGU3M2I4YjE3MTliYjFjNGYyN2IxOThjLi5kY2M3MjdmMTY4NTRm
YjdiNWVkZjMxYWU4MWQzYmQ1YWYyNTIwMWY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMzYzLDYgKzM2MywxMiBAQCB3ZWJraXQub3JnL2IvMTMzMzE5
IGNyeXB0by9zdWJ0bGUvc2hhLTIyNC5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTMzMzE5
IGNyeXB0by9zdWJ0bGUvc2hhLTI1Ni5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTMzMzE5
IGNyeXB0by9zdWJ0bGUvc2hhLTM4NC5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTMzMzE5
IGNyeXB0by9zdWJ0bGUvc2hhLTUxMi5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIw
IGNyeXB0by9zdWJ0bGUvaG1hYy1jaGVjay1hbGdvcml0aG0uaHRtbCBbIFBhc3MgXQord2Via2l0
Lm9yZy9iLzEzMzMyMCBjcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0LWtleS5odG1sIFsgUGFzcyBd
Cit3ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1rZXkuaHRt
bCBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzEzMzMyMCBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0
LWp3ay5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTMzMzIwIGNyeXB0by9zdWJ0bGUvaG1h
Yy1zaWduLXZlcmlmeS1lbXB0eS1rZXkuaHRtbCBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzEzMzMy
MCBjcnlwdG8vc3VidGxlL2htYWMtc2lnbi12ZXJpZnkuaHRtbCBbIFBhc3MgXQogCiAjIFF1aWNr
VGltZSBwbHVnLWluIG5vdCByZWxldmFudCB0byB0aGlzIHBvcnQKIEJ1ZyhHVEspIHBsdWdpbnMv
cXVpY2t0aW1lLXBsdWdpbi1yZXBsYWNlbWVudC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>