<?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>139781</bug_id>
          
          <creation_ts>2014-12-18 10:57:53 -0800</creation_ts>
          <short_desc>[Win] Correct Windows tests after Bug 139149</short_desc>
          <delta_ts>2014-12-18 11:56:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1056825</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-18 10:57:53 -0800</bug_when>
    <thetext>Some additional diagnostics were added in Bug 139149 that cause thousands of Windows tests to fail. This patch implements the missing function so that we can remove this warning and get the bots green again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056837</commentid>
    <comment_count>1</comment_count>
      <attachid>243506</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-18 11:30:45 -0800</bug_when>
    <thetext>Created attachment 243506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056840</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-18 11:32:12 -0800</bug_when>
    <thetext>Attachment 243506 did not pass style-queue:


ERROR: Source/WebKit/win/WebApplicationCache.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebKit/win/WebApplicationCache.cpp:27:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebKit/win/WebApplicationCache.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056841</commentid>
    <comment_count>3</comment_count>
      <attachid>243507</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-18 11:33:11 -0800</bug_when>
    <thetext>Created attachment 243507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056842</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-18 11:35:11 -0800</bug_when>
    <thetext>Attachment 243507 did not pass style-queue:


ERROR: Source/WebKit/win/WebApplicationCache.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebKit/win/WebApplicationCache.cpp:27:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/WebKit/win/WebApplicationCache.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056852</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-18 11:48:18 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Attachment 243507 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebKit/win/WebApplicationCache.cpp:26:  Found other header
&gt; before WebCore config.h. Should be: config.h, primary header, blank line,
&gt; and then alphabetically sorted.  [build/include_order] [4]
&gt; ERROR: Source/WebKit/win/WebApplicationCache.cpp:27:  Found header this file
&gt; implements after other header. Should be: config.h, primary header, blank
&gt; line, and then alphabetically sorted.  [build/include_order] [4]
&gt; ERROR: Source/WebKit/win/WebApplicationCache.cpp:32:  Alphabetical sorting
&gt; problem.  [build/include_order] [4]
&gt; Total errors found: 3 in 11 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

This ordering is required by the IDL build steps on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056854</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-18 11:56:47 -0800</bug_when>
    <thetext>Committed r177512: &lt;http://trac.webkit.org/changeset/177512&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243506</attachid>
            <date>2014-12-18 11:30:45 -0800</date>
            <delta_ts>2014-12-18 11:33:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139781-20141218113643.patch</filename>
            <type>text/plain</type>
            <size>33491</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzc1MDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTEyLTE4ICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgV2luZG93
