<?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>92137</bug_id>
          
          <creation_ts>2012-07-24 10:20:51 -0700</creation_ts>
          <short_desc>Create a specialized pair for use in HashMap iterators</short_desc>
          <delta_ts>2012-07-25 15:15:33 -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>Web Template Framework</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>
          
          <blocked>82784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676971</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-24 10:20:51 -0700</bug_when>
    <thetext>Create a specialized struct for use in HashMap iterators</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677001</commentid>
    <comment_count>1</comment_count>
      <attachid>154102</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-24 10:42:24 -0700</bug_when>
    <thetext>Created attachment 154102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677018</commentid>
    <comment_count>2</comment_count>
      <attachid>154102</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-07-24 10:48:44 -0700</bug_when>
    <thetext>Comment on attachment 154102
Patch

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

&gt; Source/WTF/wtf/HashTable.h:294
&gt; +    template&lt;typename T, typename U&gt; inline void hashTableSwap(KeyValuePair&lt;T, U&gt;&amp; a, KeyValuePair&lt;T, U&gt;&amp; b)

Do we need to keep the one with std::pair?

&gt; Source/WTF/wtf/HashTraits.h:195
&gt; +        KeyValuePair() : first(), second() { }
&gt; +        KeyValuePair(const KeyTypeArg&amp; key, const ValueTypeArg&amp; value) : first(key), second(value) { }
&gt; +
&gt; +        template &lt;typename OtherKeyType, typename OtherValueType&gt;
&gt; +        KeyValuePair(const KeyValuePair&lt;OtherKeyType, OtherValueType&gt;&amp; other) : first(other.first), second(other.second) { }

Please put each variable initialization on a separate line.

&gt; Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h:76
&gt; +    static void encode(ArgumentEncoder* encoder, const WTF::KeyValuePair&lt;KeyType, ValueType&gt;&amp; pair)

Do we need to keep the one with std::pair?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677067</commentid>
    <comment_count>3</comment_count>
      <attachid>154102</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-24 11:41:03 -0700</bug_when>
    <thetext>Comment on attachment 154102
Patch

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

Thanks for the comments.

&gt;&gt; Source/WTF/wtf/HashTable.h:294
&gt;&gt; +    template&lt;typename T, typename U&gt; inline void hashTableSwap(KeyValuePair&lt;T, U&gt;&amp; a, KeyValuePair&lt;T, U&gt;&amp; b)
&gt; 
&gt; Do we need to keep the one with std::pair?

Not anymore.

&gt;&gt; Source/WTF/wtf/HashTraits.h:195
&gt;&gt; +        KeyValuePair(const KeyValuePair&lt;OtherKeyType, OtherValueType&gt;&amp; other) : first(other.first), second(other.second) { }
&gt; 
&gt; Please put each variable initialization on a separate line.

Fixed.

&gt;&gt; Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h:76
&gt;&gt; +    static void encode(ArgumentEncoder* encoder, const WTF::KeyValuePair&lt;KeyType, ValueType&gt;&amp; pair)
&gt; 
&gt; Do we need to keep the one with std::pair?

Yes, it is still needed: we pass thru IPC other structures that build on top of std::pair.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677084</commentid>
    <comment_count>4</comment_count>
      <attachid>154116</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-24 12:09:58 -0700</bug_when>
    <thetext>Created attachment 154116
Updated version for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678310</commentid>
    <comment_count>5</comment_count>
      <attachid>154409</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-25 11:51:15 -0700</bug_when>
    <thetext>Created attachment 154409
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678314</commentid>
    <comment_count>6</comment_count>
      <attachid>154411</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-07-25 11:53:37 -0700</bug_when>
    <thetext>Created attachment 154411
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678522</commentid>
    <comment_count>7</comment_count>
      <attachid>154411</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-25 15:15:28 -0700</bug_when>
    <thetext>Comment on attachment 154411
Patch for landing

Clearing flags on attachment: 154411

Committed r123667: &lt;http://trac.webkit.org/changeset/123667&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678523</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-25 15:15:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154102</attachid>
            <date>2012-07-24 10:42:24 -0700</date>
            <delta_ts>2012-07-24 12:09:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92137-20120724144215.patch</filename>
            <type>text/plain</type>
            <size>19033</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MzUwMWU4Zjg4MmU5MDUyNDZkMzBmNjIzMjM2YjMzNjEzNGYxOWU4Li5kOTczM2FmYzQxNGYxNjky
