<?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>71734</bug_id>
          
          <creation_ts>2011-11-07 14:23:18 -0800</creation_ts>
          <short_desc>The Full Keyboard Access preference should be read in the UI process</short_desc>
          <delta_ts>2011-11-07 14:53:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497470</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-07 14:23:18 -0800</bug_when>
    <thetext>That would let us tighten the sandbox a bit. Also, that&apos;s what we do for other global preferences.

&lt;rdar://problem/9237619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497480</commentid>
    <comment_count>1</comment_count>
      <attachid>113931</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-07 14:33:04 -0800</bug_when>
    <thetext>Created attachment 113931
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497486</commentid>
    <comment_count>2</comment_count>
      <attachid>113931</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-07 14:41:38 -0800</bug_when>
    <thetext>Comment on attachment 113931
proposed patch

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

&gt; Source/WebKit2/WebProcess/WebProcess.h:99
&gt; +    bool fullKeyboardAccessEnabled() { return m_fullKeyboardAccessEnabled; }

Maybe make this const?

&gt; Source/WebKit2/WebProcess/WebProcess.h:146
&gt; +    void fullKeyboardAccessModeChanged(bool mode);

The word “mode” is not a great name for this argument. Maybe “fullKeyboardAcessEabled”?

I’m not sure that xxxChanged is a great name for something that just sets the mode. I think setFullKeyboardAccessEnabled is a better name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497489</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-07 14:53:31 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/99483&gt;.

&gt; Maybe make this const?

Done.

&gt; The word “mode” is not a great name for this argument. Maybe “fullKeyboardAcessEabled”?

Done.

&gt; I’m not sure that xxxChanged is a great name for something that just sets the mode. I think setFullKeyboardAccessEnabled is a better name.

I agree that it&apos;s slightly better from WebProcess perspective. However, I wanted to keep it consistent with LanguageChanged.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113931</attachid>
            <date>2011-11-07 14:33:04 -0800</date>
            <delta_ts>2011-11-07 14:41:38 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>FKA.txt</filename>
            <type>text/plain</type>
            <size>30932</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5NDc3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTEtMTEtMDcgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIEZ1bGwgS2V5Ym9hcmQg