cyB0ZXN0cyBhZnRlciBCdWcgMTM5MTQ5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NzgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMu
dmN4cHJvajogQWRkIG5ldyBpbnRlcmZhY2UuCisgICAgICAgICogV2ViS2l0LnZjeHByb2ovSW50
ZXJmYWNlcy9JbnRlcmZhY2VzLnZjeHByb2ouZmlsdGVyczogRGl0dG8uCisgICAgICAgICogV2Vi
S2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qOiBBZGQgbmV3IGFwcGxpY2F0aW9uIGNh
Y2hlIG9iamVjdC4KKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHBy
b2ouZmlsdGVyczogRGl0dG8uCisKIDIwMTQtMTItMTcgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gQ29ycmVjdCBEZWJ1Z1N1ZmZpeCBidWlsZHMg
dW5kZXIgTVNCdWlsZApJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZh
Y2VzL0ludGVyZmFjZXMudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktp
dC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qCShyZXZpc2lvbiAxNzc0Nzcp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52
Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00ODQsNiArNDg0LDE2IEBACiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvTWlkbD4KKyAg
ICA8TWlkbCBJbmNsdWRlPSIuLlwuLlx3aW5cSW50ZXJmYWNlc1xJV2ViQXBwbGljYXRpb25DYWNo
ZS5pZGwiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9NaWRsPgogICAgIDxNaWRsIEluY2x1ZGU9Ii4u
XC4uXHdpblxJbnRlcmZhY2VzXElXZWJBcmNoaXZlLmlkbCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hw
cm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJv
ai5maWx0ZXJzCShyZXZpc2lvbiAxNzc0NzcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hw
cm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZpbHRlcnMJKHdvcmtpbmcgY29weSkK
QEAgLTI3Nyw2ICsyNzcsOSBAQAogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZh
Y2VzXEFjY2Vzc2libGUyXEFjY2Vzc2libGVFZGl0YWJsZVRleHQuaWRsIj4KICAgICAgIDxGaWx0
ZXI+SURMXEFjY2Vzc2liaWxpdHkyPC9GaWx0ZXI+CiAgICAgPC9NaWRsPgorICAgIDxNaWRsIElu
Y2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXElXZWJBcHBsaWNhdGlvbkNhY2hlLmlkbCI+Cisg
ICAgICA8RmlsdGVyPklETDwvRmlsdGVyPgorICAgIDwvTWlkbD4KICAgPC9JdGVtR3JvdXA+CiAg
IDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0iSW50ZXJmYWNlc1Bvc3RCdWlsZC5jbWQi
IC8+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9X
ZWJLaXQudmN4cHJvagkocmV2aXNpb24gMTc3NDc3KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwMyw2ICsz
MDMsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXE1hcnNoYWxsaW5nSGVs
cGVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cTWVtb3J5U3Ry
ZWFtLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJBY3Rpb25Q
cm9wZXJ0eUJhZy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2Vi
QXBwbGljYXRpb25DYWNoZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3
aW5cV2ViQXJjaGl2ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5c
V2ViQmFja0ZvcndhcmRMaXN0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHdpblxXZWJDYWNoZS5jcHAiIC8+CkBAIC00NDEsNiArNDQyLDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXC4uXHdpblxNZW1vcnlTdHJlYW0uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXC4uXHdpblxQcm9nSURNYWNyb3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXC4uXHdpblxXZWJBY3Rpb25Qcm9wZXJ0eUJhZy5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cLi5cd2luXFdlYkFwcGxpY2F0aW9uQ2FjaGUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJBcmNoaXZlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlwuLlx3aW5cV2ViQmFja0ZvcndhcmRMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQ2FjaGUuaCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2ouZmls
dGVycwkocmV2aXNpb24gMTc3NDc3KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9X
ZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMjcyLDYgKzI3
MiwxMCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYkNvcmVTdXBwb3J0
XEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcCI+CiAgICAgICA8RmlsdGVyPldlYkNv
cmVTdXBwb3J0PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlx3aW5cV2ViQ29yZVN1cHBvcnRcV2ViVmlzaXRlZExpbmtTdG9yZS5jcHAiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQXBwbGljYXRpb25DYWNoZS5j
cHAiPgorICAgICAgPEZpbHRlcj5Tb3VyY2VzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAg
IDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Li5cd2luXFdlYkNvcmVTdXBwb3J0XEVtYmVkZGVkV2lkZ2V0LmgiPgpAQCAtNDk5LDkgKzUwMyw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViU2VyaWFsaXplZEpTVmFs
dWUuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cU3RvcmFnZVxXZWJTdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZXM8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJUZXh0UmVu
ZGVyZXIuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgpAQCAtNTM2LDYgKzUzNywxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Li5cd2luXFdlYkNvcmVTdXBwb3J0XEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgiPgog
ICAgICAgPEZpbHRlcj5XZWJDb3JlU3VwcG9ydDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cU3RvcmFnZVxXZWJTdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIuaCI+CisgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgorICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYkNvcmVTdXBw
b3J0XFdlYlZpc2l0ZWRMaW5rU3RvcmUuaCI+CisgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5c
d2luXFdlYkFwcGxpY2F0aW9uQ2FjaGUuaCI+CisgICAgICA8RmlsdGVyPlNvdXJjZXM8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAg
PE5vbmUgSW5jbHVkZT0iV2ViS2l0UG9zdEJ1aWxkLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE3NzUwNSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDczIEBACisyMDE0LTEyLTE4ICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgV2luZG93cyB0ZXN0
cyBhZnRlciBCdWcgMTM5MTQ5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM5NzgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBET01Db3JlQ2xhc3Nlcy5jcHA6IE1vdmUgaW1wbGVtZW50YXRpb24gZnJv
bSBoZWFkZXIgZmlsZS4KKyAgICAgICAgKERPTUVsZW1lbnQ6OmNyZWF0ZUluc3RhbmNlKToKKyAg
ICAgICAgKERPTVJhbmdlOjpRdWVyeUludGVyZmFjZSk6CisgICAgICAgIChET01SYW5nZTo6RE9N
UmFuZ2UpOgorICAgICAgICAoRE9NUmFuZ2U6On5ET01SYW5nZSk6CisgICAgICAgIChET01SYW5n
ZTo6Y3JlYXRlSW5zdGFuY2UpOgorICAgICAgICAoRE9NUmFuZ2U6OnN0YXJ0Q29udGFpbmVyKToK
KyAgICAgICAgKERPTVJhbmdlOjpzdGFydE9mZnNldCk6CisgICAgICAgIChET01SYW5nZTo6ZW5k
Q29udGFpbmVyKToKKyAgICAgICAgKERPTVJhbmdlOjplbmRPZmZzZXQpOgorICAgICAgICAoRE9N
UmFuZ2U6OmNvbGxhcHNlZCk6CisgICAgICAgIChET01SYW5nZTo6Y29tbW9uQW5jZXN0b3JDb250
YWluZXIpOgorICAgICAgICAoRE9NUmFuZ2U6OnNldFN0YXJ0KToKKyAgICAgICAgKERPTVJhbmdl
OjpzZXRFbmQpOgorICAgICAgICAoRE9NUmFuZ2U6OnNldFN0YXJ0QmVmb3JlKToKKyAgICAgICAg
KERPTVJhbmdlOjpzZXRTdGFydEFmdGVyKToKKyAgICAgICAgKERPTVJhbmdlOjpzZXRFbmRCZWZv
cmUpOgorICAgICAgICAoRE9NUmFuZ2U6OnNldEVuZEFmdGVyKToKKyAgICAgICAgKERPTVJhbmdl
Ojpjb2xsYXBzZSk6CisgICAgICAgIChET01SYW5nZTo6c2VsZWN0Tm9kZSk6CisgICAgICAgIChE
T01SYW5nZTo6c2VsZWN0Tm9kZUNvbnRlbnRzKToKKyAgICAgICAgKERPTVJhbmdlOjpjb21wYXJl
Qm91bmRhcnlQb2ludHMpOgorICAgICAgICAoRE9NUmFuZ2U6OmRlbGV0ZUNvbnRlbnRzKToKKyAg
ICAgICAgKERPTVJhbmdlOjpleHRyYWN0Q29udGVudHMpOgorICAgICAgICAoRE9NUmFuZ2U6OmNs
b25lQ29udGVudHMpOgorICAgICAgICAoRE9NUmFuZ2U6Omluc2VydE5vZGUpOgorICAgICAgICAo
RE9NUmFuZ2U6OnN1cnJvdW5kQ29udGVudHMpOgorICAgICAgICAoRE9NUmFuZ2U6OmNsb25lUmFu
Z2UpOgorICAgICAgICAoRE9NUmFuZ2U6OnRvU3RyaW5nKToKKyAgICAgICAgKERPTVJhbmdlOjpk
ZXRhY2gpOgorICAgICAgICAqIERPTUNvcmVDbGFzc2VzLmg6IERpdHRvLgorICAgICAgICAoRE9N
UmFuZ2U6OkFkZFJlZik6CisgICAgICAgIChET01SYW5nZTo6UmVsZWFzZSk6CisgICAgICAgIChE
T01SYW5nZTo6dGhyb3dFeGNlcHRpb24pOgorICAgICAgICAoRE9NUmFuZ2U6OmNhbGxXZWJTY3Jp
cHRNZXRob2QpOgorICAgICAgICAoRE9NUmFuZ2U6OmV2YWx1YXRlV2ViU2NyaXB0KToKKyAgICAg
ICAgKERPTVJhbmdlOjpyZW1vdmVXZWJTY3JpcHRLZXkpOgorICAgICAgICAoRE9NUmFuZ2U6OnN0
cmluZ1JlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKERPTVJhbmdlOjp3ZWJTY3JpcHRWYWx1ZUF0
SW5kZXgpOgorICAgICAgICAoRE9NUmFuZ2U6OnNldFdlYlNjcmlwdFZhbHVlQXRJbmRleCk6Cisg
ICAgICAgIChET01SYW5nZTo6c2V0RXhjZXB0aW9uKToKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lX
ZWJBcHBsaWNhdGlvbkNhY2hlLmlkbDogQWRkZWQuCisgICAgICAgICogSW50ZXJmYWNlcy9XZWJL
aXQuaWRsOiBBZGQgbmV3IElETCBmaWxlLgorICAgICAgICAqIFdlYkFjdGlvblByb3BlcnR5QmFn
LmNwcDoKKyAgICAgICAgKFdlYkFjdGlvblByb3BlcnR5QmFnOjpSZWFkKTogUmVtb3ZlIG9sZCBk
ZWJ1Z2dpbmcgbWVzc2FnZS4KKyAgICAgICAgKiBXZWJBcHBsaWNhdGlvbkNhY2hlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJBcHBsaWNhdGlvbkNhY2hlOjpXZWJBcHBsaWNhdGlvbkNhY2hlKToK
KyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6On5XZWJBcHBsaWNhdGlvbkNhY2hlKToKKyAg
ICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmNyZWF0ZUluc3RhbmNlKToKKyAgICAgICAgKFdl
YkFwcGxpY2F0aW9uQ2FjaGU6OlF1ZXJ5SW50ZXJmYWNlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0
aW9uQ2FjaGU6OkFkZFJlZik6CisgICAgICAgIChXZWJBcHBsaWNhdGlvbkNhY2hlOjpSZWxlYXNl
KToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6Om1heGltdW1TaXplKToKKyAgICAgICAg
KFdlYkFwcGxpY2F0aW9uQ2FjaGU6OnNldE1heGltdW1TaXplKToKKyAgICAgICAgKFdlYkFwcGxp
Y2F0aW9uQ2FjaGU6OmRlZmF1bHRPcmlnaW5RdW90YSk6CisgICAgICAgIChXZWJBcHBsaWNhdGlv
bkNhY2hlOjpzZXREZWZhdWx0T3JpZ2luUXVvdGEpOgorICAgICAgICAoV2ViQXBwbGljYXRpb25D
YWNoZTo6ZGlza1VzYWdlRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6
OmRlbGV0ZUFsbEFwcGxpY2F0aW9uQ2FjaGVzKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2Fj
aGU6OmRlbGV0ZUNhY2hlRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6
Om9yaWdpbnNXaXRoQ2FjaGUpOgorICAgICAgICAqIFdlYkFwcGxpY2F0aW9uQ2FjaGUuaDogQWRk
ZWQuCisgICAgICAgICogV2ViS2l0Q2xhc3NGYWN0b3J5LmNwcDogQWRkIG5ldyBpbnRlcmZhY2Ug
aGVhZGVyLgorCiAyMDE0LTEyLTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgR2V0IHJpZCBvZiBGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRl
bnRUeXBlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vRE9NQ29yZUNsYXNzZXMuY3BwCShyZXZpc2lvbiAx
Nzc0NzcpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMDksIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvSFRNTFNlbGVjdEVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vZGVMaXN0Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9SYW5nZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyRWxlbWVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVuZGVyVHJlZUFzVGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2lt
cGxlRm9udERhdGEuaD4KQEAgLTE1MzAsMyArMTUzMSwyMTIgQEAgSURPTUVsZW1lbnQqIERPTUVs
ZW1lbnQ6OmNyZWF0ZUluc3RhbmNlKAogCiAgICAgcmV0dXJuIGRvbUVsZW1lbnQ7CiB9CisKKy8v
IERPTVJhbmdlIC0gSVVua25vd24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworSFJFU1VMVCBET01SYW5nZTo6UXVlcnlJbnRlcmZhY2UoUkVG
SUlEIHJpaWQsIHZvaWQqKiBwcHZPYmplY3QpCit7CisgICAgKnBwdk9iamVjdCA9IG51bGxwdHI7
CisgICAgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JRE9NUmFuZ2UpKQorICAgICAgICAqcHB2
T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SURPTVJhbmdlKj4odGhpcyk7CisgICAgZWxzZQorICAgICAg
ICByZXR1cm4gRE9NT2JqZWN0OjpRdWVyeUludGVyZmFjZShyaWlkLCBwcHZPYmplY3QpOworCisg
ICAgQWRkUmVmKCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKKy8vIERPTVJhbmdlIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IAorCitET01SYW5nZTo6RE9NUmFuZ2UoV2ViQ29yZTo6UmFuZ2UqIGUpCisgICAgOiBtX3Jhbmdl
KGUpCit7Cit9CisKK0RPTVJhbmdlOjp+RE9NUmFuZ2UoKQoreworfQorCitJRE9NUmFuZ2UqIERP
TVJhbmdlOjpjcmVhdGVJbnN0YW5jZShXZWJDb3JlOjpSYW5nZSogcmFuZ2UpCit7CisgICAgaWYg
KCFyYW5nZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBET01SYW5nZSogbmV3UmFu
Z2UgPSBuZXcgRE9NUmFuZ2UocmFuZ2UpOworCisgICAgSURPTVJhbmdlKiBkb21SYW5nZSA9IG51
bGxwdHI7CisgICAgaWYgKEZBSUxFRChuZXdSYW5nZS0+UXVlcnlJbnRlcmZhY2UoSUlEX0lET01S
YW5nZSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZkb21SYW5nZSkpKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gbmV3UmFuZ2U7Cit9CisKK0hSRVNVTFQgRE9NUmFu
Z2U6OnN0YXJ0Q29udGFpbmVyKElET01Ob2RlKiogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisg
ICAgICAgIHJldHVybiBFX1BPSU5URVI7CisKKyAgICBpZiAoIW1fcmFuZ2UpCisgICAgICAgIHJl
dHVybiBFX1VORVhQRUNURUQ7CisKKyAgICAqbm9kZSA9IERPTU5vZGU6OmNyZWF0ZUluc3RhbmNl
KG1fcmFuZ2UtPnN0YXJ0Q29udGFpbmVyKCkpOworCisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hS
RVNVTFQgRE9NUmFuZ2U6OnN0YXJ0T2Zmc2V0KGludCogb2Zmc2V0KQoreworICAgIGlmICghb2Zm
c2V0KQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgaWYgKCFtX3JhbmdlKQorICAg
ICAgICByZXR1cm4gRV9VTkVYUEVDVEVEOworCisgICAgKm9mZnNldCA9IG1fcmFuZ2UtPnN0YXJ0
T2Zmc2V0KCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBET01SYW5nZTo6ZW5k
Q29udGFpbmVyKElET01Ob2RlKiogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisKKyAgICBpZiAoIW1fcmFuZ2UpCisgICAgICAgIHJldHVybiBFX1VO
RVhQRUNURUQ7CisKKyAgICAqbm9kZSA9IERPTU5vZGU6OmNyZWF0ZUluc3RhbmNlKG1fcmFuZ2Ut
PmVuZENvbnRhaW5lcigpKTsKKworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIERPTVJh
bmdlOjplbmRPZmZzZXQoaW50KiBvZmZzZXQpCit7CisgICAgaWYgKCFvZmZzZXQpCisgICAgICAg
IHJldHVybiBFX1BPSU5URVI7CisKKyAgICBpZiAoIW1fcmFuZ2UpCisgICAgICAgIHJldHVybiBF
X1VORVhQRUNURUQ7CisKKyAgICAqb2Zmc2V0ID0gbV9yYW5nZS0+ZW5kT2Zmc2V0KCk7CisKKyAg
ICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBET01SYW5nZTo6Y29sbGFwc2VkKEJPT0wqIHJl
c3VsdCkKK3sKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKwor
ICAgIGlmICghbV9yYW5nZSkKKyAgICAgICAgcmV0dXJuIEVfVU5FWFBFQ1RFRDsKKworICAgIFdl
YkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICpyZXN1bHQgPSBtX3JhbmdlLT5jb2xs
YXBzZWQoZWMpOworCisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgRE9NUmFuZ2U6OmNv
bW1vbkFuY2VzdG9yQ29udGFpbmVyKElET01Ob2RlKiogY29udGFpbmVyKQoreworICAgIHJldHVy
biBFX05PVElNUEw7Cit9CisKK0hSRVNVTFQgRE9NUmFuZ2U6OnNldFN0YXJ0KElET01Ob2RlKiBy
ZWZOb2RlLCBpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBFX05PVElNUEw7Cit9CisKK0hSRVNV
TFQgRE9NUmFuZ2U6OnNldEVuZChJRE9NTm9kZSogcmVmTm9kZSwgaW50IG9mZnNldCkKK3sKKyAg
ICByZXR1cm4gRV9OT1RJTVBMOworfQorCitIUkVTVUxUIERPTVJhbmdlOjpzZXRTdGFydEJlZm9y
ZShJRE9NTm9kZSogcmVmTm9kZSkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCitIUkVT
VUxUIERPTVJhbmdlOjpzZXRTdGFydEFmdGVyKElET01Ob2RlKiByZWZOb2RlKQoreworICAgIHJl
dHVybiBFX05PVElNUEw7Cit9CisKK0hSRVNVTFQgRE9NUmFuZ2U6OnNldEVuZEJlZm9yZShJRE9N
Tm9kZSogcmVmTm9kZSkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCitIUkVTVUxUIERP
TVJhbmdlOjpzZXRFbmRBZnRlcihJRE9NTm9kZSogcmVmTm9kZSkKK3sKKyAgICByZXR1cm4gRV9O
T1RJTVBMOworfQorCitIUkVTVUxUIERPTVJhbmdlOjpjb2xsYXBzZShCT09MIHRvU3RhcnQpCit7
CisgICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6c2VsZWN0Tm9k
ZShJRE9NTm9kZSogcmVmTm9kZSkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCitIUkVT
VUxUIERPTVJhbmdlOjpzZWxlY3ROb2RlQ29udGVudHMoSURPTU5vZGUqIHJlZk5vZGUpCit7Cisg
ICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6Y29tcGFyZUJvdW5k
YXJ5UG9pbnRzKHVuc2lnbmVkIHNob3J0IGhvdywgSURPTVJhbmdlKiBzb3VyY2VSYW5nZSkKK3sK
KyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCitIUkVTVUxUIERPTVJhbmdlOjpkZWxldGVDb250
ZW50cygpCit7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6
ZXh0cmFjdENvbnRlbnRzKElET01Eb2N1bWVudEZyYWdtZW50KiogZnJhZ21lbnQpCit7CisgICAg
cmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6Y2xvbmVDb250ZW50cyhJ
RE9NRG9jdW1lbnRGcmFnbWVudCoqIGZyYWdtZW50KQoreworICAgIHJldHVybiBFX05PVElNUEw7
Cit9CisKK0hSRVNVTFQgRE9NUmFuZ2U6Omluc2VydE5vZGUoSURPTU5vZGUqIG5ld05vZGUpCit7
CisgICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6c3Vycm91bmRD
b250ZW50cyhJRE9NTm9kZSogbmV3UGFyZW50KQoreworICAgIHJldHVybiBFX05PVElNUEw7Cit9
CisKK0hSRVNVTFQgRE9NUmFuZ2U6OmNsb25lUmFuZ2UoSURPTVJhbmdlKiogcmFuZ2UpCit7Cisg
ICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworSFJFU1VMVCBET01SYW5nZTo6dG9TdHJpbmcoQlNU
Uiogc3RyKQoreworICAgIGlmICghc3RyKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisg
ICAgaWYgKCFtX3JhbmdlKQorICAgICAgICByZXR1cm4gRV9VTkVYUEVDVEVEOworCisgICAgV2Vi
Q29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgKnN0ciA9IEJTdHJpbmcobV9yYW5nZS0+
dG9TdHJpbmcoZWMpKS5yZWxlYXNlKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VM
VCBET01SYW5nZTo6ZGV0YWNoKCkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQpJbmRleDog
U291cmNlL1dlYktpdC93aW4vRE9NQ29yZUNsYXNzZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5oCShyZXZpc2lvbiAxNzc0NzcpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9ET01Db3JlQ2xhc3Nlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDE0IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTM1LDYgKzM1LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBET01XaW5kb3c7CiBjbGFzcyBO
b2RlOwogY2xhc3MgTm9kZUxpc3Q7CitjbGFzcyBSYW5nZTsKIH0KIAogCkBAIC05MjUsNCArOTI2
LDg3IEBAIHByb3RlY3RlZDoKICAgICBXZWJDb3JlOjpFbGVtZW50KiBtX2VsZW1lbnQ7CiB9Owog
CitjbGFzcyBET01SYW5nZSA6IHB1YmxpYyBET01PYmplY3QsIHB1YmxpYyBJRE9NUmFuZ2Ugewor
cHJvdGVjdGVkOgorICAgIERPTVJhbmdlKFdlYkNvcmU6OlJhbmdlKik7CisgICAgfkRPTVJhbmdl
KCk7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMgSURPTVJhbmdlKiBjcmVhdGVJbnN0YW5jZShXZWJD
b3JlOjpSYW5nZSopOworCitwdWJsaWM6CisgICAgLy8gSVVua25vd24KKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoUkVGSUlEIHJpaWQsIHZvaWQq
KiBwcHZPYmplY3QpOworICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVm
KHZvaWQpIHsgcmV0dXJuIERPTU9iamVjdDo6QWRkUmVmKCk7IH0KKyAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIFJlbGVhc2Uodm9pZCkgeyByZXR1cm4gRE9NT2JqZWN0OjpSZWxl
YXNlKCk7IH0KKworICAgIC8vIElXZWJTY3JpcHRPYmplY3QKKyAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgdGhyb3dFeGNlcHRpb24oQlNUUiBleGNlcHRpb25NZXNzYWdlLCBC
T09MKiByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gRE9NT2JqZWN0Ojp0aHJvd0V4Y2Vw
dGlvbihleGNlcHRpb25NZXNzYWdlLCByZXN1bHQpOworICAgIH0KKworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWxsV2ViU2NyaXB0TWV0aG9kKEJTVFIgbmFtZSwgY29u
c3QgVkFSSUFOVCBhcmdzW10sIGludCBjQXJncywgVkFSSUFOVCogcmVzdWx0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIERPTU9iamVjdDo6Y2FsbFdlYlNjcmlwdE1ldGhvZChuYW1lLCBhcmdzLCBj
QXJncywgcmVzdWx0KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgZXZhbHVhdGVXZWJTY3JpcHQoQlNUUiBzY3JpcHQsIFZBUklBTlQqIHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBET01PYmplY3Q6OmV2YWx1YXRlV2ViU2NyaXB0KHNjcmlwdCwg
cmVzdWx0KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
cmVtb3ZlV2ViU2NyaXB0S2V5KEJTVFIgbmFtZSkKKyAgICB7CisgICAgICAgIHJldHVybiBET01P
YmplY3Q6OnJlbW92ZVdlYlNjcmlwdEtleShuYW1lKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3RyaW5nUmVwcmVzZW50YXRpb24oQlNUUiogc3RyaW5n
UmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gRE9NT2JqZWN0OjpzdHJpbmdS
ZXByZXNlbnRhdGlvbihzdHJpbmdSZXByZXNlbnRhdGlvbik7CisgICAgfQorCisgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlNjcmlwdFZhbHVlQXRJbmRleCh1bnNpZ25l
ZCBpbmRleCwgVkFSSUFOVCogcmVzdWx0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIERPTU9iamVj
dDo6d2ViU2NyaXB0VmFsdWVBdEluZGV4KGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRXZWJTY3JpcHRWYWx1ZUF0SW5kZXgo
dW5zaWduZWQgaW5kZXgsIFZBUklBTlQgdmFsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIERPTU9i
amVjdDo6c2V0V2ViU2NyaXB0VmFsdWVBdEluZGV4KGluZGV4LCB2YWwpOworICAgIH0KKworICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFeGNlcHRpb24oQlNUUiBkZXNj
cmlwdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBET01PYmplY3Q6OnNldEV4Y2VwdGlvbihk
ZXNjcmlwdGlvbik7CisgICAgfQorCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHN0YXJ0Q29udGFpbmVyKElET01Ob2RlKiopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzdGFydE9mZnNldChpbnQqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgZW5kQ29udGFpbmVyKElET01Ob2RlKiopOworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBlbmRPZmZzZXQoaW50Kik7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNvbGxhcHNlZChCT09MKik7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKElET01Ob2RlKiop
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRTdGFydChJRE9NTm9k
ZSosIGludCBvZmZzZXQpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRFbmQoSURPTU5vZGUqLCBpbnQgb2Zmc2V0KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0U3RhcnRCZWZvcmUoSURPTU5vZGUqKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U3RhcnRBZnRlcihJRE9NTm9kZSopOworICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFbmRCZWZvcmUoSURPTU5vZGUqKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RW5kQWZ0ZXIoSURPTU5vZGUq
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY29sbGFwc2UoQk9PTCk7
CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNlbGVjdE5vZGUoSURPTU5v
ZGUqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2VsZWN0Tm9kZUNv
bnRlbnRzKElET01Ob2RlKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGNvbXBhcmVCb3VuZGFyeVBvaW50cyh1bnNpZ25lZCBzaG9ydCBob3csIElET01SYW5nZSogc291
cmNlUmFuZ2UpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkZWxldGVD
b250ZW50cygpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBleHRyYWN0
Q29udGVudHMoSURPTURvY3VtZW50RnJhZ21lbnQqKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIGNsb25lQ29udGVudHMoSURPTURvY3VtZW50RnJhZ21lbnQqKik7Cisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGluc2VydE5vZGUoSURPTU5vZGUq
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3Vycm91bmRDb250ZW50
cyhJRE9NTm9kZSogbmV3UGFyZW50KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgY2xvbmVSYW5nZShJRE9NUmFuZ2UqKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHRvU3RyaW5nKEJTVFIqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgZGV0YWNoKCk7CisKK3Byb3RlY3RlZDoKKyAgICBXZWJDb3JlOjpSYW5nZSog
bV9yYW5nZTsKK307CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkFjdGlvblBy
b3BlcnR5QmFnLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJBY3Rpb25Q
cm9wZXJ0eUJhZy5jcHAJKHJldmlzaW9uIDE3NzQ3NykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dl
YkFjdGlvblByb3BlcnR5QmFnLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDcgKzExMCw2IEBA
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQWN0aW9uUHJvcGUKICAgICBpZiAoIXBzelBy
b3BOYW1lKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwogCi0gICAgV1RGTG9nQWx3YXlzKCJw
VmFyIFBvaW50ZXIgVmFsdWU6ICVwIiwgcFZhcik7CiAgICAgVmFyaWFudENsZWFyKHBWYXIpOwog
CiAgICAgaWYgKGlzRXF1YWwocHN6UHJvcE5hbWUsIFdlYkFjdGlvbk5hdmlnYXRpb25UeXBlS2V5
KSkgewpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5jcHAJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgIldlYktpdERMTC5oIgorI2luY2x1ZGUg
IldlYkFwcGxpY2F0aW9uQ2FjaGUuaCIKKworI2luY2x1ZGUgIkNGRGljdGlvbmFyeVByb3BlcnR5
QmFnLmgiCisjaW5jbHVkZSAiTWFyc2hhbGxpbmdIZWxwZXJzLmgiCisjaW5jbHVkZSAiV2ViU2Vj
dXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9BcHBsaWNhdGlvbkNhY2hlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ09NUHRyLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9TZWN1cml0eU9yaWdpbi5oPgorI2luY2x1ZGUgPGNvbXV0aWwuaD4KKworLy8gV2ViQXBw
bGljYXRpb25DYWNoZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2ViQXBwbGljYXRpb25DYWNoZTo6
V2ViQXBwbGljYXRpb25DYWNoZSgpCisgICAgOiBtX3JlZkNvdW50KDApCit7CisgICAgZ0NsYXNz
Q291bnQrKzsKKyAgICBnQ2xhc3NOYW1lQ291bnQoKS5hZGQoIldlYkFwcGxpY2F0aW9uQ2FjaGUi
KTsKK30KKworV2ViQXBwbGljYXRpb25DYWNoZTo6fldlYkFwcGxpY2F0aW9uQ2FjaGUoKQorewor
ICAgIGdDbGFzc0NvdW50LS07CisgICAgZ0NsYXNzTmFtZUNvdW50KCkucmVtb3ZlKCJXZWJBcHBs
aWNhdGlvbkNhY2hlIik7Cit9CisKK1dlYkFwcGxpY2F0aW9uQ2FjaGUqIFdlYkFwcGxpY2F0aW9u
Q2FjaGU6OmNyZWF0ZUluc3RhbmNlKCkKK3sKKyAgICBXZWJBcHBsaWNhdGlvbkNhY2hlKiBpbnN0
YW5jZSA9IG5ldyBXZWJBcHBsaWNhdGlvbkNhY2hlKCk7CisgICAgaW5zdGFuY2UtPkFkZFJlZigp
OworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKworLy8gSVVua25vd24gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitI
UkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2FjaGU6OlF1ZXJ5SW50ZXJmYWNlKFJFRklJRCByaWlkLCB2
b2lkKiogcHB2T2JqZWN0KQoreworICAgICpwcHZPYmplY3QgPSAwOworICAgIGlmIChJc0VxdWFs
R1VJRChyaWlkLCBJSURfSVVua25vd24pKQorICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nh
c3Q8V2ViQXBwbGljYXRpb25DYWNoZSo+KHRoaXMpOworICAgIGVsc2UgaWYgKElzRXF1YWxHVUlE
KHJpaWQsIElJRF9JV2ViQXBwbGljYXRpb25DYWNoZSkpCisgICAgICAgICpwcHZPYmplY3QgPSBz
dGF0aWNfY2FzdDxXZWJBcHBsaWNhdGlvbkNhY2hlKj4odGhpcyk7CisgICAgZWxzZQorICAgICAg
ICByZXR1cm4gRV9OT0lOVEVSRkFDRTsKKworICAgIEFkZFJlZigpOworICAgIHJldHVybiBTX09L
OworfQorCitVTE9ORyBXZWJBcHBsaWNhdGlvbkNhY2hlOjpBZGRSZWYodm9pZCkKK3sKKyAgICBy
ZXR1cm4gKyttX3JlZkNvdW50OworfQorCitVTE9ORyBXZWJBcHBsaWNhdGlvbkNhY2hlOjpSZWxl
YXNlKHZvaWQpCit7CisgICAgVUxPTkcgbmV3UmVmID0gLS1tX3JlZkNvdW50OworICAgIGlmICgh
bmV3UmVmKQorICAgICAgICBkZWxldGUodGhpcyk7CisKKyAgICByZXR1cm4gbmV3UmVmOworfQor
CisvLyBJV2ViQXBwbGljYXRpb25DYWNoZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSFJFU1VM
VCBXZWJBcHBsaWNhdGlvbkNhY2hlOjptYXhpbXVtU2l6ZShsb25nIGxvbmcqIHNpemUpCit7Cisg
ICAgaWYgKCFzaXplKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKnNpemUgPSBX
ZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5tYXhpbXVtU2l6ZSgpOworICAgIHJldHVybiBTX09LOwor
fQorCitIUkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2FjaGU6OnNldE1heGltdW1TaXplKGxvbmcgbG9u
ZyBzaXplKQoreworICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmRlbGV0ZUFsbEVudHJpZXMo
KTsKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5zZXRNYXhpbXVtU2l6ZShzaXplKTsKKyAg
ICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJBcHBsaWNhdGlvbkNhY2hlOjpkZWZhdWx0
T3JpZ2luUXVvdGEobG9uZyBsb25nKiBxdW90YSkKK3sKKyAgICBpZiAoIXF1b3RhKQorICAgICAg
ICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgKnF1b3RhID0gV2ViQ29yZTo6Y2FjaGVTdG9yYWdl
KCkuZGVmYXVsdE9yaWdpblF1b3RhKCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQg
V2ViQXBwbGljYXRpb25DYWNoZTo6c2V0RGVmYXVsdE9yaWdpblF1b3RhKGxvbmcgbG9uZyBxdW90
YSkKK3sKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5zZXREZWZhdWx0T3JpZ2luUXVvdGEo
cXVvdGEpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2Fj
aGU6OmRpc2tVc2FnZUZvck9yaWdpbihJV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgbG9uZyBs
b25nKiBzaXplKQoreworICAgIGlmICghb3JpZ2luIHx8ICFzaXplKQorICAgICAgICByZXR1cm4g
RV9QT0lOVEVSOworCisgICAgQ09NUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiB3ZWJTZWN1cml0eU9y
aWdpbihRdWVyeSwgb3JpZ2luKTsKKyAgICBpZiAoIXdlYlNlY3VyaXR5T3JpZ2luKQorICAgICAg
ICByZXR1cm4gRV9GQUlMOworCisgICAgKnNpemUgPSBXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hl
OjpkaXNrVXNhZ2VGb3JPcmlnaW4od2ViU2VjdXJpdHlPcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkp
OworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmRl
bGV0ZUFsbEFwcGxpY2F0aW9uQ2FjaGVzKCkKK3sKKyAgICBXZWJDb3JlOjpBcHBsaWNhdGlvbkNh
Y2hlOjpkZWxldGVBbGxDYWNoZXMoKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworCitIUkVTVUxU
IFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmRlbGV0ZUNhY2hlRm9yT3JpZ2luKElXZWJTZWN1cml0eU9y
aWdpbiogb3JpZ2luKQoreworICAgIGlmICghb3JpZ2luKQorICAgICAgICByZXR1cm4gRV9QT0lO
VEVSOworCisgICAgQ09NUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiB3ZWJTZWN1cml0eU9yaWdpbihR
dWVyeSwgb3JpZ2luKTsKKyAgICBpZiAoIXdlYlNlY3VyaXR5T3JpZ2luKQorICAgICAgICByZXR1
cm4gRV9GQUlMOworCisgICAgV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZTo6ZGVsZXRlQ2FjaGVG
b3JPcmlnaW4od2ViU2VjdXJpdHlPcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkpOworICAgIHJldHVy
biBTX09LOworfQorCitIUkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2FjaGU6Om9yaWdpbnNXaXRoQ2Fj
aGUoSVByb3BlcnR5QmFnKiogb3JpZ2lucykKK3sKKyAgICBpZiAoIW9yaWdpbnMpCisgICAgICAg
IHJldHVybiBFX1BPSU5URVI7CisKKyAgICBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4+IGNvcmVPcmlnaW5zOworICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmdldE9y
aWdpbnNXaXRoQ2FjaGUoY29yZU9yaWdpbnMpOworCisgICAgUmV0YWluUHRyPENGTXV0YWJsZUFy
cmF5UmVmPiBhcnJheUl0ZW0gPSBhZG9wdENGKENGQXJyYXlDcmVhdGVNdXRhYmxlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIGNvcmVPcmlnaW5zLnNpemUoKSwgJk1hcnNoYWxsaW5nSGVscGVyczo6a0lV
bmtub3duQXJyYXlDYWxsQmFja3MpKTsKKworICAgIGZvciAoYXV0byBpdCA6IGNvcmVPcmlnaW5z
KQorICAgICAgICBDRkFycmF5QXBwZW5kVmFsdWUoYXJyYXlJdGVtLmdldCgpLCByZWludGVycHJl
dF9jYXN0PHZvaWQqPihXZWJTZWN1cml0eU9yaWdpbjo6Y3JlYXRlSW5zdGFuY2UoJigqaXQpKSkp
OworCisgICAgUmV0YWluUHRyPENGTXV0YWJsZURpY3Rpb25hcnlSZWY+IGRpY3Rpb25hcnkgPSBh
ZG9wdENGKAorICAgICAgICBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAsIDAsICZrQ0ZUeXBl
RGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3Mp
KTsKKworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4ga2V5ID0gYWRvcHRDRihNYXJzaGFsbGlu
Z0hlbHBlcnM6OkJTVFJUb0NGU3RyaW5nUmVmKF9ic3RyX3QoTCJvcmlnaW5zIikpKTsKKyAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBrZXkuZ2V0KCksIGFycmF5SXRl
bS5nZXQoKSk7CisKKyAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IHJlc3VsdCA9
IENGRGljdGlvbmFyeVByb3BlcnR5QmFnOjpjcmVhdGVJbnN0YW5jZSgpOworICAgIHJlc3VsdC0+
c2V0RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKKyAgICAqb3JpZ2lucyA9IHJlc3VsdC5s
ZWFrUmVmKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkFwcGxpY2F0aW9uQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJBcHBsaWNhdGlvbkNhY2hlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJBcHBsaWNhdGlvbkNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBXZWJB
cHBsaWNhdGlvbkNhY2hlX2gKKyNkZWZpbmUgV2ViQXBwbGljYXRpb25DYWNoZV9oCisKKyNpbmNs
dWRlICJXZWJLaXQuaCIKKworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZSA6IHB1YmxpYyBJV2Vi
QXBwbGljYXRpb25DYWNoZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFdlYkFwcGxpY2F0aW9uQ2Fj
aGUqIGNyZWF0ZUluc3RhbmNlKCk7Citwcm90ZWN0ZWQ6CisgICAgV2ViQXBwbGljYXRpb25DYWNo
ZSgpOworICAgIH5XZWJBcHBsaWNhdGlvbkNhY2hlKCk7CisKK3B1YmxpYzoKKyAgICAvLyBJVW5r
bm93bgorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFj
ZShSRUZJSUQgcmlpZCwgdm9pZCoqIHBwdk9iamVjdCk7CisgICAgdmlydHVhbCBVTE9ORyBTVERN
RVRIT0RDQUxMVFlQRSBBZGRSZWYodm9pZCk7CisgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RD
QUxMVFlQRSBSZWxlYXNlKHZvaWQpOworCisgICAgLy8gSVdlYkFwcGxpY2F0aW9uQ2FjaGUKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbWF4aW11bVNpemUoLypbb3V0LCBy
ZXR2YWxdKi8gbG9uZyBsb25nKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHNldE1heGltdW1TaXplKC8qW2luXSovIGxvbmcgbG9uZyk7CisKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGVmYXVsdE9yaWdpblF1b3RhKC8qW291dCwgcmV0dmFs
XSovIGxvbmcgbG9uZyopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXREZWZhdWx0T3JpZ2luUXVvdGEoLypbaW5dKi8gbG9uZyBsb25nKTsKKworICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaXNrVXNhZ2VGb3JPcmlnaW4oLypbaW5dKi8gSVdl
YlNlY3VyaXR5T3JpZ2luKiwgLypbb3V0LCByZXR2YWxdKi8gbG9uZyBsb25nKik7CisKKyAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGVsZXRlQWxsQXBwbGljYXRpb25DYWNo
ZXMoKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGVsZXRlQ2FjaGVG
b3JPcmlnaW4oLypbaW5dKi8gSVdlYlNlY3VyaXR5T3JpZ2luKik7CisKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3JpZ2luc1dpdGhDYWNoZSgvKltvdXQsIHJldHZhbF0q
LyBJUHJvcGVydHlCYWcqKik7CisKK3Byb3RlY3RlZDoKKyAgICBVTE9ORyBtX3JlZkNvdW50Owor
fTsKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRDbGFzc0ZhY3Rvcnku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdENsYXNzRmFjdG9yeS5j
cHAJKHJldmlzaW9uIDE3NzQ3NykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdENsYXNzRmFj
dG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW5jbHVkZSAiQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuaCIKICNpbmNsdWRlICJGb3JFYWNoQ29D
bGFzcy5oIgorI2luY2x1ZGUgIldlYkFwcGxpY2F0aW9uQ2FjaGUuaCIKICNpbmNsdWRlICJXZWJB
cmNoaXZlLmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGUuaCIKICNpbmNsdWRlICJXZWJDb3JlU3RhdGlz
dGljcy5oIgpJbmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQXBwbGljYXRp
b25DYWNoZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViQXBwbGljYXRpb25DYWNoZS5pZGwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9JbnRlcmZhY2VzL0lXZWJBcHBsaWNhdGlvbkNhY2hlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIERPX05PX0lNUE9SVFMKK2ltcG9ydCAib2FpZGwuaWRsIjsKK2ltcG9ydCAi
b2NpZGwuaWRsIjsKKyNlbmRpZgorCitpbnRlcmZhY2UgSVdlYlNlY3VyaXR5T3JpZ2luOworCisj
aWZuZGVmIERPX05PX0lNUE9SVFMKK2ltcG9ydCAiSVdlYlNlY3VyaXR5T3JpZ2luLmlkbCI7Cisj
ZW5kaWYKKworWworICAgIG9iamVjdCwKKyAgICBvbGVhdXRvbWF0aW9uLAorICAgIGhpZGRlbiwK
KyAgICB1dWlkKEQ1NzYyRUJDLUI3MTItNEM5OS1CQkY1LTIyMEZGNERDOERGNSksCisgICAgcG9p
bnRlcl9kZWZhdWx0KHVuaXF1ZSkKK10KK2ludGVyZmFjZSBJV2ViQXBwbGljYXRpb25DYWNoZSA6
IElVbmtub3duCit7CisgICAgSFJFU1VMVCBtYXhpbXVtU2l6ZShbb3V0LCByZXR2YWxdIGxvbmcg
bG9uZyopOworICAgIEhSRVNVTFQgc2V0TWF4aW11bVNpemUoW2luXSBsb25nIGxvbmcpOworCisg
ICAgSFJFU1VMVCBkZWZhdWx0T3JpZ2luUXVvdGEoW291dCwgcmV0dmFsXSBsb25nIGxvbmcqKTsK
KyAgICBIUkVTVUxUIHNldERlZmF1bHRPcmlnaW5RdW90YShbaW5dIGxvbmcgbG9uZyk7CisKKyAg
ICBIUkVTVUxUIGRpc2tVc2FnZUZvck9yaWdpbihbaW5dIElXZWJTZWN1cml0eU9yaWdpbiosIFtv
dXQsIHJldHZhbF0gbG9uZyBsb25nKik7CisKKyAgICBIUkVTVUxUIGRlbGV0ZUFsbEFwcGxpY2F0
aW9uQ2FjaGVzKCk7CisgICAgSFJFU1VMVCBkZWxldGVDYWNoZUZvck9yaWdpbihbaW5dIElXZWJT
ZWN1cml0eU9yaWdpbiopOworCisgICAgSFJFU1VMVCBvcmlnaW5zV2l0aENhY2hlKFtvdXQsIHJl
dHZhbF0gSVByb3BlcnR5QmFnKiopOworfQpJbmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFj
ZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gMTc3NDc3KQorKysgU291cmNlL1dlYktpdC93aW4vSW50
ZXJmYWNlcy9XZWJLaXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw3IEBAIGltcG9y
dCAiQWNjZXNzaWJsZUFwcGxpY2F0aW9uLmlkbCI7CiAjaW5jbHVkZSAiRE9NUHJpdmF0ZS5pZGwi
CiAjaW5jbHVkZSAiRE9NUmFuZ2UuaWRsIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5pZGwiCisjaW5j
bHVkZSAiSVdlYkFwcGxpY2F0aW9uQ2FjaGUuaWRsIgogI2luY2x1ZGUgIklXZWJBcmNoaXZlLmlk
bCIKICNpbmNsdWRlICJJV2ViQmFja0ZvcndhcmRMaXN0LmlkbCIKICNpbmNsdWRlICJJV2ViQmFj
a0ZvcndhcmRMaXN0UHJpdmF0ZS5pZGwiCkBAIC0xOTUsNiArMTk2LDExIEBAIGxpYnJhcnkgV2Vi
S2l0CiAgICAgICAgIFtkZWZhdWx0XSBpbnRlcmZhY2UgSVdlYkhpc3RvcnlJdGVtOwogICAgIH0K
IAorICAgIFt1dWlkKDExMTlFOTcwLTRiMTMtNGI5YS1hMDQ5LTQxMDk2MTA0YjY4OSldCisgICAg
Y29jbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlIHsKKyAgICAgICAgW2RlZmF1bHRdIGludGVyZmFj
ZSBJV2ViQXBwbGljYXRpb25DYWNoZTsKKyAgICB9CisKICAgICBbdXVpZChmNzEwNzFmZC1hNTFi
LTRiNjktOWViNi00NDM3NDQwNWU4MGMpXQogICAgIGNvY2xhc3MgV2ViQ2FjaGUgewogICAgICAg
ICBbZGVmYXVsdF0gaW50ZXJmYWNlIElXZWJDYWNoZTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NzUwNSkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE0LTEyLTE4ICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIENvcnJl
Y3QgV2luZG93cyB0ZXN0cyBhZnRlciBCdWcgMTM5MTQ5IChlZGl0KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NzgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVz
dFJ1bm5lcldpbi5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpjbGVhckFsbEFwcGxpY2F0aW9u
Q2FjaGVzKTogVXNlIG5ldyBXZWJBcHBsaWNhdGlvbkNhY2hlCisgICAgICAgIGludGVyZmFjZS4K
KwogMjAxNC0xMi0xOCAgRMOhbmllbCBCw6F0eWFpICA8ZGJhdHlhaS51LXN6ZWdlZEBwYXJ0bmVy
LnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBzdXBwb3J0IGZvciBGVEwgSklUIG9u
IEFSTTY0CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3Bw
CShyZXZpc2lvbiAxNzc0NzcpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5l
cldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNzUwLDcgKzc1MCwxMSBAQCBib29sIFRlc3RSdW5uZXI6OmlzQ29tbWFuZEVuYWJsZWQoSlNT
dHJpCiAKIHZvaWQgVGVzdFJ1bm5lcjo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpCiB7Ci0g
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0byBzdXBwb3J0IGFwcGxpY2F0aW9uIGNhY2hlIHF1b3Rh
cywgYW5kIHRvIG1ha2UgdGVzdGluZyBtb3JlIHJlbGlhYmxlIChzZWUgPGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkxNDk+KS4KKyAgICBDT01QdHI8SVdlYkFwcGxp
Y2F0aW9uQ2FjaGU+IGFwcGxpY2F0aW9uQ2FjaGU7CisgICAgaWYgKEZBSUxFRChXZWJLaXRDcmVh
dGVJbnN0YW5jZShDTFNJRF9XZWJBcHBsaWNhdGlvbkNhY2hlLCAwLCBJSURfSVdlYkFwcGxpY2F0
aW9uQ2FjaGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmYXBwbGljYXRpb25DYWNoZSkpKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgYXBwbGljYXRpb25DYWNoZS0+ZGVsZXRlQWxsQXBwbGlj
YXRpb25DYWNoZXMoKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpjbGVhckFwcGxpY2F0aW9uQ2Fj
aGVGb3JPcmlnaW4oSlNTdHJpbmdSZWYgb3JpZ2luKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243507</attachid>
            <date>2014-12-18 11:33:11 -0800</date>
            <delta_ts>2014-12-18 11:49:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139781-20141218113909.patch</filename>
            <type>text/plain</type>
            <size>21250</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzc1MDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTEyLTE4ICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgV2luZG93