NzFiYzA2NjFmNTc1YTk0NWZmY2I2ZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNy0yNCAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENyZWF0ZSBhIHNwZWNpYWxp
emVkIHBhaXIgZm9yIHVzZSBpbiBIYXNoTWFwIGl0ZXJhdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYSBjb3VwbGUgb2Ygc2l0ZXMgdGhh
dCByZWxpZWQgb24gdGhlIGZhY3QgdGhhdCAiY29udGVudHMiIG9mIGl0ZXJhdG9ycyB3ZXJlCisg
ICAgICAgIHN0ZDo6cGFpcnMuCisKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlLmNwcDoKKyAg
ICAgICAgKEpTQyk6IFRoaXMgY29kZSBrZXB0IGEgdmVjdG9yIG9mIHRoZSBwYWlycyB0aGF0IHdl
cmUgdGhlICJjb250ZW50cyIgb2YgdGhlIGl0ZXJhdG9ycy4gVGhpcworICAgICAgICBpcyBjaGFu
Z2VkIHRvIHVzZSBhIEtleVZhbHVlUGFpci4gV2UgbWFrZSB1c2UgSGFzaENvdW50J3MgVmFsdWVU
eXBlICh3aGljaCByZXByZXNlbnRzIG9ubHkKKyAgICAgICAgdGhlIGtleSkgdG8gZ2V0IHRoZSBw
cm9wZXIga2V5IHBhcmFtZXRlciBmb3IgS2V5VmFsdWVQYWlyLgorICAgICAgICAqIHRvb2xzL1By
b2ZpbGVUcmVlTm9kZS5oOgorICAgICAgICAoUHJvZmlsZVRyZWVOb2RlKTogVXNlIEhhc2hNYXA6
OlZhbHVlVHlwZSB0byBkZWNsYXJlIHRoZSB0eXBlIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgaGFz
aAorICAgICAgICBpbnN0ZWFkIG9mIGRlY2xhcmluZyBpdCBtYW51YWxseS4gVGhpcyB3aWxsIG1h
a2UgdXNlIG9mIHRoZSBuZXcgS2V5VmFsdWVQYWlyLgorCiAyMDEyLTA3LTIzICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgR3JlZ29yaWFuRGF0
ZVRpbWUgZnJvbSBKU0MgdG8gV1RGIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3MjU0Mzg5OWZhZTQyNjEyOTJm
N2JiNGM3ZjM3NDA3MTcxMDkxZTNjLi4wZDMyOGY1ZDM0MTc3ZjAwNmYzZDc0YmNlNmFhZmQxNGM3
OTVkOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA3LTI0ICBDYWlvIE1hcmNlbG8gZGUg
T2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAg
Q3JlYXRlIGEgc3BlY2lhbGl6ZWQgcGFpciBmb3IgdXNlIGluIEhhc2hNYXAgaXRlcmF0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjEzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0eXBlIHVz
ZWQgZm9yIGludGVybmFsIHN0b3JhZ2UgaW4gSGFzaE1hcCBpcyBleHBvc2VkIGluIGl0cyBpbnRl
cmZhY2UgYXMgaXRlcmF0b3IKKyAgICAgICAgImNvbnRlbnRzIi4gQ3VycmVudGx5IEhhc2hNYXAg
dXNlcyBzdGQ6OnBhaXI8Piwgd2hpY2ggdGhpcyBwYXRjaCByZXBsYWNlcyB3aXRoCisgICAgICAg
IEtleVZhbHVlUGFpci4KKworICAgICAgICBIYXZpbmcgdGhpcyBzcGVjaWFsaXplZCBzdHJ1Y3R1
cmUgd2lsbCBhbGxvdyB1cyB0byBjdXN0b21pemUgdGhlIG1lbWJlcnMgdG8gYmUgY2FsbGVkCisg
ICAgICAgIGtleS92YWx1ZSwgaW1wcm92aW5nIHJlYWRhYmlsaXR5IGluIGNvZGUgdXNpbmcgSGFz
aE1hcCBpdGVyYXRvcnMuIFRoZXkgYXJlIHN0aWxsIGNhbGxlZAorICAgICAgICBmaXJzdC9zZWNv
bmQgdG8gc2VwYXJhdGUgdGhpcyBjaGFuZ2UgZnJvbSB0aGUgbWVjaGFuaWNhbCBjaGFuZ2Ugb2Yg
dXBkYXRpbmcgY2FsbHNpdGVzLgorCisgICAgICAgICogd3RmL0hhc2hJdGVyYXRvcnMuaDoKKyAg
ICAgICAgKEhhc2hUYWJsZUNvbnN0S2V5c0l0ZXJhdG9yKToKKyAgICAgICAgKEhhc2hUYWJsZUNv
bnN0VmFsdWVzSXRlcmF0b3IpOgorICAgICAgICAoSGFzaFRhYmxlS2V5c0l0ZXJhdG9yKToKKyAg
ICAgICAgKEhhc2hUYWJsZVZhbHVlc0l0ZXJhdG9yKToKKyAgICAgICAgVXNlIEtleVZhbHVlUGFp
ciBpbnN0ZWFkIG9mIHN0ZDo6cGFpciB3aGVuIGRlZmluaW5nIHRoZSBpdGVyYXRvcnMuCisKKyAg
ICAgICAgKiB3dGYvSGFzaE1hcC5oOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdURjo6S2V5
VmFsdWVQYWlyS2V5RXh0cmFjdG9yOjpleHRyYWN0KToKKyAgICAgICAgKEhhc2hNYXApOgorICAg
ICAgICBSZW1vdmUgUGFpckZpcnN0RXh0cmFjdG9yLiBBZGQgYW5kIHVzZSB0aGUgS2V5VmFsdWVQ
YWlyIGNvcnJlc3BvbmRpbmcgZXh0cmFjdG9yLgorCisgICAgICAgIChXVEY6Okhhc2hNYXBWYWx1
ZVRyYWl0czo6aXNFbXB0eVZhbHVlKTogVXNlIEtleVZhbHVlUGFpckhhc2hUcmFpdHMgZm9yIEhh
c2hNYXBzLgorICAgICAgICAoV1RGOjpIYXNoTWFwVHJhbnNsYXRvcjo6dHJhbnNsYXRlKToKKyAg
ICAgICAgKFdURjo6SGFzaE1hcFRyYW5zbGF0b3JBZGFwdGVyOjp0cmFuc2xhdGUpOgorICAgICAg
ICBUaGUgdHJhaXRzIG9mIHRoZSBtYXBwZWQgdmFsdWUgaXMgbm93IGNhbGxlZCBWYWx1ZVRyYWl0
cyBpbnN0ZWFkIG9mIFNlY29uZFRyYWl0cy4KKworICAgICAgICAqIHd0Zi9IYXNoVGFibGUuaDoK
KyAgICAgICAgKFdURjo6aGFzaFRhYmxlU3dhcCk6IEFkZCBzcGVjaWFsaXphdGlvbiBmb3Igc3dh
cHBpbmcgS2V5VmFsdWVQYWlycy4KKyAgICAgICAgKFdURik6CisKKyAgICAgICAgKiB3dGYvSGFz
aFRyYWl0cy5oOgorICAgICAgICAoS2V5VmFsdWVQYWlyKToKKyAgICAgICAgKFdURjo6S2V5VmFs
dWVQYWlyOjpLZXlWYWx1ZVBhaXIpOgorICAgICAgICAoV1RGKToKKyAgICAgICAgU3BlY2lhbGl6
ZWQgcGFpci4gSW4gdGhlIGZ1dHVyZSBkaWZmZXJlbmNlIGZyb20gcGFpciBzaG91bGQgYmUgdGhl
IG1lbWJlciBuYW1lcy4KKworICAgICAgICAoS2V5VmFsdWVQYWlySGFzaFRyYWl0cyk6CisgICAg
ICAgIChXVEY6OktleVZhbHVlUGFpckhhc2hUcmFpdHM6OmVtcHR5VmFsdWUpOgorICAgICAgICAo
V1RGOjpLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgorICAg
ICAgICAoV1RGOjpLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisgICAg
ICAgIFRoZXNlIHRyYWl0cyBhcmUgYW5hbG9nb3VzIHRvIFBhaXJIYXNoVHJhaXRzIGJ1dCBmb3Ig
S2V5VmFsdWVQYWlyLgorCisgICAgICAgICogd3RmL1JlZlB0ckhhc2hNYXAuaDogVXNlIEtleVZh
bHVlUGFpckhhc2hUcmFpdHMuCisKIDIwMTItMDctMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFy
b2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBHcmVnb3JpYW5EYXRlVGltZSBmcm9tIEpT
QyB0byBXVEYgbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDU5ZWIxZTdmNWM0MTI2Zjc5NWQ1NDdj
YWE3ZmJlYjg3NDU0NzQwMS4uZDU3YTdhMThmYWFlODVkNTNlMzhkMzY4YWQ2NmM1N2E1NDg1YzBl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA3LTI0ICBDYWlvIE1hcmNlbG8g
ZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgQ3JlYXRlIGEgc3BlY2lhbGl6ZWQgc3RydWN0IGZvciB1c2UgaW4gSGFzaE1hcCBpdGVyYXRv
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTM3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmg6IEFkZCBlbmNvZGUvZGVjb2RlIGZvciBLZXlW
YWx1ZVBhaXIuCisKIDIwMTItMDctMjQgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5u
YWdpbmVuaUBsaW51eC5pbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgdmlicmF0
aW9uIGNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1By
b2ZpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGUuY3BwCmlu
ZGV4IDQ5ZDZkZTk3YTk4YWIwYzUzZmVlYTY1YjM4OTY5ZmQzMDExMzM5OTcuLjkyZTMyYzRiYTY2
NGE0MWY0MWE4OGU5MjljYTNmMGNlOGJmNzA3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZS5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIFByb2ZpbGU6OmRl
YnVnUHJpbnREYXRhKCkgY29uc3QKICAgICBtX2hlYWQtPmRlYnVnUHJpbnREYXRhKDApOwogfQog
Ci10eXBlZGVmIHBhaXI8U3RyaW5nSW1wbCosIHVuc2lnbmVkPiBOYW1lQ291bnRQYWlyOwordHlw
ZWRlZiBXVEY6OktleVZhbHVlUGFpcjxGdW5jdGlvbkNhbGxIYXNoQ291bnQ6OlZhbHVlVHlwZSwg
dW5zaWduZWQ+IE5hbWVDb3VudFBhaXI7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBmdW5jdGlvbk5h
bWVDb3VudFBhaXJDb21wYXJhdG9yKGNvbnN0IE5hbWVDb3VudFBhaXImIGEsIGNvbnN0IE5hbWVD
b3VudFBhaXImIGIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMv
UHJvZmlsZVRyZWVOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvUHJvZmlsZVRy
ZWVOb2RlLmgKaW5kZXggOWRlMzlhZDhhMjk4NjIyYzQzM2E2N2ViNjRhNzIyMDRkZTE5ZTZjMi4u
N2I1MWVmYjg1ZGIzNDQxYTIyMjYzYjQyNDk3YTMxNzUyYjViNTJmZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1Byb2ZpbGVUcmVlTm9kZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUuaApAQCAtMzAsNyArMzAsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgUHJvZmlsZVRyZWVOb2RlIHsKICAgICB0eXBlZGVmIEhh
c2hNYXA8U3RyaW5nLCBQcm9maWxlVHJlZU5vZGU+IE1hcDsKLSAgICB0eXBlZGVmIHN0ZDo6cGFp
cjxTdHJpbmcsIFByb2ZpbGVUcmVlTm9kZT4gTWFwRW50cnk7CisgICAgdHlwZWRlZiBNYXA6OlZh
bHVlVHlwZSBNYXBFbnRyeTsKIAogcHVibGljOgogICAgIFByb2ZpbGVUcmVlTm9kZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoSXRlcmF0b3JzLmggYi9Tb3VyY2UvV1RGL3d0Zi9I
YXNoSXRlcmF0b3JzLmgKaW5kZXggNmFmYTJmYTU3ZTcwYWQwMzIwODUwZjM3MzNkY2Q3OTk3MTRi
MDA4My4uNjM5ZmY3MjUwYTFlZjBmYjNmODI0ZGM5MTY4ODQ5NmI4OWI2NWUxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvSGFzaEl0ZXJhdG9ycy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0hh
c2hJdGVyYXRvcnMuaApAQCAtMzMsOSArMzMsOSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBN
YXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yOwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEhhc2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5
cGU+IHN0cnVjdCBIYXNoVGFibGVWYWx1ZXNJdGVyYXRvcjsKIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIEhhc2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+
IHN0cnVjdCBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6
OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFz
aFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0
IEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFp
cjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IHsKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVm
IHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CisgICAgICAgIHR5cGVk
ZWYgS2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVlVHlwZTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RLZXlzSXRlcmF0b3I8SGFzaFRhYmxl
VHlwZSwgS2V5VHlwZSwgTWFwcGVkVHlwZT4gS2V5czsKICAgICAgICAgdHlwZWRlZiBIYXNoVGFi
bGVDb25zdFZhbHVlc0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1hcHBlZFR5cGU+
IFZhbHVlczsKQEAgLTU2LDkgKzU2LDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHR5cGVu
YW1lIEhhc2hUYWJsZVR5cGU6OmNvbnN0X2l0ZXJhdG9yIG1faW1wbDsKICAgICB9OwogCi0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5h
bWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVU
eXBlLCBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlw
ZT4gc3RydWN0IEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1
ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlw
ZWRlZiBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVUeXBlOworICAgICAgICB0
eXBlZGVmIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CiAgICAg
cHVibGljOgogICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUtleXNJdGVyYXRvcjxIYXNoVGFibGVU
eXBlLCBLZXlUeXBlLCBNYXBwZWRUeXBlPiBLZXlzOwogICAgICAgICB0eXBlZGVmIEhhc2hUYWJs
ZVZhbHVlc0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVl
czsKQEAgLTg2LDcgKzg2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBl
PiBzdHJ1Y3QgSGFzaFRhYmxlQ29uc3RLZXlzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAg
ICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwg
c3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVyYXRvcjsKKyAgICAgICAg
dHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlW
YWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOwogCiAgICAgcHVi
bGljOgogICAgICAgICBIYXNoVGFibGVDb25zdEtleXNJdGVyYXRvcihjb25zdCBDb25zdEl0ZXJh
dG9yJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7fQpAQCAtMTAzLDcgKzEwMyw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZUNvbnN0VmFsdWVz
SXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJ
dGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5
cGU+ID4gQ29uc3RJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJh
dG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlw
ZT4gPiBDb25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgogICAgICAgICBIYXNoVGFibGVDb25z
dFZhbHVlc0l0ZXJhdG9yKGNvbnN0IENvbnN0SXRlcmF0b3ImIGltcGwpIDogbV9pbXBsKGltcGwp
IHt9CkBAIC0xMjAsOCArMTIwLDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRU
eXBlPiBzdHJ1Y3QgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yIHsKICAgICBwcml2YXRlOgotICAgICAg
ICB0eXBlZGVmIEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBh
aXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBJdGVyYXRvcjsKLSAgICAgICAgdHlwZWRlZiBIYXNo
VGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlw
ZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJs
ZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFw
cGVkVHlwZT4gPiBJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJh
dG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlw
ZT4gPiBDb25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgogICAgICAgICBIYXNoVGFibGVLZXlz
SXRlcmF0b3IoY29uc3QgSXRlcmF0b3ImIGltcGwpIDogbV9pbXBsKGltcGwpIHt9CkBAIC0xNDMs
OCArMTQzLDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNo
VGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3Qg
SGFzaFRhYmxlVmFsdWVzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYg
SGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBl
LCBNYXBwZWRUeXBlPiA+IEl0ZXJhdG9yOwotICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0
SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRU
eXBlPiA+IENvbnN0SXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlSXRlcmF0b3JB
ZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+
IEl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVy
PEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0
SXRlcmF0b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZVZhbHVlc0l0ZXJhdG9y
KGNvbnN0IEl0ZXJhdG9yJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7fQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvSGFzaE1hcC5oIGIvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCmluZGV4IGY1
OTdlYzMzMzc5ODdkZWEwNGQwYTgwYWE4ODI1ZTJiMDVjMGVmNTguLjkwMTA0NzRjODI1NTYzZWY4
NDFiOTY4N2ZlZmY0OTRhYTY1NWI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hN
YXAuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoTWFwLmgKQEAgLTI2LDcgKzI2LDYgQEAKIG5h
bWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHJhaXRzLCB0eXBlbmFt
ZSBNYXBwZWRUcmFpdHM+IHN0cnVjdCBIYXNoTWFwVmFsdWVUcmFpdHM7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgUGFpclR5cGU+IHN0cnVjdCBQYWlyRmlyc3RFeHRyYWN0b3I7CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUmVmZXJlbmNlVHlwZU1ha2VyIHsKICAgICAgICAgdHlw
ZWRlZiBUJiBSZWZlcmVuY2VUeXBlOwpAQCAtMzUsNiArMzQsMTAgQEAgbmFtZXNwYWNlIFdURiB7
CiAgICAgICAgIHR5cGVkZWYgVCYgUmVmZXJlbmNlVHlwZTsKICAgICB9OwogCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEtleVZhbHVlUGFpcktleUV4dHJhY3RvciB7CisgICAgICAg
IHN0YXRpYyBjb25zdCB0eXBlbmFtZSBUOjpLZXlUeXBlJiBleHRyYWN0KGNvbnN0IFQmIHApIHsg
cmV0dXJuIHAuZmlyc3Q7IH0KKyAgICB9OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJn
LCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0
SGFzaDxLZXlBcmc+OjpIYXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNo
VHJhaXRzPEtleUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFw
cGVkQXJnPiA+CiAgICAgY2xhc3MgSGFzaE1hcCB7CkBAIC01OCw3ICs2MSw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogCiAgICAgICAgIHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogCi0gICAg
ICAgIHR5cGVkZWYgSGFzaFRhYmxlPEtleVR5cGUsIFZhbHVlVHlwZSwgUGFpckZpcnN0RXh0cmFj
dG9yPFZhbHVlVHlwZT4sCisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlPEtleVR5cGUsIFZhbHVl
VHlwZSwgS2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9yPFZhbHVlVHlwZT4sCiAgICAgICAgICAgICBI
YXNoRnVuY3Rpb25zLCBWYWx1ZVRyYWl0cywgS2V5VHJhaXRzPiBIYXNoVGFibGVUeXBlOwogCiAg
ICAgICAgIGNsYXNzIEhhc2hNYXBLZXlzUHJveHk7CkBAIC0yMDQsMTggKzIwNywxNCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAgICAgSGFzaFRhYmxlVHlwZSBtX2ltcGw7CiAgICAgfTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEtleVRyYWl0cywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzPiBzdHJ1
Y3QgSGFzaE1hcFZhbHVlVHJhaXRzIDogUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRU
cmFpdHM+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUcmFpdHMsIHR5cGVuYW1lIE1hcHBl
ZFRyYWl0cz4gc3RydWN0IEhhc2hNYXBWYWx1ZVRyYWl0cyA6IEtleVZhbHVlUGFpckhhc2hUcmFp
dHM8S2V5VHJhaXRzLCBNYXBwZWRUcmFpdHM+IHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wg
aGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24gPSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9vbCBpc0Vt
cHR5VmFsdWUoY29uc3QgdHlwZW5hbWUgUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRU
cmFpdHM+OjpUcmFpdFR5cGUmIHZhbHVlKQorICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFs
dWUoY29uc3QgdHlwZW5hbWUgS2V5VmFsdWVQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBl
ZFRyYWl0cz46OlRyYWl0VHlwZSYgdmFsdWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVy
biBpc0hhc2hUcmFpdHNFbXB0eVZhbHVlPEtleVRyYWl0cz4odmFsdWUuZmlyc3QpOwogICAgICAg
ICB9CiAgICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFBhaXJUeXBlPiBzdHJ1Y3QgUGFp
ckZpcnN0RXh0cmFjdG9yIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHR5cGVuYW1lIFBhaXJUeXBl
OjpmaXJzdF90eXBlJiBleHRyYWN0KGNvbnN0IFBhaXJUeXBlJiBwKSB7IHJldHVybiBwLmZpcnN0
OyB9Ci0gICAgfTsKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHJhaXRzLCB0eXBlbmFt
ZSBIYXNoRnVuY3Rpb25zPgogICAgIHN0cnVjdCBIYXNoTWFwVHJhbnNsYXRvciB7CiAgICAgICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFQmIGtleSkg
eyByZXR1cm4gSGFzaEZ1bmN0aW9uczo6aGFzaChrZXkpOyB9CkBAIC0yMjMsNyArMjIyLDcgQEAg
bmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUs
IHR5cGVuYW1lIFY+IHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShUJiBsb2NhdGlvbiwgY29uc3QgVSYg
a2V5LCBjb25zdCBWJiBtYXBwZWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIGxvY2F0aW9uLmZp
cnN0ID0ga2V5OwotICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlNlY29uZFRyYWl0czo6c3RvcmUo
bWFwcGVkLCBsb2NhdGlvbi5zZWNvbmQpOworICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlZhbHVl
VHJhaXRzOjpzdG9yZShtYXBwZWQsIGxvY2F0aW9uLnNlY29uZCk7CiAgICAgICAgIH0KICAgICB9
OwogCkBAIC0yMzQsNyArMjMzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IHN0YXRpYyB2b2lkIHRyYW5zbGF0
ZShUJiBsb2NhdGlvbiwgY29uc3QgVSYga2V5LCBjb25zdCBWJiBtYXBwZWQsIHVuc2lnbmVkIGhh
c2hDb2RlKQogICAgICAgICB7CiAgICAgICAgICAgICBUcmFuc2xhdG9yOjp0cmFuc2xhdGUobG9j
YXRpb24uZmlyc3QsIGtleSwgaGFzaENvZGUpOwotICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlNl
Y29uZFRyYWl0czo6c3RvcmUobWFwcGVkLCBsb2NhdGlvbi5zZWNvbmQpOworICAgICAgICAgICAg
VmFsdWVUcmFpdHM6OlZhbHVlVHJhaXRzOjpzdG9yZShtYXBwZWQsIGxvY2F0aW9uLnNlY29uZCk7
CiAgICAgICAgIH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFi
bGUuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCmluZGV4IGNjZjYyZGMwMGI4MWI1M2Fj
N2IzZmRkYTgzZTVkMWZkMzIxNjkwNWUuLmM5YTNhMjM5MzUyMzA4NjY4YmM5OThjNDYwM2RkYmZj
MzhkMzI3OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCkBAIC0yOTEsNiArMjkxLDEyIEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICBzd2FwKGEuc2Vjb25kLCBiLnNlY29uZCk7CiAgICAgfQogCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIHZvaWQgaGFzaFRhYmxlU3dhcChL
ZXlWYWx1ZVBhaXI8VCwgVT4mIGEsIEtleVZhbHVlUGFpcjxULCBVPiYgYikKKyAgICB7CisgICAg
ICAgIHN3YXAoYS5maXJzdCwgYi5maXJzdCk7CisgICAgICAgIHN3YXAoYS5zZWNvbmQsIGIuc2Vj
b25kKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBib29sIHVzZVN3YXA+IHN0
cnVjdCBNb3ZlcjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgTW92ZXI8VCwgdHJ1
ZT4geyBzdGF0aWMgdm9pZCBtb3ZlKFQmIGZyb20sIFQmIHRvKSB7IGhhc2hUYWJsZVN3YXAoZnJv
bSwgdG8pOyB9IH07CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IE1vdmVyPFQsIGZh
bHNlPiB7IHN0YXRpYyB2b2lkIG1vdmUoVCYgZnJvbSwgVCYgdG8pIHsgdG8gPSBmcm9tOyB9IH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmggYi9Tb3VyY2UvV1RGL3d0
Zi9IYXNoVHJhaXRzLmgKaW5kZXggMjFmZmRiYjQ1ZTU4ZWI5NmNkZDdiOGFhMDVlMTJlMTVmNDUw
YjFmZC4uMGVmZjhhNDk1YjcwNmI1MjBjZjdlNDZhNDY3MjYwYWYyNGRhMWNiMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0hhc2hU
cmFpdHMuaApAQCAtMTYzLDggKzE2Myw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICByZXR1
cm4gSGFzaFRyYWl0c0VtcHR5VmFsdWVDaGVja2VyPFRyYWl0cywgVHJhaXRzOjpoYXNJc0VtcHR5
VmFsdWVGdW5jdGlvbj46OmlzRW1wdHlWYWx1ZSh2YWx1ZSk7CiAgICAgfQogCi0gICAgLy8gc3Bl
Y2lhbCB0cmFpdHMgZm9yIHBhaXJzLCBoZWxwZnVsIGZvciB0aGVpciB1c2UgaW4gSGFzaE1hcCBp
bXBsZW1lbnRhdGlvbgotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRmlyc3RUcmFpdHNBcmcsIHR5
cGVuYW1lIFNlY29uZFRyYWl0c0FyZz4KICAgICBzdHJ1Y3QgUGFpckhhc2hUcmFpdHMgOiBHZW5l
cmljSGFzaFRyYWl0czxzdGQ6OnBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHNBcmc6OlRyYWl0VHlw
ZSwgdHlwZW5hbWUgU2Vjb25kVHJhaXRzQXJnOjpUcmFpdFR5cGU+ID4gewogICAgICAgICB0eXBl
ZGVmIEZpcnN0VHJhaXRzQXJnIEZpcnN0VHJhaXRzOwpAQCAtMTg2LDYgKzE4NCw0MiBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUgU2Vjb25k
PgogICAgIHN0cnVjdCBIYXNoVHJhaXRzPHN0ZDo6cGFpcjxGaXJzdCwgU2Vjb25kPiA+IDogcHVi
bGljIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8Rmlyc3Q+LCBIYXNoVHJhaXRzPFNlY29uZD4g
PiB7IH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlQXJnLCB0eXBlbmFtZSBWYWx1
ZVR5cGVBcmc+CisgICAgc3RydWN0IEtleVZhbHVlUGFpciB7CisgICAgICAgIHR5cGVkZWYgS2V5
VHlwZUFyZyBLZXlUeXBlOworCisgICAgICAgIEtleVZhbHVlUGFpcigpIDogZmlyc3QoKSwgc2Vj
b25kKCkgeyB9CisgICAgICAgIEtleVZhbHVlUGFpcihjb25zdCBLZXlUeXBlQXJnJiBrZXksIGNv
bnN0IFZhbHVlVHlwZUFyZyYgdmFsdWUpIDogZmlyc3Qoa2V5KSwgc2Vjb25kKHZhbHVlKSB7IH0K
KworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3RoZXJLZXlUeXBlLCB0eXBlbmFtZSBPdGhl
clZhbHVlVHlwZT4KKyAgICAgICAgS2V5VmFsdWVQYWlyKGNvbnN0IEtleVZhbHVlUGFpcjxPdGhl
cktleVR5cGUsIE90aGVyVmFsdWVUeXBlPiYgb3RoZXIpIDogZmlyc3Qob3RoZXIuZmlyc3QpLCBz
ZWNvbmQob3RoZXIuc2Vjb25kKSB7IH0KKworICAgICAgICAvLyBUT0RPOiBSZW5hbWUgdGhlc2Ug
dG8ga2V5IGFuZCB2YWx1ZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04Mjc4NC4KKyAgICAgICAgS2V5VHlwZUFyZyBmaXJzdDsKKyAgICAgICAgVmFsdWVUeXBl
QXJnIHNlY29uZDsKKyAgICB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHJhaXRzQXJn
LCB0eXBlbmFtZSBWYWx1ZVRyYWl0c0FyZz4KKyAgICBzdHJ1Y3QgS2V5VmFsdWVQYWlySGFzaFRy
YWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPEtleVZhbHVlUGFpcjx0eXBlbmFtZSBLZXlUcmFpdHNB
cmc6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVmFsdWVUcmFpdHNBcmc6OlRyYWl0VHlwZT4gPiB7Cisg
ICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKKyAgICAgICAgdHlwZWRlZiBW
YWx1ZVRyYWl0c0FyZyBWYWx1ZVRyYWl0czsKKyAgICAgICAgdHlwZWRlZiBLZXlWYWx1ZVBhaXI8
dHlwZW5hbWUgS2V5VHJhaXRzOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFZhbHVlVHJhaXRzOjpUcmFp
dFR5cGU+IFRyYWl0VHlwZTsKKyAgICAgICAgdHlwZWRlZiBLZXlWYWx1ZVBhaXI8dHlwZW5hbWUg
S2V5VHJhaXRzOjpFbXB0eVZhbHVlVHlwZSwgdHlwZW5hbWUgVmFsdWVUcmFpdHM6OkVtcHR5VmFs
dWVUeXBlPiBFbXB0eVZhbHVlVHlwZTsKKworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0
eVZhbHVlSXNaZXJvID0gS2V5VHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvICYmIFZhbHVlVHJhaXRz
OjplbXB0eVZhbHVlSXNaZXJvOworICAgICAgICBzdGF0aWMgRW1wdHlWYWx1ZVR5cGUgZW1wdHlW
YWx1ZSgpIHsgcmV0dXJuIEtleVZhbHVlUGFpcjx0eXBlbmFtZSBLZXlUcmFpdHM6OkVtcHR5VmFs
dWVUeXBlLCB0eXBlbmFtZSBWYWx1ZVRyYWl0czo6RW1wdHlWYWx1ZVR5cGU+KEtleVRyYWl0czo6
ZW1wdHlWYWx1ZSgpLCBWYWx1ZVRyYWl0czo6ZW1wdHlWYWx1ZSgpKTsgfQorCisgICAgICAgIHN0
YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBLZXlUcmFpdHM6Om5lZWRzRGVzdHJ1
Y3Rpb24gfHwgVmFsdWVUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247CisKKyAgICAgICAgc3RhdGlj
IGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gS2V5VHJhaXRzOjptaW5pbXVtVGFibGVTaXpl
OworCisgICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShUcmFpdFR5cGUm
IHNsb3QpIHsgS2V5VHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUoc2xvdC5maXJzdCk7IH0K
KyAgICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgVHJhaXRUeXBlJiB2YWx1
ZSkgeyByZXR1cm4gS2V5VHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSh2YWx1ZS5maXJzdCk7IH0KKyAg
ICB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4KKyAgICBz
dHJ1Y3QgSGFzaFRyYWl0czxLZXlWYWx1ZVBhaXI8S2V5LCBWYWx1ZT4gPiA6IHB1YmxpYyBLZXlW
YWx1ZVBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8S2V5PiwgSGFzaFRyYWl0czxWYWx1ZT4gPiB7
IH07CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6Okhhc2hUcmFpdHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHJIYXNoTWFwLmggYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWZQdHJIYXNoTWFwLmgKaW5kZXggMGFmMzZiZTYwMjdmYjUwMGJiZmVhNWMyMWRjNmUwOGNkZjAx
OWY4Yi4uNWZhZTkwZThjZDQ3MTEyOWU4OWRjYzhlN2FlNjYzOGFkYTE1NGQzMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Jl
ZlB0ckhhc2hNYXAuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5
cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKLSAgICAgICAgdHlwZWRlZiBQYWly
SGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz4gVmFsdWVUcmFpdHM7CisgICAgICAg
IHR5cGVkZWYgS2V5VmFsdWVQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz4g
VmFsdWVUcmFpdHM7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgS2V5
VHJhaXRzOjpUcmFpdFR5cGUgS2V5VHlwZTsKQEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIAogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKIAot
ICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZTxLZXlUeXBlLCBWYWx1ZVR5cGUsIFBhaXJGaXJzdEV4
dHJhY3RvcjxWYWx1ZVR5cGU+LAorICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZTxLZXlUeXBlLCBW
YWx1ZVR5cGUsIEtleVZhbHVlUGFpcktleUV4dHJhY3RvcjxWYWx1ZVR5cGU+LAogICAgICAgICAg
ICAgSGFzaEZ1bmN0aW9ucywgVmFsdWVUcmFpdHMsIEtleVRyYWl0cz4gSGFzaFRhYmxlVHlwZTsK
IAogICAgICAgICB0eXBlZGVmIEhhc2hNYXBUcmFuc2xhdG9yPFZhbHVlVHJhaXRzLCBIYXNoRnVu
Y3Rpb25zPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENv
ZGVycy5oCmluZGV4IDA3MGY0NTgzMDc5ZjdiNGVlYmZjZjRhMmE4ODg0Nzg2ZDhjNTU0MGEuLmRk
NTRkZmVlZjkxYTdkZTMxMTkxNWU5M2Q5YWZiZWIxM2ExY2JlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTcyLDYgKzcyLDI5
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0cnVjdCBBcmd1bWVudENvZGVy
PHN0ZDo6cGFpcjxULCBVPiA+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlU
eXBlLCB0eXBlbmFtZSBWYWx1ZVR5cGU+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6S2V5VmFs
dWVQYWlyPEtleVR5cGUsIFZhbHVlVHlwZT4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV1RGOjpLZXlWYWx1ZVBhaXI8S2V5VHlwZSwg
VmFsdWVUeXBlPiYgcGFpcikKKyAgICB7CisgICAgICAgIGVuY29kZXItPmVuY29kZShwYWlyLmZp
cnN0KTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHBhaXIuc2Vjb25kKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXVEY6OktleVZh
bHVlUGFpcjxLZXlUeXBlLCBWYWx1ZVR5cGU+JiBwYWlyKQorICAgIHsKKyAgICAgICAgS2V5VHlw
ZSBrZXk7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGtleSkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgVmFsdWVUeXBlIHZhbHVlOworICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZSh2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgcGFpci5maXJzdCA9IGtleTsKKyAgICAgICAgcGFpci5zZWNvbmQgPSB2YWx1ZTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorfTsKKwogdGVtcGxhdGU8Ym9vbCBmaXhlZFNpemVFbGVt
ZW50cywgdHlwZW5hbWUgVD4gc3RydWN0IFZlY3RvckFyZ3VtZW50Q29kZXI7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBWZWN0b3JBcmd1bWVudENvZGVyPGZhbHNlLCBUPiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154116</attachid>
            <date>2012-07-24 12:09:58 -0700</date>
            <delta_ts>2012-07-25 11:51:09 -0700</delta_ts>
            <desc>Updated version for EWS</desc>
            <filename>bug-92137-20120724160949.patch</filename>
            <type>text/plain</type>
            <size>19062</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MzUwMWU4Zjg4MmU5MDUyNDZkMzBmNjIzMjM2YjMzNjEzNGYxOWU4Li5kOTczM2FmYzQxNGYxNjky