QWNjZXNzIHByZWZlcmVuY2Ugc2hvdWxkIGJlIHJlYWQgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzM0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS85MjM3NjE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIGhvdyBvdGhlciBnbG9i
YWwgcHJlZmVyZW5jZXMgKGxpa2UgbGFuZ3VhZ2UpIGFyZSBoYW5kbGVkLCBhbmQgbGV0cworICAg
ICAgICB1cyB0aWdodGVuIHVwIHRoZSBzYW5kYm94IGEgbGl0dGxlLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgIEFkZGVkIGZ1bGxLZXlib2Fy
ZEFjY2Vzc0VuYWJsZWQsIHNvIHRoYXQgbmV3bHkgc3RhcnRlZCBwcm9jZXNzZXMgaGF2ZSB0aGUg
cmlnaHQgcHJlZmVyZW5jZSB2YWx1ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0OjpmdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZCk6IElmIHByZWZlcmVu
Y2UgY2hhbmdlcyB3aGlsZSBhIHdlYiBwcm9jZXNzCisgICAgICAgIGlzIGFscmVhZHkgcnVubmlu
ZywgdGVsbCBpdC4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZW5zdXJlV2ViUHJvY2Vz
cyk6IFNldCBwYXJhbWV0ZXJzLmZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQgZnJvbSBjdXJyZW50
CisgICAgICAgIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcDogKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFi
bGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQcm94eU1hYy5tbTogKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIFByb3h5IGl0IHRvIE9i
amVjdGl2ZS1DIGNvZGUuIFdlYlByb2Nlc3NQcm94eSBpcyBhcyBnb29kIHBsYWNlIHRvIGhhdmUg
dGhlIHN0YXRpYyBmdW5jdGlvbgorICAgICAgICBhcyBhbnkuIE9uZSBkYXksIHdlIHdpbGwgbWFr
ZSBjb2RlIG1vcmUgY29uc2lzdGVudCB3aXRoIGxhbmd1YWdlIGFuZCBvdGhlciBnbG9iYWwgcHJl
ZmVyZW5jZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLRnVsbEtleWJvYXJkQWNjZXNz
V2F0Y2hlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLRnVs
bEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tLgorICAgICAgICAqIFdl
YlByb2Nlc3MvbWFjL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oOiBSZW1vdmVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvbWFjL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbTogUmVt
b3ZlZC4KKyAgICAgICAgKC1bV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyIHJldHJpZXZlS2V5
Ym9hcmRVSU1vZGVGcm9tUHJlZmVyZW5jZXM6XSk6IE9uY2UgcmV0cmlldmVkLAorICAgICAgICBw
dXNoIHRoZSBwcmVmZXJlbmNlIHZhbHVlLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIgaXMgbm93IGluIFVJ
IHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZnVsbEtleWJvYXJk
QWNjZXNzTW9kZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpmdWxsS2V5
Ym9hcmRBY2Nlc3NFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNz
TWFjLm1tOgorICAgICAgICBXZWJDcHJvY2VzcyBub3cgaG9sZHMgdGhlIHByZWZlcmVuY2UgdmFs
dWUgaW4gYSBtYW1iZXIgdmFsdWUsIHdoaWNoIFVJIHByb2Nlc3MgcHVzaGVzCisgICAgICAgIHVw
ZGF0ZXMgdG8uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46
IEFkZGVkIGEgbWVzc2FnZSBmb3IgY2hhbmdlcyBwcmVmZXJlbmNlIHZhbHVlLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYjogV2Ugbm8gbG9uZ2VyIG5lZWQg
cmVhZCBhY2Nlc3MgdG8gY29tLmFwcGxlLnVuaXZlcnNhbGFjY2Vzcy5wbGlzdC4KKwogMjAxMS0x
MS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYSBzdHViIGNsYXNzZXMKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBA
IHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICNlbmRpZgogICAgIGVu
Y29kZXItPmVuY29kZShsYW5ndWFnZUNvZGUpOwogICAgIGVuY29kZXItPmVuY29kZSh0ZXh0Q2hl
Y2tlclN0YXRlKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxl
ZCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGRlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKTsK
ICNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgZW5jb2Rlci0+ZW5jb2RlKHVpUHJv
Y2Vzc0J1bmRsZUlkZW50aWZpZXIpOwpAQCAtMTQxLDYgKzE0Miw4IEBAIGJvb2wgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLmZ1bGxL
ZXlib2FyZEFjY2Vzc0VuYWJsZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5kZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEs
OCBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBUZXh0Q2hl
Y2tlclN0YXRlIHRleHRDaGVja2VyU3RhdGU7CiAKKyAgICBib29sIGZ1bGxLZXlib2FyZEFjY2Vz
c0VuYWJsZWQ7CisKICAgICBkb3VibGUgZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWw7CiAK
ICNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwCShyZXZpc2lvbiA5OTQzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI0LDYgKzIyNCwxMSBA
QCB2b2lkIFdlYkNvbnRleHQ6Omxhbmd1YWdlQ2hhbmdlZCgpCiAgICAgc2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpMYW5ndWFnZUNoYW5nZWQoZGVmYXVsdExhbmd1YWdl
KCkpKTsKIH0KIAordm9pZCBXZWJDb250ZXh0OjpmdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdl
ZChib29sIG1vZGUpCit7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpGdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChtb2RlKSk7Cit9CisKIHZvaWQgV2Vi
Q29udGV4dDo6ZW5zdXJlV2ViUHJvY2VzcygpCiB7CiAgICAgaWYgKG1fcHJvY2VzcykKQEAgLTI2
Miw2ICsyNjcsOCBAQCB2b2lkIFdlYkNvbnRleHQ6OmVuc3VyZVdlYlByb2Nlc3MoKQogCiAgICAg
cGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKKyAg
ICBwYXJhbWV0ZXJzLmZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQgPSBXZWJQcm9jZXNzUHJveHk6
OmZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKTsKKwogICAgIHBhcmFtZXRlcnMuZGVmYXVsdFJl
cXVlc3RUaW1lb3V0SW50ZXJ2YWwgPSBXZWJVUkxSZXF1ZXN0OjpkZWZhdWx0VGltZW91dEludGVy
dmFsKCk7CiAKICAgICAvLyBBZGQgYW55IHBsYXRmb3JtIHNwZWNpZmljIHBhcmFtZXRlcnMKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gOTk0MzIpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTYsNiArMTk2LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIG9taXRQREZTdXBwb3J0
KCk7CiAjZW5kaWYKIAorICAgIHZvaWQgZnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9v
bCBtb2RlKTsKKwogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCwgY29uc3Qg
U3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhdGgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gOTk0MzIpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjQ3LDYgKzI0NywxMyBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6Y2hlY2tVUkxSZWNlaXZlZEZy
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgIVBMQVRGT1JNKE1BQykKK2Jvb2wgV2ViUHJv
Y2Vzc1Byb3h5OjpmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmFkZEJhY2tGb3J3YXJkSXRl
bSh1aW50NjRfdCBpdGVtSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxVUkwsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
JiBiYWNrRm9yd2FyZERhdGEpCiB7CiAgICAgTUVTU0FHRV9DSEVDS19VUkwob3JpZ2luYWxVUkwp
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2
aXNpb24gOTk0MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBj
aGVja1VSTFJlY2VpdmVkRnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBj
aGVja1VSTFJlY2VpdmVkRnJvbVdlYlByb2Nlc3MoY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogCisg
ICAgc3RhdGljIGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpOworCiAgICAgLy8gRklY
TUU6IFRoaXMgdmFyaWFudCBvZiBzZW5kIGlzIGRlcHJlY2F0ZWQuIEFsbCBjbGllbnRzIHNob3Vs
ZCBtb3ZlIHRvIGFuIG92ZXJsb2FkIHRoYXQgdGFrZSBhIG1lc3NhZ2UgdHlwZS4KICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBFLCB0eXBlbmFtZSBUPiBib29sIGRlcHJlY2F0ZWRTZW5kKEUgbWVzc2Fn
ZUlELCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBjb25zdCBUJiBhcmd1bWVudHMpOwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsS2V5
Ym9hcmRBY2Nlc3NXYXRjaGVyLmgJKHJldmlzaW9uIDk5NDMyKQkoZnJvbSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL21hYy9XS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaDo5OTQzMikKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyX2gKKyNkZWZpbmUgV0tGdWxsS2V5Ym9hcmRBY2Nl
c3NXYXRjaGVyX2gKKworI2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KKworQGludGVyZmFjZSBXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIgOiBOU09iamVjdCB7CitAcHJpdmF0ZQorICAgIEJPT0wg
ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsKK30KKworKyAoQk9PTClmdWxsS2V5Ym9hcmRBY2Nl
c3NFbmFibGVkOworCitAZW5kOworCisjZW5kaWYgLy8gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRj
aGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRB
Y2Nlc3NXYXRjaGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tCShyZXZpc2lvbiA5OTQzMikJKGZyb20g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVy
Lm1tOjk5NDMyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxLZXlib2Fy
ZEFjY2Vzc1dhdGNoZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tGdWxsS2V5Ym9hcmRBY2Nlc3NX
YXRjaGVyLmgiCisKK05TU3RyaW5nICogY29uc3QgS2V5Ym9hcmRVSU1vZGVEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24gPSBAImNvbS5hcHBsZS5LZXlib2FyZFVJTW9kZURpZENoYW5nZSI7Citjb25zdCBD
RlN0cmluZ1JlZiBBcHBsZUtleWJvYXJkVUlNb2RlID0gQ0ZTVFIoIkFwcGxlS2V5Ym9hcmRVSU1v
ZGUiKTsKK2NvbnN0IENGU3RyaW5nUmVmIFVuaXZlcnNhbEFjY2Vzc0RvbWFpbiA9IENGU1RSKCJj
b20uYXBwbGUudW5pdmVyc2FsYWNjZXNzIik7CisKK0BpbXBsZW1lbnRhdGlvbiBXS0Z1bGxLZXli
b2FyZEFjY2Vzc1dhdGNoZXIKKworLSAodm9pZClyZXRyaWV2ZUtleWJvYXJkVUlNb2RlRnJvbVBy
ZWZlcmVuY2VzOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworICAgIENGUHJlZmVy
ZW5jZXNBcHBTeW5jaHJvbml6ZShVbml2ZXJzYWxBY2Nlc3NEb21haW4pOworCisgICAgQm9vbGVh
biBrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdDsKKyAgICBpbnQgbW9kZSA9IENGUHJlZmVyZW5j
ZXNHZXRBcHBJbnRlZ2VyVmFsdWUoQXBwbGVLZXlib2FyZFVJTW9kZSwgVW5pdmVyc2FsQWNjZXNz
RG9tYWluLCAma2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQpOworICAgIGlmIChrZXlFeGlzdHNB
bmRIYXNWYWxpZEZvcm1hdCkgeworICAgICAgICAvLyBUaGUga2V5Ym9hcmQgYWNjZXNzIG1vZGUg
aXMgcmVwb3J0ZWQgYnkgdHdvIGJpdHM6CisgICAgICAgIC8vIEJpdCAwIGlzIHNldCBpZiBmZWF0
dXJlIGlzIG9uCisgICAgICAgIC8vIEJpdCAxIGlzIHNldCBpZiBmdWxsIGtleWJvYXJkIGFjY2Vz
cyB3b3JrcyBmb3IgYW55IGNvbnRyb2wsIG5vdCBqdXN0IHRleHQgYm94ZXMgYW5kIGxpc3RzLgor
ICAgICAgICBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkID0gKG1vZGUgJiAweDIpOworICAgIH0K
K30KKworLSAoaWQpaW5pdAoreworICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CisgICAgaWYgKCFz
ZWxmKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgW3NlbGYgcmV0cmlldmVLZXlib2FyZFVJ
TW9kZUZyb21QcmVmZXJlbmNlczpuaWxdOworCisgICAgW1tOU0Rpc3RyaWJ1dGVkTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIAorICAgICAgICBhZGRPYnNlcnZlcjpzZWxmIHNlbGVj
dG9yOkBzZWxlY3RvcihyZXRyaWV2ZUtleWJvYXJkVUlNb2RlRnJvbVByZWZlcmVuY2VzOikgCisg
ICAgICAgIG5hbWU6S2V5Ym9hcmRVSU1vZGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5p
bF07CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworKyAoQk9PTClmdWxsS2V5Ym9hcmRBY2Nlc3NF
bmFibGVkCit7CisgICAgc3RhdGljIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlciAqd2F0Y2hl
ciA9IFtbV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyIGFsbG9jXSBpbml0XTsKKyAgICByZXR1
cm4gd2F0Y2hlci0+ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsKK30KKworQGVuZApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxLZXli
b2FyZEFjY2Vzc1dhdGNoZXIubW0JKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDE0ICsyNiwyNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCIKIAorI2ltcG9ydCAiV2ViQ29udGV4dC5oIgorCiBO
U1N0cmluZyAqIGNvbnN0IEtleWJvYXJkVUlNb2RlRGlkQ2hhbmdlTm90aWZpY2F0aW9uID0gQCJj
b20uYXBwbGUuS2V5Ym9hcmRVSU1vZGVEaWRDaGFuZ2UiOwogY29uc3QgQ0ZTdHJpbmdSZWYgQXBw
bGVLZXlib2FyZFVJTW9kZSA9IENGU1RSKCJBcHBsZUtleWJvYXJkVUlNb2RlIik7CiBjb25zdCBD
RlN0cmluZ1JlZiBVbml2ZXJzYWxBY2Nlc3NEb21haW4gPSBDRlNUUigiY29tLmFwcGxlLnVuaXZl
cnNhbGFjY2VzcyIpOwogCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCiBAaW1wbGVtZW50YXRp
b24gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyCiAKKy0gKHZvaWQpbm90aWZ5QWxsV2ViQ29u
dGV4dHMKK3sKKyAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dCo+JiBjb250ZXh0cyA9IFdlYkNv
bnRleHQ6OmFsbENvbnRleHRzKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb250ZXh0
cy5zaXplKCk7ICsraSkKKyAgICAgICAgY29udGV4dHNbaV0tPmZ1bGxLZXlib2FyZEFjY2Vzc01v
ZGVDaGFuZ2VkKGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQpOworfQorCiAtICh2b2lkKXJldHJp
ZXZlS2V5Ym9hcmRVSU1vZGVGcm9tUHJlZmVyZW5jZXM6KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCiB7CisgICAgQk9PTCBvbGRWYWx1ZSA9IGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7
CisKICAgICBDRlByZWZlcmVuY2VzQXBwU3luY2hyb25pemUoVW5pdmVyc2FsQWNjZXNzRG9tYWlu
KTsKIAogICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQ7CkBAIC00NCw2ICs1
Nyw5IEBAIC0gKHZvaWQpcmV0cmlldmVLZXlib2FyZFVJTW9kZUZyb21QcmVmZXIKICAgICAgICAg
Ly8gQml0IDEgaXMgc2V0IGlmIGZ1bGwga2V5Ym9hcmQgYWNjZXNzIHdvcmtzIGZvciBhbnkgY29u
dHJvbCwgbm90IGp1c3QgdGV4dCBib3hlcyBhbmQgbGlzdHMuCiAgICAgICAgIGZ1bGxLZXlib2Fy
ZEFjY2Vzc0VuYWJsZWQgPSAobW9kZSAmIDB4Mik7CiAgICAgfQorCisgICAgaWYgKGZ1bGxLZXli
b2FyZEFjY2Vzc0VuYWJsZWQgIT0gb2xkVmFsdWUpCisgICAgICAgIFtzZWxmIG5vdGlmeUFsbFdl
YkNvbnRleHRzXTsKIH0KIAogLSAoaWQpaW5pdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0JKHJldmlzaW9uIDk5NDMyKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlNlY0l0ZW1SZXNwb25zZURh
dGEuaCIKICNpbXBvcnQgIlNlY0tleWNoYWluSXRlbVJlcXVlc3REYXRhLmgiCiAjaW1wb3J0ICJT
ZWNLZXljaGFpbkl0ZW1SZXNwb25zZURhdGEuaCIKKyNpbXBvcnQgIldLRnVsbEtleWJvYXJkQWNj
ZXNzV2F0Y2hlci5oIgogI2ltcG9ydCA8U2VjdXJpdHkvU2VjSXRlbS5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTEwNyw0ICsxMDgsOSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VjS2V5
Y2hhaW5JdGVtTW9kCiAgICAgcmVzcG9uc2UgPSByZXN1bHRDb2RlOwogfQogCitib29sIFdlYlBy
b2Nlc3NQcm94eTo6ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIFtX
S0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZF07Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gOTk0MzIpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTgzOCw4ICs4MzgsOCBAQAogCQlFMTk5ODc1RTE0MkMwNDU0MDBCQjJERTcgLyogQnVp
bHRJblBERlZpZXcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTE5OTg3NUMxNDJCRkM5NzAwQkIyREU3IC8qIEJ1aWx0SW5QREZWaWV3LmNwcCAqLzsg
fTsKIAkJRTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQTMxNzMxMTM0Q0VB
NkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLmggKi87IH07CiAJCUUxQTMxNzM1MTM0Q0VB
ODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFBMzE3MzQxMzRDRUE4MDAwN0M5QTRGIC8qIEF0dHJp
YnV0ZWRTdHJpbmcubW0gKi87IH07Ci0JCUUxQkIxNkE0MTMyMDFCOUIwMEY0OTQzMSAvKiBXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxQkIxNjg4MTMyMDE4QkEwMEY0OTQzMSAvKiBXS0Z1bGxLZXlib2Fy
ZEFjY2Vzc1dhdGNoZXIuaCAqLzsgfTsKLQkJRTFCQjE2QTUxMzIwMUI5QjAwRjQ5NDMxIC8qIFdL
RnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQkIxNjg5MTMyMDE4QkEwMEY0OTQzMSAvKiBXS0Z1bGxLZXli
b2FyZEFjY2Vzc1dhdGNoZXIubW0gKi87IH07CisJCUUxQUVBMjJGMTQ2ODdCREIwMDgwNDU2OSAv
KiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQUVBMjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxL
ZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAqLzsgfTsKKwkJRTFBRUEyMzAxNDY4N0JEQjAwODA0NTY5
IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW0gKi87IH07CiAJCUUxQ0MxQjkwMTJEN0VBREYwMDYy
NTgzOCAvKiBQcmludEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxQ0MxQjhFMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm8uaCAqLzsgfTsK
IAkJRTFDQzFCOTExMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQ0MxQjhGMTJEN0VBREYwMDYy
NTgzOCAvKiBQcmludEluZm9NYWMubW0gKi87IH07CiAJCUUxRUU1M0UzMTFGOENGQzAwMENDQkVF
NCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU1M0RDMTFGOENGOUYwMENDQkVFNCAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCAqLzsgfTsKQEAgLTE4MjcsOCArMTgyNyw4
IEBACiAJCUUxOTk4NzVDMTQyQkZDOTcwMEJCMkRFNyAvKiBCdWlsdEluUERGVmlldy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCdWlsdEluUERGVmlldy5jcHA7IHBh
dGggPSBQREYvQnVpbHRJblBERlZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMUEzMTczMTEzNENFQTZDMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdHRyaWJ1dGVkU3RyaW5nLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUxQTMxNzM0MTM0Q0VBODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVk
U3RyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXR0cmli
dXRlZFN0cmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCQjE2ODgxMzIw
MThCQTAwRjQ5NDMxIC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCQjE2ODkxMzIwMThCQTAwRjQ5NDMxIC8qIFdL
RnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBmaWxlRW5jb2Rpbmcg
PSA0OyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMUFFQTIyRDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9h
cmRBY2Nlc3NXYXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnVs
bEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MUFFQTIyRTE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRB
Y2Nlc3NXYXRjaGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUNDMUI4RTEy
RDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFByaW50SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUNDMUI4
RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gUHJpbnRJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUVFNTNEQzExRjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdl
RWRpdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVk
QnVuZGxlUGFnZUVkaXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjA4NSw4ICsyMDg1LDYgQEAKIAkJCQkxQTZGQTAxRDExRTE1MjYzMDBEQjEzNzEgLyogV2ViUHJv
Y2Vzc01haW5NYWMubW0gKi8sCiAJCQkJNTExRjhBNzcxMzhCNDYwOTAwQTk1RjQ0IC8qIFdlYlBy
b2Nlc3NTaGltLmggKi8sCiAJCQkJNTExRjhBNzgxMzhCNDYwOTAwQTk1RjQ0IC8qIFdlYlByb2Nl
c3NTaGltLm1tICovLAotCQkJCUUxQkIxNjg4MTMyMDE4QkEwMEY0OTQzMSAvKiBXS0Z1bGxLZXli
b2FyZEFjY2Vzc1dhdGNoZXIuaCAqLywKLQkJCQlFMUJCMTY4OTEzMjAxOEJBMDBGNDk0MzEgLyog
V0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzI0MCw2ICszMjM4LDggQEAKIAkJCQlC
QzU3NTA5NjEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMubW0gKi8sCiAJ
CQkJQkM4NEVCMTcxMkE3MTAwQzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tICovLAog
CQkJCTUxRDEzMDU3MTM4MkYxMDUwMDM1MUVERCAvKiBXZWJQcm9jZXNzUHJveHlNYWMubW0gKi8s
CisJCQkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0
Y2hlci5oICovLAorCQkJCUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2Fy
ZEFjY2Vzc1dhdGNoZXIubW0gKi8sCiAJCQkJQ0RDQTg1QzcxMzJBQkE0RTAwRTk2MURGIC8qIFdL
RnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCAqLywKIAkJCQlDRENBODVDNjEzMkFCQTRFMDBF
OTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSAqLywKIAkJCSk7CkBAIC0z
ODgxLDcgKzM4ODEsNiBAQAogCQkJCUJDRTgxRDhEMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFODFEOTkxMzFBRTAyMTAwMjQxOTEwIC8qIERpY3Rp
b25hcnlQb3B1cEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QzRFOUY2MTMxQzZFN0UwMDI5
QkQ1QSAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAotCQkJCUUxQkIxNkE0MTMyMDFCOUIwMEY0
OTQzMSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMzQUExMDY3MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEQ0E4NUM5MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFCMjRBNzEzMkUw
OTU3MDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAt
MzkyNyw2ICszOTI2LDcgQEAKIAkJCQlCQ0JBQUNGNDE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93
c2luZ0NvbnRleHRHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCQUFDRjYxNDUyMzI0RjAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNCQUFEMEIxNDU2MEE0MzAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERl
bGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMUFFQTIyRjE0Njg3QkRCMDA4MDQ1NjkgLyog
V0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ1NjAsNyAr
NDU2MCw2IEBACiAJCQkJMzMwOTM0NUExMzE1Qjk5ODAwOTdBN0JDIC8qIFdLQ29va2llTWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U4MUQ4QzEzMTlGN0VGMDAyNDE5MTAgLyogRm9u
dEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFODFEOTgxMzFBRTAyMTAwMjQxOTEwIC8q
IERpY3Rpb25hcnlQb3B1cEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTFCQjE2QTUxMzIw
MUI5QjAwRjQ5NDMxIC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTMzQUExMDY2MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJv
eHlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q3M0JBNDcxMzFBQ0M5QTAwRUVERUQy
IC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0Q3M0JBNEUxMzFBQ0RCNzAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNDYxOSw2ICs0NjE4LDcg
QEAKIAkJCQlCQ0JBQUM3MjE0NEU2MTk5MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCQUFDRUMxNDUyMjVFMzAwNTNGODJGIC8q
IFdLUHJvY2Vzc0dyb3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCQUFDRjUxNDUyMzI0RjAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0gaW4gU291cmNlcyAqLywKKwkJCQlF
MUFFQTIzMDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw3IEBAIFdlYlByb2Nlc3M6
OldlYlByb2Nlc3MoKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgUExBVEZP
Uk0oTUFDKQogICAgICwgbV9jb21wb3NpdGluZ1JlbmRlclNlcnZlclBvcnQoTUFDSF9QT1JUX05V
TEwpCiAjZW5kaWYKKyAgICAsIG1fZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZChmYWxzZSkKICNp
ZiBQTEFURk9STShRVCkKICAgICAsIG1fbmV0d29ya0FjY2Vzc01hbmFnZXIoMCkKICNlbmRpZgpA
QCAtMjg3LDYgKzI4OCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6Omxhbmd1YWdlQ2hhbmdlZChjb25z
dCBTCiAgICAgb3ZlcnJpZGVEZWZhdWx0TGFuZ3VhZ2UobGFuZ3VhZ2UpOwogfQogCit2b2lkIFdl
YlByb2Nlc3M6OmZ1bGxLZXlib2FyZEFjY2Vzc01vZGVDaGFuZ2VkKGJvb2wgbW9kZSkKK3sKKyAg
ICBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQgPSBtb2RlOworfQorCiB2b2lkIFdlYlByb2Nl
c3M6OnNldFZpc2l0ZWRMaW5rVGFibGUoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRs
ZSkKIHsKICAgICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBzaGFyZWRNZW1vcnkgPSBTaGFyZWRNZW1v
cnk6OmNyZWF0ZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UmVhZE9ubHkpOwpAQCAtMzMyLDEzICsz
MzgsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OmFkZFZpc2l0ZWRMaW5rKFdlYkNvcmU6CiAgICAgbV9j
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpBZGRWaXNpdGVkTGlua0hhc2go
bGlua0hhc2gpLCAwKTsKIH0KIAotI2lmICFQTEFURk9STShNQUMpCi1ib29sIFdlYlByb2Nlc3M6
OmZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLSNl
bmRpZgotCiB2b2lkIFdlYlByb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiB7CiAg
ICAgQ2FjaGVNb2RlbCBjYWNoZU1vZGVsID0gc3RhdGljX2Nhc3Q8Q2FjaGVNb2RlbD4oY20pOwpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDk5NDMy
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk2LDcgKzk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkVmlzaXRlZExpbmsoV2Vi
Q29yZTo6TGlua0hhc2gpOwogICAgIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpMaW5rSGFz
aCkgY29uc3Q7CiAKLSAgICBib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKTsKKyAgICBi
b29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKSB7IHJldHVybiBtX2Z1bGxLZXlib2FyZEFj
Y2Vzc0VuYWJsZWQ7IH0KIAogICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSh1aW50NjRfdCkgY29uc3Q7
CiAgICAgdm9pZCBhZGRXZWJGcmFtZSh1aW50NjRfdCwgV2ViRnJhbWUqKTsKQEAgLTE0Myw2ICsx
NDMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBh
dGgoYm9vbCk7CiAgICAgdm9pZCBzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wpOwogICAg
IHZvaWQgbGFuZ3VhZ2VDaGFuZ2VkKGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZvaWQgZnVs
bEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQoYm9vbCBtb2RlKTsKICNpZiBQTEFURk9STShXSU4p
CiAgICAgdm9pZCBzZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKGJvb2wpOwogI2VuZGlmCkBA
IC0yMjgsNiArMjI5LDggQEAgcHJpdmF0ZToKICAgICBwaWRfdCBtX3ByZXNlbnRlckFwcGxpY2F0
aW9uUGlkOwogI2VuZGlmCiAKKyAgICBib29sIG1fZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsK
KwogI2lmIFBMQVRGT1JNKFFUKQogICAgIFFOZXR3b3JrQWNjZXNzTWFuYWdlciogbV9uZXR3b3Jr
QWNjZXNzTWFuYWdlcjsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gOTk0MzIpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTQyLDYgKzQyLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAgU2V0QWx3YXlz
VXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9vbCBhbHdheXNVc2VDb21wbGV4VGV4dCkKICAgICBT
ZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wgdXNlRm9udFNtb290aGluZykKICAgICBMYW5n
dWFnZUNoYW5nZWQoV1RGOjpTdHJpbmcgbGFuZ3VhZ2UpCisgICAgRnVsbEtleWJvYXJkQWNjZXNz
TW9kZUNoYW5nZWQoYm9vbCBtb2RlKQogI2lmIFBMQVRGT1JNKFdJTikKICAgICBTZXRTaG91bGRQ
YWludE5hdGl2ZUNvbnRyb2xzKGJvb2wgc2hvdWxkUGFpbnROYXRpdmVDb250cm9scykKICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiCShyZXZpc2lvbiA5OTQzMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IJKHdvcmtpbmcgY29weSkKQEAgLTY1LDkgKzY1LDYgQEAK
ICAgICAgICAoc3VicGF0aCAiL0xpYnJhcnkvVmlkZW8vUGx1Zy1JbnMiKQogICAgICAgIChzdWJw
YXRoICIvTGlicmFyeS9RdWlja1RpbWUiKQogCi0gICAgICAgOzsgRklYTUU6IFRoaXMgc2hvdWxk
IGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vOTIzNzYxOT4gaXMgZml4ZWQuCi0gICAg
ICAgKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLnVuaXZlcnNh
bGFjY2Vzcy5wbGlzdCIpCi0KICAgICAgICA7OyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVtb3Zl
ZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS85Mjc2MjUzPiBpcyBmaXhlZC4KICAgICAgICAoaG9tZS1z
dWJwYXRoICIvTGlicmFyeS9LZXlib2FyZCBMYXlvdXRzIikKIApJbmRleDogU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NX
YXRjaGVyLmgJKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9t
YWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVy
X2gKLSNkZWZpbmUgV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyX2gKLQotI2ltcG9ydCA8Q29j
b2EvQ29jb2EuaD4KLQotQGludGVyZmFjZSBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIgOiBO
U09iamVjdCB7Ci1AcHJpdmF0ZQotICAgIEJPT0wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsK
LX0KLQotKyAoQk9PTClmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkOwotCi1AZW5kOwotCi0jZW5k
aWYgLy8gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvbWFjL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XS0Z1bGxLZXlib2FyZEFjY2Vzc1dh
dGNoZXIubW0JKHJldmlzaW9uIDk5NDMyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9t
YWMvV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcw
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLRnVs
bEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oIgotCi1OU1N0cmluZyAqIGNvbnN0IEtleWJvYXJkVUlN
b2RlRGlkQ2hhbmdlTm90aWZpY2F0aW9uID0gQCJjb20uYXBwbGUuS2V5Ym9hcmRVSU1vZGVEaWRD
aGFuZ2UiOwotY29uc3QgQ0ZTdHJpbmdSZWYgQXBwbGVLZXlib2FyZFVJTW9kZSA9IENGU1RSKCJB
cHBsZUtleWJvYXJkVUlNb2RlIik7Ci1jb25zdCBDRlN0cmluZ1JlZiBVbml2ZXJzYWxBY2Nlc3NE
b21haW4gPSBDRlNUUigiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIpOwotCi1AaW1wbGVtZW50
YXRpb24gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyCi0KLS0gKHZvaWQpcmV0cmlldmVLZXli
b2FyZFVJTW9kZUZyb21QcmVmZXJlbmNlczooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24K
LXsKLSAgICBDRlByZWZlcmVuY2VzQXBwU3luY2hyb25pemUoVW5pdmVyc2FsQWNjZXNzRG9tYWlu
KTsKLQotICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQ7Ci0gICAgaW50IG1v
ZGUgPSBDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKEFwcGxlS2V5Ym9hcmRVSU1vZGUs
IFVuaXZlcnNhbEFjY2Vzc0RvbWFpbiwgJmtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KTsKLSAg
ICBpZiAoa2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQpIHsKLSAgICAgICAgLy8gVGhlIGtleWJv
YXJkIGFjY2VzcyBtb2RlIGlzIHJlcG9ydGVkIGJ5IHR3byBiaXRzOgotICAgICAgICAvLyBCaXQg
MCBpcyBzZXQgaWYgZmVhdHVyZSBpcyBvbgotICAgICAgICAvLyBCaXQgMSBpcyBzZXQgaWYgZnVs
bCBrZXlib2FyZCBhY2Nlc3Mgd29ya3MgZm9yIGFueSBjb250cm9sLCBub3QganVzdCB0ZXh0IGJv
eGVzIGFuZCBsaXN0cy4KLSAgICAgICAgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCA9IChtb2Rl
ICYgMHgyKTsKLSAgICB9Ci19Ci0KLS0gKGlkKWluaXQKLXsKLSAgICBzZWxmID0gW3N1cGVyIGlu
aXRdOwotICAgIGlmICghc2VsZikKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIFtzZWxmIHJl
dHJpZXZlS2V5Ym9hcmRVSU1vZGVGcm9tUHJlZmVyZW5jZXM6bmlsXTsKLQotICAgIFtbTlNEaXN0
cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSAKLSAgICAgICAgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IocmV0cmlldmVLZXlib2FyZFVJTW9kZUZyb21Q
cmVmZXJlbmNlczopIAotICAgICAgICBuYW1lOktleWJvYXJkVUlNb2RlRGlkQ2hhbmdlTm90aWZp
Y2F0aW9uIG9iamVjdDpuaWxdOwotCi0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLSsgKEJPT0wpZnVs
bEtleWJvYXJkQWNjZXNzRW5hYmxlZAotewotICAgIHN0YXRpYyBXS0Z1bGxLZXlib2FyZEFjY2Vz
c1dhdGNoZXIgKndhdGNoZXIgPSBbW1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlciBhbGxvY10g
aW5pdF07Ci0gICAgcmV0dXJuIHdhdGNoZXItPmZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7Ci19
Ci0KLUBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJv
Y2Vzc01hYy5tbQkocmV2aXNpb24gOTk0MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L21hYy9XZWJQcm9jZXNzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsMTEgKzEzMyw2IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1DbGVhclJlc291cmNlQ2EKICAgICBbW05TVVJMQ2Fj
aGUgc2hhcmVkVVJMQ2FjaGVdIHJlbW92ZUFsbENhY2hlZFJlc3BvbnNlc107CiB9CiAKLWJvb2wg
V2ViUHJvY2Vzczo6ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpCi17Ci0gICAgcmV0dXJuIFtX
S0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZF07Ci19
Ci0KICNpZiBFTkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKIHN0YXRpYyB2b2lkIGFwcGVuZFNh
bmRib3hQYXJhbWV0ZXJQYXRoSW50ZXJuYWwoVmVjdG9yPGNvbnN0IGNoYXIqPiYgdmVjdG9yLCBj
b25zdCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiBwYXRoKQogewo=
</data>
<flag name="review"
          id="112449"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>