cyB0ZXN0cyBhZnRlciBCdWcgMTM5MTQ5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NzgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMu
dmN4cHJvajogQWRkIG5ldyBpbnRlcmZhY2UuCisgICAgICAgICogV2ViS2l0LnZjeHByb2ovSW50
ZXJmYWNlcy9JbnRlcmZhY2VzLnZjeHByb2ouZmlsdGVyczogRGl0dG8uCisgICAgICAgICogV2Vi
S2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qOiBBZGQgbmV3IGFwcGxpY2F0aW9uIGNh
Y2hlIG9iamVjdC4KKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHBy
b2ouZmlsdGVyczogRGl0dG8uCisKIDIwMTQtMTItMTcgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gQ29ycmVjdCBEZWJ1Z1N1ZmZpeCBidWlsZHMg
dW5kZXIgTVNCdWlsZApJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZh
Y2VzL0ludGVyZmFjZXMudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktp
dC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qCShyZXZpc2lvbiAxNzc0Nzcp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52
Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00ODQsNiArNDg0LDE2IEBACiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvTWlkbD4KKyAg
ICA8TWlkbCBJbmNsdWRlPSIuLlwuLlx3aW5cSW50ZXJmYWNlc1xJV2ViQXBwbGljYXRpb25DYWNo
ZS5pZGwiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9NaWRsPgogICAgIDxNaWRsIEluY2x1ZGU9Ii4u
XC4uXHdpblxJbnRlcmZhY2VzXElXZWJBcmNoaXZlLmlkbCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hw
cm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJv
ai5maWx0ZXJzCShyZXZpc2lvbiAxNzc0NzcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hw
cm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZpbHRlcnMJKHdvcmtpbmcgY29weSkK
QEAgLTI3Nyw2ICsyNzcsOSBAQAogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZh
Y2VzXEFjY2Vzc2libGUyXEFjY2Vzc2libGVFZGl0YWJsZVRleHQuaWRsIj4KICAgICAgIDxGaWx0
ZXI+SURMXEFjY2Vzc2liaWxpdHkyPC9GaWx0ZXI+CiAgICAgPC9NaWRsPgorICAgIDxNaWRsIElu
Y2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXElXZWJBcHBsaWNhdGlvbkNhY2hlLmlkbCI+Cisg
ICAgICA8RmlsdGVyPklETDwvRmlsdGVyPgorICAgIDwvTWlkbD4KICAgPC9JdGVtR3JvdXA+CiAg
IDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0iSW50ZXJmYWNlc1Bvc3RCdWlsZC5jbWQi
IC8+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9X
ZWJLaXQudmN4cHJvagkocmV2aXNpb24gMTc3NDc3KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwMyw2ICsz
MDMsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXE1hcnNoYWxsaW5nSGVs
cGVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cTWVtb3J5U3Ry
ZWFtLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJBY3Rpb25Q
cm9wZXJ0eUJhZy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2Vi
QXBwbGljYXRpb25DYWNoZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3
aW5cV2ViQXJjaGl2ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5c
V2ViQmFja0ZvcndhcmRMaXN0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHdpblxXZWJDYWNoZS5jcHAiIC8+CkBAIC00NDEsNiArNDQyLDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXC4uXHdpblxNZW1vcnlTdHJlYW0uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXC4uXHdpblxQcm9nSURNYWNyb3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXC4uXHdpblxXZWJBY3Rpb25Qcm9wZXJ0eUJhZy5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cLi5cd2luXFdlYkFwcGxpY2F0aW9uQ2FjaGUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJBcmNoaXZlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlwuLlx3aW5cV2ViQmFja0ZvcndhcmRMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQ2FjaGUuaCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2ouZmls
dGVycwkocmV2aXNpb24gMTc3NDc3KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9X
ZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMjcyLDYgKzI3
MiwxMCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYkNvcmVTdXBwb3J0
XEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcCI+CiAgICAgICA8RmlsdGVyPldlYkNv
cmVTdXBwb3J0PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlx3aW5cV2ViQ29yZVN1cHBvcnRcV2ViVmlzaXRlZExpbmtTdG9yZS5jcHAiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQXBwbGljYXRpb25DYWNoZS5j
cHAiPgorICAgICAgPEZpbHRlcj5Tb3VyY2VzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAg
IDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Li5cd2luXFdlYkNvcmVTdXBwb3J0XEVtYmVkZGVkV2lkZ2V0LmgiPgpAQCAtNDk5LDkgKzUwMyw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViU2VyaWFsaXplZEpTVmFs
dWUuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cU3RvcmFnZVxXZWJTdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZXM8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJUZXh0UmVu
ZGVyZXIuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgpAQCAtNTM2LDYgKzUzNywxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Li5cd2luXFdlYkNvcmVTdXBwb3J0XEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgiPgog
ICAgICAgPEZpbHRlcj5XZWJDb3JlU3VwcG9ydDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cU3RvcmFnZVxXZWJTdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIuaCI+CisgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgorICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYkNvcmVTdXBw
b3J0XFdlYlZpc2l0ZWRMaW5rU3RvcmUuaCI+CisgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5c
d2luXFdlYkFwcGxpY2F0aW9uQ2FjaGUuaCI+CisgICAgICA8RmlsdGVyPlNvdXJjZXM8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAg
PE5vbmUgSW5jbHVkZT0iV2ViS2l0UG9zdEJ1aWxkLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE3NzUwNSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTEyLTE4ICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgV2luZG93cyB0ZXN0
cyBhZnRlciBCdWcgMTM5MTQ5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM5NzgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJBcHBsaWNhdGlvbkNhY2hlLmlkbDogQWRkZWQu
CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOiBBZGQgbmV3IElETCBmaWxlLgorICAg
ICAgICAqIFdlYkFjdGlvblByb3BlcnR5QmFnLmNwcDoKKyAgICAgICAgKFdlYkFjdGlvblByb3Bl
cnR5QmFnOjpSZWFkKTogUmVtb3ZlIG9sZCBkZWJ1Z2dpbmcgbWVzc2FnZS4KKyAgICAgICAgKiBX
ZWJBcHBsaWNhdGlvbkNhY2hlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJBcHBsaWNhdGlvbkNh
Y2hlOjpXZWJBcHBsaWNhdGlvbkNhY2hlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6
On5XZWJBcHBsaWNhdGlvbkNhY2hlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmNy
ZWF0ZUluc3RhbmNlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OlF1ZXJ5SW50ZXJm
YWNlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OkFkZFJlZik6CisgICAgICAgIChX
ZWJBcHBsaWNhdGlvbkNhY2hlOjpSZWxlYXNlKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2Fj
aGU6Om1heGltdW1TaXplKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OnNldE1heGlt
dW1TaXplKToKKyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmRlZmF1bHRPcmlnaW5RdW90
YSk6CisgICAgICAgIChXZWJBcHBsaWNhdGlvbkNhY2hlOjpzZXREZWZhdWx0T3JpZ2luUXVvdGEp
OgorICAgICAgICAoV2ViQXBwbGljYXRpb25DYWNoZTo6ZGlza1VzYWdlRm9yT3JpZ2luKToKKyAg
ICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmRlbGV0ZUFsbEFwcGxpY2F0aW9uQ2FjaGVzKToK
KyAgICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6OmRlbGV0ZUNhY2hlRm9yT3JpZ2luKToKKyAg
ICAgICAgKFdlYkFwcGxpY2F0aW9uQ2FjaGU6Om9yaWdpbnNXaXRoQ2FjaGUpOgorICAgICAgICAq
IFdlYkFwcGxpY2F0aW9uQ2FjaGUuaDogQWRkZWQuCisgICAgICAgICogV2ViS2l0Q2xhc3NGYWN0
b3J5LmNwcDogQWRkIG5ldyBpbnRlcmZhY2UgaGVhZGVyLgorCiAyMDE0LTEyLTE3ICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IHJpZCBvZiBGcmFt
ZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJBY3Rpb25Qcm9wZXJ0eUJhZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93
aW4vV2ViQWN0aW9uUHJvcGVydHlCYWcuY3BwCShyZXZpc2lvbiAxNzc0NzcpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJBY3Rpb25Qcm9wZXJ0eUJhZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
MCw3ICsxMTAsNiBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkFjdGlvblByb3BlCiAg
ICAgaWYgKCFwc3pQcm9wTmFtZSkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAotICAgIFdU
RkxvZ0Fsd2F5cygicFZhciBQb2ludGVyIFZhbHVlOiAlcCIsIHBWYXIpOwogICAgIFZhcmlhbnRD
bGVhcihwVmFyKTsKIAogICAgIGlmIChpc0VxdWFsKHBzelByb3BOYW1lLCBXZWJBY3Rpb25OYXZp
Z2F0aW9uVHlwZUtleSkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkFwcGxpY2F0aW9u
Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkFwcGxpY2F0aW9u
Q2FjaGUuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQXBwbGljYXRp
b25DYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxODEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJXZWJLaXRETEwu
aCIKKyNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlLmgiCisKKyNpbmNsdWRlICJDRkRpY3Rp
b25hcnlQcm9wZXJ0eUJhZy5oIgorI2luY2x1ZGUgIk1hcnNoYWxsaW5nSGVscGVycy5oIgorI2lu
Y2x1ZGUgIldlYlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NPTVB0ci5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbmNsdWRlIDxjb211dGlsLmg+
CisKKy8vIFdlYkFwcGxpY2F0aW9uQ2FjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1dlYkFwcGxp
Y2F0aW9uQ2FjaGU6OldlYkFwcGxpY2F0aW9uQ2FjaGUoKQorICAgIDogbV9yZWZDb3VudCgwKQor
eworICAgIGdDbGFzc0NvdW50Kys7CisgICAgZ0NsYXNzTmFtZUNvdW50KCkuYWRkKCJXZWJBcHBs
aWNhdGlvbkNhY2hlIik7Cit9CisKK1dlYkFwcGxpY2F0aW9uQ2FjaGU6On5XZWJBcHBsaWNhdGlv
bkNhY2hlKCkKK3sKKyAgICBnQ2xhc3NDb3VudC0tOworICAgIGdDbGFzc05hbWVDb3VudCgpLnJl
bW92ZSgiV2ViQXBwbGljYXRpb25DYWNoZSIpOworfQorCitXZWJBcHBsaWNhdGlvbkNhY2hlKiBX
ZWJBcHBsaWNhdGlvbkNhY2hlOjpjcmVhdGVJbnN0YW5jZSgpCit7CisgICAgV2ViQXBwbGljYXRp
b25DYWNoZSogaW5zdGFuY2UgPSBuZXcgV2ViQXBwbGljYXRpb25DYWNoZSgpOworICAgIGluc3Rh
bmNlLT5BZGRSZWYoKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKKy8vIElVbmtub3duIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworSFJFU1VMVCBXZWJBcHBsaWNhdGlvbkNhY2hlOjpRdWVyeUludGVyZmFjZShS
RUZJSUQgcmlpZCwgdm9pZCoqIHBwdk9iamVjdCkKK3sKKyAgICAqcHB2T2JqZWN0ID0gMDsKKyAg
ICBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lVbmtub3duKSkKKyAgICAgICAgKnBwdk9iamVj
dCA9IHN0YXRpY19jYXN0PFdlYkFwcGxpY2F0aW9uQ2FjaGUqPih0aGlzKTsKKyAgICBlbHNlIGlm
IChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVdlYkFwcGxpY2F0aW9uQ2FjaGUpKQorICAgICAgICAq
cHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8V2ViQXBwbGljYXRpb25DYWNoZSo+KHRoaXMpOworICAg
IGVsc2UKKyAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7CisKKyAgICBBZGRSZWYoKTsKKyAg
ICByZXR1cm4gU19PSzsKK30KKworVUxPTkcgV2ViQXBwbGljYXRpb25DYWNoZTo6QWRkUmVmKHZv
aWQpCit7CisgICAgcmV0dXJuICsrbV9yZWZDb3VudDsKK30KKworVUxPTkcgV2ViQXBwbGljYXRp
b25DYWNoZTo6UmVsZWFzZSh2b2lkKQoreworICAgIFVMT05HIG5ld1JlZiA9IC0tbV9yZWZDb3Vu
dDsKKyAgICBpZiAoIW5ld1JlZikKKyAgICAgICAgZGVsZXRlKHRoaXMpOworCisgICAgcmV0dXJu
IG5ld1JlZjsKK30KKworLy8gSVdlYkFwcGxpY2F0aW9uQ2FjaGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisKK0hSRVNVTFQgV2ViQXBwbGljYXRpb25DYWNoZTo6bWF4aW11bVNpemUobG9uZyBsb25n
KiBzaXplKQoreworICAgIGlmICghc2l6ZSkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKwor
ICAgICpzaXplID0gV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkubWF4aW11bVNpemUoKTsKKyAgICBy
ZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJBcHBsaWNhdGlvbkNhY2hlOjpzZXRNYXhpbXVt
U2l6ZShsb25nIGxvbmcgc2l6ZSkKK3sKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5kZWxl
dGVBbGxFbnRyaWVzKCk7CisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc2V0TWF4aW11bVNp
emUoc2l6ZSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViQXBwbGljYXRpb25D
YWNoZTo6ZGVmYXVsdE9yaWdpblF1b3RhKGxvbmcgbG9uZyogcXVvdGEpCit7CisgICAgaWYgKCFx
dW90YSkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKworICAgICpxdW90YSA9IFdlYkNvcmU6
OmNhY2hlU3RvcmFnZSgpLmRlZmF1bHRPcmlnaW5RdW90YSgpOworICAgIHJldHVybiBTX09LOwor
fQorCitIUkVTVUxUIFdlYkFwcGxpY2F0aW9uQ2FjaGU6OnNldERlZmF1bHRPcmlnaW5RdW90YShs
b25nIGxvbmcgcXVvdGEpCit7CisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc2V0RGVmYXVs
dE9yaWdpblF1b3RhKHF1b3RhKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJB
cHBsaWNhdGlvbkNhY2hlOjpkaXNrVXNhZ2VGb3JPcmlnaW4oSVdlYlNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4sIGxvbmcgbG9uZyogc2l6ZSkKK3sKKyAgICBpZiAoIW9yaWdpbiB8fCAhc2l6ZSkKKyAg
ICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKworICAgIENPTVB0cjxXZWJTZWN1cml0eU9yaWdpbj4g
d2ViU2VjdXJpdHlPcmlnaW4oUXVlcnksIG9yaWdpbik7CisgICAgaWYgKCF3ZWJTZWN1cml0eU9y
aWdpbikKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgICpzaXplID0gV2ViQ29yZTo6QXBw
bGljYXRpb25DYWNoZTo6ZGlza1VzYWdlRm9yT3JpZ2luKHdlYlNlY3VyaXR5T3JpZ2luLT5zZWN1
cml0eU9yaWdpbigpKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJBcHBsaWNh
dGlvbkNhY2hlOjpkZWxldGVBbGxBcHBsaWNhdGlvbkNhY2hlcygpCit7CisgICAgV2ViQ29yZTo6
QXBwbGljYXRpb25DYWNoZTo6ZGVsZXRlQWxsQ2FjaGVzKCk7CisgICAgcmV0dXJuIFNfT0s7Cit9
CisKKworSFJFU1VMVCBXZWJBcHBsaWNhdGlvbkNhY2hlOjpkZWxldGVDYWNoZUZvck9yaWdpbihJ
V2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKK3sKKyAgICBpZiAoIW9yaWdpbikKKyAgICAgICAg
cmV0dXJuIEVfUE9JTlRFUjsKKworICAgIENPTVB0cjxXZWJTZWN1cml0eU9yaWdpbj4gd2ViU2Vj
dXJpdHlPcmlnaW4oUXVlcnksIG9yaWdpbik7CisgICAgaWYgKCF3ZWJTZWN1cml0eU9yaWdpbikK
KyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGU6
OmRlbGV0ZUNhY2hlRm9yT3JpZ2luKHdlYlNlY3VyaXR5T3JpZ2luLT5zZWN1cml0eU9yaWdpbigp
KTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJBcHBsaWNhdGlvbkNhY2hlOjpv
cmlnaW5zV2l0aENhY2hlKElQcm9wZXJ0eUJhZyoqIG9yaWdpbnMpCit7CisgICAgaWYgKCFvcmln
aW5zKQorICAgICAgICByZXR1cm4gRV9QT0lOVEVSOworCisgICAgSGFzaFNldDxSZWZQdHI8V2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4+PiBjb3JlT3JpZ2luczsKKyAgICBXZWJDb3JlOjpjYWNoZVN0
b3JhZ2UoKS5nZXRPcmlnaW5zV2l0aENhY2hlKGNvcmVPcmlnaW5zKTsKKworICAgIFJldGFpblB0
cjxDRk11dGFibGVBcnJheVJlZj4gYXJyYXlJdGVtID0gYWRvcHRDRihDRkFycmF5Q3JlYXRlTXV0
YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBjb3JlT3JpZ2lucy5zaXplKCksICZNYXJzaGFsbGlu
Z0hlbHBlcnM6OmtJVW5rbm93bkFycmF5Q2FsbEJhY2tzKSk7CisKKyAgICBmb3IgKGF1dG8gaXQg
OiBjb3JlT3JpZ2lucykKKyAgICAgICAgQ0ZBcnJheUFwcGVuZFZhbHVlKGFycmF5SXRlbS5nZXQo
KSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUluc3Rh
bmNlKCYoKml0KSkpKTsKKworICAgIFJldGFpblB0cjxDRk11dGFibGVEaWN0aW9uYXJ5UmVmPiBk
aWN0aW9uYXJ5ID0gYWRvcHRDRigKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgw
LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZh
bHVlQ2FsbEJhY2tzKSk7CisKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGtleSA9IGFkb3B0
Q0YoTWFyc2hhbGxpbmdIZWxwZXJzOjpCU1RSVG9DRlN0cmluZ1JlZihfYnN0cl90KEwib3JpZ2lu
cyIpKSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5nZXQoKSwga2V5Lmdl
dCgpLCBhcnJheUl0ZW0uZ2V0KCkpOworCisgICAgQ09NUHRyPENGRGljdGlvbmFyeVByb3BlcnR5
QmFnPiByZXN1bHQgPSBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZzo6Y3JlYXRlSW5zdGFuY2UoKTsK
KyAgICByZXN1bHQtPnNldERpY3Rpb25hcnkoZGljdGlvbmFyeS5nZXQoKSk7CisgICAgKm9yaWdp
bnMgPSByZXN1bHQubGVha1JlZigpOworCisgICAgcmV0dXJuIFNfT0s7Cit9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYktpdC93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgV2ViQXBwbGljYXRpb25DYWNoZV9oCisjZGVmaW5lIFdlYkFwcGxpY2F0aW9uQ2Fj
aGVfaAorCisjaW5jbHVkZSAiV2ViS2l0LmgiCisKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGUg
OiBwdWJsaWMgSVdlYkFwcGxpY2F0aW9uQ2FjaGUgeworcHVibGljOgorICAgIHN0YXRpYyBXZWJB
cHBsaWNhdGlvbkNhY2hlKiBjcmVhdGVJbnN0YW5jZSgpOworcHJvdGVjdGVkOgorICAgIFdlYkFw
cGxpY2F0aW9uQ2FjaGUoKTsKKyAgICB+V2ViQXBwbGljYXRpb25DYWNoZSgpOworCitwdWJsaWM6
CisgICAgLy8gSVVua25vd24KKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
UXVlcnlJbnRlcmZhY2UoUkVGSUlEIHJpaWQsIHZvaWQqKiBwcHZPYmplY3QpOworICAgIHZpcnR1
YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKHZvaWQpOworICAgIHZpcnR1YWwgVUxP
TkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSh2b2lkKTsKKworICAgIC8vIElXZWJBcHBsaWNh
dGlvbkNhY2hlCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1heGltdW1T
aXplKC8qW291dCwgcmV0dmFsXSovIGxvbmcgbG9uZyopOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRNYXhpbXVtU2l6ZSgvKltpbl0qLyBsb25nIGxvbmcpOworCisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRlZmF1bHRPcmlnaW5RdW90YSgv
KltvdXQsIHJldHZhbF0qLyBsb25nIGxvbmcqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0RGVmYXVsdE9yaWdpblF1b3RhKC8qW2luXSovIGxvbmcgbG9uZyk7CisK
KyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlza1VzYWdlRm9yT3JpZ2lu
KC8qW2luXSovIElXZWJTZWN1cml0eU9yaWdpbiosIC8qW291dCwgcmV0dmFsXSovIGxvbmcgbG9u
ZyopOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRlbGV0ZUFsbEFw
cGxpY2F0aW9uQ2FjaGVzKCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGRlbGV0ZUNhY2hlRm9yT3JpZ2luKC8qW2luXSovIElXZWJTZWN1cml0eU9yaWdpbiopOworCisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG9yaWdpbnNXaXRoQ2FjaGUoLypb
b3V0LCByZXR2YWxdKi8gSVByb3BlcnR5QmFnKiopOworCitwcm90ZWN0ZWQ6CisgICAgVUxPTkcg
bV9yZWZDb3VudDsKK307CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0
Q2xhc3NGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRD
bGFzc0ZhY3RvcnkuY3BwCShyZXZpc2lvbiAxNzc0NzcpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJLaXRDbGFzc0ZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDE0IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2luY2x1ZGUgIkNGRGljdGlvbmFyeVByb3BlcnR5QmFnLmgiCiAjaW5jbHVk
ZSAiRm9yRWFjaENvQ2xhc3MuaCIKKyNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlLmgiCiAj
aW5jbHVkZSAiV2ViQXJjaGl2ZS5oIgogI2luY2x1ZGUgIldlYkNhY2hlLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZVN0YXRpc3RpY3MuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMv
SVdlYkFwcGxpY2F0aW9uQ2FjaGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYkFwcGxpY2F0aW9uQ2FjaGUuaWRsCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQXBwbGljYXRpb25DYWNoZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBET19OT19JTVBPUlRTCitpbXBvcnQgIm9haWRsLmlk
bCI7CitpbXBvcnQgIm9jaWRsLmlkbCI7CisjZW5kaWYKKworaW50ZXJmYWNlIElXZWJTZWN1cml0
eU9yaWdpbjsKKworI2lmbmRlZiBET19OT19JTVBPUlRTCitpbXBvcnQgIklXZWJTZWN1cml0eU9y
aWdpbi5pZGwiOworI2VuZGlmCisKK1sKKyAgICBvYmplY3QsCisgICAgb2xlYXV0b21hdGlvbiwK
KyAgICBoaWRkZW4sCisgICAgdXVpZChENTc2MkVCQy1CNzEyLTRDOTktQkJGNS0yMjBGRjREQzhE
RjUpLAorICAgIHBvaW50ZXJfZGVmYXVsdCh1bmlxdWUpCitdCitpbnRlcmZhY2UgSVdlYkFwcGxp
Y2F0aW9uQ2FjaGUgOiBJVW5rbm93bgoreworICAgIEhSRVNVTFQgbWF4aW11bVNpemUoW291dCwg
cmV0dmFsXSBsb25nIGxvbmcqKTsKKyAgICBIUkVTVUxUIHNldE1heGltdW1TaXplKFtpbl0gbG9u
ZyBsb25nKTsKKworICAgIEhSRVNVTFQgZGVmYXVsdE9yaWdpblF1b3RhKFtvdXQsIHJldHZhbF0g
bG9uZyBsb25nKik7CisgICAgSFJFU1VMVCBzZXREZWZhdWx0T3JpZ2luUXVvdGEoW2luXSBsb25n
IGxvbmcpOworCisgICAgSFJFU1VMVCBkaXNrVXNhZ2VGb3JPcmlnaW4oW2luXSBJV2ViU2VjdXJp
dHlPcmlnaW4qLCBbb3V0LCByZXR2YWxdIGxvbmcgbG9uZyopOworCisgICAgSFJFU1VMVCBkZWxl
dGVBbGxBcHBsaWNhdGlvbkNhY2hlcygpOworICAgIEhSRVNVTFQgZGVsZXRlQ2FjaGVGb3JPcmln
aW4oW2luXSBJV2ViU2VjdXJpdHlPcmlnaW4qKTsKKworICAgIEhSRVNVTFQgb3JpZ2luc1dpdGhD
YWNoZShbb3V0LCByZXR2YWxdIElQcm9wZXJ0eUJhZyoqKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDE3NzQ3NykKKysrIFNvdXJjZS9X
ZWJLaXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNzAsNiAr
NzAsNyBAQCBpbXBvcnQgIkFjY2Vzc2libGVBcHBsaWNhdGlvbi5pZGwiOwogI2luY2x1ZGUgIkRP
TVByaXZhdGUuaWRsIgogI2luY2x1ZGUgIkRPTVJhbmdlLmlkbCIKICNpbmNsdWRlICJET01XaW5k
b3cuaWRsIgorI2luY2x1ZGUgIklXZWJBcHBsaWNhdGlvbkNhY2hlLmlkbCIKICNpbmNsdWRlICJJ
V2ViQXJjaGl2ZS5pZGwiCiAjaW5jbHVkZSAiSVdlYkJhY2tGb3J3YXJkTGlzdC5pZGwiCiAjaW5j
bHVkZSAiSVdlYkJhY2tGb3J3YXJkTGlzdFByaXZhdGUuaWRsIgpAQCAtMTk1LDYgKzE5NiwxMSBA
QCBsaWJyYXJ5IFdlYktpdAogICAgICAgICBbZGVmYXVsdF0gaW50ZXJmYWNlIElXZWJIaXN0b3J5
SXRlbTsKICAgICB9CiAKKyAgICBbdXVpZCgxMTE5RTk3MC00YjEzLTRiOWEtYTA0OS00MTA5NjEw
NGI2ODkpXQorICAgIGNvY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZSB7CisgICAgICAgIFtkZWZh
dWx0XSBpbnRlcmZhY2UgSVdlYkFwcGxpY2F0aW9uQ2FjaGU7CisgICAgfQorCiAgICAgW3V1aWQo
ZjcxMDcxZmQtYTUxYi00YjY5LTllYjYtNDQzNzQ0MDVlODBjKV0KICAgICBjb2NsYXNzIFdlYkNh
Y2hlIHsKICAgICAgICAgW2RlZmF1bHRdIGludGVyZmFjZSBJV2ViQ2FjaGU7Cg==
</data>
<flag name="review"
          id="268399"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>