NzFiYzA2NjFmNTc1YTk0NWZmY2I2ZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNy0yNCAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENyZWF0ZSBhIHNwZWNpYWxp
emVkIHBhaXIgZm9yIHVzZSBpbiBIYXNoTWFwIGl0ZXJhdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYSBjb3VwbGUgb2Ygc2l0ZXMgdGhh
dCByZWxpZWQgb24gdGhlIGZhY3QgdGhhdCAiY29udGVudHMiIG9mIGl0ZXJhdG9ycyB3ZXJlCisg
ICAgICAgIHN0ZDo6cGFpcnMuCisKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlLmNwcDoKKyAg
ICAgICAgKEpTQyk6IFRoaXMgY29kZSBrZXB0IGEgdmVjdG9yIG9mIHRoZSBwYWlycyB0aGF0IHdl
cmUgdGhlICJjb250ZW50cyIgb2YgdGhlIGl0ZXJhdG9ycy4gVGhpcworICAgICAgICBpcyBjaGFu
Z2VkIHRvIHVzZSBhIEtleVZhbHVlUGFpci4gV2UgbWFrZSB1c2UgSGFzaENvdW50J3MgVmFsdWVU
eXBlICh3aGljaCByZXByZXNlbnRzIG9ubHkKKyAgICAgICAgdGhlIGtleSkgdG8gZ2V0IHRoZSBw
cm9wZXIga2V5IHBhcmFtZXRlciBmb3IgS2V5VmFsdWVQYWlyLgorICAgICAgICAqIHRvb2xzL1By
b2ZpbGVUcmVlTm9kZS5oOgorICAgICAgICAoUHJvZmlsZVRyZWVOb2RlKTogVXNlIEhhc2hNYXA6
OlZhbHVlVHlwZSB0byBkZWNsYXJlIHRoZSB0eXBlIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgaGFz
aAorICAgICAgICBpbnN0ZWFkIG9mIGRlY2xhcmluZyBpdCBtYW51YWxseS4gVGhpcyB3aWxsIG1h
a2UgdXNlIG9mIHRoZSBuZXcgS2V5VmFsdWVQYWlyLgorCiAyMDEyLTA3LTIzICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgR3JlZ29yaWFuRGF0
ZVRpbWUgZnJvbSBKU0MgdG8gV1RGIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3MjU0Mzg5OWZhZTQyNjEyOTJm
N2JiNGM3ZjM3NDA3MTcxMDkxZTNjLi40NzAzN2M1NDZiYjAxNTA1MmFmYmQ0M2U3MDczYjYyZGUw
ZjExYzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA3LTI0ICBDYWlvIE1hcmNlbG8gZGUg
T2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAg
Q3JlYXRlIGEgc3BlY2lhbGl6ZWQgcGFpciBmb3IgdXNlIGluIEhhc2hNYXAgaXRlcmF0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjEzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0eXBlIHVz
ZWQgZm9yIGludGVybmFsIHN0b3JhZ2UgaW4gSGFzaE1hcCBpcyBleHBvc2VkIGluIGl0cyBpbnRl
cmZhY2UgYXMgaXRlcmF0b3IKKyAgICAgICAgImNvbnRlbnRzIi4gQ3VycmVudGx5IEhhc2hNYXAg
dXNlcyBzdGQ6OnBhaXI8Piwgd2hpY2ggdGhpcyBwYXRjaCByZXBsYWNlcyB3aXRoCisgICAgICAg
IEtleVZhbHVlUGFpci4KKworICAgICAgICBIYXZpbmcgdGhpcyBzcGVjaWFsaXplZCBzdHJ1Y3R1
cmUgd2lsbCBhbGxvdyB1cyB0byBjdXN0b21pemUgdGhlIG1lbWJlcnMgdG8gYmUgY2FsbGVkCisg
ICAgICAgIGtleS92YWx1ZSwgaW1wcm92aW5nIHJlYWRhYmlsaXR5IGluIGNvZGUgdXNpbmcgSGFz
aE1hcCBpdGVyYXRvcnMuIFRoZXkgYXJlIHN0aWxsIGNhbGxlZAorICAgICAgICBmaXJzdC9zZWNv
bmQgdG8gc2VwYXJhdGUgdGhpcyBjaGFuZ2UgZnJvbSB0aGUgbWVjaGFuaWNhbCBjaGFuZ2Ugb2Yg
dXBkYXRpbmcgY2FsbHNpdGVzLgorCisgICAgICAgICogd3RmL0hhc2hJdGVyYXRvcnMuaDoKKyAg
ICAgICAgKEhhc2hUYWJsZUNvbnN0S2V5c0l0ZXJhdG9yKToKKyAgICAgICAgKEhhc2hUYWJsZUNv
bnN0VmFsdWVzSXRlcmF0b3IpOgorICAgICAgICAoSGFzaFRhYmxlS2V5c0l0ZXJhdG9yKToKKyAg
ICAgICAgKEhhc2hUYWJsZVZhbHVlc0l0ZXJhdG9yKToKKyAgICAgICAgVXNlIEtleVZhbHVlUGFp
ciBpbnN0ZWFkIG9mIHN0ZDo6cGFpciB3aGVuIGRlZmluaW5nIHRoZSBpdGVyYXRvcnMuCisKKyAg
ICAgICAgKiB3dGYvSGFzaE1hcC5oOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdURjo6S2V5
VmFsdWVQYWlyS2V5RXh0cmFjdG9yOjpleHRyYWN0KToKKyAgICAgICAgKEhhc2hNYXApOgorICAg
ICAgICBSZW1vdmUgUGFpckZpcnN0RXh0cmFjdG9yLiBBZGQgYW5kIHVzZSB0aGUgS2V5VmFsdWVQ
YWlyIGNvcnJlc3BvbmRpbmcgZXh0cmFjdG9yLgorCisgICAgICAgIChXVEY6Okhhc2hNYXBWYWx1
ZVRyYWl0czo6aXNFbXB0eVZhbHVlKTogVXNlIEtleVZhbHVlUGFpckhhc2hUcmFpdHMgZm9yIEhh
c2hNYXBzLgorICAgICAgICAoV1RGOjpIYXNoTWFwVHJhbnNsYXRvcjo6dHJhbnNsYXRlKToKKyAg
ICAgICAgKFdURjo6SGFzaE1hcFRyYW5zbGF0b3JBZGFwdGVyOjp0cmFuc2xhdGUpOgorICAgICAg
ICBUaGUgdHJhaXRzIG9mIHRoZSBtYXBwZWQgdmFsdWUgaXMgbm93IGNhbGxlZCBWYWx1ZVRyYWl0
cyBpbnN0ZWFkIG9mIFNlY29uZFRyYWl0cy4KKworICAgICAgICAqIHd0Zi9IYXNoVGFibGUuaDoK
KyAgICAgICAgKFdURjo6aGFzaFRhYmxlU3dhcCk6IEFkZCBzcGVjaWFsaXphdGlvbiBmb3Igc3dh
cHBpbmcgS2V5VmFsdWVQYWlycy4KKyAgICAgICAgKFdURik6IFJlbW92ZSBub3cgdW5uZWVkZWQg
c3BlY2lhbGl6YXRpb24gZm9yIHN0ZDo6cGFpcnMuCisKKyAgICAgICAgKiB3dGYvSGFzaFRyYWl0
cy5oOgorICAgICAgICAoS2V5VmFsdWVQYWlyKToKKyAgICAgICAgKFdURjo6S2V5VmFsdWVQYWly
OjpLZXlWYWx1ZVBhaXIpOgorICAgICAgICAoV1RGKToKKyAgICAgICAgU3BlY2lhbGl6ZWQgcGFp
ci4gSW4gdGhlIGZ1dHVyZSBkaWZmZXJlbmNlIGZyb20gcGFpciBzaG91bGQgYmUgdGhlIG1lbWJl
ciBuYW1lcy4KKworICAgICAgICAoS2V5VmFsdWVQYWlySGFzaFRyYWl0cyk6CisgICAgICAgIChX
VEY6OktleVZhbHVlUGFpckhhc2hUcmFpdHM6OmVtcHR5VmFsdWUpOgorICAgICAgICAoV1RGOjpL
ZXlWYWx1ZVBhaXJIYXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgorICAgICAgICAo
V1RGOjpLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisgICAgICAgIFRo
ZXNlIHRyYWl0cyBhcmUgYW5hbG9nb3VzIHRvIFBhaXJIYXNoVHJhaXRzIGJ1dCBmb3IgS2V5VmFs
dWVQYWlyLgorCisgICAgICAgICogd3RmL1JlZlB0ckhhc2hNYXAuaDogVXNlIEtleVZhbHVlUGFp
ckhhc2hUcmFpdHMuCisKIDIwMTItMDctMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBHcmVnb3JpYW5EYXRlVGltZSBmcm9tIEpTQyB0byBX
VEYgbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDU5ZWIxZTdmNWM0MTI2Zjc5NWQ1NDdjYWE3ZmJl
Yjg3NDU0NzQwMS4uZDU3YTdhMThmYWFlODVkNTNlMzhkMzY4YWQ2NmM1N2E1NDg1YzBlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA3LTI0ICBDYWlvIE1hcmNlbG8gZGUgT2xp
dmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgQ3Jl
YXRlIGEgc3BlY2lhbGl6ZWQgc3RydWN0IGZvciB1c2UgaW4gSGFzaE1hcCBpdGVyYXRvcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTM3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9D
b3JlSVBDL0FyZ3VtZW50Q29kZXJzLmg6IEFkZCBlbmNvZGUvZGVjb2RlIGZvciBLZXlWYWx1ZVBh
aXIuCisKIDIwMTItMDctMjQgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVu
aUBsaW51eC5pbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgdmlicmF0aW9uIGNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGUuY3BwCmluZGV4IDQ5
ZDZkZTk3YTk4YWIwYzUzZmVlYTY1YjM4OTY5ZmQzMDExMzM5OTcuLjkyZTMyYzRiYTY2NGE0MWY0
MWE4OGU5MjljYTNmMGNlOGJmNzA3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvUHJvZmlsZS5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIFByb2ZpbGU6OmRlYnVnUHJp
bnREYXRhKCkgY29uc3QKICAgICBtX2hlYWQtPmRlYnVnUHJpbnREYXRhKDApOwogfQogCi10eXBl
ZGVmIHBhaXI8U3RyaW5nSW1wbCosIHVuc2lnbmVkPiBOYW1lQ291bnRQYWlyOwordHlwZWRlZiBX
VEY6OktleVZhbHVlUGFpcjxGdW5jdGlvbkNhbGxIYXNoQ291bnQ6OlZhbHVlVHlwZSwgdW5zaWdu
ZWQ+IE5hbWVDb3VudFBhaXI7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBmdW5jdGlvbk5hbWVDb3Vu
dFBhaXJDb21wYXJhdG9yKGNvbnN0IE5hbWVDb3VudFBhaXImIGEsIGNvbnN0IE5hbWVDb3VudFBh
aXImIGIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvUHJvZmls
ZVRyZWVOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvUHJvZmlsZVRyZWVOb2Rl
LmgKaW5kZXggOWRlMzlhZDhhMjk4NjIyYzQzM2E2N2ViNjRhNzIyMDRkZTE5ZTZjMi4uN2I1MWVm
Yjg1ZGIzNDQxYTIyMjYzYjQyNDk3YTMxNzUyYjViNTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rvb2xzL1Byb2ZpbGVUcmVlTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUuaApAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogY2xhc3MgUHJvZmlsZVRyZWVOb2RlIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8
U3RyaW5nLCBQcm9maWxlVHJlZU5vZGU+IE1hcDsKLSAgICB0eXBlZGVmIHN0ZDo6cGFpcjxTdHJp
bmcsIFByb2ZpbGVUcmVlTm9kZT4gTWFwRW50cnk7CisgICAgdHlwZWRlZiBNYXA6OlZhbHVlVHlw
ZSBNYXBFbnRyeTsKIAogcHVibGljOgogICAgIFByb2ZpbGVUcmVlTm9kZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9IYXNoSXRlcmF0b3JzLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoSXRl
cmF0b3JzLmgKaW5kZXggNmFmYTJmYTU3ZTcwYWQwMzIwODUwZjM3MzNkY2Q3OTk3MTRiMDA4My4u
NjM5ZmY3MjUwYTFlZjBmYjNmODI0ZGM5MTY4ODQ5NmI4OWI2NWUxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvSGFzaEl0ZXJhdG9ycy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0hhc2hJdGVy
YXRvcnMuaApAQCAtMzMsOSArMzMsOSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRU
eXBlPiBzdHJ1Y3QgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yOwogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEhhc2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0
cnVjdCBIYXNoVGFibGVWYWx1ZXNJdGVyYXRvcjsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhh
c2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVj
dCBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8
S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxl
VHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hU
YWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlU
eXBlLCBNYXBwZWRUeXBlPiA+IHsKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIHN0ZDo6
cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CisgICAgICAgIHR5cGVkZWYgS2V5
VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVlVHlwZTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RLZXlzSXRlcmF0b3I8SGFzaFRhYmxlVHlwZSwg
S2V5VHlwZSwgTWFwcGVkVHlwZT4gS2V5czsKICAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25z
dFZhbHVlc0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVl
czsKQEAgLTU2LDkgKzU2LDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHR5cGVuYW1lIEhh
c2hUYWJsZVR5cGU6OmNvbnN0X2l0ZXJhdG9yIG1faW1wbDsKICAgICB9OwogCi0gICAgdGVtcGxh
dGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFw
cGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBz
dGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
SGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3Ry
dWN0IEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8
S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBz
dGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVUeXBlOworICAgICAgICB0eXBlZGVm
IEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CiAgICAgcHVibGlj
OgogICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUtleXNJdGVyYXRvcjxIYXNoVGFibGVUeXBlLCBL
ZXlUeXBlLCBNYXBwZWRUeXBlPiBLZXlzOwogICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZVZhbHVl
c0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVlczsKQEAg
LTg2LDcgKzg2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBI
YXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1
Y3QgSGFzaFRhYmxlQ29uc3RLZXlzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5
cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgc3RkOjpw
YWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRl
ZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBh
aXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgog
ICAgICAgICBIYXNoVGFibGVDb25zdEtleXNJdGVyYXRvcihjb25zdCBDb25zdEl0ZXJhdG9yJiBp
bXBsKSA6IG1faW1wbChpbXBsKSB7fQpAQCAtMTAzLDcgKzEwMyw3IEBAIG5hbWVzcGFjZSBXVEYg
ewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgS2V5VHlw
ZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZUNvbnN0VmFsdWVzSXRlcmF0
b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRv
ckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4g
Q29uc3RJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRh
cHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBD
b25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgogICAgICAgICBIYXNoVGFibGVDb25zdFZhbHVl
c0l0ZXJhdG9yKGNvbnN0IENvbnN0SXRlcmF0b3ImIGltcGwpIDogbV9pbXBsKGltcGwpIHt9CkBA
IC0xMjAsOCArMTIwLDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBz
dHJ1Y3QgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yIHsKICAgICBwcml2YXRlOgotICAgICAgICB0eXBl
ZGVmIEhhc2hUYWJsZUl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5
VHlwZSwgTWFwcGVkVHlwZT4gPiBJdGVyYXRvcjsKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVD
b25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFw
cGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUl0ZXJh
dG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlw
ZT4gPiBJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRh
cHRlcjxIYXNoVGFibGVUeXBlLCBLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBD
b25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgogICAgICAgICBIYXNoVGFibGVLZXlzSXRlcmF0
b3IoY29uc3QgSXRlcmF0b3ImIGltcGwpIDogbV9pbXBsKGltcGwpIHt9CkBAIC0xNDMsOCArMTQz
LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVU
eXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRh
YmxlVmFsdWVzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRh
YmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBw
ZWRUeXBlPiA+IEl0ZXJhdG9yOwotICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0
b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+
IENvbnN0SXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVy
PEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IEl0ZXJh
dG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hU
YWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0
b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZVZhbHVlc0l0ZXJhdG9yKGNvbnN0
IEl0ZXJhdG9yJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvSGFzaE1hcC5oIGIvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCmluZGV4IGY1OTdlYzMz
Mzc5ODdkZWEwNGQwYTgwYWE4ODI1ZTJiMDVjMGVmNTguLjkwMTA0NzRjODI1NTYzZWY4NDFiOTY4
N2ZlZmY0OTRhYTY1NWI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hNYXAuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoTWFwLmgKQEAgLTI2LDcgKzI2LDYgQEAKIG5hbWVzcGFj
ZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHJhaXRzLCB0eXBlbmFtZSBNYXBw
ZWRUcmFpdHM+IHN0cnVjdCBIYXNoTWFwVmFsdWVUcmFpdHM7Ci0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgUGFpclR5cGU+IHN0cnVjdCBQYWlyRmlyc3RFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgUmVmZXJlbmNlVHlwZU1ha2VyIHsKICAgICAgICAgdHlwZWRlZiBU
JiBSZWZlcmVuY2VUeXBlOwpAQCAtMzUsNiArMzQsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIHR5cGVkZWYgVCYgUmVmZXJlbmNlVHlwZTsKICAgICB9OwogCisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IEtleVZhbHVlUGFpcktleUV4dHJhY3RvciB7CisgICAgICAgIHN0YXRp
YyBjb25zdCB0eXBlbmFtZSBUOjpLZXlUeXBlJiBleHRyYWN0KGNvbnN0IFQmIHApIHsgcmV0dXJu
IHAuZmlyc3Q7IH0KKyAgICB9OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBl
bmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxL
ZXlBcmc+OjpIYXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRz
PEtleUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJn
PiA+CiAgICAgY2xhc3MgSGFzaE1hcCB7CkBAIC01OCw3ICs2MSw3IEBAIG5hbWVzcGFjZSBXVEYg
ewogCiAgICAgICAgIHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogCi0gICAgICAgIHR5
cGVkZWYgSGFzaFRhYmxlPEtleVR5cGUsIFZhbHVlVHlwZSwgUGFpckZpcnN0RXh0cmFjdG9yPFZh
bHVlVHlwZT4sCisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlPEtleVR5cGUsIFZhbHVlVHlwZSwg
S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9yPFZhbHVlVHlwZT4sCiAgICAgICAgICAgICBIYXNoRnVu
Y3Rpb25zLCBWYWx1ZVRyYWl0cywgS2V5VHJhaXRzPiBIYXNoVGFibGVUeXBlOwogCiAgICAgICAg
IGNsYXNzIEhhc2hNYXBLZXlzUHJveHk7CkBAIC0yMDQsMTggKzIwNywxNCBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgSGFzaFRhYmxlVHlwZSBtX2ltcGw7CiAgICAgfTsKIAotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEtleVRyYWl0cywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzPiBzdHJ1Y3QgSGFz
aE1hcFZhbHVlVHJhaXRzIDogUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRUcmFpdHM+
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUcmFpdHMsIHR5cGVuYW1lIE1hcHBlZFRyYWl0
cz4gc3RydWN0IEhhc2hNYXBWYWx1ZVRyYWl0cyA6IEtleVZhbHVlUGFpckhhc2hUcmFpdHM8S2V5
VHJhaXRzLCBNYXBwZWRUcmFpdHM+IHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNF
bXB0eVZhbHVlRnVuY3Rpb24gPSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFs
dWUoY29uc3QgdHlwZW5hbWUgUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRUcmFpdHM+
OjpUcmFpdFR5cGUmIHZhbHVlKQorICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFsdWUoY29u
c3QgdHlwZW5hbWUgS2V5VmFsdWVQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0
cz46OlRyYWl0VHlwZSYgdmFsdWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBpc0hh
c2hUcmFpdHNFbXB0eVZhbHVlPEtleVRyYWl0cz4odmFsdWUuZmlyc3QpOwogICAgICAgICB9CiAg
ICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFBhaXJUeXBlPiBzdHJ1Y3QgUGFpckZpcnN0
RXh0cmFjdG9yIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHR5cGVuYW1lIFBhaXJUeXBlOjpmaXJz
dF90eXBlJiBleHRyYWN0KGNvbnN0IFBhaXJUeXBlJiBwKSB7IHJldHVybiBwLmZpcnN0OyB9Ci0g
ICAgfTsKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHJhaXRzLCB0eXBlbmFtZSBIYXNo
RnVuY3Rpb25zPgogICAgIHN0cnVjdCBIYXNoTWFwVHJhbnNsYXRvciB7CiAgICAgICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFQmIGtleSkgeyByZXR1
cm4gSGFzaEZ1bmN0aW9uczo6aGFzaChrZXkpOyB9CkBAIC0yMjMsNyArMjIyLDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVu
YW1lIFY+IHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShUJiBsb2NhdGlvbiwgY29uc3QgVSYga2V5LCBj
b25zdCBWJiBtYXBwZWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIGxvY2F0aW9uLmZpcnN0ID0g
a2V5OwotICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlNlY29uZFRyYWl0czo6c3RvcmUobWFwcGVk
LCBsb2NhdGlvbi5zZWNvbmQpOworICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlZhbHVlVHJhaXRz
OjpzdG9yZShtYXBwZWQsIGxvY2F0aW9uLnNlY29uZCk7CiAgICAgICAgIH0KICAgICB9OwogCkBA
IC0yMzQsNyArMjMzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShUJiBs
b2NhdGlvbiwgY29uc3QgVSYga2V5LCBjb25zdCBWJiBtYXBwZWQsIHVuc2lnbmVkIGhhc2hDb2Rl
KQogICAgICAgICB7CiAgICAgICAgICAgICBUcmFuc2xhdG9yOjp0cmFuc2xhdGUobG9jYXRpb24u
Zmlyc3QsIGtleSwgaGFzaENvZGUpOwotICAgICAgICAgICAgVmFsdWVUcmFpdHM6OlNlY29uZFRy
YWl0czo6c3RvcmUobWFwcGVkLCBsb2NhdGlvbi5zZWNvbmQpOworICAgICAgICAgICAgVmFsdWVU
cmFpdHM6OlZhbHVlVHJhaXRzOjpzdG9yZShtYXBwZWQsIGxvY2F0aW9uLnNlY29uZCk7CiAgICAg
ICAgIH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaCBi
L1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCmluZGV4IGNjZjYyZGMwMGI4MWI1M2FjN2IzZmRk
YTgzZTVkMWZkMzIxNjkwNWUuLmI4OTQ3NTc5OWVmNjlhMWMxMDU4OTZjZmZmOGY4MjE3YjVhZTg3
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL0hhc2hUYWJsZS5oCkBAIC0yODQsOCArMjg0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIHN3YXAoYSwgYik7CiAgICAgfQogCi0gICAgLy8gU3dhcCBwYWlycyBieSBjb21wb25l
bnQsIGluIGNhc2Ugb2YgcGFpciBtZW1iZXJzIHRoYXQgc3BlY2lhbGl6ZSBzd2FwLgotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSB2b2lkIGhhc2hUYWJsZVN3YXAo
c3RkOjpwYWlyPFQsIFU+JiBhLCBzdGQ6OnBhaXI8VCwgVT4mIGIpCisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIHZvaWQgaGFzaFRhYmxlU3dhcChLZXlWYWx1ZVBh
aXI8VCwgVT4mIGEsIEtleVZhbHVlUGFpcjxULCBVPiYgYikKICAgICB7CiAgICAgICAgIHN3YXAo
YS5maXJzdCwgYi5maXJzdCk7CiAgICAgICAgIHN3YXAoYS5zZWNvbmQsIGIuc2Vjb25kKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0hh
c2hUcmFpdHMuaAppbmRleCAyMWZmZGJiNDVlNThlYjk2Y2RkN2I4YWEwNWUxMmUxNWY0NTBiMWZk
Li5lYmU3OTVlYjFhODk5ZTJjNjFlZTVkYzM2NDczN2IyOWI4NTcwYTA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0
cy5oCkBAIC0xNjMsOCArMTYzLDYgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHJldHVybiBI
YXNoVHJhaXRzRW1wdHlWYWx1ZUNoZWNrZXI8VHJhaXRzLCBUcmFpdHM6Omhhc0lzRW1wdHlWYWx1
ZUZ1bmN0aW9uPjo6aXNFbXB0eVZhbHVlKHZhbHVlKTsKICAgICB9CiAKLSAgICAvLyBzcGVjaWFs
IHRyYWl0cyBmb3IgcGFpcnMsIGhlbHBmdWwgZm9yIHRoZWlyIHVzZSBpbiBIYXNoTWFwIGltcGxl
bWVudGF0aW9uCi0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdFRyYWl0c0FyZywgdHlwZW5h
bWUgU2Vjb25kVHJhaXRzQXJnPgogICAgIHN0cnVjdCBQYWlySGFzaFRyYWl0cyA6IEdlbmVyaWNI
YXNoVHJhaXRzPHN0ZDo6cGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0c0FyZzo6VHJhaXRUeXBlLCB0
eXBlbmFtZSBTZWNvbmRUcmFpdHNBcmc6OlRyYWl0VHlwZT4gPiB7CiAgICAgICAgIHR5cGVkZWYg
Rmlyc3RUcmFpdHNBcmcgRmlyc3RUcmFpdHM7CkBAIC0xODYsNiArMTg0LDUzIEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0LCB0eXBlbmFtZSBTZWNvbmQ+CiAg
ICAgc3RydWN0IEhhc2hUcmFpdHM8c3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+ID4gOiBwdWJsaWMg
UGFpckhhc2hUcmFpdHM8SGFzaFRyYWl0czxGaXJzdD4sIEhhc2hUcmFpdHM8U2Vjb25kPiA+IHsg
fTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGVBcmcsIHR5cGVuYW1lIFZhbHVlVHlw
ZUFyZz4KKyAgICBzdHJ1Y3QgS2V5VmFsdWVQYWlyIHsKKyAgICAgICAgdHlwZWRlZiBLZXlUeXBl
QXJnIEtleVR5cGU7CisKKyAgICAgICAgS2V5VmFsdWVQYWlyKCkKKyAgICAgICAgeworICAgICAg
ICB9CisKKyAgICAgICAgS2V5VmFsdWVQYWlyKGNvbnN0IEtleVR5cGVBcmcmIGtleSwgY29uc3Qg
VmFsdWVUeXBlQXJnJiB2YWx1ZSkKKyAgICAgICAgICAgIDogZmlyc3Qoa2V5KQorICAgICAgICAg
ICAgLCBzZWNvbmQodmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBPdGhlcktleVR5cGUsIHR5cGVuYW1lIE90aGVyVmFsdWVUeXBlPgorICAg
ICAgICBLZXlWYWx1ZVBhaXIoY29uc3QgS2V5VmFsdWVQYWlyPE90aGVyS2V5VHlwZSwgT3RoZXJW
YWx1ZVR5cGU+JiBvdGhlcikKKyAgICAgICAgICAgIDogZmlyc3Qob3RoZXIuZmlyc3QpCisgICAg
ICAgICAgICAsIHNlY29uZChvdGhlci5zZWNvbmQpCisgICAgICAgIHsKKyAgICAgICAgfQorCisg
ICAgICAgIC8vIFRPRE86IFJlbmFtZSB0aGVzZSB0byBrZXkgYW5kIHZhbHVlLiBTZWUgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyNzg0LgorICAgICAgICBLZXlUeXBl
QXJnIGZpcnN0OworICAgICAgICBWYWx1ZVR5cGVBcmcgc2Vjb25kOworICAgIH07CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVuYW1lIFZhbHVlVHJhaXRzQXJnPgor
ICAgIHN0cnVjdCBLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8S2V5
VmFsdWVQYWlyPHR5cGVuYW1lIEtleVRyYWl0c0FyZzo6VHJhaXRUeXBlLCB0eXBlbmFtZSBWYWx1
ZVRyYWl0c0FyZzo6VHJhaXRUeXBlPiA+IHsKKyAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcg
S2V5VHJhaXRzOworICAgICAgICB0eXBlZGVmIFZhbHVlVHJhaXRzQXJnIFZhbHVlVHJhaXRzOwor
ICAgICAgICB0eXBlZGVmIEtleVZhbHVlUGFpcjx0eXBlbmFtZSBLZXlUcmFpdHM6OlRyYWl0VHlw
ZSwgdHlwZW5hbWUgVmFsdWVUcmFpdHM6OlRyYWl0VHlwZT4gVHJhaXRUeXBlOworICAgICAgICB0
eXBlZGVmIEtleVZhbHVlUGFpcjx0eXBlbmFtZSBLZXlUcmFpdHM6OkVtcHR5VmFsdWVUeXBlLCB0
eXBlbmFtZSBWYWx1ZVRyYWl0czo6RW1wdHlWYWx1ZVR5cGU+IEVtcHR5VmFsdWVUeXBlOworCisg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBLZXlUcmFpdHM6OmVt
cHR5VmFsdWVJc1plcm8gJiYgVmFsdWVUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm87CisgICAgICAg
IHN0YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gS2V5VmFsdWVQYWly
PHR5cGVuYW1lIEtleVRyYWl0czo6RW1wdHlWYWx1ZVR5cGUsIHR5cGVuYW1lIFZhbHVlVHJhaXRz
OjpFbXB0eVZhbHVlVHlwZT4oS2V5VHJhaXRzOjplbXB0eVZhbHVlKCksIFZhbHVlVHJhaXRzOjpl
bXB0eVZhbHVlKCkpOyB9CisKKyAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0cnVj
dGlvbiA9IEtleVRyYWl0czo6bmVlZHNEZXN0cnVjdGlvbiB8fCBWYWx1ZVRyYWl0czo6bmVlZHNE
ZXN0cnVjdGlvbjsKKworICAgICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1UYWJsZVNpemUg
PSBLZXlUcmFpdHM6Om1pbmltdW1UYWJsZVNpemU7CisKKyAgICAgICAgc3RhdGljIHZvaWQgY29u
c3RydWN0RGVsZXRlZFZhbHVlKFRyYWl0VHlwZSYgc2xvdCkgeyBLZXlUcmFpdHM6OmNvbnN0cnVj
dERlbGV0ZWRWYWx1ZShzbG90LmZpcnN0KTsgfQorICAgICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0
ZWRWYWx1ZShjb25zdCBUcmFpdFR5cGUmIHZhbHVlKSB7IHJldHVybiBLZXlUcmFpdHM6OmlzRGVs
ZXRlZFZhbHVlKHZhbHVlLmZpcnN0KTsgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBLZXksIHR5cGVuYW1lIFZhbHVlPgorICAgIHN0cnVjdCBIYXNoVHJhaXRzPEtleVZhbHVlUGFp
cjxLZXksIFZhbHVlPiA+IDogcHVibGljIEtleVZhbHVlUGFpckhhc2hUcmFpdHM8SGFzaFRyYWl0
czxLZXk+LCBIYXNoVHJhaXRzPFZhbHVlPiA+IHsgfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAK
IHVzaW5nIFdURjo6SGFzaFRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlZlB0
ckhhc2hNYXAuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZlB0ckhhc2hNYXAuaAppbmRleCAwYWYzNmJl
NjAyN2ZiNTAwYmJmZWE1YzIxZGM2ZTA4Y2RmMDE5ZjhiLi41ZmFlOTBlOGNkNDcxMTI5ZTg5ZGNj
OGU3YWU2NjM4YWRhMTU0ZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5oCkBAIC0zNCw3ICszNCw3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJh
aXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVk
VHJhaXRzOwotICAgICAgICB0eXBlZGVmIFBhaXJIYXNoVHJhaXRzPEtleVRyYWl0cywgTWFwcGVk
VHJhaXRzPiBWYWx1ZVRyYWl0czsKKyAgICAgICAgdHlwZWRlZiBLZXlWYWx1ZVBhaXJIYXNoVHJh
aXRzPEtleVRyYWl0cywgTWFwcGVkVHJhaXRzPiBWYWx1ZVRyYWl0czsKIAogICAgIHB1YmxpYzoK
ICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBLZXlUcmFpdHM6OlRyYWl0VHlwZSBLZXlUeXBlOwpA
QCAtNTEsNyArNTEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgCiAgICAgICAgIHR5cGVk
ZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogCi0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlPEtl
eVR5cGUsIFZhbHVlVHlwZSwgUGFpckZpcnN0RXh0cmFjdG9yPFZhbHVlVHlwZT4sCisgICAgICAg
IHR5cGVkZWYgSGFzaFRhYmxlPEtleVR5cGUsIFZhbHVlVHlwZSwgS2V5VmFsdWVQYWlyS2V5RXh0
cmFjdG9yPFZhbHVlVHlwZT4sCiAgICAgICAgICAgICBIYXNoRnVuY3Rpb25zLCBWYWx1ZVRyYWl0
cywgS2V5VHJhaXRzPiBIYXNoVGFibGVUeXBlOwogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcFRy
YW5zbGF0b3I8VmFsdWVUcmFpdHMsIEhhc2hGdW5jdGlvbnM+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXggMDcwZjQ1ODMwNzlmN2I0
ZWViZmNmNGEyYTg4ODQ3ODZkOGM1NTQwYS4uZGQ1NGRmZWVmOTFhN2RlMzExOTE1ZTkzZDlhZmJl
YjEzYTFjYmU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9B
cmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnRDb2RlcnMuaApAQCAtNzIsNiArNzIsMjkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpwYWlyPFQsIFU+ID4gewogICAgIH0K
IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgVmFsdWVUeXBlPiA+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25z
dCBXVEY6OktleVZhbHVlUGFpcjxLZXlUeXBlLCBWYWx1ZVR5cGU+JiBwYWlyKQorICAgIHsKKyAg
ICAgICAgZW5jb2Rlci0+ZW5jb2RlKHBhaXIuZmlyc3QpOworICAgICAgICBlbmNvZGVyLT5lbmNv
ZGUocGFpci5zZWNvbmQpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsIFdURjo6S2V5VmFsdWVQYWlyPEtleVR5cGUsIFZhbHVlVHlwZT4m
IHBhaXIpCisgICAgeworICAgICAgICBLZXlUeXBlIGtleTsKKyAgICAgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUoa2V5KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBWYWx1
ZVR5cGUgdmFsdWU7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHZhbHVlKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBwYWlyLmZpcnN0ID0ga2V5OworICAgICAg
ICBwYWlyLnNlY29uZCA9IHZhbHVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9Owor
CiB0ZW1wbGF0ZTxib29sIGZpeGVkU2l6ZUVsZW1lbnRzLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgVmVj
dG9yQXJndW1lbnRDb2RlcjsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFZlY3RvckFy
Z3VtZW50Q29kZXI8ZmFsc2UsIFQ+IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154409</attachid>
            <date>2012-07-25 11:51:15 -0700</date>
            <delta_ts>2012-07-25 11:53:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-92137-20120725155106.patch</filename>
            <type>text/plain</type>
            <size>19109</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ODhjOWEwMTY5Y2U1ZTdkOWQ0YjcxNDg4ZmJiOTc2MmZhYzU5ODExLi5jNjMxNDIzNTBiYjllYzQ1
YzQwOTE0MzA0ZDUyOTliNTUzMDQ4ZmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNy0yNSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENyZWF0ZSBhIHNwZWNpYWxp
emVkIHBhaXIgZm9yIHVzZSBpbiBIYXNoTWFwIGl0ZXJhdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYSBjb3VwbGUgb2Ygc2l0ZXMgdGhh
dCByZWxpZWQgb24gdGhlIGZhY3QgdGhhdCAiY29udGVudHMiIG9mIGl0ZXJhdG9ycyB3ZXJlCisg
ICAgICAgIHN0ZDo6cGFpcnMuCisKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlLmNwcDoKKyAg
ICAgICAgKEpTQyk6IFRoaXMgY29kZSBrZXB0IGEgdmVjdG9yIG9mIHRoZSBwYWlycyB0aGF0IHdl
cmUgdGhlICJjb250ZW50cyIgb2YgdGhlIGl0ZXJhdG9ycy4gVGhpcworICAgICAgICBpcyBjaGFu
Z2VkIHRvIHVzZSBhIEtleVZhbHVlUGFpci4gV2UgbWFrZSB1c2UgSGFzaENvdW50J3MgVmFsdWVU
eXBlICh3aGljaCByZXByZXNlbnRzIG9ubHkKKyAgICAgICAgdGhlIGtleSkgdG8gZ2V0IHRoZSBw
cm9wZXIga2V5IHBhcmFtZXRlciBmb3IgS2V5VmFsdWVQYWlyLgorICAgICAgICAqIHRvb2xzL1By
b2ZpbGVUcmVlTm9kZS5oOgorICAgICAgICAoUHJvZmlsZVRyZWVOb2RlKTogVXNlIEhhc2hNYXA6
OlZhbHVlVHlwZSB0byBkZWNsYXJlIHRoZSB0eXBlIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgaGFz
aAorICAgICAgICBpbnN0ZWFkIG9mIGRlY2xhcmluZyBpdCBtYW51YWxseS4gVGhpcyB3aWxsIG1h
a2UgdXNlIG9mIHRoZSBuZXcgS2V5VmFsdWVQYWlyLgorCiAyMDEyLTA3LTI1ICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjEyMzUw
NSk6IERhdGUuZ2V0WWVhcigpIHJldHVybnMgdGhlIHNhbWUgYXMgRGF0ZS5nZXRGdWxsWWVhcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IDYxNDgxMzMwMTI3ZTU5ZmExM2YzZTJjYThlNTIzYzVhODhkM2VjZmMuLmM3NWQ0YjJh
NmQ0YjQ1MjQ2YjNmZDViNjczYmMzYTdjZGIxNzI5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIw
MTItMDctMjUgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFA
b3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDcmVhdGUgYSBzcGVjaWFsaXplZCBwYWlyIGZvciB1
c2UgaW4gSGFzaE1hcCBpdGVyYXRvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkyMTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHR5cGUgdXNlZCBmb3IgaW50ZXJuYWwgc3RvcmFnZSBpbiBIYXNo
TWFwIGlzIGV4cG9zZWQgaW4gaXRzIGludGVyZmFjZSBhcyBpdGVyYXRvcgorICAgICAgICAiY29u
dGVudHMiLiBDdXJyZW50bHkgSGFzaE1hcCB1c2VzIHN0ZDo6cGFpcjw+LCB3aGljaCB0aGlzIHBh
dGNoIHJlcGxhY2VzIHdpdGgKKyAgICAgICAgS2V5VmFsdWVQYWlyLgorCisgICAgICAgIEhhdmlu
ZyB0aGlzIHNwZWNpYWxpemVkIHN0cnVjdHVyZSB3aWxsIGFsbG93IHVzIHRvIGN1c3RvbWl6ZSB0
aGUgbWVtYmVycyB0byBiZSBjYWxsZWQKKyAgICAgICAga2V5L3ZhbHVlLCBpbXByb3ZpbmcgcmVh
ZGFiaWxpdHkgaW4gY29kZSB1c2luZyBIYXNoTWFwIGl0ZXJhdG9ycy4gVGhleSBhcmUgc3RpbGwg
Y2FsbGVkCisgICAgICAgIGZpcnN0L3NlY29uZCB0byBzZXBhcmF0ZSB0aGlzIGNoYW5nZSBmcm9t
IHRoZSBtZWNoYW5pY2FsIGNoYW5nZSBvZiB1cGRhdGluZyBjYWxsc2l0ZXMuCisKKyAgICAgICAg
KiB3dGYvSGFzaEl0ZXJhdG9ycy5oOgorICAgICAgICAoSGFzaFRhYmxlQ29uc3RLZXlzSXRlcmF0
b3IpOgorICAgICAgICAoSGFzaFRhYmxlQ29uc3RWYWx1ZXNJdGVyYXRvcik6CisgICAgICAgIChI
YXNoVGFibGVLZXlzSXRlcmF0b3IpOgorICAgICAgICAoSGFzaFRhYmxlVmFsdWVzSXRlcmF0b3Ip
OgorICAgICAgICBVc2UgS2V5VmFsdWVQYWlyIGluc3RlYWQgb2Ygc3RkOjpwYWlyIHdoZW4gZGVm
aW5pbmcgdGhlIGl0ZXJhdG9ycy4KKworICAgICAgICAqIHd0Zi9IYXNoTWFwLmg6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3I6OmV4dHJhY3Qp
OgorICAgICAgICAoSGFzaE1hcCk6CisgICAgICAgIFJlbW92ZSBQYWlyRmlyc3RFeHRyYWN0b3Iu
IEFkZCBhbmQgdXNlIHRoZSBLZXlWYWx1ZVBhaXIgY29ycmVzcG9uZGluZyBleHRyYWN0b3IuCisK
KyAgICAgICAgKFdURjo6SGFzaE1hcFZhbHVlVHJhaXRzOjppc0VtcHR5VmFsdWUpOiBVc2UgS2V5
VmFsdWVQYWlySGFzaFRyYWl0cyBmb3IgSGFzaE1hcHMuCisgICAgICAgIChXVEY6Okhhc2hNYXBU
cmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RGOjpIYXNoTWFwVHJhbnNsYXRvckFk
YXB0ZXI6OnRyYW5zbGF0ZSk6CisgICAgICAgIFRoZSB0cmFpdHMgb2YgdGhlIG1hcHBlZCB2YWx1
ZSBpcyBub3cgY2FsbGVkIFZhbHVlVHJhaXRzIGluc3RlYWQgb2YgU2Vjb25kVHJhaXRzLgorCisg
ICAgICAgICogd3RmL0hhc2hUYWJsZS5oOgorICAgICAgICAoV1RGOjpoYXNoVGFibGVTd2FwKTog
QWRkIHNwZWNpYWxpemF0aW9uIGZvciBzd2FwcGluZyBLZXlWYWx1ZVBhaXJzLgorICAgICAgICAo
V1RGKTogUmVtb3ZlIG5vdyB1bm5lZWRlZCBzcGVjaWFsaXphdGlvbiBmb3Igc3RkOjpwYWlycy4K
KworICAgICAgICAqIHd0Zi9IYXNoVHJhaXRzLmg6CisgICAgICAgIChLZXlWYWx1ZVBhaXIpOgor
ICAgICAgICAoV1RGOjpLZXlWYWx1ZVBhaXI6OktleVZhbHVlUGFpcik6CisgICAgICAgIChXVEYp
OgorICAgICAgICBTcGVjaWFsaXplZCBwYWlyLiBJbiB0aGUgZnV0dXJlIGRpZmZlcmVuY2UgZnJv
bSBwYWlyIHNob3VsZCBiZSB0aGUgbWVtYmVyIG5hbWVzLgorCisgICAgICAgIChLZXlWYWx1ZVBh
aXJIYXNoVHJhaXRzKToKKyAgICAgICAgKFdURjo6S2V5VmFsdWVQYWlySGFzaFRyYWl0czo6ZW1w
dHlWYWx1ZSk6CisgICAgICAgIChXVEY6OktleVZhbHVlUGFpckhhc2hUcmFpdHM6OmNvbnN0cnVj
dERlbGV0ZWRWYWx1ZSk6CisgICAgICAgIChXVEY6OktleVZhbHVlUGFpckhhc2hUcmFpdHM6Omlz
RGVsZXRlZFZhbHVlKToKKyAgICAgICAgVGhlc2UgdHJhaXRzIGFyZSBhbmFsb2dvdXMgdG8gUGFp
ckhhc2hUcmFpdHMgYnV0IGZvciBLZXlWYWx1ZVBhaXIuCisKKyAgICAgICAgKiB3dGYvUmVmUHRy
SGFzaE1hcC5oOiBVc2UgS2V5VmFsdWVQYWlySGFzaFRyYWl0cy4KKwogMjAxMi0wNy0yNSAgQW5k
cmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTIzNTYwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDRhNjM2MWQxZDQwYTc1YjY0NWVi
ZGJhNTJjNjliNzRjYTMwZDA2NTUuLmQyNDRlNmZhNTA2OTE3ZGQ5OWZhZTEzMzk5ZGI5NDkyYzg3
ZjJiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNy0yNSAgQ2FpbyBNYXJj
ZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBhIHNwZWNpYWxpemVkIHN0cnVjdCBmb3IgdXNlIGluIEhhc2hNYXAgaXRl
cmF0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MjEzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
UGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5oOiBBZGQgZW5jb2RlL2RlY29kZSBmb3Ig
S2V5VmFsdWVQYWlyLgorCiAyMDEyLTA3LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgogCiAgICAgICAgIENoaW5lc2UgSU0gcmVjZWl2ZXMgaW5jb3JyZWN0L2R1cGxpY2F0
ZWQga2V5IGV2ZW50cyBpbiB0ZXh0IGZpZWxkcyBpbiB3ZWJwYWdlcyBpbiBTYWZhcmkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZS5jcHAKaW5kZXggNDlkNmRlOTdhOThh
YjBjNTNmZWVhNjViMzg5NjlmZDMwMTEzMzk5Ny4uOTJlMzJjNGJhNjY0YTQxZjQxYTg4ZTkyOWNh
M2YwY2U4YmY3MDc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L1Byb2ZpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgUHJvZmlsZTo6ZGVidWdQcmludERhdGEoKSBj
b25zdAogICAgIG1faGVhZC0+ZGVidWdQcmludERhdGEoMCk7CiB9CiAKLXR5cGVkZWYgcGFpcjxT
dHJpbmdJbXBsKiwgdW5zaWduZWQ+IE5hbWVDb3VudFBhaXI7Cit0eXBlZGVmIFdURjo6S2V5VmFs
dWVQYWlyPEZ1bmN0aW9uQ2FsbEhhc2hDb3VudDo6VmFsdWVUeXBlLCB1bnNpZ25lZD4gTmFtZUNv
dW50UGFpcjsKIAogc3RhdGljIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUNvdW50UGFpckNvbXBh
cmF0b3IoY29uc3QgTmFtZUNvdW50UGFpciYgYSwgY29uc3QgTmFtZUNvdW50UGFpciYgYikKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUuaAppbmRleCA5
ZGUzOWFkOGEyOTg2MjJjNDMzYTY3ZWI2NGE3MjIwNGRlMTllNmMyLi43YjUxZWZiODVkYjM0NDFh
MjIyNjNiNDI0OTdhMzE3NTJiNWI1MmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdG9vbHMvUHJvZmlsZVRyZWVOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rv
b2xzL1Byb2ZpbGVUcmVlTm9kZS5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiBjbGFzcyBQcm9maWxlVHJlZU5vZGUgewogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFBy
b2ZpbGVUcmVlTm9kZT4gTWFwOwotICAgIHR5cGVkZWYgc3RkOjpwYWlyPFN0cmluZywgUHJvZmls
ZVRyZWVOb2RlPiBNYXBFbnRyeTsKKyAgICB0eXBlZGVmIE1hcDo6VmFsdWVUeXBlIE1hcEVudHJ5
OwogCiBwdWJsaWM6CiAgICAgUHJvZmlsZVRyZWVOb2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL0hhc2hJdGVyYXRvcnMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hJdGVyYXRvcnMuaApp
bmRleCA2YWZhMmZhNTdlNzBhZDAzMjA4NTBmMzczM2RjZDc5OTcxNGIwMDgzLi42MzlmZjcyNTBh
MWVmMGZiM2Y4MjRkYzkxNjg4NDk2Yjg5YjY1ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9IYXNoSXRlcmF0b3JzLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaEl0ZXJhdG9ycy5oCkBA
IC0zMyw5ICszMyw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhh
c2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVj
dCBIYXNoVGFibGVLZXlzSXRlcmF0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxl
VHlwZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hU
YWJsZVZhbHVlc0l0ZXJhdG9yOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlw
ZSwgdHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJs
ZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBN
YXBwZWRUeXBlPiA+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBl
bmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlQ29uc3RJ
dGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgS2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBl
ZFR5cGU+ID4gewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEtleVR5
cGUsIE1hcHBlZFR5cGU+IFZhbHVlVHlwZTsKKyAgICAgICAgdHlwZWRlZiBLZXlWYWx1ZVBhaXI8
S2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVUeXBlOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlw
ZWRlZiBIYXNoVGFibGVDb25zdEtleXNJdGVyYXRvcjxIYXNoVGFibGVUeXBlLCBLZXlUeXBlLCBN
YXBwZWRUeXBlPiBLZXlzOwogICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0VmFsdWVzSXRl
cmF0b3I8SGFzaFRhYmxlVHlwZSwgS2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVzOwpAQCAtNTYs
OSArNTYsOSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZW5hbWUgSGFzaFRhYmxlVHlw
ZTo6Y29uc3RfaXRlcmF0b3IgbV9pbXBsOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBz
dHJ1Y3QgSGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxL
ZXlUeXBlLCBNYXBwZWRUeXBlPiA+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVU
eXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRh
YmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBN
YXBwZWRUeXBlPiA+IHsKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxL
ZXlUeXBlLCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CisgICAgICAgIHR5cGVkZWYgS2V5VmFsdWVQ
YWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVlVHlwZTsKICAgICBwdWJsaWM6CiAgICAgICAg
IHR5cGVkZWYgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1h
cHBlZFR5cGU+IEtleXM7CiAgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlVmFsdWVzSXRlcmF0b3I8
SGFzaFRhYmxlVHlwZSwgS2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVzOwpAQCAtODYsNyArODYs
NyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJsZVR5
cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNoVGFi
bGVDb25zdEtleXNJdGVyYXRvciB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBIYXNo
VGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlw
ZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJs
ZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBl
LCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhh
c2hUYWJsZUNvbnN0S2V5c0l0ZXJhdG9yKGNvbnN0IENvbnN0SXRlcmF0b3ImIGltcGwpIDogbV9p
bXBsKGltcGwpIHt9CkBAIC0xMDMsNyArMTAzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFt
ZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlQ29uc3RWYWx1ZXNJdGVyYXRvciB7CiAgICAg
cHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxI
YXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJh
dG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hU
YWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0
b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZUNvbnN0VmFsdWVzSXRlcmF0b3Io
Y29uc3QgQ29uc3RJdGVyYXRvciYgaW1wbCkgOiBtX2ltcGwoaW1wbCkge30KQEAgLTEyMCw4ICsx
MjAsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJs
ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNo
VGFibGVLZXlzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRh
YmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBw
ZWRUeXBlPiA+IEl0ZXJhdG9yOwotICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0
b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+
IENvbnN0SXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVy
PEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IEl0ZXJh
dG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hU
YWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0
b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZUtleXNJdGVyYXRvcihjb25zdCBJ
dGVyYXRvciYgaW1wbCkgOiBtX2ltcGwoaW1wbCkge30KQEAgLTE0Myw4ICsxNDMsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJsZVR5cGUsIHR5cGVu
YW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNoVGFibGVWYWx1ZXNJ
dGVyYXRvciB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVJdGVyYXRv
ckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4g
SXRlcmF0b3I7Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8
SGFzaFRhYmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVy
YXRvcjsKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxl
VHlwZSwgS2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gSXRlcmF0b3I7CisgICAg
ICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwg
S2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVyYXRvcjsKIAogICAg
IHB1YmxpYzoKICAgICAgICAgSGFzaFRhYmxlVmFsdWVzSXRlcmF0b3IoY29uc3QgSXRlcmF0b3Im
IGltcGwpIDogbV9pbXBsKGltcGwpIHt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNo
TWFwLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoTWFwLmgKaW5kZXggZjU5N2VjMzMzNzk4N2RlYTA0
ZDBhODBhYTg4MjVlMmIwNWMwZWY1OC4uOTAxMDQ3NGM4MjU1NjNlZjg0MWI5Njg3ZmVmZjQ5NGFh
NjU1YjRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0hhc2hNYXAuaApAQCAtMjYsNyArMjYsNiBAQAogbmFtZXNwYWNlIFdURiB7CiAK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUcmFpdHMsIHR5cGVuYW1lIE1hcHBlZFRyYWl0cz4g
c3RydWN0IEhhc2hNYXBWYWx1ZVRyYWl0czsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQYWlyVHlw
ZT4gc3RydWN0IFBhaXJGaXJzdEV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBSZWZlcmVuY2VUeXBlTWFrZXIgewogICAgICAgICB0eXBlZGVmIFQmIFJlZmVyZW5j
ZVR5cGU7CkBAIC0zNSw2ICszNCwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZWRl
ZiBUJiBSZWZlcmVuY2VUeXBlOwogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgS2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9yIHsKKyAgICAgICAgc3RhdGljIGNvbnN0IHR5
cGVuYW1lIFQ6OktleVR5cGUmIGV4dHJhY3QoY29uc3QgVCYgcCkgeyByZXR1cm4gcC5maXJzdDsg
fQorICAgIH07CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBl
ZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPEtleUFyZz46Okhh
c2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPiwg
dHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxNYXBwZWRBcmc+ID4KICAgICBj
bGFzcyBIYXNoTWFwIHsKQEAgLTU4LDcgKzYxLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAg
ICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAKLSAgICAgICAgdHlwZWRlZiBIYXNo
VGFibGU8S2V5VHlwZSwgVmFsdWVUeXBlLCBQYWlyRmlyc3RFeHRyYWN0b3I8VmFsdWVUeXBlPiwK
KyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGU8S2V5VHlwZSwgVmFsdWVUeXBlLCBLZXlWYWx1ZVBh
aXJLZXlFeHRyYWN0b3I8VmFsdWVUeXBlPiwKICAgICAgICAgICAgIEhhc2hGdW5jdGlvbnMsIFZh
bHVlVHJhaXRzLCBLZXlUcmFpdHM+IEhhc2hUYWJsZVR5cGU7CiAKICAgICAgICAgY2xhc3MgSGFz
aE1hcEtleXNQcm94eTsKQEAgLTIwNCwxOCArMjA3LDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
ICAgICBIYXNoVGFibGVUeXBlIG1faW1wbDsKICAgICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgS2V5VHJhaXRzLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHM+IHN0cnVjdCBIYXNoTWFwVmFsdWVU
cmFpdHMgOiBQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz4geworICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEtleVRyYWl0cywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzPiBzdHJ1Y3Qg
SGFzaE1hcFZhbHVlVHJhaXRzIDogS2V5VmFsdWVQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1h
cHBlZFRyYWl0cz4gewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBoYXNJc0VtcHR5VmFsdWVG
dW5jdGlvbiA9IHRydWU7Ci0gICAgICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCB0
eXBlbmFtZSBQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz46OlRyYWl0VHlw
ZSYgdmFsdWUpCisgICAgICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCB0eXBlbmFt
ZSBLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzPEtleVRyYWl0cywgTWFwcGVkVHJhaXRzPjo6VHJhaXRU
eXBlJiB2YWx1ZSkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGlzSGFzaFRyYWl0c0Vt
cHR5VmFsdWU8S2V5VHJhaXRzPih2YWx1ZS5maXJzdCk7CiAgICAgICAgIH0KICAgICB9OwogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgUGFpclR5cGU+IHN0cnVjdCBQYWlyRmlyc3RFeHRyYWN0b3Ig
ewotICAgICAgICBzdGF0aWMgY29uc3QgdHlwZW5hbWUgUGFpclR5cGU6OmZpcnN0X3R5cGUmIGV4
dHJhY3QoY29uc3QgUGFpclR5cGUmIHApIHsgcmV0dXJuIHAuZmlyc3Q7IH0KLSAgICB9OwotCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUcmFpdHMsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnM+
CiAgICAgc3RydWN0IEhhc2hNYXBUcmFuc2xhdG9yIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgVCYga2V5KSB7IHJldHVybiBIYXNoRnVu
Y3Rpb25zOjpoYXNoKGtleSk7IH0KQEAgLTIyMyw3ICsyMjIsNyBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4gc3Rh
dGljIHZvaWQgdHJhbnNsYXRlKFQmIGxvY2F0aW9uLCBjb25zdCBVJiBrZXksIGNvbnN0IFYmIG1h
cHBlZCkKICAgICAgICAgewogICAgICAgICAgICAgbG9jYXRpb24uZmlyc3QgPSBrZXk7Ci0gICAg
ICAgICAgICBWYWx1ZVRyYWl0czo6U2Vjb25kVHJhaXRzOjpzdG9yZShtYXBwZWQsIGxvY2F0aW9u
LnNlY29uZCk7CisgICAgICAgICAgICBWYWx1ZVRyYWl0czo6VmFsdWVUcmFpdHM6OnN0b3JlKG1h
cHBlZCwgbG9jYXRpb24uc2Vjb25kKTsKICAgICAgICAgfQogICAgIH07CiAKQEAgLTIzNCw3ICsy
MzMsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVSwgdHlwZW5hbWUgVj4gc3RhdGljIHZvaWQgdHJhbnNsYXRlKFQmIGxvY2F0aW9uLCBj
b25zdCBVJiBrZXksIGNvbnN0IFYmIG1hcHBlZCwgdW5zaWduZWQgaGFzaENvZGUpCiAgICAgICAg
IHsKICAgICAgICAgICAgIFRyYW5zbGF0b3I6OnRyYW5zbGF0ZShsb2NhdGlvbi5maXJzdCwga2V5
LCBoYXNoQ29kZSk7Ci0gICAgICAgICAgICBWYWx1ZVRyYWl0czo6U2Vjb25kVHJhaXRzOjpzdG9y
ZShtYXBwZWQsIGxvY2F0aW9uLnNlY29uZCk7CisgICAgICAgICAgICBWYWx1ZVRyYWl0czo6VmFs
dWVUcmFpdHM6OnN0b3JlKG1hcHBlZCwgbG9jYXRpb24uc2Vjb25kKTsKICAgICAgICAgfQogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oIGIvU291cmNlL1dU
Ri93dGYvSGFzaFRhYmxlLmgKaW5kZXggYjBjYzRkNmY5NGFkMjgxYzk0YTRhYjg5ZTRlNTk0ZDUx
OTI0NjE5My4uMWNlM2M1Y2Y2ODhlZjBhODFlMTA2MWJjNmNlMjYyMGJlM2Q5ODAwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFz
aFRhYmxlLmgKQEAgLTI4NCw4ICsyODQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgc3dh
cChhLCBiKTsKICAgICB9CiAKLSAgICAvLyBTd2FwIHBhaXJzIGJ5IGNvbXBvbmVudCwgaW4gY2Fz
ZSBvZiBwYWlyIG1lbWJlcnMgdGhhdCBzcGVjaWFsaXplIHN3YXAuCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIHZvaWQgaGFzaFRhYmxlU3dhcChzdGQ6OnBhaXI8
VCwgVT4mIGEsIHN0ZDo6cGFpcjxULCBVPiYgYikKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBVPiBpbmxpbmUgdm9pZCBoYXNoVGFibGVTd2FwKEtleVZhbHVlUGFpcjxULCBVPiYg
YSwgS2V5VmFsdWVQYWlyPFQsIFU+JiBiKQogICAgIHsKICAgICAgICAgc3dhcChhLmZpcnN0LCBi
LmZpcnN0KTsKICAgICAgICAgc3dhcChhLnNlY29uZCwgYi5zZWNvbmQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5o
CmluZGV4IDIxZmZkYmI0NWU1OGViOTZjZGQ3YjhhYTA1ZTEyZTE1ZjQ1MGIxZmQuLmViZTc5NWVi
MWE4OTllMmM2MWVlNWRjMzY0NzM3YjI5Yjg1NzBhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0hhc2hUcmFpdHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKQEAgLTE2
Myw4ICsxNjMsNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJuIEhhc2hUcmFpdHNF
bXB0eVZhbHVlQ2hlY2tlcjxUcmFpdHMsIFRyYWl0czo6aGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24+
Ojppc0VtcHR5VmFsdWUodmFsdWUpOwogICAgIH0KIAotICAgIC8vIHNwZWNpYWwgdHJhaXRzIGZv
ciBwYWlycywgaGVscGZ1bCBmb3IgdGhlaXIgdXNlIGluIEhhc2hNYXAgaW1wbGVtZW50YXRpb24K
LQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0VHJhaXRzQXJnLCB0eXBlbmFtZSBTZWNvbmRU
cmFpdHNBcmc+CiAgICAgc3RydWN0IFBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8
c3RkOjpwYWlyPHR5cGVuYW1lIEZpcnN0VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNl
Y29uZFRyYWl0c0FyZzo6VHJhaXRUeXBlPiA+IHsKICAgICAgICAgdHlwZWRlZiBGaXJzdFRyYWl0
c0FyZyBGaXJzdFRyYWl0czsKQEAgLTE4Niw2ICsxODQsNTMgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgRmlyc3QsIHR5cGVuYW1lIFNlY29uZD4KICAgICBzdHJ1Y3Qg
SGFzaFRyYWl0czxzdGQ6OnBhaXI8Rmlyc3QsIFNlY29uZD4gPiA6IHB1YmxpYyBQYWlySGFzaFRy
YWl0czxIYXNoVHJhaXRzPEZpcnN0PiwgSGFzaFRyYWl0czxTZWNvbmQ+ID4geyB9OwogCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZUFyZywgdHlwZW5hbWUgVmFsdWVUeXBlQXJnPgorICAg
IHN0cnVjdCBLZXlWYWx1ZVBhaXIgeworICAgICAgICB0eXBlZGVmIEtleVR5cGVBcmcgS2V5VHlw
ZTsKKworICAgICAgICBLZXlWYWx1ZVBhaXIoKQorICAgICAgICB7CisgICAgICAgIH0KKworICAg
ICAgICBLZXlWYWx1ZVBhaXIoY29uc3QgS2V5VHlwZUFyZyYga2V5LCBjb25zdCBWYWx1ZVR5cGVB
cmcmIHZhbHVlKQorICAgICAgICAgICAgOiBmaXJzdChrZXkpCisgICAgICAgICAgICAsIHNlY29u
ZCh2YWx1ZSkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIE90aGVyS2V5VHlwZSwgdHlwZW5hbWUgT3RoZXJWYWx1ZVR5cGU+CisgICAgICAgIEtleVZh
bHVlUGFpcihjb25zdCBLZXlWYWx1ZVBhaXI8T3RoZXJLZXlUeXBlLCBPdGhlclZhbHVlVHlwZT4m
IG90aGVyKQorICAgICAgICAgICAgOiBmaXJzdChvdGhlci5maXJzdCkKKyAgICAgICAgICAgICwg
c2Vjb25kKG90aGVyLnNlY29uZCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgLy8g
VE9ETzogUmVuYW1lIHRoZXNlIHRvIGtleSBhbmQgdmFsdWUuIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI3ODQuCisgICAgICAgIEtleVR5cGVBcmcgZmlyc3Q7
CisgICAgICAgIFZhbHVlVHlwZUFyZyBzZWNvbmQ7CisgICAgfTsKKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgVmFsdWVUcmFpdHNBcmc+CisgICAgc3RydWN0
IEtleVZhbHVlUGFpckhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxLZXlWYWx1ZVBhaXI8
dHlwZW5hbWUgS2V5VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFZhbHVlVHJhaXRzQXJn
OjpUcmFpdFR5cGU+ID4geworICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7
CisgICAgICAgIHR5cGVkZWYgVmFsdWVUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CisgICAgICAgIHR5
cGVkZWYgS2V5VmFsdWVQYWlyPHR5cGVuYW1lIEtleVRyYWl0czo6VHJhaXRUeXBlLCB0eXBlbmFt
ZSBWYWx1ZVRyYWl0czo6VHJhaXRUeXBlPiBUcmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgS2V5
VmFsdWVQYWlyPHR5cGVuYW1lIEtleVRyYWl0czo6RW1wdHlWYWx1ZVR5cGUsIHR5cGVuYW1lIFZh
bHVlVHJhaXRzOjpFbXB0eVZhbHVlVHlwZT4gRW1wdHlWYWx1ZVR5cGU7CisKKyAgICAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IEtleVRyYWl0czo6ZW1wdHlWYWx1ZUlz
WmVybyAmJiBWYWx1ZVRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVybzsKKyAgICAgICAgc3RhdGljIEVt
cHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBLZXlWYWx1ZVBhaXI8dHlwZW5hbWUg
S2V5VHJhaXRzOjpFbXB0eVZhbHVlVHlwZSwgdHlwZW5hbWUgVmFsdWVUcmFpdHM6OkVtcHR5VmFs
dWVUeXBlPihLZXlUcmFpdHM6OmVtcHR5VmFsdWUoKSwgVmFsdWVUcmFpdHM6OmVtcHR5VmFsdWUo
KSk7IH0KKworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gS2V5
VHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9uIHx8IFZhbHVlVHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9u
OworCisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9IEtleVRyYWl0
czo6bWluaW11bVRhYmxlU2l6ZTsKKworICAgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxl
dGVkVmFsdWUoVHJhaXRUeXBlJiBzbG90KSB7IEtleVRyYWl0czo6Y29uc3RydWN0RGVsZXRlZFZh
bHVlKHNsb3QuZmlyc3QpOyB9CisgICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNv
bnN0IFRyYWl0VHlwZSYgdmFsdWUpIHsgcmV0dXJuIEtleVRyYWl0czo6aXNEZWxldGVkVmFsdWUo
dmFsdWUuZmlyc3QpOyB9CisgICAgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlw
ZW5hbWUgVmFsdWU+CisgICAgc3RydWN0IEhhc2hUcmFpdHM8S2V5VmFsdWVQYWlyPEtleSwgVmFs
dWU+ID4gOiBwdWJsaWMgS2V5VmFsdWVQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEtleT4sIEhh
c2hUcmFpdHM8VmFsdWU+ID4geyB9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RG
OjpIYXNoVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5o
IGIvU291cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDBhZjM2YmU2MDI3ZmI1MDBi
YmZlYTVjMjFkYzZlMDhjZGYwMTlmOGIuLjVmYWU5MGU4Y2Q0NzExMjllODlkY2M4ZTdhZTY2Mzhh
ZGExNTRkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5
VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7Ci0g
ICAgICAgIHR5cGVkZWYgUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRUcmFpdHM+IFZh
bHVlVHJhaXRzOworICAgICAgICB0eXBlZGVmIEtleVZhbHVlUGFpckhhc2hUcmFpdHM8S2V5VHJh
aXRzLCBNYXBwZWRUcmFpdHM+IFZhbHVlVHJhaXRzOwogCiAgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIHR5cGVuYW1lIEtleVRyYWl0czo6VHJhaXRUeXBlIEtleVR5cGU7CkBAIC01MSw3ICs1
MSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAKICAgICAgICAgdHlwZWRlZiBIYXNoQXJn
IEhhc2hGdW5jdGlvbnM7CiAKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGU8S2V5VHlwZSwgVmFs
dWVUeXBlLCBQYWlyRmlyc3RFeHRyYWN0b3I8VmFsdWVUeXBlPiwKKyAgICAgICAgdHlwZWRlZiBI
YXNoVGFibGU8S2V5VHlwZSwgVmFsdWVUeXBlLCBLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3I8VmFs
dWVUeXBlPiwKICAgICAgICAgICAgIEhhc2hGdW5jdGlvbnMsIFZhbHVlVHJhaXRzLCBLZXlUcmFp
dHM+IEhhc2hUYWJsZVR5cGU7CiAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwVHJhbnNsYXRvcjxW
YWx1ZVRyYWl0cywgSGFzaEZ1bmN0aW9ucz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCAwNzBmNDU4MzA3OWY3YjRlZWJmY2Y0YTJh
ODg4NDc4NmQ4YzU1NDBhLi5kZDU0ZGZlZWY5MWE3ZGUzMTE5MTVlOTNkOWFmYmViMTNhMWNiZTc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVy
cy5oCkBAIC03Miw2ICs3MiwyOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OnBhaXI8VCwgVT4gPiB7CiAgICAgfQogfTsKIAordGVt
cGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXVEY6OktleVZhbHVlUGFpcjxLZXlUeXBlLCBWYWx1ZVR5cGU+ID4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdURjo6S2V5
VmFsdWVQYWlyPEtleVR5cGUsIFZhbHVlVHlwZT4mIHBhaXIpCisgICAgeworICAgICAgICBlbmNv
ZGVyLT5lbmNvZGUocGFpci5maXJzdCk7CisgICAgICAgIGVuY29kZXItPmVuY29kZShwYWlyLnNl
Y29uZCk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2Rlciog
ZGVjb2RlciwgV1RGOjpLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgVmFsdWVUeXBlPiYgcGFpcikKKyAg
ICB7CisgICAgICAgIEtleVR5cGUga2V5OworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShr
ZXkpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFZhbHVlVHlwZSB2YWx1
ZTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodmFsdWUpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHBhaXIuZmlyc3QgPSBrZXk7CisgICAgICAgIHBhaXIuc2Vj
b25kID0gdmFsdWU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKIHRlbXBsYXRl
PGJvb2wgZml4ZWRTaXplRWxlbWVudHMsIHR5cGVuYW1lIFQ+IHN0cnVjdCBWZWN0b3JBcmd1bWVu
dENvZGVyOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgVmVjdG9yQXJndW1lbnRDb2Rl
cjxmYWxzZSwgVD4gewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154411</attachid>
            <date>2012-07-25 11:53:37 -0700</date>
            <delta_ts>2012-07-25 15:15:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-92137-20120725155328.patch</filename>
            <type>text/plain</type>
            <size>19103</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ODhjOWEwMTY5Y2U1ZTdkOWQ0YjcxNDg4ZmJiOTc2MmZhYzU5ODExLi5kMDY1ZGQ2MGRmODE4YmFk
MTZhODQyNTM3NzNiMDYyODAxMzgzYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNy0yNSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENyZWF0ZSBhIHNwZWNpYWxp
emVkIHBhaXIgZm9yIHVzZSBpbiBIYXNoTWFwIGl0ZXJhdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgVXBkYXRlIGEgY291cGxlIG9mIHNpdGVzIHRoYXQg
cmVsaWVkIG9uIHRoZSBmYWN0IHRoYXQgImNvbnRlbnRzIiBvZiBpdGVyYXRvcnMgd2VyZQorICAg
ICAgICBzdGQ6OnBhaXJzLgorCisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZS5jcHA6CisgICAg
ICAgIChKU0MpOiBUaGlzIGNvZGUga2VwdCBhIHZlY3RvciBvZiB0aGUgcGFpcnMgdGhhdCB3ZXJl
IHRoZSAiY29udGVudHMiIG9mIHRoZSBpdGVyYXRvcnMuIFRoaXMKKyAgICAgICAgaXMgY2hhbmdl
ZCB0byB1c2UgYSBLZXlWYWx1ZVBhaXIuIFdlIG1ha2UgdXNlIEhhc2hDb3VudCdzIFZhbHVlVHlw
ZSAod2hpY2ggcmVwcmVzZW50cyBvbmx5CisgICAgICAgIHRoZSBrZXkpIHRvIGdldCB0aGUgcHJv
cGVyIGtleSBwYXJhbWV0ZXIgZm9yIEtleVZhbHVlUGFpci4KKyAgICAgICAgKiB0b29scy9Qcm9m
aWxlVHJlZU5vZGUuaDoKKyAgICAgICAgKFByb2ZpbGVUcmVlTm9kZSk6IFVzZSBIYXNoTWFwOjpW
YWx1ZVR5cGUgdG8gZGVjbGFyZSB0aGUgdHlwZSBvZiB0aGUgY29udGVudHMgb2YgdGhlIGhhc2gK
KyAgICAgICAgaW5zdGVhZCBvZiBkZWNsYXJpbmcgaXQgbWFudWFsbHkuIFRoaXMgd2lsbCBtYWtl
IHVzZSBvZiB0aGUgbmV3IEtleVZhbHVlUGFpci4KKwogMjAxMi0wNy0yNSAgUGF0cmljayBHYW5z
dGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMjM1MDUp
OiBEYXRlLmdldFllYXIoKSByZXR1cm5zIHRoZSBzYW1lIGFzIERhdGUuZ2V0RnVsbFllYXIoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCA2MTQ4MTMzMDEyN2U1OWZhMTNmM2UyY2E4ZTUyM2M1YTg4ZDNlY2ZjLi5kNmZkNGViODll
MWJiYmZkZTlmMjViN2UwMTI4NjA1YTdkNTEwNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEy
LTA3LTI1ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgQ3JlYXRlIGEgc3BlY2lhbGl6ZWQgcGFpciBmb3IgdXNl
IGluIEhhc2hNYXAgaXRlcmF0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MjEzNworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICBUaGUgdHlwZSB1c2VkIGZvciBpbnRlcm5hbCBzdG9yYWdlIGluIEhhc2hNYXAg
aXMgZXhwb3NlZCBpbiBpdHMgaW50ZXJmYWNlIGFzIGl0ZXJhdG9yCisgICAgICAgICJjb250ZW50
cyIuIEN1cnJlbnRseSBIYXNoTWFwIHVzZXMgc3RkOjpwYWlyPD4sIHdoaWNoIHRoaXMgcGF0Y2gg
cmVwbGFjZXMgd2l0aAorICAgICAgICBLZXlWYWx1ZVBhaXIuCisKKyAgICAgICAgSGF2aW5nIHRo
aXMgc3BlY2lhbGl6ZWQgc3RydWN0dXJlIHdpbGwgYWxsb3cgdXMgdG8gY3VzdG9taXplIHRoZSBt
ZW1iZXJzIHRvIGJlIGNhbGxlZAorICAgICAgICBrZXkvdmFsdWUsIGltcHJvdmluZyByZWFkYWJp
bGl0eSBpbiBjb2RlIHVzaW5nIEhhc2hNYXAgaXRlcmF0b3JzLiBUaGV5IGFyZSBzdGlsbCBjYWxs
ZWQKKyAgICAgICAgZmlyc3Qvc2Vjb25kIHRvIHNlcGFyYXRlIHRoaXMgY2hhbmdlIGZyb20gdGhl
IG1lY2hhbmljYWwgY2hhbmdlIG9mIHVwZGF0aW5nIGNhbGxzaXRlcy4KKworICAgICAgICAqIHd0
Zi9IYXNoSXRlcmF0b3JzLmg6CisgICAgICAgIChIYXNoVGFibGVDb25zdEtleXNJdGVyYXRvcik6
CisgICAgICAgIChIYXNoVGFibGVDb25zdFZhbHVlc0l0ZXJhdG9yKToKKyAgICAgICAgKEhhc2hU
YWJsZUtleXNJdGVyYXRvcik6CisgICAgICAgIChIYXNoVGFibGVWYWx1ZXNJdGVyYXRvcik6Cisg
ICAgICAgIFVzZSBLZXlWYWx1ZVBhaXIgaW5zdGVhZCBvZiBzdGQ6OnBhaXIgd2hlbiBkZWZpbmlu
ZyB0aGUgaXRlcmF0b3JzLgorCisgICAgICAgICogd3RmL0hhc2hNYXAuaDoKKyAgICAgICAgKFdU
Rik6CisgICAgICAgIChXVEY6OktleVZhbHVlUGFpcktleUV4dHJhY3Rvcjo6ZXh0cmFjdCk6Cisg
ICAgICAgIChIYXNoTWFwKToKKyAgICAgICAgUmVtb3ZlIFBhaXJGaXJzdEV4dHJhY3Rvci4gQWRk
IGFuZCB1c2UgdGhlIEtleVZhbHVlUGFpciBjb3JyZXNwb25kaW5nIGV4dHJhY3Rvci4KKworICAg
ICAgICAoV1RGOjpIYXNoTWFwVmFsdWVUcmFpdHM6OmlzRW1wdHlWYWx1ZSk6IFVzZSBLZXlWYWx1
ZVBhaXJIYXNoVHJhaXRzIGZvciBIYXNoTWFwcy4KKyAgICAgICAgKFdURjo6SGFzaE1hcFRyYW5z
bGF0b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgIChXVEY6Okhhc2hNYXBUcmFuc2xhdG9yQWRhcHRl
cjo6dHJhbnNsYXRlKToKKyAgICAgICAgVGhlIHRyYWl0cyBvZiB0aGUgbWFwcGVkIHZhbHVlIGlz
IG5vdyBjYWxsZWQgVmFsdWVUcmFpdHMgaW5zdGVhZCBvZiBTZWNvbmRUcmFpdHMuCisKKyAgICAg
ICAgKiB3dGYvSGFzaFRhYmxlLmg6CisgICAgICAgIChXVEY6Omhhc2hUYWJsZVN3YXApOiBBZGQg
c3BlY2lhbGl6YXRpb24gZm9yIHN3YXBwaW5nIEtleVZhbHVlUGFpcnMuCisgICAgICAgIChXVEYp
OiBSZW1vdmUgbm93IHVubmVlZGVkIHNwZWNpYWxpemF0aW9uIGZvciBzdGQ6OnBhaXJzLgorCisg
ICAgICAgICogd3RmL0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKEtleVZhbHVlUGFpcik6CisgICAg
ICAgIChXVEY6OktleVZhbHVlUGFpcjo6S2V5VmFsdWVQYWlyKToKKyAgICAgICAgKFdURik6Cisg
ICAgICAgIFNwZWNpYWxpemVkIHBhaXIuIEluIHRoZSBmdXR1cmUgZGlmZmVyZW5jZSBmcm9tIHBh
aXIgc2hvdWxkIGJlIHRoZSBtZW1iZXIgbmFtZXMuCisKKyAgICAgICAgKEtleVZhbHVlUGFpckhh
c2hUcmFpdHMpOgorICAgICAgICAoV1RGOjpLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzOjplbXB0eVZh
bHVlKToKKyAgICAgICAgKFdURjo6S2V5VmFsdWVQYWlySGFzaFRyYWl0czo6Y29uc3RydWN0RGVs
ZXRlZFZhbHVlKToKKyAgICAgICAgKFdURjo6S2V5VmFsdWVQYWlySGFzaFRyYWl0czo6aXNEZWxl
dGVkVmFsdWUpOgorICAgICAgICBUaGVzZSB0cmFpdHMgYXJlIGFuYWxvZ291cyB0byBQYWlySGFz
aFRyYWl0cyBidXQgZm9yIEtleVZhbHVlUGFpci4KKworICAgICAgICAqIHd0Zi9SZWZQdHJIYXNo
TWFwLmg6IFVzZSBLZXlWYWx1ZVBhaXJIYXNoVHJhaXRzLgorCiAyMDEyLTA3LTI1ICBBbmRyZXcg
V2lsc29uICA8YXR3aWxzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMjM1NjAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGE2MzYxZDFkNDBhNzViNjQ1ZWJkYmE1
MmM2OWI3NGNhMzBkMDY1NS4uNWVkZDJlNjg3ZWEyZWE0NTc3OTY5MmExM2U5ODhjY2E5MTZlYzlh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA3LTI1ICBDYWlvIE1hcmNlbG8g
ZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgQ3JlYXRlIGEgc3BlY2lhbGl6ZWQgc3RydWN0IGZvciB1c2UgaW4gSGFzaE1hcCBpdGVyYXRv
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTM3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5oOiBBZGQgZW5jb2RlL2RlY29kZSBmb3IgS2V5VmFs
dWVQYWlyLgorCiAyMDEyLTA3LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgogCiAgICAgICAgIENoaW5lc2UgSU0gcmVjZWl2ZXMgaW5jb3JyZWN0L2R1cGxpY2F0ZWQga2V5
IGV2ZW50cyBpbiB0ZXh0IGZpZWxkcyBpbiB3ZWJwYWdlcyBpbiBTYWZhcmkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZS5jcHAKaW5kZXggNDlkNmRlOTdhOThhYjBjNTNm
ZWVhNjViMzg5NjlmZDMwMTEzMzk5Ny4uOTJlMzJjNGJhNjY0YTQxZjQxYTg4ZTkyOWNhM2YwY2U4
YmY3MDc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlLmNwcApA
QCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgUHJvZmlsZTo6ZGVidWdQcmludERhdGEoKSBjb25zdAog
ICAgIG1faGVhZC0+ZGVidWdQcmludERhdGEoMCk7CiB9CiAKLXR5cGVkZWYgcGFpcjxTdHJpbmdJ
bXBsKiwgdW5zaWduZWQ+IE5hbWVDb3VudFBhaXI7Cit0eXBlZGVmIFdURjo6S2V5VmFsdWVQYWly
PEZ1bmN0aW9uQ2FsbEhhc2hDb3VudDo6VmFsdWVUeXBlLCB1bnNpZ25lZD4gTmFtZUNvdW50UGFp
cjsKIAogc3RhdGljIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUNvdW50UGFpckNvbXBhcmF0b3Io
Y29uc3QgTmFtZUNvdW50UGFpciYgYSwgY29uc3QgTmFtZUNvdW50UGFpciYgYikKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9Qcm9maWxlVHJlZU5vZGUuaAppbmRleCA5ZGUzOWFk
OGEyOTg2MjJjNDMzYTY3ZWI2NGE3MjIwNGRlMTllNmMyLi43YjUxZWZiODVkYjM0NDFhMjIyNjNi
NDI0OTdhMzE3NTJiNWI1MmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9v
bHMvUHJvZmlsZVRyZWVOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1By
b2ZpbGVUcmVlTm9kZS5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFz
cyBQcm9maWxlVHJlZU5vZGUgewogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFByb2ZpbGVU
cmVlTm9kZT4gTWFwOwotICAgIHR5cGVkZWYgc3RkOjpwYWlyPFN0cmluZywgUHJvZmlsZVRyZWVO
b2RlPiBNYXBFbnRyeTsKKyAgICB0eXBlZGVmIE1hcDo6VmFsdWVUeXBlIE1hcEVudHJ5OwogCiBw
dWJsaWM6CiAgICAgUHJvZmlsZVRyZWVOb2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0hhc2hJdGVyYXRvcnMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hJdGVyYXRvcnMuaAppbmRleCA2
YWZhMmZhNTdlNzBhZDAzMjA4NTBmMzczM2RjZDc5OTcxNGIwMDgzLi42MzlmZjcyNTBhMWVmMGZi
M2Y4MjRkYzkxNjg4NDk2Yjg5YjY1ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNo
SXRlcmF0b3JzLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaEl0ZXJhdG9ycy5oCkBAIC0zMyw5
ICszMyw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJs
ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNo
VGFibGVLZXlzSXRlcmF0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwg
dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZVZh
bHVlc0l0ZXJhdG9yOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlw
ZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4gc3RydWN0IEhhc2hUYWJsZUNvbnN0
SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRU
eXBlPiA+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBL
ZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlQ29uc3RJdGVyYXRv
ckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgS2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+
ID4gewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEtleVR5cGUsIE1h
cHBlZFR5cGU+IFZhbHVlVHlwZTsKKyAgICAgICAgdHlwZWRlZiBLZXlWYWx1ZVBhaXI8S2V5VHlw
ZSwgTWFwcGVkVHlwZT4gVmFsdWVUeXBlOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBI
YXNoVGFibGVDb25zdEtleXNJdGVyYXRvcjxIYXNoVGFibGVUeXBlLCBLZXlUeXBlLCBNYXBwZWRU
eXBlPiBLZXlzOwogICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0VmFsdWVzSXRlcmF0b3I8
SGFzaFRhYmxlVHlwZSwgS2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVzOwpAQCAtNTYsOSArNTYs
OSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZW5hbWUgSGFzaFRhYmxlVHlwZTo6Y29u
c3RfaXRlcmF0b3IgbV9pbXBsOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNo
VGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3Qg
SGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBl
LCBNYXBwZWRUeXBlPiA+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0
eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlSXRl
cmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRU
eXBlPiA+IHsKICAgICBwcml2YXRlOgotICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxLZXlUeXBl
LCBNYXBwZWRUeXBlPiBWYWx1ZVR5cGU7CisgICAgICAgIHR5cGVkZWYgS2V5VmFsdWVQYWlyPEtl
eVR5cGUsIE1hcHBlZFR5cGU+IFZhbHVlVHlwZTsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgSGFzaFRhYmxlS2V5c0l0ZXJhdG9yPEhhc2hUYWJsZVR5cGUsIEtleVR5cGUsIE1hcHBlZFR5
cGU+IEtleXM7CiAgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlVmFsdWVzSXRlcmF0b3I8SGFzaFRh
YmxlVHlwZSwgS2V5VHlwZSwgTWFwcGVkVHlwZT4gVmFsdWVzOwpAQCAtODYsNyArODYsNyBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJsZVR5cGUsIHR5
cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNoVGFibGVDb25z
dEtleXNJdGVyYXRvciB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVD
b25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFibGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFw
cGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0
SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBw
ZWRUeXBlPiA+IENvbnN0SXRlcmF0b3I7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJs
ZUNvbnN0S2V5c0l0ZXJhdG9yKGNvbnN0IENvbnN0SXRlcmF0b3ImIGltcGwpIDogbV9pbXBsKGlt
cGwpIHt9CkBAIC0xMDMsNyArMTAzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBw
ZWRUeXBlPiBzdHJ1Y3QgSGFzaFRhYmxlQ29uc3RWYWx1ZXNJdGVyYXRvciB7CiAgICAgcHJpdmF0
ZToKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlcjxIYXNoVGFi
bGVUeXBlLCBzdGQ6OnBhaXI8S2V5VHlwZSwgTWFwcGVkVHlwZT4gPiBDb25zdEl0ZXJhdG9yOwor
ICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5
cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0b3I7CiAK
ICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZUNvbnN0VmFsdWVzSXRlcmF0b3IoY29uc3Qg
Q29uc3RJdGVyYXRvciYgaW1wbCkgOiBtX2ltcGwoaW1wbCkge30KQEAgLTEyMCw4ICsxMjAsOCBA
QCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJsZVR5cGUs
IHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNoVGFibGVL
ZXlzSXRlcmF0b3IgewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlSXRl
cmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBl
PiA+IEl0ZXJhdG9yOwotICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFw
dGVyPEhhc2hUYWJsZVR5cGUsIHN0ZDo6cGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0
SXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlSXRlcmF0b3JBZGFwdGVyPEhhc2hU
YWJsZVR5cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IEl0ZXJhdG9yOwor
ICAgICAgICB0eXBlZGVmIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JBZGFwdGVyPEhhc2hUYWJsZVR5
cGUsIEtleVZhbHVlUGFpcjxLZXlUeXBlLCBNYXBwZWRUeXBlPiA+IENvbnN0SXRlcmF0b3I7CiAK
ICAgICBwdWJsaWM6CiAgICAgICAgIEhhc2hUYWJsZUtleXNJdGVyYXRvcihjb25zdCBJdGVyYXRv
ciYgaW1wbCkgOiBtX2ltcGwoaW1wbCkge30KQEAgLTE0Myw4ICsxNDMsOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJsZVR5cGUsIHR5cGVuYW1lIEtl
eVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGU+IHN0cnVjdCBIYXNoVGFibGVWYWx1ZXNJdGVyYXRv
ciB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVJdGVyYXRvckFkYXB0
ZXI8SGFzaFRhYmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gSXRlcmF0
b3I7Ci0gICAgICAgIHR5cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8SGFzaFRh
YmxlVHlwZSwgc3RkOjpwYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVyYXRvcjsK
KyAgICAgICAgdHlwZWRlZiBIYXNoVGFibGVJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwg
S2V5VmFsdWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gSXRlcmF0b3I7CisgICAgICAgIHR5
cGVkZWYgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXI8SGFzaFRhYmxlVHlwZSwgS2V5VmFs
dWVQYWlyPEtleVR5cGUsIE1hcHBlZFR5cGU+ID4gQ29uc3RJdGVyYXRvcjsKIAogICAgIHB1Ymxp
YzoKICAgICAgICAgSGFzaFRhYmxlVmFsdWVzSXRlcmF0b3IoY29uc3QgSXRlcmF0b3ImIGltcGwp
IDogbV9pbXBsKGltcGwpIHt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoTWFwLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9IYXNoTWFwLmgKaW5kZXggZjU5N2VjMzMzNzk4N2RlYTA0ZDBhODBh
YTg4MjVlMmIwNWMwZWY1OC4uOTAxMDQ3NGM4MjU1NjNlZjg0MWI5Njg3ZmVmZjQ5NGFhNjU1YjRl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0hhc2hNYXAuaApAQCAtMjYsNyArMjYsNiBAQAogbmFtZXNwYWNlIFdURiB7CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUcmFpdHMsIHR5cGVuYW1lIE1hcHBlZFRyYWl0cz4gc3RydWN0
IEhhc2hNYXBWYWx1ZVRyYWl0czsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQYWlyVHlwZT4gc3Ry
dWN0IFBhaXJGaXJzdEV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBSZWZlcmVuY2VUeXBlTWFrZXIgewogICAgICAgICB0eXBlZGVmIFQmIFJlZmVyZW5jZVR5cGU7
CkBAIC0zNSw2ICszNCwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZWRlZiBUJiBS
ZWZlcmVuY2VUeXBlOwogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9yIHsKKyAgICAgICAgc3RhdGljIGNvbnN0IHR5cGVuYW1l
IFQ6OktleVR5cGUmIGV4dHJhY3QoY29uc3QgVCYgcCkgeyByZXR1cm4gcC5maXJzdDsgfQorICAg
IH07CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywg
dHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAg
ICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5h
bWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxNYXBwZWRBcmc+ID4KICAgICBjbGFzcyBI
YXNoTWFwIHsKQEAgLTU4LDcgKzYxLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgdHlw
ZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGU8
S2V5VHlwZSwgVmFsdWVUeXBlLCBQYWlyRmlyc3RFeHRyYWN0b3I8VmFsdWVUeXBlPiwKKyAgICAg
ICAgdHlwZWRlZiBIYXNoVGFibGU8S2V5VHlwZSwgVmFsdWVUeXBlLCBLZXlWYWx1ZVBhaXJLZXlF
eHRyYWN0b3I8VmFsdWVUeXBlPiwKICAgICAgICAgICAgIEhhc2hGdW5jdGlvbnMsIFZhbHVlVHJh
aXRzLCBLZXlUcmFpdHM+IEhhc2hUYWJsZVR5cGU7CiAKICAgICAgICAgY2xhc3MgSGFzaE1hcEtl
eXNQcm94eTsKQEAgLTIwNCwxOCArMjA3LDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBI
YXNoVGFibGVUeXBlIG1faW1wbDsKICAgICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5
VHJhaXRzLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHM+IHN0cnVjdCBIYXNoTWFwVmFsdWVUcmFpdHMg
OiBQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz4geworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEtleVRyYWl0cywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzPiBzdHJ1Y3QgSGFzaE1h
cFZhbHVlVHJhaXRzIDogS2V5VmFsdWVQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRy
YWl0cz4gewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBoYXNJc0VtcHR5VmFsdWVGdW5jdGlv
biA9IHRydWU7Ci0gICAgICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCB0eXBlbmFt
ZSBQYWlySGFzaFRyYWl0czxLZXlUcmFpdHMsIE1hcHBlZFRyYWl0cz46OlRyYWl0VHlwZSYgdmFs
dWUpCisgICAgICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCB0eXBlbmFtZSBLZXlW
YWx1ZVBhaXJIYXNoVHJhaXRzPEtleVRyYWl0cywgTWFwcGVkVHJhaXRzPjo6VHJhaXRUeXBlJiB2
YWx1ZSkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGlzSGFzaFRyYWl0c0VtcHR5VmFs
dWU8S2V5VHJhaXRzPih2YWx1ZS5maXJzdCk7CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgUGFpclR5cGU+IHN0cnVjdCBQYWlyRmlyc3RFeHRyYWN0b3IgewotICAg
ICAgICBzdGF0aWMgY29uc3QgdHlwZW5hbWUgUGFpclR5cGU6OmZpcnN0X3R5cGUmIGV4dHJhY3Qo
Y29uc3QgUGFpclR5cGUmIHApIHsgcmV0dXJuIHAuZmlyc3Q7IH0KLSAgICB9OwotCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVUcmFpdHMsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnM+CiAgICAg
c3RydWN0IEhhc2hNYXBUcmFuc2xhdG9yIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgVCYga2V5KSB7IHJldHVybiBIYXNoRnVuY3Rpb25z
OjpoYXNoKGtleSk7IH0KQEAgLTIyMyw3ICsyMjIsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4gc3RhdGljIHZv
aWQgdHJhbnNsYXRlKFQmIGxvY2F0aW9uLCBjb25zdCBVJiBrZXksIGNvbnN0IFYmIG1hcHBlZCkK
ICAgICAgICAgewogICAgICAgICAgICAgbG9jYXRpb24uZmlyc3QgPSBrZXk7Ci0gICAgICAgICAg
ICBWYWx1ZVRyYWl0czo6U2Vjb25kVHJhaXRzOjpzdG9yZShtYXBwZWQsIGxvY2F0aW9uLnNlY29u
ZCk7CisgICAgICAgICAgICBWYWx1ZVRyYWl0czo6VmFsdWVUcmFpdHM6OnN0b3JlKG1hcHBlZCwg
bG9jYXRpb24uc2Vjb25kKTsKICAgICAgICAgfQogICAgIH07CiAKQEAgLTIzNCw3ICsyMzMsNyBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VSwgdHlwZW5hbWUgVj4gc3RhdGljIHZvaWQgdHJhbnNsYXRlKFQmIGxvY2F0aW9uLCBjb25zdCBV
JiBrZXksIGNvbnN0IFYmIG1hcHBlZCwgdW5zaWduZWQgaGFzaENvZGUpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIFRyYW5zbGF0b3I6OnRyYW5zbGF0ZShsb2NhdGlvbi5maXJzdCwga2V5LCBoYXNo
Q29kZSk7Ci0gICAgICAgICAgICBWYWx1ZVRyYWl0czo6U2Vjb25kVHJhaXRzOjpzdG9yZShtYXBw
ZWQsIGxvY2F0aW9uLnNlY29uZCk7CisgICAgICAgICAgICBWYWx1ZVRyYWl0czo6VmFsdWVUcmFp
dHM6OnN0b3JlKG1hcHBlZCwgbG9jYXRpb24uc2Vjb25kKTsKICAgICAgICAgfQogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oIGIvU291cmNlL1dURi93dGYv
SGFzaFRhYmxlLmgKaW5kZXggYjBjYzRkNmY5NGFkMjgxYzk0YTRhYjg5ZTRlNTk0ZDUxOTI0NjE5
My4uMWNlM2M1Y2Y2ODhlZjBhODFlMTA2MWJjNmNlMjYyMGJlM2Q5ODAwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFRhYmxl
LmgKQEAgLTI4NCw4ICsyODQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgc3dhcChhLCBi
KTsKICAgICB9CiAKLSAgICAvLyBTd2FwIHBhaXJzIGJ5IGNvbXBvbmVudCwgaW4gY2FzZSBvZiBw
YWlyIG1lbWJlcnMgdGhhdCBzcGVjaWFsaXplIHN3YXAuCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIHZvaWQgaGFzaFRhYmxlU3dhcChzdGQ6OnBhaXI8VCwgVT4m
IGEsIHN0ZDo6cGFpcjxULCBVPiYgYikKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgdm9pZCBoYXNoVGFibGVTd2FwKEtleVZhbHVlUGFpcjxULCBVPiYgYSwgS2V5
VmFsdWVQYWlyPFQsIFU+JiBiKQogICAgIHsKICAgICAgICAgc3dhcChhLmZpcnN0LCBiLmZpcnN0
KTsKICAgICAgICAgc3dhcChhLnNlY29uZCwgYi5zZWNvbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvSGFzaFRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCmluZGV4
IDIxZmZkYmI0NWU1OGViOTZjZGQ3YjhhYTA1ZTEyZTE1ZjQ1MGIxZmQuLmViZTc5NWViMWE4OTll
MmM2MWVlNWRjMzY0NzM3YjI5Yjg1NzBhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hh
c2hUcmFpdHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKQEAgLTE2Myw4ICsx
NjMsNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJuIEhhc2hUcmFpdHNFbXB0eVZh
bHVlQ2hlY2tlcjxUcmFpdHMsIFRyYWl0czo6aGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24+Ojppc0Vt
cHR5VmFsdWUodmFsdWUpOwogICAgIH0KIAotICAgIC8vIHNwZWNpYWwgdHJhaXRzIGZvciBwYWly
cywgaGVscGZ1bCBmb3IgdGhlaXIgdXNlIGluIEhhc2hNYXAgaW1wbGVtZW50YXRpb24KLQogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0VHJhaXRzQXJnLCB0eXBlbmFtZSBTZWNvbmRUcmFpdHNB
cmc+CiAgICAgc3RydWN0IFBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8c3RkOjpw
YWlyPHR5cGVuYW1lIEZpcnN0VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNlY29uZFRy
YWl0c0FyZzo6VHJhaXRUeXBlPiA+IHsKICAgICAgICAgdHlwZWRlZiBGaXJzdFRyYWl0c0FyZyBG
aXJzdFRyYWl0czsKQEAgLTE4Niw2ICsxODQsNTMgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgRmlyc3QsIHR5cGVuYW1lIFNlY29uZD4KICAgICBzdHJ1Y3QgSGFzaFRy
YWl0czxzdGQ6OnBhaXI8Rmlyc3QsIFNlY29uZD4gPiA6IHB1YmxpYyBQYWlySGFzaFRyYWl0czxI
YXNoVHJhaXRzPEZpcnN0PiwgSGFzaFRyYWl0czxTZWNvbmQ+ID4geyB9OwogCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgS2V5VHlwZUFyZywgdHlwZW5hbWUgVmFsdWVUeXBlQXJnPgorICAgIHN0cnVj
dCBLZXlWYWx1ZVBhaXIgeworICAgICAgICB0eXBlZGVmIEtleVR5cGVBcmcgS2V5VHlwZTsKKwor
ICAgICAgICBLZXlWYWx1ZVBhaXIoKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBL
ZXlWYWx1ZVBhaXIoY29uc3QgS2V5VHlwZUFyZyYga2V5LCBjb25zdCBWYWx1ZVR5cGVBcmcmIHZh
bHVlKQorICAgICAgICAgICAgOiBmaXJzdChrZXkpCisgICAgICAgICAgICAsIHNlY29uZCh2YWx1
ZSkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE90
aGVyS2V5VHlwZSwgdHlwZW5hbWUgT3RoZXJWYWx1ZVR5cGU+CisgICAgICAgIEtleVZhbHVlUGFp
cihjb25zdCBLZXlWYWx1ZVBhaXI8T3RoZXJLZXlUeXBlLCBPdGhlclZhbHVlVHlwZT4mIG90aGVy
KQorICAgICAgICAgICAgOiBmaXJzdChvdGhlci5maXJzdCkKKyAgICAgICAgICAgICwgc2Vjb25k
KG90aGVyLnNlY29uZCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgLy8gVE9ETzog
UmVuYW1lIHRoZXNlIHRvIGtleSBhbmQgdmFsdWUuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODI3ODQuCisgICAgICAgIEtleVR5cGVBcmcgZmlyc3Q7CisgICAg
ICAgIFZhbHVlVHlwZUFyZyBzZWNvbmQ7CisgICAgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgVmFsdWVUcmFpdHNBcmc+CisgICAgc3RydWN0IEtleVZh
bHVlUGFpckhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxLZXlWYWx1ZVBhaXI8dHlwZW5h
bWUgS2V5VHJhaXRzQXJnOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFZhbHVlVHJhaXRzQXJnOjpUcmFp
dFR5cGU+ID4geworICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CisgICAg
ICAgIHR5cGVkZWYgVmFsdWVUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CisgICAgICAgIHR5cGVkZWYg
S2V5VmFsdWVQYWlyPHR5cGVuYW1lIEtleVRyYWl0czo6VHJhaXRUeXBlLCB0eXBlbmFtZSBWYWx1
ZVRyYWl0czo6VHJhaXRUeXBlPiBUcmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgS2V5VmFsdWVQ
YWlyPHR5cGVuYW1lIEtleVRyYWl0czo6RW1wdHlWYWx1ZVR5cGUsIHR5cGVuYW1lIFZhbHVlVHJh
aXRzOjpFbXB0eVZhbHVlVHlwZT4gRW1wdHlWYWx1ZVR5cGU7CisKKyAgICAgICAgc3RhdGljIGNv
bnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IEtleVRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVybyAm
JiBWYWx1ZVRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVybzsKKyAgICAgICAgc3RhdGljIEVtcHR5VmFs
dWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBLZXlWYWx1ZVBhaXI8dHlwZW5hbWUgS2V5VHJh
aXRzOjpFbXB0eVZhbHVlVHlwZSwgdHlwZW5hbWUgVmFsdWVUcmFpdHM6OkVtcHR5VmFsdWVUeXBl
PihLZXlUcmFpdHM6OmVtcHR5VmFsdWUoKSwgVmFsdWVUcmFpdHM6OmVtcHR5VmFsdWUoKSk7IH0K
KworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gS2V5VHJhaXRz
OjpuZWVkc0Rlc3RydWN0aW9uIHx8IFZhbHVlVHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9uOworCisg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9IEtleVRyYWl0czo6bWlu
aW11bVRhYmxlU2l6ZTsKKworICAgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFs
dWUoVHJhaXRUeXBlJiBzbG90KSB7IEtleVRyYWl0czo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNs
b3QuZmlyc3QpOyB9CisgICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRy
YWl0VHlwZSYgdmFsdWUpIHsgcmV0dXJuIEtleVRyYWl0czo6aXNEZWxldGVkVmFsdWUodmFsdWUu
Zmlyc3QpOyB9CisgICAgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUg
VmFsdWU+CisgICAgc3RydWN0IEhhc2hUcmFpdHM8S2V5VmFsdWVQYWlyPEtleSwgVmFsdWU+ID4g
OiBwdWJsaWMgS2V5VmFsdWVQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEtleT4sIEhhc2hUcmFp
dHM8VmFsdWU+ID4geyB9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpIYXNo
VHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5oIGIvU291
cmNlL1dURi93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDBhZjM2YmU2MDI3ZmI1MDBiYmZlYTVj
MjFkYzZlMDhjZGYwMTlmOGIuLjVmYWU5MGU4Y2Q0NzExMjllODlkY2M4ZTdhZTY2MzhhZGExNTRk
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRz
OwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7Ci0gICAgICAg
IHR5cGVkZWYgUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBNYXBwZWRUcmFpdHM+IFZhbHVlVHJh
aXRzOworICAgICAgICB0eXBlZGVmIEtleVZhbHVlUGFpckhhc2hUcmFpdHM8S2V5VHJhaXRzLCBN
YXBwZWRUcmFpdHM+IFZhbHVlVHJhaXRzOwogCiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVm
IHR5cGVuYW1lIEtleVRyYWl0czo6VHJhaXRUeXBlIEtleVR5cGU7CkBAIC01MSw3ICs1MSw3IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgICAgICAKICAgICAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hG
dW5jdGlvbnM7CiAKLSAgICAgICAgdHlwZWRlZiBIYXNoVGFibGU8S2V5VHlwZSwgVmFsdWVUeXBl
LCBQYWlyRmlyc3RFeHRyYWN0b3I8VmFsdWVUeXBlPiwKKyAgICAgICAgdHlwZWRlZiBIYXNoVGFi
bGU8S2V5VHlwZSwgVmFsdWVUeXBlLCBLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3I8VmFsdWVUeXBl
PiwKICAgICAgICAgICAgIEhhc2hGdW5jdGlvbnMsIFZhbHVlVHJhaXRzLCBLZXlUcmFpdHM+IEhh
c2hUYWJsZVR5cGU7CiAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwVHJhbnNsYXRvcjxWYWx1ZVRy
YWl0cywgSGFzaEZ1bmN0aW9ucz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCAwNzBmNDU4MzA3OWY3YjRlZWJmY2Y0YTJhODg4NDc4
NmQ4YzU1NDBhLi5kZDU0ZGZlZWY5MWE3ZGUzMTE5MTVlOTNkOWFmYmViMTNhMWNiZTc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5oCkBA
IC03Miw2ICs3MiwyOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxzdGQ6OnBhaXI8VCwgVT4gPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8
dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXVEY6OktleVZhbHVlUGFpcjxLZXlUeXBlLCBWYWx1ZVR5cGU+ID4geworICAgIHN0YXRpYyB2
b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdURjo6S2V5VmFsdWVQ
YWlyPEtleVR5cGUsIFZhbHVlVHlwZT4mIHBhaXIpCisgICAgeworICAgICAgICBlbmNvZGVyLT5l
bmNvZGUocGFpci5maXJzdCk7CisgICAgICAgIGVuY29kZXItPmVuY29kZShwYWlyLnNlY29uZCk7
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rl
ciwgV1RGOjpLZXlWYWx1ZVBhaXI8S2V5VHlwZSwgVmFsdWVUeXBlPiYgcGFpcikKKyAgICB7Cisg
ICAgICAgIEtleVR5cGUga2V5OworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShrZXkpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFZhbHVlVHlwZSB2YWx1ZTsKKyAg
ICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgIHBhaXIuZmlyc3QgPSBrZXk7CisgICAgICAgIHBhaXIuc2Vjb25kID0g
dmFsdWU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKIHRlbXBsYXRlPGJvb2wg
Zml4ZWRTaXplRWxlbWVudHMsIHR5cGVuYW1lIFQ+IHN0cnVjdCBWZWN0b3JBcmd1bWVudENvZGVy
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgVmVjdG9yQXJndW1lbnRDb2RlcjxmYWxz
ZSwgVD4gewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>