<?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>100695</bug_id>
          
          <creation_ts>2012-10-29 13:47:35 -0700</creation_ts>
          <short_desc>Web Inspector: Output code evaluated in the console the same as console.log</short_desc>
          <delta_ts>2012-11-01 05:17:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">me</reporter>
          <assigned_to name="Nikita Vasilyev">me</assigned_to>
          <cc>apavlov</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>paulirish</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>753724</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2012-10-29 13:47:35 -0700</bug_when>
    <thetext>console.log shows a nice summary of an object:

&gt; obj = {x: 1}
&gt; console.log(obj)
Object {x: 1}

Just typing a variable name in the console shows it the old uninformative way:

&gt; obj
Object

I expect it to work the same as console.log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754031</commentid>
    <comment_count>1</comment_count>
      <attachid>171382</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-30 00:39:38 -0700</bug_when>
    <thetext>Created attachment 171382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754033</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 00:42:06 -0700</bug_when>
    <thetext>Attachment 171382 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/inspector/InjectedScript.cpp:64:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:75:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:86:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InspectorDebuggerAgent.h:110:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:61:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 13 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>754124</commentid>
    <comment_count>3</comment_count>
      <attachid>171382</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 02:41:05 -0700</bug_when>
    <thetext>Comment on attachment 171382
Patch

Attachment 171382 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14632417

New failing tests:
inspector/console/console-eval-global.html
inspector/debugger/event-listener-breakpoints.html
inspector/debugger/eval-on-pause-blocked.html
inspector/debugger/debugger-eval-while-paused.html
inspector/debugger/debugger-no-nested-pause.html
inspector/console/command-line-api-inspect.html
http/tests/inspector/network/network-initiator-from-console.html
inspector/console/console-api-on-call-frame.html
inspector/console/console-format.html
http/tests/inspector/console-cd-completions.html
inspector/debugger/debugger-eval-on-call-frame.html
inspector/console/command-line-api.html
inspector/console/console-eval-undefined-override.html
inspector/debugger/debugger-suspend-active-dom-objects.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754177</commentid>
    <comment_count>4</comment_count>
      <attachid>171382</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-30 03:53:28 -0700</bug_when>
    <thetext>Comment on attachment 171382
Patch

Attachment 171382 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14625529

New failing tests:
inspector/console/console-eval-global.html
inspector/console/console-api-on-call-frame.html
inspector/debugger/eval-on-pause-blocked.html
inspector/debugger/debugger-no-nested-pause.html
inspector/console/command-line-api-inspect.html
inspector/debugger/disable-script.html
http/tests/inspector/network/network-initiator-from-console.html
inspector/debugger/debugger-eval-while-paused.html
inspector/console/console-format.html
inspector/debugger/function-details.html
inspector/console/console-eval-undefined-override.html
inspector/debugger/debugger-eval-on-call-frame.html
inspector/console/command-line-api.html
inspector/debugger/debugger-suspend-active-dom-objects.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755176</commentid>
    <comment_count>5</comment_count>
      <attachid>171382</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-31 05:11:05 -0700</bug_when>
    <thetext>Comment on attachment 171382
Patch

You probably want to rebaseline some tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755340</commentid>
    <comment_count>6</comment_count>
      <attachid>171666</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-31 08:45:50 -0700</bug_when>
    <thetext>Created attachment 171666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755342</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 08:47:38 -0700</bug_when>
    <thetext>Attachment 171666 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/inspector/console/command-line...&quot; exit_code: 1
Source/WebCore/inspector/InjectedScript.cpp:64:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:75:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:86:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:61:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InspectorDebuggerAgent.h:110:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 22 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>755346</commentid>
    <comment_count>8</comment_count>
      <attachid>171668</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-31 08:48:48 -0700</bug_when>
    <thetext>Created attachment 171668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755348</commentid>
    <comment_count>9</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-31 08:49:26 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 171382 [details])
&gt; You probably want to rebaseline some tests.

Indeed. Updated expectations to include object preview for evaluation results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755351</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 08:50:59 -0700</bug_when>
    <thetext>Attachment 171668 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/insp...&quot; exit_code: 1
Source/WebCore/inspector/InjectedScript.cpp:64:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:75:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:86:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:61:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InspectorDebuggerAgent.h:110:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 23 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>755520</commentid>
    <comment_count>11</comment_count>
      <attachid>171668</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-31 12:01:18 -0700</bug_when>
    <thetext>Comment on attachment 171668
Patch

Attachment 171668 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14656247

New failing tests:
http/tests/inspector/network/network-initiator-from-console.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755980</commentid>
    <comment_count>12</comment_count>
      <attachid>171792</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-01 01:29:58 -0700</bug_when>
    <thetext>Created attachment 171792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755983</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 01:33:19 -0700</bug_when>
    <thetext>Attachment 171792 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/http...&quot; exit_code: 1
Source/WebCore/inspector/InjectedScript.cpp:64:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:75:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.cpp:86:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:61:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InjectedScript.h:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/inspector/InspectorDebuggerAgent.h:110:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 24 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>756068</commentid>
    <comment_count>14</comment_count>
      <attachid>171792</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-01 04:10:46 -0700</bug_when>
    <thetext>Comment on attachment 171792
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:358
&gt; +    useArrayPreviewInFormatter: function(array)

Please annotate this method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756110</commentid>
    <comment_count>15</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-01 05:16:20 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 171792 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171792&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:358
&gt; &gt; +    useArrayPreviewInFormatter: function(array)
&gt; 
&gt; Please annotate this method.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756111</commentid>
    <comment_count>16</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-01 05:17:26 -0700</bug_when>
    <thetext>Committed r133150: &lt;http://trac.webkit.org/changeset/133150&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171382</attachid>
            <date>2012-10-30 00:39:38 -0700</date>
            <delta_ts>2012-10-31 08:45:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100695-20121030113802.patch</filename>
            <type>text/plain</type>
            <size>26892</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZkNmYzZWQwYWUyNWIz
MDQwZTFhMTA2MGU2NWY4MGM2NWE4YzBiZC4uZGFmMDUwZDZlNWVjYWJhZTk4M2EwYjg5MjA0MjIx
ZWFlZWM1MTZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTMwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE91dHB1dCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSB0aGUgc2FtZSBhcyBjb25z
b2xlLmxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYW4gb3B0aW9uIHRvIHJldHVybiBvYmplY3QgcHJldmlldyBmcm9tIGV2YWx1YXRpb24g
Y29tbWFuZHMgaW4gdGhlIHByb3RvY29sLgorICAgICAgICBUaGUgb3B0aW9uIGlzIHVzZWQgdG8g
Z2VuZXJhdGUgcHJldmlldyBmb3IgY29uc29sZSBldmFsIHJlc3VsdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRT
Y3JpcHQ6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0OjpjYWxs
RnVuY3Rpb25Pbik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVP
bkNhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAg
ICAgIChJbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzOgorICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJh
bWUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAg
ICAgIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVB
Z2VudDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUnVudGltZUFnZW50
OjpjYWxsRnVuY3Rpb25Pbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lv
blNlcnZlci5wcm90b3R5cGUuZXZhbHVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvUnVudGltZU1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5w
cm90b3R5cGUuZXZhbHVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hF
eHByZXNzaW9uc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhw
cmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUpOgorCiAyMDEyLTEwLTI5ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYSB0eXBvIHRoYXQgY2F1c2Vk
IFNWRyBleHRlcm5hbCByZXNvdXJjZXMgdG8gYmUgYmxvY2tlZCBvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKaW5kZXggNjdkZDM5ZTkwNzliZjdmMTMwOWQ0
MjQ2YWY0NmI4ZDNiNzE0NmM3ZC4uNTNmMTNlMDMzYzExMjY0MTgzYTI5YTc3MmUwNTYyZjU4ZWI5
MjFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBA
IC02MSwyNyArNjEsMjkgQEAgSW5qZWN0ZWRTY3JpcHQ6OkluamVjdGVkU2NyaXB0KFNjcmlwdE9i
amVjdCBpbmplY3RlZFNjcmlwdE9iamVjdCwgSW5zcGVjdGVkU3RhdGUKIHsKIH0KIAotdm9pZCBJ
bmplY3RlZFNjcmlwdDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIGJvb2wgaW5jbHVk
ZUNvbW1hbmRMaW5lQVBJLCBib29sIHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6
UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJv
b2w+KiB3YXNUaHJvd24pCit2b2lkIEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZShFcnJvclN0cmlu
ZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBv
YmplY3RHcm91cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1
ZSwgYm9vbCBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVt
b3RlT2JqZWN0PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJv
d24pCiB7CiAgICAgU2NyaXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2Jq
ZWN0KCksICJldmFsdWF0ZSIpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4cHJlc3Np
b24pOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KG9iamVjdEdyb3VwKTsKICAgICBmdW5j
dGlvbi5hcHBlbmRBcmd1bWVudChpbmNsdWRlQ29tbWFuZExpbmVBUEkpOwogICAgIGZ1bmN0aW9u
LmFwcGVuZEFyZ3VtZW50KHJldHVybkJ5VmFsdWUpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3Vt
ZW50KGdlbmVyYXRlUHJldmlldyk7CiAgICAgbWFrZUV2YWxDYWxsKGVycm9yU3RyaW5nLCBmdW5j
dGlvbiwgcmVzdWx0LCB3YXNUaHJvd24pOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0OjpjYWxs
RnVuY3Rpb25PbihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0
SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsIGJv
b2wgcmV0dXJuQnlWYWx1ZSwgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmpl
Y3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKK3Zv
aWQgSW5qZWN0ZWRTY3JpcHQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmlu
ZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25z
dCBTdHJpbmcmIGFyZ3VtZW50cywgYm9vbCByZXR1cm5CeVZhbHVlLCBib29sIGdlbmVyYXRlUHJl
dmlldywgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQs
IFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRG
dW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImNhbGxGdW5jdGlv
bk9uIik7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOwogICAgIGZ1bmN0
aW9uLmFwcGVuZEFyZ3VtZW50KGV4cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3Vt
ZW50KGFyZ3VtZW50cyk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQocmV0dXJuQnlWYWx1
ZSk7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoZ2VuZXJhdGVQcmV2aWV3KTsKICAgICBt
YWtlRXZhbENhbGwoZXJyb3JTdHJpbmcsIGZ1bmN0aW9uLCByZXN1bHQsIHdhc1Rocm93bik7CiB9
CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcq
IGVycm9yU3RyaW5nLCBjb25zdCBTY3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5n
JiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9i
amVjdEdyb3VwLCBib29sIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgYm9vbCByZXR1cm5CeVZhbHVl
LCBSZWZQdHI8UmVtb3RlT2JqZWN0PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJv
b2w+KiB3YXNUaHJvd24pCit2b2lkIEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZU9uQ2FsbEZyYW1l
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU2NyaXB0VmFsdWUmIGNhbGxGcmFtZXMs
IGNvbnN0IFN0cmluZyYgY2FsbEZyYW1lSWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29u
c3QgU3RyaW5nJiBvYmplY3RHcm91cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wg
cmV0dXJuQnlWYWx1ZSwgYm9vbCBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxSZW1vdGVPYmplY3Q+
KiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAg
ICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImV2
YWx1YXRlT25DYWxsRnJhbWUiKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJh
bWVzKTsKQEAgLTkwLDYgKzkyLDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVPbkNh
bGxGcmFtZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFNjcmlwdFYKICAgICBmdW5j
dGlvbi5hcHBlbmRBcmd1bWVudChvYmplY3RHcm91cCk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJn
dW1lbnQoaW5jbHVkZUNvbW1hbmRMaW5lQVBJKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVu
dChyZXR1cm5CeVZhbHVlKTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVBy
ZXZpZXcpOwogICAgIG1ha2VFdmFsQ2FsbChlcnJvclN0cmluZywgZnVuY3Rpb24sIHJlc3VsdCwg
d2FzVGhyb3duKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aAppbmRleCA4YTZmMzNiMTZlMDkzNGUwYzExZDkzNDVjZDNjNTY0M2M3OTBmNWZiLi5kZDljMjk5
MjBhOGQzNDRjODcwM2JjY2ZmODQ1ODNjODZhMzQxYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICAgICAgICBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLAogICAgICAgICAgICAgICAgICAg
Ym9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksCiAgICAgICAgICAgICAgICAgICBib29sIHJldHVy
bkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAg
ICAgICAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0Piog
cmVzdWx0LAogICAgICAgICAgICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiog
d2FzVGhyb3duKTsKICAgICB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwKQEAgLTY1
LDYgKzY2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5n
JiBleHByZXNzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBhcmd1
bWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVz
dWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29s
Piogd2FzVGhyb3duKTsKICAgICB2b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcq
LApAQCAtNzQsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
Z2VuZXJhdGVQcmV2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZQdHI8VHlw
ZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4qIHJlc3VsdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsK
ICAgICB2b2lkIHJlc3RhcnRGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFNjcmlwdFZhbHVlJiBj
YWxsRnJhbWVzLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiogcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdFNvdXJjZS5qcwppbmRleCBlY2Y2NmFmMDg1NWU1ZWY4NjM1NjI5ZDFkMjEwYzYyMTJiOGJm
MDBkLi44MjMzZmEzMjg2MTBjNTRlZmI3Mzk4NjhmNjBlNDg2YzhlMTk2NGM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0zOTMs
MTEgKzM5MywxMiBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFt
IHtzdHJpbmd9IG9iamVjdEdyb3VwCiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21t
YW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAq
IEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAg
ICAgKi8KLSAgICBldmFsdWF0ZTogZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlu
amVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlKQorICAgIGV2YWx1YXRlOiBmdW5jdGlv
bihleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5
VmFsdWUsIGdlbmVyYXRlUHJldmlldykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmFs
dWF0ZUFuZFdyYXAoSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhv
c3QsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEks
IHJldHVybkJ5VmFsdWUpOworICAgICAgICByZXR1cm4gdGhpcy5fZXZhbHVhdGVBbmRXcmFwKElu
amVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSwgSW5qZWN0ZWRTY3JpcHRIb3N0LCBleHByZXNzaW9u
LCBvYmplY3RHcm91cCwgZmFsc2UsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVl
LCBnZW5lcmF0ZVByZXZpZXcpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTQ1NSwxMyArNDU2LDE0
IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IGlzRXZhbE9uQ2FsbEZyYW1lCiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5k
TGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBw
YXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAg
Ki8KLSAgICBfZXZhbHVhdGVBbmRXcmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwg
ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5k
TGluZUFQSSwgcmV0dXJuQnlWYWx1ZSkKKyAgICBfZXZhbHVhdGVBbmRXcmFwOiBmdW5jdGlvbihl
dmFsRnVuY3Rpb24sIG9iamVjdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlzRXZhbE9uQ2Fs
bEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2
aWV3KQogICAgIHsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIHJldHVybiB7IHdhc1Rocm93
bjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3Qo
dGhpcy5fZXZhbHVhdGVPbihldmFsRnVuY3Rpb24sIG9iamVjdCwgb2JqZWN0R3JvdXAsIGV4cHJl
c3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdy
b3VwLCByZXR1cm5CeVZhbHVlLCBmYWxzZSkgfTsKKyAgICAgICAgICAgICAgICAgICAgIHJlc3Vs
dDogdGhpcy5fd3JhcE9iamVjdCh0aGlzLl9ldmFsdWF0ZU9uKGV2YWxGdW5jdGlvbiwgb2JqZWN0
LCBvYmplY3RHcm91cCwgZXhwcmVzc2lvbiwgaXNFdmFsT25DYWxsRnJhbWUsIGluamVjdENvbW1h
bmRMaW5lQVBJKSwgb2JqZWN0R3JvdXAsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykg
fTsKICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0
ZVRocm93blZhbHVlKGUsIG9iamVjdEdyb3VwKTsKICAgICAgICAgfQpAQCAtNTM3LDkgKzUzOSwx
MCBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9
IG9iamVjdEdyb3VwCiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQ
SQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7
Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAg
ICBldmFsdWF0ZU9uQ2FsbEZyYW1lOiBmdW5jdGlvbih0b3BDYWxsRnJhbWUsIGNhbGxGcmFtZUlk
LCBleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5
VmFsdWUpCisgICAgZXZhbHVhdGVPbkNhbGxGcmFtZTogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBj
YWxsRnJhbWVJZCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJ
LCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgY2Fs
bEZyYW1lID0gdGhpcy5fY2FsbEZyYW1lRm9ySWQodG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCk7
CiAgICAgICAgIGlmICghY2FsbEZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCmluZGV4IGU2MTU3ZGM3YmExN2Y1ZjRhYjJlZDYzYzNmY2NhOWY0ZjFlNjk4NDIuLmUz
MTBjMjBlYjk3MGQ3MmVkM2ViMzIxYTcwNjBhODZkNDEyMjY4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTU2MCw3ICs1NjAsOCBAQAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImluY2x1ZGVDb21tYW5kTGluZUFQSSIsICJ0eXBlIjogImJvb2xl
YW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRGV0ZXJtaW5lcyB3aGV0aGVy
IENvbW1hbmQgTGluZSBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBkdXJpbmcgdGhlIGV2YWx1YXRp
b24uIiwgImhpZGRlbiI6IHRydWUgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGV2YWx1
YXRpb24gc2hvdWxkIHN0b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlk
ZXMgc2V0UGF1c2VPbkV4Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAogICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImNvbnRleHRJZCIsICIkcmVmIjogIlJ1bnRpbWUuRXhl
Y3V0aW9uQ29udGV4dElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNp
ZmllcyBpbiB3aGljaCBpc29sYXRlZCBjb250ZXh0IHRvIHBlcmZvcm0gZXZhbHVhdGlvbi4gRWFj
aCBjb250ZW50IHNjcmlwdCBsaXZlcyBpbiBhbiBpc29sYXRlZCBjb250ZXh0IGFuZCB0aGlzIHBh
cmFtZXRlciBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvZiB0aG9zZSBjb250ZXh0cy4gSWYg
dGhlIHBhcmFtZXRlciBpcyBvbWl0dGVkIG9yIDAgdGhlIGV2YWx1YXRpb24gd2lsbCBiZSBwZXJm
b3JtZWQgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGluc3BlY3RlZCBwYWdlLiIsICJoaWRkZW4iOiB0
cnVlIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmV0dXJuQnlWYWx1ZSIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhl
ciB0aGUgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGJlIGEgSlNPTiBvYmplY3QgdGhhdCBzaG91bGQg
YmUgc2VudCBieSB2YWx1ZS4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1
cm5CeVZhbHVlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJXaGV0aGVyIHRoZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVj
dCB0aGF0IHNob3VsZCBiZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJnZW5lcmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImhpZGRlbiI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcg
c2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBd
LAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInJlc3VsdCIsICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJF
dmFsdWF0aW9uIHJlc3VsdC4iIH0sCkBAIC01NzUsNyArNTc2LDggQEAKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJmdW5jdGlvbkRlY2xhcmF0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIkRlY2xhcmF0aW9uIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLiIgfSwK
ICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJh
eSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiQ2FsbEFyZ3VtZW50IiwgImRlc2NyaXB0aW9uIjogIkNh
bGwgYXJndW1lbnQuIiB9LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ2FsbCBh
cmd1bWVudHMuIEFsbCBjYWxsIGFyZ3VtZW50cyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBKYXZh
U2NyaXB0IHdvcmxkIGFzIHRoZSB0YXJnZXQgb2JqZWN0LiIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmll
cyB3aGV0aGVyIGZ1bmN0aW9uIGNhbGwgc2hvdWxkIHN0b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0
ZSBjb25zb2xlLiBPdmVycmlkZXMgc2V0UGF1c2VPbkV4Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVu
IjogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUi
LCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldo
ZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNo
b3VsZCBiZSBzZW50IGJ5IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJldHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04g
b2JqZWN0IHdoaWNoIHNob3VsZCBiZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJnZW5lcmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImhpZGRlbiI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHBy
ZXZpZXcgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlc3VsdCIsICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlv
biI6ICJDYWxsIHJlc3VsdC4iIH0sCkBAIC0yNzM2LDcgKzI3MzgsOCBAQAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm9iamVjdEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlN0cmluZyBvYmplY3QgZ3JvdXAgbmFtZSB0byBw
dXQgcmVzdWx0IGludG8gKGFsbG93cyByYXBpZCByZWxlYXNpbmcgcmVzdWx0aW5nIG9iamVjdCBo
YW5kbGVzIHVzaW5nIDxjb2RlPnJlbGVhc2VPYmplY3RHcm91cDwvY29kZT4pLiIgfSwKICAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbmNsdWRlQ29tbWFuZExpbmVBUEkiLCAidHlwZSI6
ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3
aGV0aGVyIGNvbW1hbmQgbGluZSBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSB0byB0aGUgZXZhbHVh
dGVkIGV4cHJlc3Npb24sIGRlZmF1bHRzIHRvIGZhbHNlLiIsICJoaWRkZW4iOiB0cnVlIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11
dGVDb25zb2xlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJTcGVjaWZpZXMgd2hldGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2Vw
dGlvbnMgYW5kIG11dGUgY29uc29sZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3Rh
dGUuIiwgImhpZGRlbiI6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJy
ZXR1cm5CeVZhbHVlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJXaGV0aGVyIHRoZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9i
amVjdCB0aGF0IHNob3VsZCBiZSBzZW50IGJ5IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0
byBiZSBhIEpTT04gb2JqZWN0IHRoYXQgc2hvdWxkIGJlIHNlbnQgYnkgdmFsdWUuIiB9LAorICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImdlbmVyYXRlUHJldmlldyIsICJ0eXBlIjogImJv
b2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiaGlkZGVuIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjog
IldoZXRoZXIgcHJldmlldyBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGUgcmVzdWx0LiIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzdWx0IiwgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVP
YmplY3QiLCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0IHdyYXBwZXIgZm9yIHRoZSBldmFsdWF0aW9u
IHJlc3VsdC4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggMDk1MWEzZTc2MDRjZjBkZmM4ZjgwMzRkZjhhZGFlMTRm
MDViZTY0OC4uNjNiODM2ODVjNzhmNGQwYmQ3OTAyZDQ3OWViOGI0OWIwNDJmYTE1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cApAQCAtNTAwLDcgKzUwMCw3IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0UGF1
c2VPbkV4Y2VwdGlvbnNJbXBsKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywKICAgICAgICAgbV9z
dGF0ZS0+c2V0TG9uZyhEZWJ1Z2dlckFnZW50U3RhdGU6OnBhdXNlT25FeGNlcHRpb25zU3RhdGUs
IHBhdXNlU3RhdGUpOwogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRl
T25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGNhbGxG
cmFtZUlkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2Jq
ZWN0R3JvdXAsIGNvbnN0IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3Qg
Ym9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBi
b29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhy
b3duKQordm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVy
cm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3Qg
U3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25z
dCBib29sKiBjb25zdCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRv
Tm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgY29uc3QgYm9vbCogY29uc3QgcmV0
dXJuQnlWYWx1ZSwgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxk
ZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1
dDxib29sPiogd2FzVGhyb3duKQogewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0
ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0Rm9yT2JqZWN0SWQoY2Fs
bEZyYW1lSWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKQEAgLTUx
NSw3ICs1MTUsNyBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxs
RnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdAogICAgICAgICBtdXRlQ29uc29s
ZSgpOwogICAgIH0KIAotICAgIGluamVjdGVkU2NyaXB0LmV2YWx1YXRlT25DYWxsRnJhbWUoZXJy
b3JTdHJpbmcsIG1fY3VycmVudENhbGxTdGFjaywgY2FsbEZyYW1lSWQsIGV4cHJlc3Npb24sIG9i
amVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGluY2x1ZGVDb21tYW5kTGluZUFQSSA/ICpp
bmNsdWRlQ29tbWFuZExpbmVBUEkgOiBmYWxzZSwgcmV0dXJuQnlWYWx1ZSA/ICpyZXR1cm5CeVZh
bHVlIDogZmFsc2UsICZyZXN1bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZh
bHVhdGVPbkNhbGxGcmFtZShlcnJvclN0cmluZywgbV9jdXJyZW50Q2FsbFN0YWNrLCBjYWxsRnJh
bWVJZCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIiwgaW5jbHVk
ZUNvbW1hbmRMaW5lQVBJID8gKmluY2x1ZGVDb21tYW5kTGluZUFQSSA6IGZhbHNlLCByZXR1cm5C
eVZhbHVlID8gKnJldHVybkJ5VmFsdWUgOiBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3ID8gKmdlbmVy
YXRlUHJldmlldyA6IGZhbHNlLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGRvTm90
UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSA/ICpkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUgOiBmYWxzZSkgewogICAgICAgICB1bm11dGVDb25zb2xlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRl
eCBlNmY1ZjE4NzdmODEzM2Q1YjM3NGQyYWE0YjBmMDUzZTJhYjA5ZmJkLi44MWJjZWVkZWM2OTlm
NzcxMmNlZGJiZjQwZDk2OWRhMjk2MDAxMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wqIGluY2x1ZGVDb21t
YW5kTGluZUFQSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZG9O
b3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVz
dWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0
PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZvaWQgY29tcGlsZVNjcmlwdChFcnJvclN0cmluZyos
IGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFR5cGVC
dWlsZGVyOjpPcHRPdXRwdXQ8VHlwZUJ1aWxkZXI6OkRlYnVnZ2VyOjpTY3JpcHRJZD4qLCBUeXBl
QnVpbGRlcjo6T3B0T3V0cHV0PFN0cmluZz4qIHN5bnRheEVycm9yTWVzc2FnZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4
IDgwYmU1MGMyYTkyNmQ5ZTE1ZTJjMGY1ZWY4NzZmNDU0NmU3YTM0NGUuLjY5MThlOTAzYWRhNjZj
NDk1YjhjYTVjMzlkMjIwYzE4MThmNGI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHN0YXRp
YyBTY3JpcHREZWJ1Z1NlcnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBzZXRQYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlKFNjcmlwCiB9CiAjZW5kaWYKIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6OmV2YWx1YXRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBleHBy
ZXNzaW9uLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25z
dCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4
Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQsIGNv
bnN0IGJvb2wqIGNvbnN0IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGlt
ZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3
YXNUaHJvd24pCit2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyog
Y29uc3Qgb2JqZWN0R3JvdXAsIGNvbnN0IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQ
SSwgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xl
LCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJu
QnlWYWx1ZSwgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxi
b29sPiogd2FzVGhyb3duKQogewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0g
aW5qZWN0ZWRTY3JpcHRGb3JFdmFsKGVycm9yU3RyaW5nLCBleGVjdXRpb25Db250ZXh0SWQpOwog
ICAgIGlmIChpbmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpCkBAIC05Nyw3ICs5Nyw3IEBAIHZv
aWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGNvbnN0IFN0cmluZyYgZXhwCiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRp
b25zQW5kTXV0ZUNvbnNvbGUpKQogICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0
ZWRTY3JpcHQuZXZhbHVhdGUoZXJyb3JTdHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8g
Km9iamVjdEdyb3VwIDogIiIsIGFzQm9vbChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wo
cmV0dXJuQnlWYWx1ZSksICZyZXN1bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQu
ZXZhbHVhdGUoZXJyb3JTdHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdy
b3VwIDogIiIsIGFzQm9vbChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlW
YWx1ZSksIGFzQm9vbChnZW5lcmF0ZVByZXZpZXcpLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAg
ICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7CiAg
ICAgICAgIHVubXV0ZUNvbnNvbGUoKTsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluc3BlY3Rv
clJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGV4cAogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxG
dW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJ
ZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBjb25zdCBvcHRpb25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9u
RXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVl
LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlw
ZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JSdW50
aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29u
c3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25z
dCByZXR1cm5CeVZhbHVlLCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0
T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCiB7CiAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRT
Y3JpcHQgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRGb3JPYmplY3RJ
ZChvYmplY3RJZCk7CiAgICAgaWYgKGluamVjdGVkU2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAt
MTI2LDcgKzEyNiw3IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpjYWxsRnVuY3Rpb25P
bihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluCiAgICAgaWYgKGFzQm9vbChk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKQogICAgICAgICBtdXRlQ29uc29s
ZSgpOwogCi0gICAgaW5qZWN0ZWRTY3JpcHQuY2FsbEZ1bmN0aW9uT24oZXJyb3JTdHJpbmcsIG9i
amVjdElkLCBleHByZXNzaW9uLCBhcmd1bWVudHMsIGFzQm9vbChyZXR1cm5CeVZhbHVlKSwgJnJl
c3VsdCwgd2FzVGhyb3duKTsKKyAgICBpbmplY3RlZFNjcmlwdC5jYWxsRnVuY3Rpb25PbihlcnJv
clN0cmluZywgb2JqZWN0SWQsIGV4cHJlc3Npb24sIGFyZ3VtZW50cywgYXNCb29sKHJldHVybkJ5
VmFsdWUpLCBhc0Jvb2woZ2VuZXJhdGVQcmV2aWV3KSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKIAog
ICAgIGlmIChhc0Jvb2woZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlKSkgewog
ICAgICAgICB1bm11dGVDb25zb2xlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUnVudGltZUFnZW50LmgKaW5kZXggMjllNTdkMjJmNjQxNmNmYzFkMTMzZGZiZjcz
Yzg2NTE5ODc4ZWVhZC4uNmY0MTJlNTFiNjU2NGYzNWRhYzA1OTQwYjg5MTEwNmRjZGMzODllYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQu
aApAQCAtNjgsNiArNjgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBib29s
KiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCwKICAgICAgICAgICAgICAgICAgIGNvbnN0
IGJvb2wqIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBnZW5l
cmF0ZVByZXZpZXcsCiAgICAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRp
bWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwKICAgICAgICAgICAgICAgICAgIFR5cGVCdWlsZGVy
OjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxGdW5j
dGlvbk9uKEVycm9yU3RyaW5nKiwKQEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5Piogb3B0aW9uYWxBcmd1
bWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25F
eGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBi
b29sKiByZXR1cm5CeVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCog
Z2VuZXJhdGVQcmV2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWls
ZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZpcnR1
YWwgdm9pZCByZWxlYXNlT2JqZWN0KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJ
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNv
bGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwppbmRleCA1ODZmMThlMTFiODA5MmI4NTlkYmI5NDc2MjQ5YTEyOGE2OGFjMGNlLi5iYjcz
ZmE2ZTRmODUwOTMxYzAxZTZkZmU1ZDQyMjA0ZjA3NWNhZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTU4Miw3ICs1ODIs
NyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
CiAgICAgICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93biwgY29tbWFu
ZE1lc3NhZ2UpOwogICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwu
ZXZhbHVhdGUodGV4dCwgImNvbnNvbGUiLCB1c2VDb21tYW5kTGluZUFQSSwgZmFsc2UsIGZhbHNl
LCBwcmludFJlc3VsdC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVN
b2RlbC5ldmFsdWF0ZSh0ZXh0LCAiY29uc29sZSIsIHVzZUNvbW1hbmRMaW5lQVBJLCBmYWxzZSwg
ZmFsc2UsIHRydWUsIHByaW50UmVzdWx0LmJpbmQodGhpcykpOwogCiAgICAgICAgIFdlYkluc3Bl
Y3Rvci51c2VyTWV0cmljcy5Db25zb2xlRXZhbHVhdGVkLnJlY29yZCgpOwogICAgIH0sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVy
LmpzCmluZGV4IDE0OWM4YjhjMjJiZjdlNmM5ZDc5NTU4NGFkMDM5ZjIzNTE3MzczNzQuLmViNWNh
NWRiZTllMzAyOTQ3YWNlYTAzYWY1NmU5YzNmNjE1ZWUzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC03OTcs
NyArNzk3LDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05PVEZPVU5EKHNlY3VyaXR5T3Jp
Z2luKTsKICAgICAgICAgICAgIGNvbnRleHRJZCA9IGNvbnRleHQuaWQ7CiAgICAgICAgIH0KLSAg
ICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sICJleHRlbnNpb24iLCBleHBv
c2VDb21tYW5kTGluZUFQSSwgdHJ1ZSwgY29udGV4dElkLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFj
ayk7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZShleHByZXNzaW9uLCAiZXh0ZW5zaW9u
IiwgZXhwb3NlQ29tbWFuZExpbmVBUEksIHRydWUsIGNvbnRleHRJZCwgcmV0dXJuQnlWYWx1ZSwg
ZmFsc2UsIGNhbGxiYWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SdW50aW1lTW9kZWwuanMKaW5kZXggNmY3ZjllMzllY2ZlNzRiNzgz
MTg5NTJhMDliZTRhMGI2MzZiM2QzMy4uOGIxYjljMzJiZjJhZGQ1MDZhYmQyMzVmZWFmODVlYWU5
YTYzNTZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
dW50aW1lTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
dW50aW1lTW9kZWwuanMKQEAgLTEyOSwxMiArMTI5LDEzIEBAIFdlYkluc3BlY3Rvci5SdW50aW1l
TW9kZWwucHJvdG90eXBlID0gewogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5jbHVkZUNvbW1h
bmRMaW5lQVBJCiAgICAgICogQHBhcmFtIHtib29sZWFufSBkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldHVybkJ5VmFsdWUKKyAg
ICAgKiBAcGFyYW0ge2Jvb2xlYW59IGdlbmVyYXRlUHJldmlldwogICAgICAqIEBwYXJhbSB7ZnVu
Y3Rpb24oP1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QsIGJvb2xlYW4sIFJ1bnRpbWVBZ2VudC5S
ZW1vdGVPYmplY3Q9KX0gY2FsbGJhY2sKICAgICAgKi8KLSAgICBldmFsdWF0ZTogZnVuY3Rpb24o
ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjaykKKyAg
ICBldmFsdWF0ZTogZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21t
YW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5C
eVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgaWYgKFdl
Ykluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNlbGVjdGVkQ2FsbEZyYW1lKCkpIHsKLSAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmV2YWx1YXRlT25TZWxlY3RlZENhbGxGcmFt
ZShleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKTsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmV2YWx1YXRlT25TZWxlY3Rl
ZENhbGxGcmFtZShleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
LCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdl
bmVyYXRlUHJldmlldywgY2FsbGJhY2spOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKQEAgLTE2MSw3ICsxNjIsNyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjYWxsYmFjayhXZWJJbnNw
ZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCksICEhd2FzVGhyb3duKTsKICAg
ICAgICAgfQotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoZXhwcmVzc2lvbiwgb2JqZWN0
R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11
dGVDb25zb2xlLCB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dCA/IHRoaXMuX2N1cnJlbnRF
eGVjdXRpb25Db250ZXh0LmlkIDogdW5kZWZpbmVkLCByZXR1cm5CeVZhbHVlLCBldmFsQ2FsbGJh
Y2spOworICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoZXhwcmVzc2lvbiwgb2JqZWN0R3Jv
dXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVD
b25zb2xlLCB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dCA/IHRoaXMuX2N1cnJlbnRFeGVj
dXRpb25Db250ZXh0LmlkIDogdW5kZWZpbmVkLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZp
ZXcsIGV2YWxDYWxsYmFjayk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNT
aWRlYmFyUGFuZS5qcwppbmRleCAwZThkOTc5Y2ExNDVmYjMwNTI2NWY4MmY3YjUyNzc2ZmQyYWRj
MzgzLi4wZmJlMjhjMTEwMTZmNmVkYzNiNjAzZDVkMTA1N2M3MDFlYWRkZmQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRl
YmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNo
RXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcwpAQCAtMjEzLDcgKzIxMyw3IEBAIFdlYkluc3BlY3Rv
ci5XYXRjaEV4cHJlc3Npb25zU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAo
IWV4cHJlc3Npb24pCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5ydW50aW1lTW9kZWwuZXZhbHVhdGUoZXhwcmVzc2lvbiwgdGhpcy5fd2F0Y2hP
YmplY3RHcm91cElkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGFwcGVuZFJlc3VsdC5iaW5kKHRoaXMs
IGV4cHJlc3Npb24sIGkpKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwu
ZXZhbHVhdGUoZXhwcmVzc2lvbiwgdGhpcy5fd2F0Y2hPYmplY3RHcm91cElkLCBmYWxzZSwgdHJ1
ZSwgZmFsc2UsIGZhbHNlLCBhcHBlbmRSZXN1bHQuYmluZCh0aGlzLCBleHByZXNzaW9uLCBpKSk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXByb3BlcnR5Q291bnQpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171666</attachid>
            <date>2012-10-31 08:45:50 -0700</date>
            <delta_ts>2012-10-31 08:48:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100695-20121031194412.patch</filename>
            <type>text/plain</type>
            <size>38605</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhNGYzMjEwYTE5OTAy
N2QyNDAxOTliZWM2NTk5ODA0NDIzYTdiOS4uYjg4ZmY3Njk4ZDdkNjQ1MzY3MDFiY2YyNTE3Y2Fj
OWY2YjFkNjFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTMwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE91dHB1dCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSB0aGUgc2FtZSBhcyBjb25z
b2xlLmxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYW4gb3B0aW9uIHRvIHJldHVybiBvYmplY3QgcHJldmlldyBmcm9tIGV2YWx1YXRpb24g
Y29tbWFuZHMgaW4gdGhlIHByb3RvY29sLgorICAgICAgICBUaGUgb3B0aW9uIGlzIHVzZWQgdG8g
Z2VuZXJhdGUgcHJldmlldyBmb3IgY29uc29sZSBldmFsIHJlc3VsdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRT
Y3JpcHQ6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0OjpjYWxs
RnVuY3Rpb25Pbik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVP
bkNhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAg
ICAgIChJbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzOgorICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJh
bWUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAg
ICAgIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVB
Z2VudDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUnVudGltZUFnZW50
OjpjYWxsRnVuY3Rpb25Pbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lv
blNlcnZlci5wcm90b3R5cGUuZXZhbHVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvUnVudGltZU1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5w
cm90b3R5cGUuZXZhbHVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hF
eHByZXNzaW9uc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhw
cmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUpOgorCiAyMDEyLTEwLTMxICBJYW4gVm9s
bGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0
ZXh0LWJhc2VkIHJlcGFpbnQgdGVzdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdC5jcHAKaW5kZXggNjdkZDM5ZTkwNzliZjdmMTMwOWQ0MjQ2YWY0NmI4ZDNiNzE0
NmM3ZC4uNTNmMTNlMDMzYzExMjY0MTgzYTI5YTc3MmUwNTYyZjU4ZWI5MjFkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC02MSwyNyArNjEsMjkg
QEAgSW5qZWN0ZWRTY3JpcHQ6OkluamVjdGVkU2NyaXB0KFNjcmlwdE9iamVjdCBpbmplY3RlZFNj
cmlwdE9iamVjdCwgSW5zcGVjdGVkU3RhdGUKIHsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdDo6
ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Np
b24sIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIGJvb2wgaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
LCBib29sIHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3Rl
T2JqZWN0PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24p
Cit2b2lkIEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcs
IGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCwgYm9v
bCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBnZW5lcmF0
ZVByZXZpZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVz
dWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCiB7CiAgICAgU2Ny
aXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2JqZWN0KCksICJldmFsdWF0
ZSIpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4cHJlc3Npb24pOwogICAgIGZ1bmN0
aW9uLmFwcGVuZEFyZ3VtZW50KG9iamVjdEdyb3VwKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1
bWVudChpbmNsdWRlQ29tbWFuZExpbmVBUEkpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50
KHJldHVybkJ5VmFsdWUpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGdlbmVyYXRlUHJl
dmlldyk7CiAgICAgbWFrZUV2YWxDYWxsKGVycm9yU3RyaW5nLCBmdW5jdGlvbiwgcmVzdWx0LCB3
YXNUaHJvd24pOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0OjpjYWxsRnVuY3Rpb25PbihFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmlu
ZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsIGJvb2wgcmV0dXJuQnlWYWx1
ZSwgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5
cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKK3ZvaWQgSW5qZWN0ZWRTY3Jp
cHQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5n
JiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIGFyZ3Vt
ZW50cywgYm9vbCByZXR1cm5CeVZhbHVlLCBib29sIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPFR5
cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVyOjpP
cHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVu
Y3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImNhbGxGdW5jdGlvbk9uIik7CiAgICAgZnVu
Y3Rpb24uYXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3Vt
ZW50KGV4cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGFyZ3VtZW50cyk7
CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQocmV0dXJuQnlWYWx1ZSk7CisgICAgZnVuY3Rp
b24uYXBwZW5kQXJndW1lbnQoZ2VuZXJhdGVQcmV2aWV3KTsKICAgICBtYWtlRXZhbENhbGwoZXJy
b3JTdHJpbmcsIGZ1bmN0aW9uLCByZXN1bHQsIHdhc1Rocm93bik7CiB9CiAKLXZvaWQgSW5qZWN0
ZWRTY3JpcHQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBj
b25zdCBTY3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwg
Y29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLCBib29s
IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgYm9vbCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8UmVtb3Rl
T2JqZWN0PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24p
Cit2b2lkIEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgY29uc3QgU2NyaXB0VmFsdWUmIGNhbGxGcmFtZXMsIGNvbnN0IFN0cmluZyYg
Y2FsbEZyYW1lSWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmpl
Y3RHcm91cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwg
Ym9vbCBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVC
dWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlv
bkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImV2YWx1YXRlT25DYWxsRnJh
bWUiKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJhbWVzKTsKQEAgLTkwLDYg
KzkyLDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVPbkNhbGxGcmFtZShFcnJvclN0
cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFNjcmlwdFYKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1
bWVudChvYmplY3RHcm91cCk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoaW5jbHVkZUNv
bW1hbmRMaW5lQVBJKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChyZXR1cm5CeVZhbHVl
KTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVByZXZpZXcpOwogICAgIG1h
a2VFdmFsQ2FsbChlcnJvclN0cmluZywgZnVuY3Rpb24sIHJlc3VsdCwgd2FzVGhyb3duKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCA4YTZmMzNi
MTZlMDkzNGUwYzExZDkzNDVjZDNjNTY0M2M3OTBmNWZiLi5kZDljMjk5MjBhOGQzNDRjODcwM2Jj
Y2ZmODQ1ODNjODZhMzQxYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHQuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIG9iamVjdEdyb3VwLAogICAgICAgICAgICAgICAgICAgYm9vbCBpbmNsdWRlQ29t
bWFuZExpbmVBUEksCiAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAg
ICAgICAgICAgICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgIFJl
ZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAg
ICAgICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAg
ICB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwKQEAgLTY1LDYgKzY2LDcgQEAgcHVi
bGljOgogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLAog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0
cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsK
ICAgICB2b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqLApAQCAtNzQsNiArNzYs
NyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYg
b2JqZWN0R3JvdXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaW5jbHVkZUNv
bW1hbmRMaW5lQVBJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5
VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZ2VuZXJhdGVQcmV2aWV3
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRp
bWU6OlJlbW90ZU9iamVjdD4qIHJlc3VsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lkIHJlc3Rh
cnRGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFNjcmlwdFZhbHVlJiBjYWxsRnJhbWVzLCBjb25z
dCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwpp
bmRleCBjYWE0OGZkMTMzN2EzOGU2YWU4YmY4ZjU0MzcxNzk2YWRhYzAxMTQ0Li44ODg0Y2JhOGY0
YTE2ZWYxM2EyZGFmYWRmNzdlNmI1ZTllNTAwMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0zOTgsMTEgKzM5OCwxMiBAQCBJ
bmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVj
dEdyb3VwCiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAg
ICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVh
bn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFs
dWF0ZTogZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5l
QVBJLCByZXR1cm5CeVZhbHVlKQorICAgIGV2YWx1YXRlOiBmdW5jdGlvbihleHByZXNzaW9uLCBv
YmplY3RHcm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRl
UHJldmlldykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFuZFdyYXAoSW5q
ZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhvc3QsIGV4cHJlc3Npb24s
IG9iamVjdEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUp
OworICAgICAgICByZXR1cm4gdGhpcy5fZXZhbHVhdGVBbmRXcmFwKEluamVjdGVkU2NyaXB0SG9z
dC5ldmFsdWF0ZSwgSW5qZWN0ZWRTY3JpcHRIb3N0LCBleHByZXNzaW9uLCBvYmplY3RHcm91cCwg
ZmFsc2UsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZp
ZXcpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTQ2MCwxMyArNDYxLDE0IEBAIEluamVjdGVkU2Ny
aXB0LnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRXZhbE9uQ2FsbEZy
YW1lCiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAq
IEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0g
Z2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBfZXZhbHVh
dGVBbmRXcmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwgZXhwcmVzc2lvbiwgb2Jq
ZWN0R3JvdXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJu
QnlWYWx1ZSkKKyAgICBfZXZhbHVhdGVBbmRXcmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9i
amVjdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RD
b21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAg
ICAgICAgdHJ5IHsKICAgICAgICAgICAgIHJldHVybiB7IHdhc1Rocm93bjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICByZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3QodGhpcy5fZXZhbHVhdGVP
bihldmFsRnVuY3Rpb24sIG9iamVjdCwgb2JqZWN0R3JvdXAsIGV4cHJlc3Npb24sIGlzRXZhbE9u
Q2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZh
bHVlLCBmYWxzZSkgfTsKKyAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDogdGhpcy5fd3JhcE9i
amVjdCh0aGlzLl9ldmFsdWF0ZU9uKGV2YWxGdW5jdGlvbiwgb2JqZWN0LCBvYmplY3RHcm91cCwg
ZXhwcmVzc2lvbiwgaXNFdmFsT25DYWxsRnJhbWUsIGluamVjdENvbW1hbmRMaW5lQVBJKSwgb2Jq
ZWN0R3JvdXAsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykgfTsKICAgICAgICAgfSBj
YXRjaCAoZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRocm93blZhbHVlKGUs
IG9iamVjdEdyb3VwKTsKICAgICAgICAgfQpAQCAtNTQyLDkgKzU0NCwxMCBAQCBJbmplY3RlZFNj
cmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdEdyb3VwCiAg
ICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJh
bSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJh
dGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFsdWF0ZU9uQ2Fs
bEZyYW1lOiBmdW5jdGlvbih0b3BDYWxsRnJhbWUsIGNhbGxGcmFtZUlkLCBleHByZXNzaW9uLCBv
YmplY3RHcm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUpCisgICAgZXZh
bHVhdGVPbkNhbGxGcmFtZTogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCwgZXhw
cmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVl
LCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgY2FsbEZyYW1lID0gdGhpcy5f
Y2FsbEZyYW1lRm9ySWQodG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCk7CiAgICAgICAgIGlmICgh
Y2FsbEZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGNh
MjYzZDk2ZWI5YzM5M2JlMWIzZmNhOWZlMjc5NmZlZThiYjNjYjkuLmFlMzRkMzg0OTE4NGI4MjQ3
ZjU4MzA0MjI0ZmM2OTU4YjZjYTU4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KQEAgLTU2Miw3ICs1NjIsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImluY2x1ZGVDb21tYW5kTGluZUFQSSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwi
OiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRGV0ZXJtaW5lcyB3aGV0aGVyIENvbW1hbmQgTGluZSBB
UEkgc2hvdWxkIGJlIGF2YWlsYWJsZSBkdXJpbmcgdGhlIGV2YWx1YXRpb24uIiwgImhpZGRlbiI6
IHRydWUgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBhdXNlT25FeGNl
cHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGV2YWx1YXRpb24gc2hvdWxkIHN0
b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlkZXMgc2V0UGF1c2VPbkV4
Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImNvbnRleHRJZCIsICIkcmVmIjogIlJ1bnRpbWUuRXhlY3V0aW9uQ29udGV4dElk
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyBpbiB3aGljaCBp
c29sYXRlZCBjb250ZXh0IHRvIHBlcmZvcm0gZXZhbHVhdGlvbi4gRWFjaCBjb250ZW50IHNjcmlw
dCBsaXZlcyBpbiBhbiBpc29sYXRlZCBjb250ZXh0IGFuZCB0aGlzIHBhcmFtZXRlciBtYXkgYmUg
dXNlZCB0byBzcGVjaWZ5IG9uZSBvZiB0aG9zZSBjb250ZXh0cy4gSWYgdGhlIHBhcmFtZXRlciBp
cyBvbWl0dGVkIG9yIDAgdGhlIGV2YWx1YXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgaW4gdGhlIGNv
bnRleHQgb2YgdGhlIGluc3BlY3RlZCBwYWdlLiIsICJoaWRkZW4iOiB0cnVlIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmV0dXJuQnlWYWx1ZSIsICJ0eXBlIjogImJvb2xlYW4i
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgcmVzdWx0IGlz
IGV4cGVjdGVkIHRvIGJlIGEgSlNPTiBvYmplY3QgdGhhdCBzaG91bGQgYmUgc2VudCBieSB2YWx1
ZS4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVy
IHRoZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBi
ZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5l
cmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImhpZGRl
biI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVy
YXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIs
ICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJFdmFsdWF0aW9uIHJlc3Vs
dC4iIH0sCkBAIC01NzcsNyArNTc4LDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJmdW5jdGlvbkRlY2xhcmF0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
IkRlY2xhcmF0aW9uIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLiIgfSwKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsg
IiRyZWYiOiAiQ2FsbEFyZ3VtZW50IiwgImRlc2NyaXB0aW9uIjogIkNhbGwgYXJndW1lbnQuIiB9
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ2FsbCBhcmd1bWVudHMuIEFsbCBj
YWxsIGFyZ3VtZW50cyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBKYXZhU2NyaXB0IHdvcmxkIGFz
IHRoZSB0YXJnZXQgb2JqZWN0LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGZ1bmN0
aW9uIGNhbGwgc2hvdWxkIHN0b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVy
cmlkZXMgc2V0UGF1c2VPbkV4Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAotICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29s
ZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3Vs
dCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNob3VsZCBiZSBzZW50IGJ5
IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUi
LCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldo
ZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNo
b3VsZCBiZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJnZW5lcmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImhpZGRlbiI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJl
IGdlbmVyYXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJl
c3VsdCIsICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJDYWxsIHJlc3Vs
dC4iIH0sCkBAIC0yNzM4LDcgKzI3NDAsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm9iamVjdEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlN0cmluZyBvYmplY3QgZ3JvdXAgbmFtZSB0byBwdXQgcmVzdWx0IGludG8g
KGFsbG93cyByYXBpZCByZWxlYXNpbmcgcmVzdWx0aW5nIG9iamVjdCBoYW5kbGVzIHVzaW5nIDxj
b2RlPnJlbGVhc2VPYmplY3RHcm91cDwvY29kZT4pLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJpbmNsdWRlQ29tbWFuZExpbmVBUEkiLCAidHlwZSI6ICJib29sZWFuIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGNvbW1hbmQg
bGluZSBBUEkgc2hvdWxkIGJlIGF2YWlsYWJsZSB0byB0aGUgZXZhbHVhdGVkIGV4cHJlc3Npb24s
IGRlZmF1bHRzIHRvIGZhbHNlLiIsICJoaWRkZW4iOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZp
ZXMgd2hldGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMgYW5kIG11dGUg
Y29uc29sZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwgImhpZGRlbiI6
IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0
aGVyIHRoZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3Vs
ZCBiZSBzZW50IGJ5IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJl
dHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2Jq
ZWN0IHRoYXQgc2hvdWxkIGJlIHNlbnQgYnkgdmFsdWUuIiB9LAorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImdlbmVyYXRlUHJldmlldyIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9u
YWwiOiB0cnVlLCAiaGlkZGVuIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgcHJldmll
dyBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGUgcmVzdWx0LiIgfQogICAgICAgICAgICAgICAg
IF0sCiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicmVzdWx0IiwgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiLCAiZGVzY3Jp
cHRpb24iOiAiT2JqZWN0IHdyYXBwZXIgZm9yIHRoZSBldmFsdWF0aW9uIHJlc3VsdC4iIH0sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAKaW5kZXggNjFiMzJmMDdkM2ZjNjRhNTY2MjgzMzE4M2ZjMGUyNDY2NjdlNWEwOS4uZTY1MzE1
MDAwZWExMDkzODQwNzdmNzFmNTgzODhjM2E0MTFmZjQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtNTAwLDcgKzUw
MCw3IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0UGF1c2VPbkV4Y2VwdGlvbnNJ
bXBsKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywKICAgICAgICAgbV9zdGF0ZS0+c2V0TG9uZyhE
ZWJ1Z2dlckFnZW50U3RhdGU6OnBhdXNlT25FeGNlcHRpb25zU3RhdGUsIHBhdXNlU3RhdGUpOwog
fQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJy
b3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBjb25zdCBT
dHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIGNvbnN0
IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogY29uc3QgZG9O
b3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1
cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQordm9pZCBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJv
clN0cmluZywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNz
aW9uLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBp
bmNsdWRlQ29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2Vw
dGlvbnNBbmRNdXRlQ29uc29sZSwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29u
c3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhy
b3duKQogewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0Rm9yT2JqZWN0SWQoY2FsbEZyYW1lSWQpOwogICAg
IGlmIChpbmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKQEAgLTUxNSw3ICs1MTUsNyBAQCB2
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdAogICAgICAgICBtdXRlQ29uc29sZSgpOwogICAgIH0KIAot
ICAgIGluamVjdGVkU2NyaXB0LmV2YWx1YXRlT25DYWxsRnJhbWUoZXJyb3JTdHJpbmcsIG1fY3Vy
cmVudENhbGxTdGFjaywgY2FsbEZyYW1lSWQsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9i
amVjdEdyb3VwIDogIiIsIGluY2x1ZGVDb21tYW5kTGluZUFQSSA/ICppbmNsdWRlQ29tbWFuZExp
bmVBUEkgOiBmYWxzZSwgcmV0dXJuQnlWYWx1ZSA/ICpyZXR1cm5CeVZhbHVlIDogZmFsc2UsICZy
ZXN1bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGVPbkNhbGxGcmFt
ZShlcnJvclN0cmluZywgbV9jdXJyZW50Q2FsbFN0YWNrLCBjYWxsRnJhbWVJZCwgZXhwcmVzc2lv
biwgb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
ID8gKmluY2x1ZGVDb21tYW5kTGluZUFQSSA6IGZhbHNlLCByZXR1cm5CeVZhbHVlID8gKnJldHVy
bkJ5VmFsdWUgOiBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3ID8gKmdlbmVyYXRlUHJldmlldyA6IGZh
bHNlLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGRvTm90UGF1c2VPbkV4Y2VwdGlv
bnNBbmRNdXRlQ29uc29sZSA/ICpkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUg
OiBmYWxzZSkgewogICAgICAgICB1bm11dGVDb25zb2xlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCBlNmY1ZjE4NzdmODEz
M2Q1YjM3NGQyYWE0YjBmMDUzZTJhYjA5ZmJkLi44MWJjZWVkZWM2OTlmNzcxMmNlZGJiZjQwZDk2
OWRhMjk2MDAxMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wqIGluY2x1ZGVDb21tYW5kTGluZUFQSSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uc0FuZE11dGVDb25zb2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBi
b29sKiByZXR1cm5CeVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBi
b29sKiBnZW5lcmF0ZVByZXZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0
cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJv
d24pOwogICAgIHZvaWQgY29tcGlsZVNjcmlwdChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYg
ZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFR5cGVCdWlsZGVyOjpPcHRPdXRw
dXQ8VHlwZUJ1aWxkZXI6OkRlYnVnZ2VyOjpTY3JpcHRJZD4qLCBUeXBlQnVpbGRlcjo6T3B0T3V0
cHV0PFN0cmluZz4qIHN5bnRheEVycm9yTWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IDgwYmU1MGMyYTkyNmQ5
ZTE1ZTJjMGY1ZWY4NzZmNDU0NmU3YTM0NGUuLjY5MThlOTAzYWRhNjZjNDk1YjhjYTVjMzlkMjIw
YzE4MThmNGI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBTY3JpcHREZWJ1Z1Nl
cnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKFNj
cmlwCiB9CiAjZW5kaWYKIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmV2YWx1YXRlKEVy
cm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBT
dHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRlQ29tbWFu
ZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRl
Q29uc29sZSwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQsIGNvbnN0IGJvb2wqIGNvbnN0
IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lk
IEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5n
LCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3Jv
dXAsIGNvbnN0IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCog
Y29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBpbnQqIGV4
ZWN1dGlvbkNvbnRleHRJZCwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29uc3Qg
Ym9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90
ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3du
KQogewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRG
b3JFdmFsKGVycm9yU3RyaW5nLCBleGVjdXRpb25Db250ZXh0SWQpOwogICAgIGlmIChpbmplY3Rl
ZFNjcmlwdC5oYXNOb1ZhbHVlKCkpCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgSW5zcGVjdG9yUnVu
dGltZUFnZW50OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmlu
ZyYgZXhwCiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNv
bGUpKQogICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVh
dGUoZXJyb3JTdHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDog
IiIsIGFzQm9vbChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSks
ICZyZXN1bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXJyb3JT
dHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGFzQm9v
bChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSksIGFzQm9vbChn
ZW5lcmF0ZVByZXZpZXcpLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGFzQm9vbChk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7CiAgICAgICAgIHVubXV0ZUNv
bnNvbGUoKTsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6
ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cAogICAg
IH0KIH0KIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9y
U3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5n
JiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25h
bEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11
dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1
aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91
dHB1dDxib29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxG
dW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJ
ZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBjb25zdCBvcHRpb25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9u
RXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVl
LCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGlt
ZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3
YXNUaHJvd24pCiB7CiAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBtX2luamVj
dGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRGb3JPYmplY3RJZChvYmplY3RJZCk7CiAg
ICAgaWYgKGluamVjdGVkU2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAtMTI2LDcgKzEyNiw3IEBA
IHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpjYWxsRnVuY3Rpb25PbihFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluCiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNl
cHRpb25zQW5kTXV0ZUNvbnNvbGUpKQogICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5q
ZWN0ZWRTY3JpcHQuY2FsbEZ1bmN0aW9uT24oZXJyb3JTdHJpbmcsIG9iamVjdElkLCBleHByZXNz
aW9uLCBhcmd1bWVudHMsIGFzQm9vbChyZXR1cm5CeVZhbHVlKSwgJnJlc3VsdCwgd2FzVGhyb3du
KTsKKyAgICBpbmplY3RlZFNjcmlwdC5jYWxsRnVuY3Rpb25PbihlcnJvclN0cmluZywgb2JqZWN0
SWQsIGV4cHJlc3Npb24sIGFyZ3VtZW50cywgYXNCb29sKHJldHVybkJ5VmFsdWUpLCBhc0Jvb2wo
Z2VuZXJhdGVQcmV2aWV3KSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKIAogICAgIGlmIChhc0Jvb2wo
ZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlKSkgewogICAgICAgICB1bm11dGVD
b25zb2xlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmgKaW5kZXggMjllNTdkMjJmNjQxNmNmYzFkMTMzZGZiZjczYzg2NTE5ODc4ZWVhZC4u
NmY0MTJlNTFiNjU2NGYzNWRhYzA1OTQwYjg5MTEwNmRjZGMzODllYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApAQCAtNjgsNiArNjgs
NyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25F
eGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQqIGV4
ZWN1dGlvbkNvbnRleHRJZCwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wqIHJldHVybkJ5
VmFsdWUsCisgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsCiAg
ICAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4mIHJlc3VsdCwKICAgICAgICAgICAgICAgICAgIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9v
bD4qIHdhc1Rocm93bik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3Ry
aW5nKiwKQEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5Piogb3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0
ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiByZXR1cm5CeVZh
bHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3
LAogICAgICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpS
ZW1vdGVPYmplY3Q+JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlQnVpbGRl
cjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNl
T2JqZWN0KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwppbmRl
eCA1YjEyNjNmZGEzMDYxNTUzNWQ5NDlmYWJhNTU1MDY3OWYwYTRlN2ZmLi5lMDA1YjI1Y2JkZDNj
ZWEyNDg3NGU3MjYxZTgzZGMwY2Q3NDdkNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTM1NSw5ICszNTUsMTQg
QEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IG9iamVjdC5wdXNoTm9kZVRvRnJvbnRlbmQocHJpbnROb2RlLmJpbmQodGhpcykpOwogICAgIH0s
CiAKKyAgICB1c2VBcnJheVByZXZpZXdJbkZvcm1hdHRlcjogZnVuY3Rpb24oYXJyYXkpCisgICAg
eworICAgICAgICByZXR1cm4gISFhcnJheS5wcmV2aWV3OworICAgIH0sCisKICAgICBfZm9ybWF0
UGFyYW1ldGVyQXNBcnJheTogZnVuY3Rpb24oYXJyYXksIGVsZW0pCiAgICAgewotICAgICAgICBp
ZiAoYXJyYXkucHJldmlldykgeworICAgICAgICBpZiAodGhpcy51c2VBcnJheVByZXZpZXdJbkZv
cm1hdHRlcihhcnJheSkpIHsKICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFzQXJy
YXlPck9iamVjdChhcnJheSwgIiIsIGVsZW0sIHRydWUpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25z
b2xlVmlldy5qcwppbmRleCA1ODZmMThlMTFiODA5MmI4NTlkYmI5NDc2MjQ5YTEyOGE2OGFjMGNl
Li44MzVlNTVkZjkyYjQwMGEzY2UxYWI2MGYxN2NjZWEyMWU4MTVjYWRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTU4Miw3
ICs1ODIsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgCiAgICAgICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93biwg
Y29tbWFuZE1lc3NhZ2UpOwogICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1l
TW9kZWwuZXZhbHVhdGUodGV4dCwgImNvbnNvbGUiLCB1c2VDb21tYW5kTGluZUFQSSwgZmFsc2Us
IGZhbHNlLCBwcmludFJlc3VsdC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJ1
bnRpbWVNb2RlbC5ldmFsdWF0ZSh0ZXh0LCAiY29uc29sZSIsIHVzZUNvbW1hbmRMaW5lQVBJLCBm
YWxzZSwgZmFsc2UsIHRydWUsIHByaW50UmVzdWx0LmJpbmQodGhpcykpOwogCiAgICAgICAgIFdl
Ykluc3BlY3Rvci51c2VyTWV0cmljcy5Db25zb2xlRXZhbHVhdGVkLnJlY29yZCgpOwogICAgIH0s
CkBAIC03MDQsNiArNzA0LDExIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCA9
IGZ1bmN0aW9uKHJlc3VsdCwgd2FzVGhyb3duLCBvcmlnaW5hdGluZ0NvbW1hCiB9CiAKIFdlYklu
c3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdC5wcm90b3R5cGUgPSB7CisgICAgdXNlQXJyYXlQ
cmV2aWV3SW5Gb3JtYXR0ZXI6IGZ1bmN0aW9uKGFycmF5KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0sCisKICAgICB0b01lc3NhZ2VFbGVtZW50OiBmdW5jdGlvbigpCiAgICAg
ewogICAgICAgICB2YXIgZWxlbWVudCA9IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLnRvTWVzc2FnZUVsZW1lbnQuY2FsbCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCAzMjZhOWJl
MjQzY2ZkYzk3ZDkxNmYzN2FhZTE1ZDI1MjM5YjFmMTA3Li40ZTkxM2U5ZDA0MDc5MWZhZGNmYjhi
NTkwNTEzMTYwYzk3OGUwMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCkBAIC00NzgsOSArNDc4LDEwIEBAIFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29sZWFufSByZXR1
cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZpZXcKICAgICAg
KiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LCBib29sZWFuLCBS
dW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgZXZhbHVh
dGVPblNlbGVjdGVkQ2FsbEZyYW1lOiBmdW5jdGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVk
ZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJl
dHVybkJ5VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRlT25TZWxlY3RlZENhbGxGcmFtZTog
ZnVuY3Rpb24oY29kZSwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVBy
ZXZpZXcsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgLyoqCiAgICAgICAgICAqIEBwYXJhbSB7
P1J1bnRpbWVBZ2VudC5SZW1vdGVPYmplY3R9IHJlc3VsdApAQCAtNDk3LDcgKzQ5OCw3IEBAIFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5F
dmVudHMuQ29uc29sZUNvbW1hbmRFdmFsdWF0ZWRJblNlbGVjdGVkQ2FsbEZyYW1lKTsKICAgICAg
ICAgfQogCi0gICAgICAgIHRoaXMuc2VsZWN0ZWRDYWxsRnJhbWUoKS5ldmFsdWF0ZShjb2RlLCBv
YmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGRpZEV2YWx1YXRlLmJpbmQodGhpcykpOwor
ICAgICAgICB0aGlzLnNlbGVjdGVkQ2FsbEZyYW1lKCkuZXZhbHVhdGUoY29kZSwgb2JqZWN0R3Jv
dXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVD
b25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGRpZEV2YWx1YXRlLmJpbmQo
dGhpcykpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTczNSw5ICs3MzYsMTAgQEAgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyTW9kZWwuQ2FsbEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0g
e2Jvb2xlYW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0g
ZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29s
ZWFufSByZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZp
ZXcKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9SdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0LCBi
b29sZWFuPSk9fSBjYWxsYmFjawogICAgICAqLwotICAgIGV2YWx1YXRlOiBmdW5jdGlvbihjb2Rl
LCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRp
b25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRl
OiBmdW5jdGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05v
dFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRl
UHJldmlldywgY2FsbGJhY2spCiAgICAgewogICAgICAgICAvKioKICAgICAgICAgICogQHRoaXMg
e1dlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkNhbGxGcmFtZX0KQEAgLTc1NCw3ICs3NTYsNyBA
QCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5DYWxsRnJhbWUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0LCB3YXNUaHJvd24pOwogICAg
ICAgICB9Ci0gICAgICAgIERlYnVnZ2VyQWdlbnQuZXZhbHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9w
YXlsb2FkLmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5l
QVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUs
IGRpZEV2YWx1YXRlT25DYWxsRnJhbWUuYmluZCh0aGlzKSk7CisgICAgICAgIERlYnVnZ2VyQWdl
bnQuZXZhbHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9wYXlsb2FkLmNhbGxGcmFtZUlkLCBjb2RlLCBv
YmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldywgZGlkRXZhbHVh
dGVPbkNhbGxGcmFtZS5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmlu
ZGV4IDE0OWM4YjhjMjJiZjdlNmM5ZDc5NTU4NGFkMDM5ZjIzNTE3MzczNzQuLmViNWNhNWRiZTll
MzAyOTQ3YWNlYTAzYWY1NmU5YzNmNjE1ZWUzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC03OTcsNyArNzk3
LDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05PVEZPVU5EKHNlY3VyaXR5T3JpZ2luKTsK
ICAgICAgICAgICAgIGNvbnRleHRJZCA9IGNvbnRleHQuaWQ7CiAgICAgICAgIH0KLSAgICAgICAg
UnVudGltZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sICJleHRlbnNpb24iLCBleHBvc2VDb21t
YW5kTGluZUFQSSwgdHJ1ZSwgY29udGV4dElkLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7Cisg
ICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZShleHByZXNzaW9uLCAiZXh0ZW5zaW9uIiwgZXhw
b3NlQ29tbWFuZExpbmVBUEksIHRydWUsIGNvbnRleHRJZCwgcmV0dXJuQnlWYWx1ZSwgZmFsc2Us
IGNhbGxiYWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKaW5kZXggYTkyZDNk
MTMyY2U5NGI4YTAyZjlkYTJkNDI0MGMyY2U5NzViMGQyYi4uOTM5YmZhNzM3NGQyYzk2YjFkMzIw
ZjhiZjQ3MzYyYWYzYmNhYjU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKQEAgLTMzMSw3ICsz
MzEsNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICB2YXIgc2VsZWN0ZWRDYWxs
RnJhbWUgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zZWxlY3RlZENhbGxGcmFtZSgpOwot
ICAgICAgICBzZWxlY3RlZENhbGxGcmFtZS5ldmFsdWF0ZSh0aGlzLl9oaWdobGlnaHRFbGVtZW50
LnRleHRDb250ZW50LCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgc2hvd09i
amVjdFBvcG92ZXIuYmluZCh0aGlzKSk7CisgICAgICAgIHNlbGVjdGVkQ2FsbEZyYW1lLmV2YWx1
YXRlKHRoaXMuX2hpZ2hsaWdodEVsZW1lbnQudGV4dENvbnRlbnQsIG9iamVjdEdyb3VwTmFtZSwg
ZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgc2hvd09iamVjdFBvcG92ZXIuYmluZCh0aGlzKSk7
CiAgICAgfSwKIAogICAgIF9vbkhpZGVQb3BvdmVyOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCmluZGV4IDMyNGY0
ZWRiNWEwYTk5YmQ4MGEzYTYyNWRmOTk2OTg0NDU0MGE5OTEuLmJkNTlkMTc5YjgwNmM4NjFiZDU5
YTFjZjE4ZTBkMWYxMDNhNzk4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCkBAIC0yNDgsNyArMjQ4LDcgQEAgV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgc2V0UHJvcGVy
dHlWYWx1ZUZ1bmN0aW9uID0gImZ1bmN0aW9uKGEpIHsgdGhpc1thXSA9ICIgKyByZXN1bHQuZGVz
Y3JpcHRpb24gKyAiOyB9IjsKIAogICAgICAgICAgICAgZGVsZXRlIHJlc3VsdC5kZXNjcmlwdGlv
bjsgLy8gT3B0aW1pemUgb24gdHJhZmZpYy4KLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxs
RnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2
YWx1ZTpuYW1lIH0sIHJlc3VsdF0sIHRydWUsIHVuZGVmaW5lZCwgcHJvcGVydHlTZXRDYWxsYmFj
ay5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0
aGlzLl9vYmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2YWx1ZTpuYW1lIH0s
IHJlc3VsdF0sIHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwcm9wZXJ0eVNldENhbGxiYWNr
LmJpbmQodGhpcykpOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5fb2JqZWN0SWQpCiAgICAgICAg
ICAgICAgICAgUnVudGltZUFnZW50LnJlbGVhc2VPYmplY3QocmVzdWx0Ll9vYmplY3RJZCk7CiAg
ICAgICAgIH0KQEAgLTI5OSw3ICsyOTksNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIGNhbGxiYWNrKChlcnJvciB8fCB3YXNUaHJvd24pID8g
bnVsbCA6IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KSk7CiAg
ICAgICAgIH0KIAotICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2Jq
ZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1ZSwgdW5kZWZp
bmVkLCBteWNhbGxiYWNrKTsKKyAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRo
aXMuX29iamVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUs
IHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBteWNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgLyoqCkBA
IC0zMTksNyArMzE5LDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICBjYWxsYmFjaygoZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiByZXN1
bHQudmFsdWUpOwogICAgICAgICB9CiAKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlv
bk9uKHRoaXMuX29iamVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3Ms
IHRydWUsIHRydWUsIG15Y2FsbGJhY2spOworICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0
aW9uT24odGhpcy5fb2JqZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJn
cywgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICByZWxlYXNl
OiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1J1bnRpbWVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UnVudGltZU1vZGVsLmpzCmluZGV4IDZmN2Y5ZTM5ZWNmZTc0Yjc4MzE4OTUyYTA5YmU0YTBiNjM2
YjNkMzMuLmI3YmE3ODg2ODZlMDg2ODY3Y2U0MTBlNGEwYjZjYTA1ODE2ZDI2YmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCkBA
IC0xMjksMTIgKzEyOSwxMyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlwZSA9
IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAq
IEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAg
ICAgICogQHBhcmFtIHtib29sZWFufSByZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29s
ZWFufSBnZW5lcmF0ZVByZXZpZXcKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0
b3IuUmVtb3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNh
bGxiYWNrCiAgICAgICovCi0gICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4cHJlc3Npb24sIG9iamVj
dEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRN
dXRlQ29uc29sZSwgcmV0dXJuQnlWYWx1ZSwgY2FsbGJhY2spCisgICAgZXZhbHVhdGU6IGZ1bmN0
aW9uKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90
UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQ
cmV2aWV3LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5zZWxlY3RlZENhbGxGcmFtZSgpKSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVzc2lvbiwgb2Jq
ZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0Fu
ZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CisgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVz
c2lvbiwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhj
ZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGNh
bGxiYWNrKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0xNjEsNyArMTYy
LDcgQEAgV2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVj
dC5mcm9tUGF5bG9hZChyZXN1bHQpLCAhIXdhc1Rocm93bik7CiAgICAgICAgIH0KLSAgICAgICAg
UnVudGltZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29t
bWFuZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5f
Y3VycmVudEV4ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5p
ZCA6IHVuZGVmaW5lZCwgcmV0dXJuQnlWYWx1ZSwgZXZhbENhbGxiYWNrKTsKKyAgICAgICAgUnVu
dGltZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFu
ZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3Vy
cmVudEV4ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5pZCA6
IHVuZGVmaW5lZCwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3LCBldmFsQ2FsbGJhY2sp
OwogICAgIH0sCiAKICAgICAvKioKQEAgLTIwOSw3ICsyMTAsNyBAQCBXZWJJbnNwZWN0b3IuUnVu
dGltZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFleHByZXNzaW9uU3RyaW5nICYm
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNlbGVjdGVkQ2FsbEZyYW1lKCkpCiAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5nZXRTZWxlY3RlZENhbGxGcmFtZVZhcmlh
YmxlcyhyZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRoaXMuZXZhbHVhdGUoZXhwcmVzc2lvblN0cmluZywgImNvbXBsZXRpb24iLCB0
cnVlLCB0cnVlLCBmYWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOworICAgICAgICAgICAgdGhp
cy5ldmFsdWF0ZShleHByZXNzaW9uU3RyaW5nLCAiY29tcGxldGlvbiIsIHRydWUsIHRydWUsIGZh
bHNlLCBmYWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOwogCiAgICAgICAgIGZ1bmN0aW9uIGV2
YWx1YXRlZChyZXN1bHQsIHdhc1Rocm93bikKICAgICAgICAgewpAQCAtMjQ1LDcgKzI0Niw3IEBA
IFdlYkluc3BlY3Rvci5SdW50aW1lTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYg
KHJlc3VsdC50eXBlID09PSAib2JqZWN0IiB8fCByZXN1bHQudHlwZSA9PT0gImZ1bmN0aW9uIikK
ICAgICAgICAgICAgICAgICByZXN1bHQuY2FsbEZ1bmN0aW9uSlNPTihnZXRDb21wbGV0aW9ucywg
dW5kZWZpbmVkLCByZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChyZXN1bHQudHlwZSA9PT0gInN0cmluZyIgfHwgcmVzdWx0LnR5cGUgPT09ICJu
dW1iZXIiIHx8IHJlc3VsdC50eXBlID09PSAiYm9vbGVhbiIpCi0gICAgICAgICAgICAgICAgdGhp
cy5ldmFsdWF0ZSgiKCIgKyBnZXRDb21wbGV0aW9ucyArICIpKFwiIiArIHJlc3VsdC50eXBlICsg
IlwiKSIsICJjb21wbGV0aW9uIiwgZmFsc2UsIHRydWUsIHRydWUsIHJlY2VpdmVkUHJvcGVydHlO
YW1lc0Zyb21FdmFsLmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGUo
IigiICsgZ2V0Q29tcGxldGlvbnMgKyAiKShcIiIgKyByZXN1bHQudHlwZSArICJcIikiLCAiY29t
cGxldGlvbiIsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgcmVjZWl2ZWRQcm9wZXJ0eU5hbWVz
RnJvbUV2YWwuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiByZWNl
aXZlZFByb3BlcnR5TmFtZXNGcm9tRXZhbChub3RSZWxldmFudCwgd2FzVGhyb3duLCByZXN1bHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhw
cmVzc2lvbnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCmluZGV4IDBlOGQ5NzljYTE0NWZiMzA1
MjY1ZjgyZjdiNTI3NzZmZDJhZGMzODMuLjBmYmUyOGMxMTAxNmY2ZWRjM2I2MDNkNWQxMDU3Yzcw
MWVhZGRmZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
V2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCkBAIC0yMTMsNyAr
MjEzLDcgQEAgV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIGlmICghZXhwcmVzc2lvbikKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHBy
ZXNzaW9uLCB0aGlzLl93YXRjaE9iamVjdEdyb3VwSWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgYXBw
ZW5kUmVzdWx0LmJpbmQodGhpcywgZXhwcmVzc2lvbiwgaSkpOworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHByZXNzaW9uLCB0aGlzLl93YXRjaE9iamVj
dEdyb3VwSWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGFwcGVuZFJlc3VsdC5iaW5kKHRo
aXMsIGV4cHJlc3Npb24sIGkpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghcHJvcGVydHlD
b3VudCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFu
ZC1saW5lLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4dAppbmRleCA0MjZjZDhjMWY0NWJkZjg4ODhlODRh
ZmM5YzY0ZjBjYzBhYmI1MzI4Li5mYjJlMTUyMzI0NjU3ZjM0YjU1YmI0YWViYzEwYjIwNDViMzk5
ZTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxp
bmUtYXBpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMDI1OiBUaGUgY29uc29sZSBmdW5jdGlvbiAkKCkgaGFzIGNoYW5nZWQgZnJv
bSAkPWdldEVsZW1lbnRCeUlkKGlkKSB0byAkPXF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLiBZb3Ug
bWlnaHQgdHJ5ICQoIiMlcyIpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTAyODogVGhlIGNvbnNv
bGUgZnVuY3Rpb24gJCgpIGhhcyBjaGFuZ2VkIGZyb20gJD1nZXRFbGVtZW50QnlJZChpZCkgdG8g
JD1xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKS4gWW91IG1pZ2h0IHRyeSAkKCIjJXMiKQogVGVzdHMg
dGhhdCBjb21tYW5kIGxpbmUgYXBpIHdvcmtzLgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IDIxYmMwMDJjOTFmYzljOGMxODRiZmE2ZGU2NTdmNjQzNjJiNmY3
MjQuLjQxNWYwNzAwN2RlNmYyNDQ1Zjc0N2VlODhkMzljYWY2MTQ0MDBjZWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1s
aW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dApAQCAtMTQsMTQgKzE0LDE0IEBAIFJ1bm5pbmc6
IHRlc3RSZXZlYWxEYXRhYmFzZQogCiBXZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDog
RGF0YWJhc2UKIFdlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRhdGFiYXNlSWQi
XQotaW5zcGVjdChkYikgPSBEYXRhYmFzZQoraW5zcGVjdChkYikgPSBEYXRhYmFzZSB7dmVyc2lv
bjogIjEuMCJ9CiAKIFJ1bm5pbmc6IHRlc3RSZXZlYWxEYXRhYmFzZTIKIAogCiBXZWJJbnNwZWN0
b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogRGF0YWJhc2UKIFdlYkluc3BlY3Rvci5pbnNwZWN0J3Mg
aGludHMgYXJlOiBbImRhdGFiYXNlSWQiXQotaW5zcGVjdChkYjIpID0gRGF0YWJhc2UKK2luc3Bl
Y3QoZGIyKSA9IERhdGFiYXNlIHt2ZXJzaW9uOiAiMS4wIn0KIAogUnVubmluZzogdGVzdFJldmVh
bExvY2FsU3RvcmFnZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CmluZGV4IDYxMDdmY2E3
MzQwM2M3ODFiOTdlM2VhNmY2YjYzOTQyNWZiNTBhNmMuLjk2ODM5Y2ZjZTg4ODEzN2YxMDg4MjQ3
YWI2NjFkMTU5YjkzNWU4ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CkBAIC0zLDUg
KzMsNSBAQCBUZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGlu
IHRoZSBjb25zb2xlIG9uIGdsb2JhbCBvYmplY3QuCiBmb28KICJmb29WYWx1ZSIKIGJhcgotT2Jq
ZWN0CitPYmplY3Qge2E6ICJiIn0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJy
aWRlLWV4cGVjdGVkLnR4dAppbmRleCA0ZTMzNzY5ODNiYjc1MWE2M2QxYWI5NWNiZmI5YjJlMWMx
ZGIzYjlmLi4yYjQ1YjE0ZmQ1ZDM3ZTdjNTFiZTFlMGZjMWJhYzk4ZmYwMmYwZjIwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVk
LW92ZXJyaWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsx
LDcgQEAKIFRlc3RzIHRoYXQgZXZhbHVhdGluZyBzb21ldGhpbmcgaW4gY29uc29sZSB3b24ndCBj
cmFzaCB0aGUgYnJvd3NlciBpZiB1bmRlZmluZWQgdmFsdWUgaXMgb3ZlcnJpZGVuLiBUaGUgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4gQnVnIDY0MTU1LgogCiB2YXIgeCA9IHthOjF9
OyB4LnNlbGYgPSB4OyB1bmRlZmluZWQgPSB4OwotT2JqZWN0CitPYmplY3Qge2E6IDEsIHNlbGY6
IE9iamVjdH0KIHVua25vd25WYXIKIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiB1bmtub3duVmFyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKaW5kZXggNTgyZDc4
N2ZjYjQ3MGIyYWNiNWFhYjBiMzIyYzIwMDViMDQ0ZDYzOC4uZmMzZGNjYjQxZTE4NTVhNzBkMWIz
YTZmZTE0NWJmNWU2NzI3MDlhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKQEAg
LTEsNyArMSw3IEBACiBUZXN0cyB0aGF0IGV2YWx1YXRpbmcgc29tZXRoaW5nIGluIGNvbnNvbGUg
d29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIgaWYgdW5kZWZpbmVkIHZhbHVlIGlzIG92ZXJyaWRlbi4g
VGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA2NDE1NS4KIAogdmFyIHgg
PSB7YToxfTsgeC5zZWxmID0geDsgdW5kZWZpbmVkID0geDsKLU9iamVjdAorT2JqZWN0IHthOiAx
LCBzZWxmOiBPYmplY3R9CiB1bmtub3duVmFyCiBSZWZlcmVuY2VFcnJvcjogdW5rbm93blZhciBp
cyBub3QgZGVmaW5lZAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171668</attachid>
            <date>2012-10-31 08:48:48 -0700</date>
            <delta_ts>2012-11-01 01:29:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100695-20121031194711.patch</filename>
            <type>text/plain</type>
            <size>40582</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhNGYzMjEwYTE5OTAy
N2QyNDAxOTliZWM2NTk5ODA0NDIzYTdiOS4uZTU4NmM0ZDE1M2JhZjZkYjFiYThlNDkyZWQxODA0
MDFkOTJmNThkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTEwLTMwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE91dHB1dCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSB0aGUgc2FtZSBhcyBjb25z
b2xlLmxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYW4gb3B0aW9uIHRvIHJldHVybiBvYmplY3QgcHJldmlldyBmcm9tIGV2YWx1YXRpb24g
Y29tbWFuZHMgaW4gdGhlIHByb3RvY29sLgorICAgICAgICBUaGUgb3B0aW9uIGlzIHVzZWQgdG8g
Z2VuZXJhdGUgcHJldmlldyBmb3IgY29uc29sZSBldmFsIHJlc3VsdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRT
Y3JpcHQ6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0OjpjYWxs
RnVuY3Rpb25Pbik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVP
bkNhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAg
ICAgIChJbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzOgorICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJh
bWUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAg
ICAgIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVB
Z2VudDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUnVudGltZUFnZW50
OjpjYWxsRnVuY3Rpb25Pbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUudXNlQXJyYXlQcmV2aWV3SW5Gb3JtYXR0ZXIp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zv
cm1hdFBhcmFtZXRlckFzQXJyYXkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQu
cHJvdG90eXBlLnVzZUFycmF5UHJldmlld0luRm9ybWF0dGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5wcm90b3R5cGUuZXZhbHVhdGVPblNlbGVjdGVkQ2FsbEZyYW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkNhbGxGcmFtZS5wcm90b3R5cGUuZXZhbHVh
dGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuZXZhbHVhdGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUu
X3Jlc29sdmVPYmplY3RGb3JQb3BvdmVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1JlbW90ZU9iamVjdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJv
dG90eXBlLik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5j
YWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5
cGUuY2FsbEZ1bmN0aW9uSlNPTik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SdW50
aW1lTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlw
ZS5ldmFsdWF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlw
ZS5ldmFsdWF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hFeHByZXNz
aW9uc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lv
bnNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUpOgorCiAyMDEyLTEwLTMxICBJYW4gVm9sbGljayAg
PHZvbGxpY2tAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0ZXh0LWJh
c2VkIHJlcGFpbnQgdGVzdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdC5jcHAKaW5kZXggNjdkZDM5ZTkwNzliZjdmMTMwOWQ0MjQ2YWY0NmI4ZDNiNzE0NmM3ZC4u
NTNmMTNlMDMzYzExMjY0MTgzYTI5YTc3MmUwNTYyZjU4ZWI5MjFkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC02MSwyNyArNjEsMjkgQEAgSW5q
ZWN0ZWRTY3JpcHQ6OkluamVjdGVkU2NyaXB0KFNjcmlwdE9iamVjdCBpbmplY3RlZFNjcmlwdE9i
amVjdCwgSW5zcGVjdGVkU3RhdGUKIHsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVh
dGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNv
bnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIGJvb2wgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBib29s
IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lk
IEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0
IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCwgYm9vbCBpbmNs
dWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBnZW5lcmF0ZVByZXZp
ZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LCBU
eXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCiB7CiAgICAgU2NyaXB0RnVu
Y3Rpb25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2JqZWN0KCksICJldmFsdWF0ZSIpOwog
ICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFw
cGVuZEFyZ3VtZW50KG9iamVjdEdyb3VwKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChp
bmNsdWRlQ29tbWFuZExpbmVBUEkpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHJldHVy
bkJ5VmFsdWUpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGdlbmVyYXRlUHJldmlldyk7
CiAgICAgbWFrZUV2YWxDYWxsKGVycm9yU3RyaW5nLCBmdW5jdGlvbiwgcmVzdWx0LCB3YXNUaHJv
d24pOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0OjpjYWxsRnVuY3Rpb25PbihFcnJvclN0cmlu
ZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhw
cmVzc2lvbiwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsIGJvb2wgcmV0dXJuQnlWYWx1ZSwgUmVm
UHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWls
ZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKK3ZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmNh
bGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmpl
Y3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIGFyZ3VtZW50cywg
Ym9vbCByZXR1cm5CeVZhbHVlLCBib29sIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPFR5cGVCdWls
ZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRw
dXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24o
aW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImNhbGxGdW5jdGlvbk9uIik7CiAgICAgZnVuY3Rpb24u
YXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4
cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGFyZ3VtZW50cyk7CiAgICAg
ZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQocmV0dXJuQnlWYWx1ZSk7CisgICAgZnVuY3Rpb24uYXBw
ZW5kQXJndW1lbnQoZ2VuZXJhdGVQcmV2aWV3KTsKICAgICBtYWtlRXZhbENhbGwoZXJyb3JTdHJp
bmcsIGZ1bmN0aW9uLCByZXN1bHQsIHdhc1Rocm93bik7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3Jp
cHQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
Y3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3Qg
U3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLCBib29sIGluY2x1
ZGVDb21tYW5kTGluZUFQSSwgYm9vbCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8UmVtb3RlT2JqZWN0
PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lk
IEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgY29uc3QgU2NyaXB0VmFsdWUmIGNhbGxGcmFtZXMsIGNvbnN0IFN0cmluZyYgY2FsbEZy
YW1lSWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91
cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBn
ZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVy
OjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwg
ZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImV2YWx1YXRlT25DYWxsRnJhbWUiKTsK
ICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJhbWVzKTsKQEAgLTkwLDYgKzkyLDcg
QEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVPbkNhbGxGcmFtZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFNjcmlwdFYKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChv
YmplY3RHcm91cCk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoaW5jbHVkZUNvbW1hbmRM
aW5lQVBJKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChyZXR1cm5CeVZhbHVlKTsKKyAg
ICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVByZXZpZXcpOwogICAgIG1ha2VFdmFs
Q2FsbChlcnJvclN0cmluZywgZnVuY3Rpb24sIHJlc3VsdCwgd2FzVGhyb3duKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCA4YTZmMzNiMTZlMDkz
NGUwYzExZDkzNDVjZDNjNTY0M2M3OTBmNWZiLi5kZDljMjk5MjBhOGQzNDRjODcwM2JjY2ZmODQ1
ODNjODZhMzQxYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJp
bmcmIG9iamVjdEdyb3VwLAogICAgICAgICAgICAgICAgICAgYm9vbCBpbmNsdWRlQ29tbWFuZExp
bmVBUEksCiAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAg
ICAgICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgIFJlZlB0cjxU
eXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAgICAgICAg
ICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lk
IGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwKQEAgLTY1LDYgKzY2LDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLAogICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2
b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqLApAQCAtNzQsNiArNzYsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgb2JqZWN0
R3JvdXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaW5jbHVkZUNvbW1hbmRM
aW5lQVBJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZ2VuZXJhdGVQcmV2aWV3LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4qIHJlc3VsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZUJ1
aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lkIHJlc3RhcnRGcmFt
ZShFcnJvclN0cmluZyosIGNvbnN0IFNjcmlwdFZhbHVlJiBjYWxsRnJhbWVzLCBjb25zdCBTdHJp
bmcmIGNhbGxGcmFtZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCBj
YWE0OGZkMTMzN2EzOGU2YWU4YmY4ZjU0MzcxNzk2YWRhYzAxMTQ0Li44ODg0Y2JhOGY0YTE2ZWYx
M2EyZGFmYWRmNzdlNmI1ZTllNTAwMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0zOTgsMTEgKzM5OCwxMiBAQCBJbmplY3Rl
ZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdEdyb3Vw
CiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBw
YXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2Vu
ZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFsdWF0ZTog
ZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCBy
ZXR1cm5CeVZhbHVlKQorICAgIGV2YWx1YXRlOiBmdW5jdGlvbihleHByZXNzaW9uLCBvYmplY3RH
cm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmll
dykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFuZFdyYXAoSW5qZWN0ZWRT
Y3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhvc3QsIGV4cHJlc3Npb24sIG9iamVj
dEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUpOworICAg
ICAgICByZXR1cm4gdGhpcy5fZXZhbHVhdGVBbmRXcmFwKEluamVjdGVkU2NyaXB0SG9zdC5ldmFs
dWF0ZSwgSW5qZWN0ZWRTY3JpcHRIb3N0LCBleHByZXNzaW9uLCBvYmplY3RHcm91cCwgZmFsc2Us
IGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpOwog
ICAgIH0sCiAKICAgICAvKioKQEAgLTQ2MCwxMyArNDYxLDE0IEBAIEluamVjdGVkU2NyaXB0LnBy
b3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRXZhbE9uQ2FsbEZyYW1lCiAg
ICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJh
bSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJh
dGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBfZXZhbHVhdGVBbmRX
cmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3Jv
dXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1
ZSkKKyAgICBfZXZhbHVhdGVBbmRXcmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwg
ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5k
TGluZUFQSSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAgICAgICAg
dHJ5IHsKICAgICAgICAgICAgIHJldHVybiB7IHdhc1Rocm93bjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICByZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3QodGhpcy5fZXZhbHVhdGVPbihldmFs
RnVuY3Rpb24sIG9iamVjdCwgb2JqZWN0R3JvdXAsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZy
YW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlLCBm
YWxzZSkgfTsKKyAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDogdGhpcy5fd3JhcE9iamVjdCh0
aGlzLl9ldmFsdWF0ZU9uKGV2YWxGdW5jdGlvbiwgb2JqZWN0LCBvYmplY3RHcm91cCwgZXhwcmVz
c2lvbiwgaXNFdmFsT25DYWxsRnJhbWUsIGluamVjdENvbW1hbmRMaW5lQVBJKSwgb2JqZWN0R3Jv
dXAsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykgfTsKICAgICAgICAgfSBjYXRjaCAo
ZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRocm93blZhbHVlKGUsIG9iamVj
dEdyb3VwKTsKICAgICAgICAgfQpAQCAtNTQyLDkgKzU0NCwxMCBAQCBJbmplY3RlZFNjcmlwdC5w
cm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdEdyb3VwCiAgICAgICog
QHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9v
bGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2
aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFsdWF0ZU9uQ2FsbEZyYW1l
OiBmdW5jdGlvbih0b3BDYWxsRnJhbWUsIGNhbGxGcmFtZUlkLCBleHByZXNzaW9uLCBvYmplY3RH
cm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUpCisgICAgZXZhbHVhdGVP
bkNhbGxGcmFtZTogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCwgZXhwcmVzc2lv
biwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBnZW5l
cmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgY2FsbEZyYW1lID0gdGhpcy5fY2FsbEZy
YW1lRm9ySWQodG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCk7CiAgICAgICAgIGlmICghY2FsbEZy
YW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGNhMjYzZDk2
ZWI5YzM5M2JlMWIzZmNhOWZlMjc5NmZlZThiYjNjYjkuLmFlMzRkMzg0OTE4NGI4MjQ3ZjU4MzA0
MjI0ZmM2OTU4YjZjYTU4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KQEAgLTU2Miw3ICs1NjIsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlu
Y2x1ZGVDb21tYW5kTGluZUFQSSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiRGV0ZXJtaW5lcyB3aGV0aGVyIENvbW1hbmQgTGluZSBBUEkgc2hv
dWxkIGJlIGF2YWlsYWJsZSBkdXJpbmcgdGhlIGV2YWx1YXRpb24uIiwgImhpZGRlbiI6IHRydWUg
fSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGV2YWx1YXRpb24gc2hvdWxkIHN0b3Agb24g
ZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlkZXMgc2V0UGF1c2VPbkV4Y2VwdGlv
biBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImNvbnRleHRJZCIsICIkcmVmIjogIlJ1bnRpbWUuRXhlY3V0aW9uQ29udGV4dElkIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyBpbiB3aGljaCBpc29sYXRl
ZCBjb250ZXh0IHRvIHBlcmZvcm0gZXZhbHVhdGlvbi4gRWFjaCBjb250ZW50IHNjcmlwdCBsaXZl
cyBpbiBhbiBpc29sYXRlZCBjb250ZXh0IGFuZCB0aGlzIHBhcmFtZXRlciBtYXkgYmUgdXNlZCB0
byBzcGVjaWZ5IG9uZSBvZiB0aG9zZSBjb250ZXh0cy4gSWYgdGhlIHBhcmFtZXRlciBpcyBvbWl0
dGVkIG9yIDAgdGhlIGV2YWx1YXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnRleHQg
b2YgdGhlIGluc3BlY3RlZCBwYWdlLiIsICJoaWRkZW4iOiB0cnVlIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicmV0dXJuQnlWYWx1ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgcmVzdWx0IGlzIGV4cGVj
dGVkIHRvIGJlIGEgSlNPTiBvYmplY3QgdGhhdCBzaG91bGQgYmUgc2VudCBieSB2YWx1ZS4iIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBy
ZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBiZSBzZW50
IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5lcmF0ZVBy
ZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImhpZGRlbiI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVyYXRlZCBm
b3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJy
ZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICIkcmVm
IjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJFdmFsdWF0aW9uIHJlc3VsdC4iIH0s
CkBAIC01NzcsNyArNTc4LDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmdW5j
dGlvbkRlY2xhcmF0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkRlY2xh
cmF0aW9uIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYi
OiAiQ2FsbEFyZ3VtZW50IiwgImRlc2NyaXB0aW9uIjogIkNhbGwgYXJndW1lbnQuIiB9LCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ2FsbCBhcmd1bWVudHMuIEFsbCBjYWxsIGFy
Z3VtZW50cyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBKYXZhU2NyaXB0IHdvcmxkIGFzIHRoZSB0
YXJnZXQgb2JqZWN0LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGZ1bmN0aW9uIGNh
bGwgc2hvdWxkIHN0b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlkZXMg
c2V0UGF1c2VPbkV4Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAotICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBl
eHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNob3VsZCBiZSBzZW50IGJ5IHZhbHVl
LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIg
dGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNob3VsZCBi
ZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5l
cmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImhpZGRl
biI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVy
YXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIs
ICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJDYWxsIHJlc3VsdC4iIH0s
CkBAIC0yNzM4LDcgKzI3NDAsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9i
amVjdEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlN0cmluZyBvYmplY3QgZ3JvdXAgbmFtZSB0byBwdXQgcmVzdWx0IGludG8gKGFsbG93
cyByYXBpZCByZWxlYXNpbmcgcmVzdWx0aW5nIG9iamVjdCBoYW5kbGVzIHVzaW5nIDxjb2RlPnJl
bGVhc2VPYmplY3RHcm91cDwvY29kZT4pLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJpbmNsdWRlQ29tbWFuZExpbmVBUEkiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGNvbW1hbmQgbGluZSBB
UEkgc2hvdWxkIGJlIGF2YWlsYWJsZSB0byB0aGUgZXZhbHVhdGVkIGV4cHJlc3Npb24sIGRlZmF1
bHRzIHRvIGZhbHNlLiIsICJoaWRkZW4iOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hl
dGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMgYW5kIG11dGUgY29uc29s
ZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwgImhpZGRlbiI6IHRydWUg
fSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRo
ZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBiZSBz
ZW50IGJ5IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5
VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHRo
YXQgc2hvdWxkIGJlIHNlbnQgYnkgdmFsdWUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImdlbmVyYXRlUHJldmlldyIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0
cnVlLCAiaGlkZGVuIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgcHJldmlldyBzaG91
bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGUgcmVzdWx0LiIgfQogICAgICAgICAgICAgICAgIF0sCiAg
ICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAicmVzdWx0IiwgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiLCAiZGVzY3JpcHRpb24i
OiAiT2JqZWN0IHdyYXBwZXIgZm9yIHRoZSBldmFsdWF0aW9uIHJlc3VsdC4iIH0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5k
ZXggNjFiMzJmMDdkM2ZjNjRhNTY2MjgzMzE4M2ZjMGUyNDY2NjdlNWEwOS4uZTY1MzE1MDAwZWEx
MDkzODQwNzdmNzFmNTgzODhjM2E0MTFmZjQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtNTAwLDcgKzUwMCw3IEBA
IHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0UGF1c2VPbkV4Y2VwdGlvbnNJbXBsKEVy
cm9yU3RyaW5nKiBlcnJvclN0cmluZywKICAgICAgICAgbV9zdGF0ZS0+c2V0TG9uZyhEZWJ1Z2dl
ckFnZW50U3RhdGU6OnBhdXNlT25FeGNlcHRpb25zU3RhdGUsIHBhdXNlU3RhdGUpOwogfQogCi12
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBjb25zdCBTdHJpbmcm
IGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIGNvbnN0IGJvb2wq
IGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZh
bHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwg
VHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJvclN0cmlu
ZywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBj
b25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRl
Q29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNB
bmRNdXRlQ29uc29sZSwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9v
bCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9i
amVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQog
ewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluamVjdGVkU2NyaXB0Rm9yT2JqZWN0SWQoY2FsbEZyYW1lSWQpOwogICAgIGlmIChp
bmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVy
cm9yU3RyaW5nLCBjb25zdAogICAgICAgICBtdXRlQ29uc29sZSgpOwogICAgIH0KIAotICAgIGlu
amVjdGVkU2NyaXB0LmV2YWx1YXRlT25DYWxsRnJhbWUoZXJyb3JTdHJpbmcsIG1fY3VycmVudENh
bGxTdGFjaywgY2FsbEZyYW1lSWQsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdy
b3VwIDogIiIsIGluY2x1ZGVDb21tYW5kTGluZUFQSSA/ICppbmNsdWRlQ29tbWFuZExpbmVBUEkg
OiBmYWxzZSwgcmV0dXJuQnlWYWx1ZSA/ICpyZXR1cm5CeVZhbHVlIDogZmFsc2UsICZyZXN1bHQs
IHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGVPbkNhbGxGcmFtZShlcnJv
clN0cmluZywgbV9jdXJyZW50Q2FsbFN0YWNrLCBjYWxsRnJhbWVJZCwgZXhwcmVzc2lvbiwgb2Jq
ZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJID8gKmlu
Y2x1ZGVDb21tYW5kTGluZUFQSSA6IGZhbHNlLCByZXR1cm5CeVZhbHVlID8gKnJldHVybkJ5VmFs
dWUgOiBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3ID8gKmdlbmVyYXRlUHJldmlldyA6IGZhbHNlLCAm
cmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRN
dXRlQ29uc29sZSA/ICpkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUgOiBmYWxz
ZSkgewogICAgICAgICB1bm11dGVDb25zb2xlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCBlNmY1ZjE4NzdmODEzM2Q1YjM3
NGQyYWE0YjBmMDUzZTJhYjA5ZmJkLi44MWJjZWVkZWM2OTlmNzcxMmNlZGJiZjQwZDk2OWRhMjk2
MDAxMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGJvb2wqIGluY2x1ZGVDb21tYW5kTGluZUFQSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0Fu
ZE11dGVDb25zb2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBy
ZXR1cm5CeVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBn
ZW5lcmF0ZVByZXZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwog
ICAgIHZvaWQgY29tcGlsZVNjcmlwdChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZXhwcmVz
c2lvbiwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8VHlw
ZUJ1aWxkZXI6OkRlYnVnZ2VyOjpTY3JpcHRJZD4qLCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PFN0
cmluZz4qIHN5bnRheEVycm9yTWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IDgwYmU1MGMyYTkyNmQ5ZTE1ZTJj
MGY1ZWY4NzZmNDU0NmU3YTM0NGUuLjY5MThlOTAzYWRhNjZjNDk1YjhjYTVjMzlkMjIwYzE4MThm
NGI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlcjo6
UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKFNjcmlwCiB9
CiAjZW5kaWYKIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmV2YWx1YXRlKEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcq
IGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRlQ29tbWFuZExpbmVB
UEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29s
ZSwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IHJldHVy
bkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVz
dWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lkIEluc3Bl
Y3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIGNv
bnN0IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogY29uc3Qg
ZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBpbnQqIGV4ZWN1dGlv
bkNvbnRleHRJZCwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9vbCog
Z2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQogewog
ICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRGb3JFdmFs
KGVycm9yU3RyaW5nLCBleGVjdXRpb25Db250ZXh0SWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlw
dC5oYXNOb1ZhbHVlKCkpCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFn
ZW50OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhw
CiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKQog
ICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXJy
b3JTdHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGFz
Qm9vbChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSksICZyZXN1
bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXJyb3JTdHJpbmcs
IGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGFzQm9vbChpbmNs
dWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSksIGFzQm9vbChnZW5lcmF0
ZVByZXZpZXcpLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGFzQm9vbChkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7CiAgICAgICAgIHVubXV0ZUNvbnNvbGUo
KTsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVh
dGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cAogICAgIH0KIH0K
IAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHBy
ZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25hbEFyZ3Vt
ZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25z
b2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxi
b29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlv
bk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29u
c3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25z
dCBvcHRpb25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBjb25z
dCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVt
b3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJv
d24pCiB7CiAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRGb3JPYmplY3RJZChvYmplY3RJZCk7CiAgICAgaWYg
KGluamVjdGVkU2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQg
SW5zcGVjdG9yUnVudGltZUFnZW50OjpjYWxsRnVuY3Rpb25PbihFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGNvbnN0IFN0cmluCiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUpKQogICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRT
Y3JpcHQuY2FsbEZ1bmN0aW9uT24oZXJyb3JTdHJpbmcsIG9iamVjdElkLCBleHByZXNzaW9uLCBh
cmd1bWVudHMsIGFzQm9vbChyZXR1cm5CeVZhbHVlKSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKKyAg
ICBpbmplY3RlZFNjcmlwdC5jYWxsRnVuY3Rpb25PbihlcnJvclN0cmluZywgb2JqZWN0SWQsIGV4
cHJlc3Npb24sIGFyZ3VtZW50cywgYXNCb29sKHJldHVybkJ5VmFsdWUpLCBhc0Jvb2woZ2VuZXJh
dGVQcmV2aWV3KSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKIAogICAgIGlmIChhc0Jvb2woZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlKSkgewogICAgICAgICB1bm11dGVDb25zb2xl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50
LmgKaW5kZXggMjllNTdkMjJmNjQxNmNmYzFkMTMzZGZiZjczYzg2NTE5ODc4ZWVhZC4uNmY0MTJl
NTFiNjU2NGYzNWRhYzA1OTQwYjg5MTEwNmRjZGMzODllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApAQCAtNjgsNiArNjgsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRp
b25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQqIGV4ZWN1dGlv
bkNvbnRleHRJZCwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wqIHJldHVybkJ5VmFsdWUs
CisgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsCiAgICAgICAg
ICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCwKICAgICAgICAgICAgICAgICAgIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdh
c1Rocm93bik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwK
QEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
UmVmUHRyPEluc3BlY3RvckFycmF5Piogb3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNv
bGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LAogICAg
ICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVP
YmplY3Q+JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0
T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlT2JqZWN0
KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwppbmRleCA1YjEy
NjNmZGEzMDYxNTUzNWQ5NDlmYWJhNTU1MDY3OWYwYTRlN2ZmLi5lMDA1YjI1Y2JkZDNjZWEyNDg3
NGU3MjYxZTgzZGMwY2Q3NDdkNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTM1NSw5ICszNTUsMTQgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIG9iamVj
dC5wdXNoTm9kZVRvRnJvbnRlbmQocHJpbnROb2RlLmJpbmQodGhpcykpOwogICAgIH0sCiAKKyAg
ICB1c2VBcnJheVByZXZpZXdJbkZvcm1hdHRlcjogZnVuY3Rpb24oYXJyYXkpCisgICAgeworICAg
ICAgICByZXR1cm4gISFhcnJheS5wcmV2aWV3OworICAgIH0sCisKICAgICBfZm9ybWF0UGFyYW1l
dGVyQXNBcnJheTogZnVuY3Rpb24oYXJyYXksIGVsZW0pCiAgICAgewotICAgICAgICBpZiAoYXJy
YXkucHJldmlldykgeworICAgICAgICBpZiAodGhpcy51c2VBcnJheVByZXZpZXdJbkZvcm1hdHRl
cihhcnJheSkpIHsKICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9i
amVjdChhcnJheSwgIiIsIGVsZW0sIHRydWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNv
bGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwppbmRleCA1ODZmMThlMTFiODA5MmI4NTlkYmI5NDc2MjQ5YTEyOGE2OGFjMGNlLi44MzVl
NTVkZjkyYjQwMGEzY2UxYWI2MGYxN2NjZWEyMWU4MTVjYWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTU4Miw3ICs1ODIs
NyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
CiAgICAgICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93biwgY29tbWFu
ZE1lc3NhZ2UpOwogICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwu
ZXZhbHVhdGUodGV4dCwgImNvbnNvbGUiLCB1c2VDb21tYW5kTGluZUFQSSwgZmFsc2UsIGZhbHNl
LCBwcmludFJlc3VsdC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVN
b2RlbC5ldmFsdWF0ZSh0ZXh0LCAiY29uc29sZSIsIHVzZUNvbW1hbmRMaW5lQVBJLCBmYWxzZSwg
ZmFsc2UsIHRydWUsIHByaW50UmVzdWx0LmJpbmQodGhpcykpOwogCiAgICAgICAgIFdlYkluc3Bl
Y3Rvci51c2VyTWV0cmljcy5Db25zb2xlRXZhbHVhdGVkLnJlY29yZCgpOwogICAgIH0sCkBAIC03
MDQsNiArNzA0LDExIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCA9IGZ1bmN0
aW9uKHJlc3VsdCwgd2FzVGhyb3duLCBvcmlnaW5hdGluZ0NvbW1hCiB9CiAKIFdlYkluc3BlY3Rv
ci5Db25zb2xlQ29tbWFuZFJlc3VsdC5wcm90b3R5cGUgPSB7CisgICAgdXNlQXJyYXlQcmV2aWV3
SW5Gb3JtYXR0ZXI6IGZ1bmN0aW9uKGFycmF5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0sCisKICAgICB0b01lc3NhZ2VFbGVtZW50OiBmdW5jdGlvbigpCiAgICAgewogICAg
ICAgICB2YXIgZWxlbWVudCA9IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90
eXBlLnRvTWVzc2FnZUVsZW1lbnQuY2FsbCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCAzMjZhOWJlMjQzY2Zk
Yzk3ZDkxNmYzN2FhZTE1ZDI1MjM5YjFmMTA3Li40ZTkxM2U5ZDA0MDc5MWZhZGNmYjhiNTkwNTEz
MTYwYzk3OGUwMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RlYnVnZ2VyTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCkBAIC00NzgsOSArNDc4LDEwIEBAIFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1
ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQYXVzZU9uRXhj
ZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29sZWFufSByZXR1cm5CeVZh
bHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZpZXcKICAgICAgKiBAcGFy
YW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1l
QWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgZXZhbHVhdGVPblNl
bGVjdGVkQ2FsbEZyYW1lOiBmdW5jdGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1h
bmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5
VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRlT25TZWxlY3RlZENhbGxGcmFtZTogZnVuY3Rp
b24oY29kZSwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9u
RXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcs
IGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgLyoqCiAgICAgICAgICAqIEBwYXJhbSB7P1J1bnRp
bWVBZ2VudC5SZW1vdGVPYmplY3R9IHJlc3VsdApAQCAtNDk3LDcgKzQ5OCw3IEBAIFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMu
Q29uc29sZUNvbW1hbmRFdmFsdWF0ZWRJblNlbGVjdGVkQ2FsbEZyYW1lKTsKICAgICAgICAgfQog
Ci0gICAgICAgIHRoaXMuc2VsZWN0ZWRDYWxsRnJhbWUoKS5ldmFsdWF0ZShjb2RlLCBvYmplY3RH
cm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0
ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGRpZEV2YWx1YXRlLmJpbmQodGhpcykpOworICAgICAg
ICB0aGlzLnNlbGVjdGVkQ2FsbEZyYW1lKCkuZXZhbHVhdGUoY29kZSwgb2JqZWN0R3JvdXAsIGlu
Y2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xl
LCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGRpZEV2YWx1YXRlLmJpbmQodGhpcykp
OwogICAgIH0sCiAKICAgICAvKioKQEAgLTczNSw5ICs3MzYsMTAgQEAgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTW9kZWwuQ2FsbEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29sZWFufSBy
ZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZpZXcKICAg
ICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9SdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0LCBib29sZWFu
PSk9fSBjYWxsYmFjawogICAgICAqLwotICAgIGV2YWx1YXRlOiBmdW5jdGlvbihjb2RlLCBvYmpl
Y3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5k
TXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRlOiBmdW5j
dGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNl
T25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmll
dywgY2FsbGJhY2spCiAgICAgewogICAgICAgICAvKioKICAgICAgICAgICogQHRoaXMge1dlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkNhbGxGcmFtZX0KQEAgLTc1NCw3ICs3NTYsNyBAQCBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5DYWxsRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0LCB3YXNUaHJvd24pOwogICAgICAgICB9
Ci0gICAgICAgIERlYnVnZ2VyQWdlbnQuZXZhbHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9wYXlsb2Fk
LmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGRpZEV2
YWx1YXRlT25DYWxsRnJhbWUuYmluZCh0aGlzKSk7CisgICAgICAgIERlYnVnZ2VyQWdlbnQuZXZh
bHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9wYXlsb2FkLmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RH
cm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0
ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldywgZGlkRXZhbHVhdGVPbkNh
bGxGcmFtZS5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IDE0
OWM4YjhjMjJiZjdlNmM5ZDc5NTU4NGFkMDM5ZjIzNTE3MzczNzQuLmViNWNhNWRiZTllMzAyOTQ3
YWNlYTAzYWY1NmU5YzNmNjE1ZWUzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC03OTcsNyArNzk3LDcgQEAg
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05PVEZPVU5EKHNlY3VyaXR5T3JpZ2luKTsKICAgICAg
ICAgICAgIGNvbnRleHRJZCA9IGNvbnRleHQuaWQ7CiAgICAgICAgIH0KLSAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sICJleHRlbnNpb24iLCBleHBvc2VDb21tYW5kTGlu
ZUFQSSwgdHJ1ZSwgY29udGV4dElkLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CisgICAgICAg
IFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZShleHByZXNzaW9uLCAiZXh0ZW5zaW9uIiwgZXhwb3NlQ29t
bWFuZExpbmVBUEksIHRydWUsIGNvbnRleHRJZCwgcmV0dXJuQnlWYWx1ZSwgZmFsc2UsIGNhbGxi
YWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKaW5kZXggYTkyZDNkMTMyY2U5
NGI4YTAyZjlkYTJkNDI0MGMyY2U5NzViMGQyYi4uOTM5YmZhNzM3NGQyYzk2YjFkMzIwZjhiZjQ3
MzYyYWYzYmNhYjU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKQEAgLTMzMSw3ICszMzEsNyBA
QCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICB2YXIgc2VsZWN0ZWRDYWxsRnJhbWUg
PSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zZWxlY3RlZENhbGxGcmFtZSgpOwotICAgICAg
ICBzZWxlY3RlZENhbGxGcmFtZS5ldmFsdWF0ZSh0aGlzLl9oaWdobGlnaHRFbGVtZW50LnRleHRD
b250ZW50LCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgc2hvd09iamVjdFBv
cG92ZXIuYmluZCh0aGlzKSk7CisgICAgICAgIHNlbGVjdGVkQ2FsbEZyYW1lLmV2YWx1YXRlKHRo
aXMuX2hpZ2hsaWdodEVsZW1lbnQudGV4dENvbnRlbnQsIG9iamVjdEdyb3VwTmFtZSwgZmFsc2Us
IHRydWUsIGZhbHNlLCBmYWxzZSwgc2hvd09iamVjdFBvcG92ZXIuYmluZCh0aGlzKSk7CiAgICAg
fSwKIAogICAgIF9vbkhpZGVQb3BvdmVyOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCmluZGV4IDMyNGY0ZWRiNWEw
YTk5YmQ4MGEzYTYyNWRmOTk2OTg0NDU0MGE5OTEuLmJkNTlkMTc5YjgwNmM4NjFiZDU5YTFjZjE4
ZTBkMWYxMDNhNzk4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVtb3RlT2JqZWN0LmpzCkBAIC0yNDgsNyArMjQ4LDcgQEAgV2ViSW5zcGVjdG9yLlJl
bW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgc2V0UHJvcGVydHlWYWx1
ZUZ1bmN0aW9uID0gImZ1bmN0aW9uKGEpIHsgdGhpc1thXSA9ICIgKyByZXN1bHQuZGVzY3JpcHRp
b24gKyAiOyB9IjsKIAogICAgICAgICAgICAgZGVsZXRlIHJlc3VsdC5kZXNjcmlwdGlvbjsgLy8g
T3B0aW1pemUgb24gdHJhZmZpYy4KLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rp
b25Pbih0aGlzLl9vYmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2YWx1ZTpu
YW1lIH0sIHJlc3VsdF0sIHRydWUsIHVuZGVmaW5lZCwgcHJvcGVydHlTZXRDYWxsYmFjay5iaW5k
KHRoaXMpKTsKKyAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9v
YmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2YWx1ZTpuYW1lIH0sIHJlc3Vs
dF0sIHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwcm9wZXJ0eVNldENhbGxiYWNrLmJpbmQo
dGhpcykpOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5fb2JqZWN0SWQpCiAgICAgICAgICAgICAg
ICAgUnVudGltZUFnZW50LnJlbGVhc2VPYmplY3QocmVzdWx0Ll9vYmplY3RJZCk7CiAgICAgICAg
IH0KQEAgLTI5OSw3ICsyOTksNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGNhbGxiYWNrKChlcnJvciB8fCB3YXNUaHJvd24pID8gbnVsbCA6
IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KSk7CiAgICAgICAg
IH0KIAotICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQs
IGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVkLCBt
eWNhbGxiYWNrKTsKKyAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29i
amVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUsIHVuZGVm
aW5lZCwgdW5kZWZpbmVkLCBteWNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zMTks
NyArMzE5LDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBjYWxsYmFjaygoZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiByZXN1bHQudmFs
dWUpOwogICAgICAgICB9CiAKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRo
aXMuX29iamVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUs
IHRydWUsIG15Y2FsbGJhY2spOworICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24o
dGhpcy5fb2JqZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1
ZSwgdHJ1ZSwgZmFsc2UsIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICByZWxlYXNlOiBmdW5j
dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1J1
bnRpbWVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGlt
ZU1vZGVsLmpzCmluZGV4IDZmN2Y5ZTM5ZWNmZTc0Yjc4MzE4OTUyYTA5YmU0YTBiNjM2YjNkMzMu
LmI3YmE3ODg2ODZlMDg2ODY3Y2U0MTBlNGEwYjZjYTA1ODE2ZDI2YmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCkBAIC0xMjks
MTIgKzEyOSwxMyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJh
bSB7Ym9vbGVhbn0gZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICog
QHBhcmFtIHtib29sZWFufSByZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBn
ZW5lcmF0ZVByZXZpZXcKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVt
b3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNhbGxiYWNr
CiAgICAgICovCi0gICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4cHJlc3Npb24sIG9iamVjdEdyb3Vw
LCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29u
c29sZSwgcmV0dXJuQnlWYWx1ZSwgY2FsbGJhY2spCisgICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4
cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90UGF1c2VP
bkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3
LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5zZWxlY3RlZENhbGxGcmFtZSgpKSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVzc2lvbiwgb2JqZWN0R3Jv
dXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVD
b25zb2xlLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CisgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZGVidWdnZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVzc2lvbiwg
b2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9u
c0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGNhbGxiYWNr
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0xNjEsNyArMTYyLDcgQEAg
V2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9t
UGF5bG9hZChyZXN1bHQpLCAhIXdhc1Rocm93bik7CiAgICAgICAgIH0KLSAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExp
bmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3VycmVu
dEV4ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5pZCA6IHVu
ZGVmaW5lZCwgcmV0dXJuQnlWYWx1ZSwgZXZhbENhbGxiYWNrKTsKKyAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVB
UEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3VycmVudEV4
ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5pZCA6IHVuZGVm
aW5lZCwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3LCBldmFsQ2FsbGJhY2spOwogICAg
IH0sCiAKICAgICAvKioKQEAgLTIwOSw3ICsyMTAsNyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFleHByZXNzaW9uU3RyaW5nICYmIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNlbGVjdGVkQ2FsbEZyYW1lKCkpCiAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5nZXRTZWxlY3RlZENhbGxGcmFtZVZhcmlhYmxlcyhy
ZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRoaXMuZXZhbHVhdGUoZXhwcmVzc2lvblN0cmluZywgImNvbXBsZXRpb24iLCB0cnVlLCB0
cnVlLCBmYWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOworICAgICAgICAgICAgdGhpcy5ldmFs
dWF0ZShleHByZXNzaW9uU3RyaW5nLCAiY29tcGxldGlvbiIsIHRydWUsIHRydWUsIGZhbHNlLCBm
YWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOwogCiAgICAgICAgIGZ1bmN0aW9uIGV2YWx1YXRl
ZChyZXN1bHQsIHdhc1Rocm93bikKICAgICAgICAgewpAQCAtMjQ1LDcgKzI0Niw3IEBAIFdlYklu
c3BlY3Rvci5SdW50aW1lTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKHJlc3Vs
dC50eXBlID09PSAib2JqZWN0IiB8fCByZXN1bHQudHlwZSA9PT0gImZ1bmN0aW9uIikKICAgICAg
ICAgICAgICAgICByZXN1bHQuY2FsbEZ1bmN0aW9uSlNPTihnZXRDb21wbGV0aW9ucywgdW5kZWZp
bmVkLCByZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgICAgICBlbHNl
IGlmIChyZXN1bHQudHlwZSA9PT0gInN0cmluZyIgfHwgcmVzdWx0LnR5cGUgPT09ICJudW1iZXIi
IHx8IHJlc3VsdC50eXBlID09PSAiYm9vbGVhbiIpCi0gICAgICAgICAgICAgICAgdGhpcy5ldmFs
dWF0ZSgiKCIgKyBnZXRDb21wbGV0aW9ucyArICIpKFwiIiArIHJlc3VsdC50eXBlICsgIlwiKSIs
ICJjb21wbGV0aW9uIiwgZmFsc2UsIHRydWUsIHRydWUsIHJlY2VpdmVkUHJvcGVydHlOYW1lc0Zy
b21FdmFsLmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGUoIigiICsg
Z2V0Q29tcGxldGlvbnMgKyAiKShcIiIgKyByZXN1bHQudHlwZSArICJcIikiLCAiY29tcGxldGlv
biIsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgcmVjZWl2ZWRQcm9wZXJ0eU5hbWVzRnJvbUV2
YWwuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiByZWNlaXZlZFBy
b3BlcnR5TmFtZXNGcm9tRXZhbChub3RSZWxldmFudCwgd2FzVGhyb3duLCByZXN1bHQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lv
bnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2F0
Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCmluZGV4IDBlOGQ5NzljYTE0NWZiMzA1MjY1Zjgy
ZjdiNTI3NzZmZDJhZGMzODMuLjBmYmUyOGMxMTAxNmY2ZWRjM2I2MDNkNWQxMDU3YzcwMWVhZGRm
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hF
eHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCkBAIC0yMTMsNyArMjEzLDcg
QEAgV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIGlmICghZXhwcmVzc2lvbikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHByZXNzaW9u
LCB0aGlzLl93YXRjaE9iamVjdEdyb3VwSWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgYXBwZW5kUmVz
dWx0LmJpbmQodGhpcywgZXhwcmVzc2lvbiwgaSkpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHByZXNzaW9uLCB0aGlzLl93YXRjaE9iamVjdEdyb3Vw
SWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGFwcGVuZFJlc3VsdC5iaW5kKHRoaXMsIGV4
cHJlc3Npb24sIGkpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghcHJvcGVydHlDb3VudCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDNiNTM1OTQzZmFmNTA3ZTE4MjIwNjczOTE0YjM2ZTE4MDg0MDc3NDguLjM2Njlm
MDdlYTE4Y2U0MThkYWQ4NDNlZmU0ZGE0Yjg1NTkyNzljYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMi0xMC0zMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBPdXRwdXQgY29kZSBldmFsdWF0ZWQgaW4gdGhlIGNvbnNv
bGUgdGhlIHNhbWUgYXMgY29uc29sZS5sb2cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDY5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmVkIHNvbWUgdGVzdHMgYWZ0ZXIgb2JqZWN0IHBy
ZXZpZXcgaXMgc3RhcnRlZCBiZWVpbmcgdXNlZCBmb3IKKyAgICAgICAgY29uc29sZSBldmFsIHJl
c3VsdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBp
LWluc3BlY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmlu
ZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTEwLTMxICBSYXBoYWVsIEt1Ym8gZGEg
Q29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxd
IE1vcmUgdW5yZXZpZXdlZCBwaXhlbCBleHBlY3RhdGlvbnMgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4
cGVjdGVkLnR4dAppbmRleCA0MjZjZDhjMWY0NWJkZjg4ODhlODRhZmM5YzY0ZjBjYzBhYmI1MzI4
Li5mYjJlMTUyMzI0NjU3ZjM0YjU1YmI0YWViYzEwYjIwNDViMzk5ZTA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDI1OiBU
aGUgY29uc29sZSBmdW5jdGlvbiAkKCkgaGFzIGNoYW5nZWQgZnJvbSAkPWdldEVsZW1lbnRCeUlk
KGlkKSB0byAkPXF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLiBZb3UgbWlnaHQgdHJ5ICQoIiMlcyIp
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTAyODogVGhlIGNvbnNvbGUgZnVuY3Rpb24gJCgpIGhh
cyBjaGFuZ2VkIGZyb20gJD1nZXRFbGVtZW50QnlJZChpZCkgdG8gJD1xdWVyeVNlbGVjdG9yKHNl
bGVjdG9yKS4gWW91IG1pZ2h0IHRyeSAkKCIjJXMiKQogVGVzdHMgdGhhdCBjb21tYW5kIGxpbmUg
YXBpIHdvcmtzLgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0CmluZGV4
IDIxYmMwMDJjOTFmYzljOGMxODRiZmE2ZGU2NTdmNjQzNjJiNmY3MjQuLjQxNWYwNzAwN2RlNmYy
NDQ1Zjc0N2VlODhkMzljYWY2MTQ0MDBjZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4
cGVjdGVkLnR4dApAQCAtMTQsMTQgKzE0LDE0IEBAIFJ1bm5pbmc6IHRlc3RSZXZlYWxEYXRhYmFz
ZQogCiBXZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogRGF0YWJhc2UKIFdlYkluc3Bl
Y3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRhdGFiYXNlSWQiXQotaW5zcGVjdChkYikgPSBE
YXRhYmFzZQoraW5zcGVjdChkYikgPSBEYXRhYmFzZSB7dmVyc2lvbjogIjEuMCJ9CiAKIFJ1bm5p
bmc6IHRlc3RSZXZlYWxEYXRhYmFzZTIKIAogCiBXZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQg
d2l0aDogRGF0YWJhc2UKIFdlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRhdGFi
YXNlSWQiXQotaW5zcGVjdChkYjIpID0gRGF0YWJhc2UKK2luc3BlY3QoZGIyKSA9IERhdGFiYXNl
IHt2ZXJzaW9uOiAiMS4wIn0KIAogUnVubmluZzogdGVzdFJldmVhbExvY2FsU3RvcmFnZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xv
YmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
ZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CmluZGV4IDYxMDdmY2E3MzQwM2M3ODFiOTdlM2VhNmY2
YjYzOTQyNWZiNTBhNmMuLjk2ODM5Y2ZjZTg4ODEzN2YxMDg4MjQ3YWI2NjFkMTU5YjkzNWU4ZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1n
bG9iYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CkBAIC0zLDUgKzMsNSBAQCBUZXN0cyB0aGF0
IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGluIHRoZSBjb25zb2xlIG9uIGds
b2JhbCBvYmplY3QuCiBmb28KICJmb29WYWx1ZSIKIGJhcgotT2JqZWN0CitPYmplY3Qge2E6ICJi
In0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1l
dmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLWV4cGVjdGVkLnR4dApp
bmRleCA0ZTMzNzY5ODNiYjc1MWE2M2QxYWI5NWNiZmI5YjJlMWMxZGIzYjlmLi4yYjQ1YjE0ZmQ1
ZDM3ZTdjNTFiZTFlMGZjMWJhYzk4ZmYwMmYwZjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5k
ZWZpbmVkLW92ZXJyaWRlLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIFRlc3RzIHRoYXQg
ZXZhbHVhdGluZyBzb21ldGhpbmcgaW4gY29uc29sZSB3b24ndCBjcmFzaCB0aGUgYnJvd3NlciBp
ZiB1bmRlZmluZWQgdmFsdWUgaXMgb3ZlcnJpZGVuLiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9l
c24ndCBjcmFzaC4gQnVnIDY0MTU1LgogCiB2YXIgeCA9IHthOjF9OyB4LnNlbGYgPSB4OyB1bmRl
ZmluZWQgPSB4OwotT2JqZWN0CitPYmplY3Qge2E6IDEsIHNlbGY6IE9iamVjdH0KIHVua25vd25W
YXIKIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB1bmtub3duVmFyCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVm
aW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKaW5kZXggNTgyZDc4N2ZjYjQ3MGIyYWNiNWFhYjBi
MzIyYzIwMDViMDQ0ZDYzOC4uZmMzZGNjYjQxZTE4NTVhNzBkMWIzYTZmZTE0NWJmNWU2NzI3MDlh
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1l
dmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBUZXN0
cyB0aGF0IGV2YWx1YXRpbmcgc29tZXRoaW5nIGluIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJy
b3dzZXIgaWYgdW5kZWZpbmVkIHZhbHVlIGlzIG92ZXJyaWRlbi4gVGhlIHRlc3QgcGFzc2VzIGlm
IGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA2NDE1NS4KIAogdmFyIHggPSB7YToxfTsgeC5zZWxmID0g
eDsgdW5kZWZpbmVkID0geDsKLU9iamVjdAorT2JqZWN0IHthOiAxLCBzZWxmOiBPYmplY3R9CiB1
bmtub3duVmFyCiBSZWZlcmVuY2VFcnJvcjogdW5rbm93blZhciBpcyBub3QgZGVmaW5lZAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171792</attachid>
            <date>2012-11-01 01:29:58 -0700</date>
            <delta_ts>2012-11-01 04:10:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100695-20121101122819.patch</filename>
            <type>text/plain</type>
            <size>41474</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhNGYzMjEwYTE5OTAy
N2QyNDAxOTliZWM2NTk5ODA0NDIzYTdiOS4uZTU4NmM0ZDE1M2JhZjZkYjFiYThlNDkyZWQxODA0
MDFkOTJmNThkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTEwLTMwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE91dHB1dCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSB0aGUgc2FtZSBhcyBjb25z
b2xlLmxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYW4gb3B0aW9uIHRvIHJldHVybiBvYmplY3QgcHJldmlldyBmcm9tIGV2YWx1YXRpb24g
Y29tbWFuZHMgaW4gdGhlIHByb3RvY29sLgorICAgICAgICBUaGUgb3B0aW9uIGlzIHVzZWQgdG8g
Z2VuZXJhdGUgcHJldmlldyBmb3IgY29uc29sZSBldmFsIHJlc3VsdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRT
Y3JpcHQ6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0OjpjYWxs
RnVuY3Rpb25Pbik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVP
bkNhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAg
ICAgIChJbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzOgorICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJh
bWUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAg
ICAgIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVB
Z2VudDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUnVudGltZUFnZW50
OjpjYWxsRnVuY3Rpb25Pbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUnVudGltZUFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUudXNlQXJyYXlQcmV2aWV3SW5Gb3JtYXR0ZXIp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zv
cm1hdFBhcmFtZXRlckFzQXJyYXkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQu
cHJvdG90eXBlLnVzZUFycmF5UHJldmlld0luRm9ybWF0dGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5wcm90b3R5cGUuZXZhbHVhdGVPblNlbGVjdGVkQ2FsbEZyYW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkNhbGxGcmFtZS5wcm90b3R5cGUuZXZhbHVh
dGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuZXZhbHVhdGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUu
X3Jlc29sdmVPYmplY3RGb3JQb3BvdmVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1JlbW90ZU9iamVjdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJv
dG90eXBlLik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5j
YWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5
cGUuY2FsbEZ1bmN0aW9uSlNPTik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SdW50
aW1lTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlw
ZS5ldmFsdWF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlw
ZS5ldmFsdWF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hFeHByZXNz
aW9uc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lv
bnNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUpOgorCiAyMDEyLTEwLTMxICBJYW4gVm9sbGljayAg
PHZvbGxpY2tAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0ZXh0LWJh
c2VkIHJlcGFpbnQgdGVzdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdC5jcHAKaW5kZXggNjdkZDM5ZTkwNzliZjdmMTMwOWQ0MjQ2YWY0NmI4ZDNiNzE0NmM3ZC4u
NTNmMTNlMDMzYzExMjY0MTgzYTI5YTc3MmUwNTYyZjU4ZWI5MjFkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC02MSwyNyArNjEsMjkgQEAgSW5q
ZWN0ZWRTY3JpcHQ6OkluamVjdGVkU2NyaXB0KFNjcmlwdE9iamVjdCBpbmplY3RlZFNjcmlwdE9i
amVjdCwgSW5zcGVjdGVkU3RhdGUKIHsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVh
dGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNv
bnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIGJvb2wgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBib29s
IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lk
IEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0
IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCwgYm9vbCBpbmNs
dWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBnZW5lcmF0ZVByZXZp
ZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LCBU
eXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCiB7CiAgICAgU2NyaXB0RnVu
Y3Rpb25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2JqZWN0KCksICJldmFsdWF0ZSIpOwog
ICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFw
cGVuZEFyZ3VtZW50KG9iamVjdEdyb3VwKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChp
bmNsdWRlQ29tbWFuZExpbmVBUEkpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHJldHVy
bkJ5VmFsdWUpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGdlbmVyYXRlUHJldmlldyk7
CiAgICAgbWFrZUV2YWxDYWxsKGVycm9yU3RyaW5nLCBmdW5jdGlvbiwgcmVzdWx0LCB3YXNUaHJv
d24pOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0OjpjYWxsRnVuY3Rpb25PbihFcnJvclN0cmlu
ZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhw
cmVzc2lvbiwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsIGJvb2wgcmV0dXJuQnlWYWx1ZSwgUmVm
UHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWls
ZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKK3ZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmNh
bGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmpl
Y3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIGFyZ3VtZW50cywg
Ym9vbCByZXR1cm5CeVZhbHVlLCBib29sIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPFR5cGVCdWls
ZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRw
dXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24o
aW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImNhbGxGdW5jdGlvbk9uIik7CiAgICAgZnVuY3Rpb24u
YXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGV4
cHJlc3Npb24pOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGFyZ3VtZW50cyk7CiAgICAg
ZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQocmV0dXJuQnlWYWx1ZSk7CisgICAgZnVuY3Rpb24uYXBw
ZW5kQXJndW1lbnQoZ2VuZXJhdGVQcmV2aWV3KTsKICAgICBtYWtlRXZhbENhbGwoZXJyb3JTdHJp
bmcsIGZ1bmN0aW9uLCByZXN1bHQsIHdhc1Rocm93bik7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3Jp
cHQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
Y3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3Qg
U3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLCBib29sIGluY2x1
ZGVDb21tYW5kTGluZUFQSSwgYm9vbCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8UmVtb3RlT2JqZWN0
PiogcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lk
IEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgY29uc3QgU2NyaXB0VmFsdWUmIGNhbGxGcmFtZXMsIGNvbnN0IFN0cmluZyYgY2FsbEZy
YW1lSWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91
cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBn
ZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxSZW1vdGVPYmplY3Q+KiByZXN1bHQsIFR5cGVCdWlsZGVy
OjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwg
ZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgImV2YWx1YXRlT25DYWxsRnJhbWUiKTsK
ICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJhbWVzKTsKQEAgLTkwLDYgKzkyLDcg
QEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVPbkNhbGxGcmFtZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFNjcmlwdFYKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChv
YmplY3RHcm91cCk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoaW5jbHVkZUNvbW1hbmRM
aW5lQVBJKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChyZXR1cm5CeVZhbHVlKTsKKyAg
ICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVByZXZpZXcpOwogICAgIG1ha2VFdmFs
Q2FsbChlcnJvclN0cmluZywgZnVuY3Rpb24sIHJlc3VsdCwgd2FzVGhyb3duKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCA4YTZmMzNiMTZlMDkz
NGUwYzExZDkzNDVjZDNjNTY0M2M3OTBmNWZiLi5kZDljMjk5MjBhOGQzNDRjODcwM2JjY2ZmODQ1
ODNjODZhMzQxYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJp
bmcmIG9iamVjdEdyb3VwLAogICAgICAgICAgICAgICAgICAgYm9vbCBpbmNsdWRlQ29tbWFuZExp
bmVBUEksCiAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAg
ICAgICAgICBib29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgIFJlZlB0cjxU
eXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAgICAgICAg
ICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lk
IGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwKQEAgLTY1LDYgKzY2LDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLAogICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGdlbmVyYXRlUHJldmlldywKICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVzdWx0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2
b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqLApAQCAtNzQsNiArNzYsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgb2JqZWN0
R3JvdXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaW5jbHVkZUNvbW1hbmRM
aW5lQVBJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJldHVybkJ5VmFsdWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZ2VuZXJhdGVQcmV2aWV3LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4qIHJlc3VsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZUJ1
aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lkIHJlc3RhcnRGcmFt
ZShFcnJvclN0cmluZyosIGNvbnN0IFNjcmlwdFZhbHVlJiBjYWxsRnJhbWVzLCBjb25zdCBTdHJp
bmcmIGNhbGxGcmFtZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCBj
YWE0OGZkMTMzN2EzOGU2YWU4YmY4ZjU0MzcxNzk2YWRhYzAxMTQ0Li44ODg0Y2JhOGY0YTE2ZWYx
M2EyZGFmYWRmNzdlNmI1ZTllNTAwMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0zOTgsMTEgKzM5OCwxMiBAQCBJbmplY3Rl
ZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdEdyb3Vw
CiAgICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBw
YXJhbSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2Vu
ZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFsdWF0ZTog
ZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCBy
ZXR1cm5CeVZhbHVlKQorICAgIGV2YWx1YXRlOiBmdW5jdGlvbihleHByZXNzaW9uLCBvYmplY3RH
cm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmll
dykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFuZFdyYXAoSW5qZWN0ZWRT
Y3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhvc3QsIGV4cHJlc3Npb24sIG9iamVj
dEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUpOworICAg
ICAgICByZXR1cm4gdGhpcy5fZXZhbHVhdGVBbmRXcmFwKEluamVjdGVkU2NyaXB0SG9zdC5ldmFs
dWF0ZSwgSW5qZWN0ZWRTY3JpcHRIb3N0LCBleHByZXNzaW9uLCBvYmplY3RHcm91cCwgZmFsc2Us
IGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpOwog
ICAgIH0sCiAKICAgICAvKioKQEAgLTQ2MCwxMyArNDYxLDE0IEBAIEluamVjdGVkU2NyaXB0LnBy
b3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRXZhbE9uQ2FsbEZyYW1lCiAg
ICAgICogQHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJh
bSB7Ym9vbGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJh
dGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBfZXZhbHVhdGVBbmRX
cmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3Jv
dXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1
ZSkKKyAgICBfZXZhbHVhdGVBbmRXcmFwOiBmdW5jdGlvbihldmFsRnVuY3Rpb24sIG9iamVjdCwg
ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5k
TGluZUFQSSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAgICAgICAg
dHJ5IHsKICAgICAgICAgICAgIHJldHVybiB7IHdhc1Rocm93bjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICByZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3QodGhpcy5fZXZhbHVhdGVPbihldmFs
RnVuY3Rpb24sIG9iamVjdCwgb2JqZWN0R3JvdXAsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZy
YW1lLCBpbmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlLCBm
YWxzZSkgfTsKKyAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDogdGhpcy5fd3JhcE9iamVjdCh0
aGlzLl9ldmFsdWF0ZU9uKGV2YWxGdW5jdGlvbiwgb2JqZWN0LCBvYmplY3RHcm91cCwgZXhwcmVz
c2lvbiwgaXNFdmFsT25DYWxsRnJhbWUsIGluamVjdENvbW1hbmRMaW5lQVBJKSwgb2JqZWN0R3Jv
dXAsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykgfTsKICAgICAgICAgfSBjYXRjaCAo
ZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRocm93blZhbHVlKGUsIG9iamVj
dEdyb3VwKTsKICAgICAgICAgfQpAQCAtNTQyLDkgKzU0NCwxMCBAQCBJbmplY3RlZFNjcmlwdC5w
cm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdEdyb3VwCiAgICAgICog
QHBhcmFtIHtib29sZWFufSBpbmplY3RDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9v
bGVhbn0gcmV0dXJuQnlWYWx1ZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2
aWV3CiAgICAgICogQHJldHVybiB7Kn0KICAgICAgKi8KLSAgICBldmFsdWF0ZU9uQ2FsbEZyYW1l
OiBmdW5jdGlvbih0b3BDYWxsRnJhbWUsIGNhbGxGcmFtZUlkLCBleHByZXNzaW9uLCBvYmplY3RH
cm91cCwgaW5qZWN0Q29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUpCisgICAgZXZhbHVhdGVP
bkNhbGxGcmFtZTogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCwgZXhwcmVzc2lv
biwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBnZW5l
cmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgY2FsbEZyYW1lID0gdGhpcy5fY2FsbEZy
YW1lRm9ySWQodG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCk7CiAgICAgICAgIGlmICghY2FsbEZy
YW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGNhMjYzZDk2
ZWI5YzM5M2JlMWIzZmNhOWZlMjc5NmZlZThiYjNjYjkuLmFlMzRkMzg0OTE4NGI4MjQ3ZjU4MzA0
MjI0ZmM2OTU4YjZjYTU4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KQEAgLTU2Miw3ICs1NjIsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlu
Y2x1ZGVDb21tYW5kTGluZUFQSSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiRGV0ZXJtaW5lcyB3aGV0aGVyIENvbW1hbmQgTGluZSBBUEkgc2hv
dWxkIGJlIGF2YWlsYWJsZSBkdXJpbmcgdGhlIGV2YWx1YXRpb24uIiwgImhpZGRlbiI6IHRydWUg
fSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGV2YWx1YXRpb24gc2hvdWxkIHN0b3Agb24g
ZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlkZXMgc2V0UGF1c2VPbkV4Y2VwdGlv
biBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImNvbnRleHRJZCIsICIkcmVmIjogIlJ1bnRpbWUuRXhlY3V0aW9uQ29udGV4dElkIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyBpbiB3aGljaCBpc29sYXRl
ZCBjb250ZXh0IHRvIHBlcmZvcm0gZXZhbHVhdGlvbi4gRWFjaCBjb250ZW50IHNjcmlwdCBsaXZl
cyBpbiBhbiBpc29sYXRlZCBjb250ZXh0IGFuZCB0aGlzIHBhcmFtZXRlciBtYXkgYmUgdXNlZCB0
byBzcGVjaWZ5IG9uZSBvZiB0aG9zZSBjb250ZXh0cy4gSWYgdGhlIHBhcmFtZXRlciBpcyBvbWl0
dGVkIG9yIDAgdGhlIGV2YWx1YXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnRleHQg
b2YgdGhlIGluc3BlY3RlZCBwYWdlLiIsICJoaWRkZW4iOiB0cnVlIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicmV0dXJuQnlWYWx1ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgcmVzdWx0IGlzIGV4cGVj
dGVkIHRvIGJlIGEgSlNPTiBvYmplY3QgdGhhdCBzaG91bGQgYmUgc2VudCBieSB2YWx1ZS4iIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBy
ZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBiZSBzZW50
IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5lcmF0ZVBy
ZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImhpZGRlbiI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVyYXRlZCBm
b3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJy
ZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICIkcmVm
IjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJFdmFsdWF0aW9uIHJlc3VsdC4iIH0s
CkBAIC01NzcsNyArNTc4LDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmdW5j
dGlvbkRlY2xhcmF0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkRlY2xh
cmF0aW9uIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYi
OiAiQ2FsbEFyZ3VtZW50IiwgImRlc2NyaXB0aW9uIjogIkNhbGwgYXJndW1lbnQuIiB9LCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ2FsbCBhcmd1bWVudHMuIEFsbCBjYWxsIGFy
Z3VtZW50cyBtdXN0IGJlbG9uZyB0byB0aGUgc2FtZSBKYXZhU2NyaXB0IHdvcmxkIGFzIHRoZSB0
YXJnZXQgb2JqZWN0LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGZ1bmN0aW9uIGNh
bGwgc2hvdWxkIHN0b3Agb24gZXhjZXB0aW9ucyBhbmQgbXV0ZSBjb25zb2xlLiBPdmVycmlkZXMg
c2V0UGF1c2VPbkV4Y2VwdGlvbiBzdGF0ZS4iLCAiaGlkZGVuIjogdHJ1ZSB9LAotICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBl
eHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNob3VsZCBiZSBzZW50IGJ5IHZhbHVl
LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5VmFsdWUiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIg
dGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHdoaWNoIHNob3VsZCBi
ZSBzZW50IGJ5IHZhbHVlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5l
cmF0ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImhpZGRl
biI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVy
YXRlZCBmb3IgdGhlIHJlc3VsdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIs
ICIkcmVmIjogIlJlbW90ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJDYWxsIHJlc3VsdC4iIH0s
CkBAIC0yNzM4LDcgKzI3NDAsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9i
amVjdEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlN0cmluZyBvYmplY3QgZ3JvdXAgbmFtZSB0byBwdXQgcmVzdWx0IGludG8gKGFsbG93
cyByYXBpZCByZWxlYXNpbmcgcmVzdWx0aW5nIG9iamVjdCBoYW5kbGVzIHVzaW5nIDxjb2RlPnJl
bGVhc2VPYmplY3RHcm91cDwvY29kZT4pLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJpbmNsdWRlQ29tbWFuZExpbmVBUEkiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGNvbW1hbmQgbGluZSBB
UEkgc2hvdWxkIGJlIGF2YWlsYWJsZSB0byB0aGUgZXZhbHVhdGVkIGV4cHJlc3Npb24sIGRlZmF1
bHRzIHRvIGZhbHNlLiIsICJoaWRkZW4iOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hl
dGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMgYW5kIG11dGUgY29uc29s
ZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwgImhpZGRlbiI6IHRydWUg
fSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRo
ZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBiZSBz
ZW50IGJ5IHZhbHVlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJldHVybkJ5
VmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIldoZXRoZXIgdGhlIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSBhIEpTT04gb2JqZWN0IHRo
YXQgc2hvdWxkIGJlIHNlbnQgYnkgdmFsdWUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImdlbmVyYXRlUHJldmlldyIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0
cnVlLCAiaGlkZGVuIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgcHJldmlldyBzaG91
bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGUgcmVzdWx0LiIgfQogICAgICAgICAgICAgICAgIF0sCiAg
ICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAicmVzdWx0IiwgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiLCAiZGVzY3JpcHRpb24i
OiAiT2JqZWN0IHdyYXBwZXIgZm9yIHRoZSBldmFsdWF0aW9uIHJlc3VsdC4iIH0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5k
ZXggNjFiMzJmMDdkM2ZjNjRhNTY2MjgzMzE4M2ZjMGUyNDY2NjdlNWEwOS4uZTY1MzE1MDAwZWEx
MDkzODQwNzdmNzFmNTgzODhjM2E0MTFmZjQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtNTAwLDcgKzUwMCw3IEBA
IHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0UGF1c2VPbkV4Y2VwdGlvbnNJbXBsKEVy
cm9yU3RyaW5nKiBlcnJvclN0cmluZywKICAgICAgICAgbV9zdGF0ZS0+c2V0TG9uZyhEZWJ1Z2dl
ckFnZW50U3RhdGU6OnBhdXNlT25FeGNlcHRpb25zU3RhdGUsIHBhdXNlU3RhdGUpOwogfQogCi12
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBjb25zdCBTdHJpbmcm
IGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIGNvbnN0IGJvb2wq
IGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZh
bHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwg
VHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50OjpldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJvclN0cmlu
ZywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBj
b25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRl
Q29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNB
bmRNdXRlQ29uc29sZSwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9v
bCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9i
amVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQog
ewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluamVjdGVkU2NyaXB0Rm9yT2JqZWN0SWQoY2FsbEZyYW1lSWQpOwogICAgIGlmIChp
bmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqIGVy
cm9yU3RyaW5nLCBjb25zdAogICAgICAgICBtdXRlQ29uc29sZSgpOwogICAgIH0KIAotICAgIGlu
amVjdGVkU2NyaXB0LmV2YWx1YXRlT25DYWxsRnJhbWUoZXJyb3JTdHJpbmcsIG1fY3VycmVudENh
bGxTdGFjaywgY2FsbEZyYW1lSWQsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdy
b3VwIDogIiIsIGluY2x1ZGVDb21tYW5kTGluZUFQSSA/ICppbmNsdWRlQ29tbWFuZExpbmVBUEkg
OiBmYWxzZSwgcmV0dXJuQnlWYWx1ZSA/ICpyZXR1cm5CeVZhbHVlIDogZmFsc2UsICZyZXN1bHQs
IHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGVPbkNhbGxGcmFtZShlcnJv
clN0cmluZywgbV9jdXJyZW50Q2FsbFN0YWNrLCBjYWxsRnJhbWVJZCwgZXhwcmVzc2lvbiwgb2Jq
ZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJID8gKmlu
Y2x1ZGVDb21tYW5kTGluZUFQSSA6IGZhbHNlLCByZXR1cm5CeVZhbHVlID8gKnJldHVybkJ5VmFs
dWUgOiBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3ID8gKmdlbmVyYXRlUHJldmlldyA6IGZhbHNlLCAm
cmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRN
dXRlQ29uc29sZSA/ICpkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUgOiBmYWxz
ZSkgewogICAgICAgICB1bm11dGVDb25zb2xlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCBlNmY1ZjE4NzdmODEzM2Q1YjM3
NGQyYWE0YjBmMDUzZTJhYjA5ZmJkLi44MWJjZWVkZWM2OTlmNzcxMmNlZGJiZjQwZDk2OWRhMjk2
MDAxMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGJvb2wqIGluY2x1ZGVDb21tYW5kTGluZUFQSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0Fu
ZE11dGVDb25zb2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBy
ZXR1cm5CeVZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBn
ZW5lcmF0ZVByZXZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwog
ICAgIHZvaWQgY29tcGlsZVNjcmlwdChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZXhwcmVz
c2lvbiwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8VHlw
ZUJ1aWxkZXI6OkRlYnVnZ2VyOjpTY3JpcHRJZD4qLCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PFN0
cmluZz4qIHN5bnRheEVycm9yTWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IDgwYmU1MGMyYTkyNmQ5ZTE1ZTJj
MGY1ZWY4NzZmNDU0NmU3YTM0NGUuLjY5MThlOTAzYWRhNjZjNDk1YjhjYTVjMzlkMjIwYzE4MThm
NGI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlcjo6
UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKFNjcmlwCiB9
CiAjZW5kaWYKIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmV2YWx1YXRlKEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcq
IGNvbnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRlQ29tbWFuZExpbmVB
UEksIGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29s
ZSwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IHJldHVy
bkJ5VmFsdWUsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVz
dWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lkIEluc3Bl
Y3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIGNv
bnN0IGJvb2wqIGNvbnN0IGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogY29uc3Qg
ZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBpbnQqIGV4ZWN1dGlv
bkNvbnRleHRJZCwgY29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9vbCog
Z2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQogewog
ICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRGb3JFdmFs
KGVycm9yU3RyaW5nLCBleGVjdXRpb25Db250ZXh0SWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlw
dC5oYXNOb1ZhbHVlKCkpCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFn
ZW50OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhw
CiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKQog
ICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXJy
b3JTdHJpbmcsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGFz
Qm9vbChpbmNsdWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSksICZyZXN1
bHQsIHdhc1Rocm93bik7CisgICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXJyb3JTdHJpbmcs
IGV4cHJlc3Npb24sIG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiIsIGFzQm9vbChpbmNs
dWRlQ29tbWFuZExpbmVBUEkpLCBhc0Jvb2wocmV0dXJuQnlWYWx1ZSksIGFzQm9vbChnZW5lcmF0
ZVByZXZpZXcpLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCiAgICAgaWYgKGFzQm9vbChkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7CiAgICAgICAgIHVubXV0ZUNvbnNvbGUo
KTsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVh
dGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cAogICAgIH0KIH0K
IAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHBy
ZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25hbEFyZ3Vt
ZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25z
b2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxi
b29sPiogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlv
bk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29u
c3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25z
dCBvcHRpb25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogY29uc3QgZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5CeVZhbHVlLCBjb25z
dCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVt
b3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJv
d24pCiB7CiAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRGb3JPYmplY3RJZChvYmplY3RJZCk7CiAgICAgaWYg
KGluamVjdGVkU2NyaXB0Lmhhc05vVmFsdWUoKSkgewpAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQg
SW5zcGVjdG9yUnVudGltZUFnZW50OjpjYWxsRnVuY3Rpb25PbihFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGNvbnN0IFN0cmluCiAgICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUpKQogICAgICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRT
Y3JpcHQuY2FsbEZ1bmN0aW9uT24oZXJyb3JTdHJpbmcsIG9iamVjdElkLCBleHByZXNzaW9uLCBh
cmd1bWVudHMsIGFzQm9vbChyZXR1cm5CeVZhbHVlKSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKKyAg
ICBpbmplY3RlZFNjcmlwdC5jYWxsRnVuY3Rpb25PbihlcnJvclN0cmluZywgb2JqZWN0SWQsIGV4
cHJlc3Npb24sIGFyZ3VtZW50cywgYXNCb29sKHJldHVybkJ5VmFsdWUpLCBhc0Jvb2woZ2VuZXJh
dGVQcmV2aWV3KSwgJnJlc3VsdCwgd2FzVGhyb3duKTsKIAogICAgIGlmIChhc0Jvb2woZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlKSkgewogICAgICAgICB1bm11dGVDb25zb2xl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50
LmgKaW5kZXggMjllNTdkMjJmNjQxNmNmYzFkMTMzZGZiZjczYzg2NTE5ODc4ZWVhZC4uNmY0MTJl
NTFiNjU2NGYzNWRhYzA1OTQwYjg5MTEwNmRjZGMzODllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApAQCAtNjgsNiArNjgsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRp
b25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQqIGV4ZWN1dGlv
bkNvbnRleHRJZCwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wqIHJldHVybkJ5VmFsdWUs
CisgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsCiAgICAgICAg
ICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCwKICAgICAgICAgICAgICAgICAgIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdh
c1Rocm93bik7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiwK
QEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
UmVmUHRyPEluc3BlY3RvckFycmF5Piogb3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNv
bGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LAogICAg
ICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVP
YmplY3Q+JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0
T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlT2JqZWN0
KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwppbmRleCA1YjEy
NjNmZGEzMDYxNTUzNWQ5NDlmYWJhNTU1MDY3OWYwYTRlN2ZmLi5lMDA1YjI1Y2JkZDNjZWEyNDg3
NGU3MjYxZTgzZGMwY2Q3NDdkNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTM1NSw5ICszNTUsMTQgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIG9iamVj
dC5wdXNoTm9kZVRvRnJvbnRlbmQocHJpbnROb2RlLmJpbmQodGhpcykpOwogICAgIH0sCiAKKyAg
ICB1c2VBcnJheVByZXZpZXdJbkZvcm1hdHRlcjogZnVuY3Rpb24oYXJyYXkpCisgICAgeworICAg
ICAgICByZXR1cm4gISFhcnJheS5wcmV2aWV3OworICAgIH0sCisKICAgICBfZm9ybWF0UGFyYW1l
dGVyQXNBcnJheTogZnVuY3Rpb24oYXJyYXksIGVsZW0pCiAgICAgewotICAgICAgICBpZiAoYXJy
YXkucHJldmlldykgeworICAgICAgICBpZiAodGhpcy51c2VBcnJheVByZXZpZXdJbkZvcm1hdHRl
cihhcnJheSkpIHsKICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9i
amVjdChhcnJheSwgIiIsIGVsZW0sIHRydWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNv
bGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwppbmRleCA1ODZmMThlMTFiODA5MmI4NTlkYmI5NDc2MjQ5YTEyOGE2OGFjMGNlLi44MzVl
NTVkZjkyYjQwMGEzY2UxYWI2MGYxN2NjZWEyMWU4MTVjYWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTU4Miw3ICs1ODIs
NyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
CiAgICAgICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93biwgY29tbWFu
ZE1lc3NhZ2UpOwogICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwu
ZXZhbHVhdGUodGV4dCwgImNvbnNvbGUiLCB1c2VDb21tYW5kTGluZUFQSSwgZmFsc2UsIGZhbHNl
LCBwcmludFJlc3VsdC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVN
b2RlbC5ldmFsdWF0ZSh0ZXh0LCAiY29uc29sZSIsIHVzZUNvbW1hbmRMaW5lQVBJLCBmYWxzZSwg
ZmFsc2UsIHRydWUsIHByaW50UmVzdWx0LmJpbmQodGhpcykpOwogCiAgICAgICAgIFdlYkluc3Bl
Y3Rvci51c2VyTWV0cmljcy5Db25zb2xlRXZhbHVhdGVkLnJlY29yZCgpOwogICAgIH0sCkBAIC03
MDQsNiArNzA0LDExIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCA9IGZ1bmN0
aW9uKHJlc3VsdCwgd2FzVGhyb3duLCBvcmlnaW5hdGluZ0NvbW1hCiB9CiAKIFdlYkluc3BlY3Rv
ci5Db25zb2xlQ29tbWFuZFJlc3VsdC5wcm90b3R5cGUgPSB7CisgICAgdXNlQXJyYXlQcmV2aWV3
SW5Gb3JtYXR0ZXI6IGZ1bmN0aW9uKGFycmF5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0sCisKICAgICB0b01lc3NhZ2VFbGVtZW50OiBmdW5jdGlvbigpCiAgICAgewogICAg
ICAgICB2YXIgZWxlbWVudCA9IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90
eXBlLnRvTWVzc2FnZUVsZW1lbnQuY2FsbCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCAzMjZhOWJlMjQzY2Zk
Yzk3ZDkxNmYzN2FhZTE1ZDI1MjM5YjFmMTA3Li40ZTkxM2U5ZDA0MDc5MWZhZGNmYjhiNTkwNTEz
MTYwYzk3OGUwMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RlYnVnZ2VyTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCkBAIC00NzgsOSArNDc4LDEwIEBAIFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1
ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQYXVzZU9uRXhj
ZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29sZWFufSByZXR1cm5CeVZh
bHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZpZXcKICAgICAgKiBAcGFy
YW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1l
QWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgZXZhbHVhdGVPblNl
bGVjdGVkQ2FsbEZyYW1lOiBmdW5jdGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1h
bmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5
VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRlT25TZWxlY3RlZENhbGxGcmFtZTogZnVuY3Rp
b24oY29kZSwgb2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9u
RXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcs
IGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgLyoqCiAgICAgICAgICAqIEBwYXJhbSB7P1J1bnRp
bWVBZ2VudC5SZW1vdGVPYmplY3R9IHJlc3VsdApAQCAtNDk3LDcgKzQ5OCw3IEBAIFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMu
Q29uc29sZUNvbW1hbmRFdmFsdWF0ZWRJblNlbGVjdGVkQ2FsbEZyYW1lKTsKICAgICAgICAgfQog
Ci0gICAgICAgIHRoaXMuc2VsZWN0ZWRDYWxsRnJhbWUoKS5ldmFsdWF0ZShjb2RlLCBvYmplY3RH
cm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0
ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGRpZEV2YWx1YXRlLmJpbmQodGhpcykpOworICAgICAg
ICB0aGlzLnNlbGVjdGVkQ2FsbEZyYW1lKCkuZXZhbHVhdGUoY29kZSwgb2JqZWN0R3JvdXAsIGlu
Y2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xl
LCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGRpZEV2YWx1YXRlLmJpbmQodGhpcykp
OwogICAgIH0sCiAKICAgICAvKioKQEAgLTczNSw5ICs3MzYsMTAgQEAgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTW9kZWwuQ2FsbEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICogQHBhcmFtIHtib29sZWFufSBy
ZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBnZW5lcmF0ZVByZXZpZXcKICAg
ICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9SdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0LCBib29sZWFu
PSk9fSBjYWxsYmFjawogICAgICAqLwotICAgIGV2YWx1YXRlOiBmdW5jdGlvbihjb2RlLCBvYmpl
Y3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5k
TXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2YWx1YXRlOiBmdW5j
dGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNl
T25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmll
dywgY2FsbGJhY2spCiAgICAgewogICAgICAgICAvKioKICAgICAgICAgICogQHRoaXMge1dlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkNhbGxGcmFtZX0KQEAgLTc1NCw3ICs3NTYsNyBAQCBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5DYWxsRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0LCB3YXNUaHJvd24pOwogICAgICAgICB9
Ci0gICAgICAgIERlYnVnZ2VyQWdlbnQuZXZhbHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9wYXlsb2Fk
LmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGRpZEV2
YWx1YXRlT25DYWxsRnJhbWUuYmluZCh0aGlzKSk7CisgICAgICAgIERlYnVnZ2VyQWdlbnQuZXZh
bHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9wYXlsb2FkLmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RH
cm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0
ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldywgZGlkRXZhbHVhdGVPbkNh
bGxGcmFtZS5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IDE0
OWM4YjhjMjJiZjdlNmM5ZDc5NTU4NGFkMDM5ZjIzNTE3MzczNzQuLmViNWNhNWRiZTllMzAyOTQ3
YWNlYTAzYWY1NmU5YzNmNjE1ZWUzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC03OTcsNyArNzk3LDcgQEAg
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05PVEZPVU5EKHNlY3VyaXR5T3JpZ2luKTsKICAgICAg
ICAgICAgIGNvbnRleHRJZCA9IGNvbnRleHQuaWQ7CiAgICAgICAgIH0KLSAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sICJleHRlbnNpb24iLCBleHBvc2VDb21tYW5kTGlu
ZUFQSSwgdHJ1ZSwgY29udGV4dElkLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CisgICAgICAg
IFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZShleHByZXNzaW9uLCAiZXh0ZW5zaW9uIiwgZXhwb3NlQ29t
bWFuZExpbmVBUEksIHRydWUsIGNvbnRleHRJZCwgcmV0dXJuQnlWYWx1ZSwgZmFsc2UsIGNhbGxi
YWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKaW5kZXggYTkyZDNkMTMyY2U5
NGI4YTAyZjlkYTJkNDI0MGMyY2U5NzViMGQyYi4uOTM5YmZhNzM3NGQyYzk2YjFkMzIwZjhiZjQ3
MzYyYWYzYmNhYjU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKQEAgLTMzMSw3ICszMzEsNyBA
QCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICB2YXIgc2VsZWN0ZWRDYWxsRnJhbWUg
PSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zZWxlY3RlZENhbGxGcmFtZSgpOwotICAgICAg
ICBzZWxlY3RlZENhbGxGcmFtZS5ldmFsdWF0ZSh0aGlzLl9oaWdobGlnaHRFbGVtZW50LnRleHRD
b250ZW50LCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgc2hvd09iamVjdFBv
cG92ZXIuYmluZCh0aGlzKSk7CisgICAgICAgIHNlbGVjdGVkQ2FsbEZyYW1lLmV2YWx1YXRlKHRo
aXMuX2hpZ2hsaWdodEVsZW1lbnQudGV4dENvbnRlbnQsIG9iamVjdEdyb3VwTmFtZSwgZmFsc2Us
IHRydWUsIGZhbHNlLCBmYWxzZSwgc2hvd09iamVjdFBvcG92ZXIuYmluZCh0aGlzKSk7CiAgICAg
fSwKIAogICAgIF9vbkhpZGVQb3BvdmVyOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCmluZGV4IDMyNGY0ZWRiNWEw
YTk5YmQ4MGEzYTYyNWRmOTk2OTg0NDU0MGE5OTEuLmJkNTlkMTc5YjgwNmM4NjFiZDU5YTFjZjE4
ZTBkMWYxMDNhNzk4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVtb3RlT2JqZWN0LmpzCkBAIC0yNDgsNyArMjQ4LDcgQEAgV2ViSW5zcGVjdG9yLlJl
bW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgc2V0UHJvcGVydHlWYWx1
ZUZ1bmN0aW9uID0gImZ1bmN0aW9uKGEpIHsgdGhpc1thXSA9ICIgKyByZXN1bHQuZGVzY3JpcHRp
b24gKyAiOyB9IjsKIAogICAgICAgICAgICAgZGVsZXRlIHJlc3VsdC5kZXNjcmlwdGlvbjsgLy8g
T3B0aW1pemUgb24gdHJhZmZpYy4KLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rp
b25Pbih0aGlzLl9vYmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2YWx1ZTpu
YW1lIH0sIHJlc3VsdF0sIHRydWUsIHVuZGVmaW5lZCwgcHJvcGVydHlTZXRDYWxsYmFjay5iaW5k
KHRoaXMpKTsKKyAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9v
YmplY3RJZCwgc2V0UHJvcGVydHlWYWx1ZUZ1bmN0aW9uLCBbeyB2YWx1ZTpuYW1lIH0sIHJlc3Vs
dF0sIHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwcm9wZXJ0eVNldENhbGxiYWNrLmJpbmQo
dGhpcykpOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5fb2JqZWN0SWQpCiAgICAgICAgICAgICAg
ICAgUnVudGltZUFnZW50LnJlbGVhc2VPYmplY3QocmVzdWx0Ll9vYmplY3RJZCk7CiAgICAgICAg
IH0KQEAgLTI5OSw3ICsyOTksNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGNhbGxiYWNrKChlcnJvciB8fCB3YXNUaHJvd24pID8gbnVsbCA6
IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KSk7CiAgICAgICAg
IH0KIAotICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQs
IGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVkLCBt
eWNhbGxiYWNrKTsKKyAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29i
amVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUsIHVuZGVm
aW5lZCwgdW5kZWZpbmVkLCBteWNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zMTks
NyArMzE5LDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBjYWxsYmFjaygoZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiByZXN1bHQudmFs
dWUpOwogICAgICAgICB9CiAKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRo
aXMuX29iamVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUs
IHRydWUsIG15Y2FsbGJhY2spOworICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24o
dGhpcy5fb2JqZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1
ZSwgdHJ1ZSwgZmFsc2UsIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICByZWxlYXNlOiBmdW5j
dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1J1
bnRpbWVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGlt
ZU1vZGVsLmpzCmluZGV4IDZmN2Y5ZTM5ZWNmZTc0Yjc4MzE4OTUyYTA5YmU0YTBiNjM2YjNkMzMu
LmI3YmE3ODg2ODZlMDg2ODY3Y2U0MTBlNGEwYjZjYTA1ODE2ZDI2YmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCkBAIC0xMjks
MTIgKzEyOSwxMyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1ZGVDb21tYW5kTGluZUFQSQogICAgICAqIEBwYXJh
bSB7Ym9vbGVhbn0gZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCiAgICAgICog
QHBhcmFtIHtib29sZWFufSByZXR1cm5CeVZhbHVlCisgICAgICogQHBhcmFtIHtib29sZWFufSBn
ZW5lcmF0ZVByZXZpZXcKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVt
b3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1lQWdlbnQuUmVtb3RlT2JqZWN0PSl9IGNhbGxiYWNr
CiAgICAgICovCi0gICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4cHJlc3Npb24sIG9iamVjdEdyb3Vw
LCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29u
c29sZSwgcmV0dXJuQnlWYWx1ZSwgY2FsbGJhY2spCisgICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4
cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGRvTm90UGF1c2VP
bkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3
LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5zZWxlY3RlZENhbGxGcmFtZSgpKSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVzc2lvbiwgb2JqZWN0R3Jv
dXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVD
b25zb2xlLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CisgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZGVidWdnZXJNb2RlbC5ldmFsdWF0ZU9uU2VsZWN0ZWRDYWxsRnJhbWUoZXhwcmVzc2lvbiwg
b2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9u
c0FuZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcsIGNhbGxiYWNr
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0xNjEsNyArMTYyLDcgQEAg
V2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9t
UGF5bG9hZChyZXN1bHQpLCAhIXdhc1Rocm93bik7CiAgICAgICAgIH0KLSAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExp
bmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3VycmVu
dEV4ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5pZCA6IHVu
ZGVmaW5lZCwgcmV0dXJuQnlWYWx1ZSwgZXZhbENhbGxiYWNrKTsKKyAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVB
UEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3VycmVudEV4
ZWN1dGlvbkNvbnRleHQgPyB0aGlzLl9jdXJyZW50RXhlY3V0aW9uQ29udGV4dC5pZCA6IHVuZGVm
aW5lZCwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3LCBldmFsQ2FsbGJhY2spOwogICAg
IH0sCiAKICAgICAvKioKQEAgLTIwOSw3ICsyMTAsNyBAQCBXZWJJbnNwZWN0b3IuUnVudGltZU1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFleHByZXNzaW9uU3RyaW5nICYmIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNlbGVjdGVkQ2FsbEZyYW1lKCkpCiAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5nZXRTZWxlY3RlZENhbGxGcmFtZVZhcmlhYmxlcyhy
ZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRoaXMuZXZhbHVhdGUoZXhwcmVzc2lvblN0cmluZywgImNvbXBsZXRpb24iLCB0cnVlLCB0
cnVlLCBmYWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOworICAgICAgICAgICAgdGhpcy5ldmFs
dWF0ZShleHByZXNzaW9uU3RyaW5nLCAiY29tcGxldGlvbiIsIHRydWUsIHRydWUsIGZhbHNlLCBm
YWxzZSwgZXZhbHVhdGVkLmJpbmQodGhpcykpOwogCiAgICAgICAgIGZ1bmN0aW9uIGV2YWx1YXRl
ZChyZXN1bHQsIHdhc1Rocm93bikKICAgICAgICAgewpAQCAtMjQ1LDcgKzI0Niw3IEBAIFdlYklu
c3BlY3Rvci5SdW50aW1lTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKHJlc3Vs
dC50eXBlID09PSAib2JqZWN0IiB8fCByZXN1bHQudHlwZSA9PT0gImZ1bmN0aW9uIikKICAgICAg
ICAgICAgICAgICByZXN1bHQuY2FsbEZ1bmN0aW9uSlNPTihnZXRDb21wbGV0aW9ucywgdW5kZWZp
bmVkLCByZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CiAgICAgICAgICAgICBlbHNl
IGlmIChyZXN1bHQudHlwZSA9PT0gInN0cmluZyIgfHwgcmVzdWx0LnR5cGUgPT09ICJudW1iZXIi
IHx8IHJlc3VsdC50eXBlID09PSAiYm9vbGVhbiIpCi0gICAgICAgICAgICAgICAgdGhpcy5ldmFs
dWF0ZSgiKCIgKyBnZXRDb21wbGV0aW9ucyArICIpKFwiIiArIHJlc3VsdC50eXBlICsgIlwiKSIs
ICJjb21wbGV0aW9uIiwgZmFsc2UsIHRydWUsIHRydWUsIHJlY2VpdmVkUHJvcGVydHlOYW1lc0Zy
b21FdmFsLmJpbmQodGhpcykpOworICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGUoIigiICsg
Z2V0Q29tcGxldGlvbnMgKyAiKShcIiIgKyByZXN1bHQudHlwZSArICJcIikiLCAiY29tcGxldGlv
biIsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgcmVjZWl2ZWRQcm9wZXJ0eU5hbWVzRnJvbUV2
YWwuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiByZWNlaXZlZFBy
b3BlcnR5TmFtZXNGcm9tRXZhbChub3RSZWxldmFudCwgd2FzVGhyb3duLCByZXN1bHQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lv
bnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2F0
Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCmluZGV4IDBlOGQ5NzljYTE0NWZiMzA1MjY1Zjgy
ZjdiNTI3NzZmZDJhZGMzODMuLjBmYmUyOGMxMTAxNmY2ZWRjM2I2MDNkNWQxMDU3YzcwMWVhZGRm
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hF
eHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCkBAIC0yMTMsNyArMjEzLDcg
QEAgV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIGlmICghZXhwcmVzc2lvbikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHByZXNzaW9u
LCB0aGlzLl93YXRjaE9iamVjdEdyb3VwSWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgYXBwZW5kUmVz
dWx0LmJpbmQodGhpcywgZXhwcmVzc2lvbiwgaSkpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LnJ1bnRpbWVNb2RlbC5ldmFsdWF0ZShleHByZXNzaW9uLCB0aGlzLl93YXRjaE9iamVjdEdyb3Vw
SWQsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGFwcGVuZFJlc3VsdC5iaW5kKHRoaXMsIGV4
cHJlc3Npb24sIGkpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghcHJvcGVydHlDb3VudCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDNiNTM1OTQzZmFmNTA3ZTE4MjIwNjczOTE0YjM2ZTE4MDg0MDc3NDguLjM2Njlm
MDdlYTE4Y2U0MThkYWQ4NDNlZmU0ZGE0Yjg1NTkyNzljYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMi0xMC0zMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBPdXRwdXQgY29kZSBldmFsdWF0ZWQgaW4gdGhlIGNvbnNv
bGUgdGhlIHNhbWUgYXMgY29uc29sZS5sb2cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDY5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmVkIHNvbWUgdGVzdHMgYWZ0ZXIgb2JqZWN0IHBy
ZXZpZXcgaXMgc3RhcnRlZCBiZWVpbmcgdXNlZCBmb3IKKyAgICAgICAgY29uc29sZSBldmFsIHJl
c3VsdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBp
LWluc3BlY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmlu
ZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTEwLTMxICBSYXBoYWVsIEt1Ym8gZGEg
Q29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxd
IE1vcmUgdW5yZXZpZXdlZCBwaXhlbCBleHBlY3RhdGlvbnMgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRp
YXRvci1mcm9tLWNvbnNvbGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLmh0bWwKaW5kZXggNTkxZWFh
NWI0NTM2NTY1MmEwZmFkNjUwYTlmZGE0ZjBiNGVkNDU0NS4uZTc0YTY4MzM2NWQ3NGVjMzk3Yzkx
ZGIyNmQ1Yjg2MzA0ZjUzMDBlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1mcm9tLWNvbnNvbGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlh
dG9yLWZyb20tY29uc29sZS5odG1sCkBAIC0yNCw3ICsyNCw3IEBAIHZhciB0ZXN0ID0gZnVuY3Rp
b24oKQogICAgICAgICBzdHIgKz0gInZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNj
cmlwdFwiKTsiOwogICAgICAgICBzdHIgKz0gInMuc3JjID0gXCJyZXNvdXJjZXMvc2NyaXB0Lmpz
XCI7IjsKICAgICAgICAgc3RyICs9ICJkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOyI7Ci0g
ICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuZXZhbHVhdGUoc3RyLCAiY29uc29sZSIs
IHRydWUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmdW5jdGlvbigpe30pOworICAgICAgICBXZWJJ
bnNwZWN0b3IucnVudGltZU1vZGVsLmV2YWx1YXRlKHN0ciwgImNvbnNvbGUiLCB0cnVlLCB1bmRl
ZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmdW5jdGlvbigpe30pOwogICAgIH0KIAogICAg
IGZ1bmN0aW9uIG9uUmVxdWVzdChldmVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3RlZC50eHQKaW5kZXggNDI2
Y2Q4YzFmNDViZGY4ODg4ZTg0YWZjOWM2NGYwY2MwYWJiNTMyOC4uZmIyZTE1MjMyNDY1N2YzNGI1
NWJiNGFlYmMxMGIyMDQ1YjM5OWUwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTAyNTogVGhlIGNvbnNvbGUgZnVuY3Rpb24g
JCgpIGhhcyBjaGFuZ2VkIGZyb20gJD1nZXRFbGVtZW50QnlJZChpZCkgdG8gJD1xdWVyeVNlbGVj
dG9yKHNlbGVjdG9yKS4gWW91IG1pZ2h0IHRyeSAkKCIjJXMiKQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwMjg6IFRoZSBjb25zb2xlIGZ1bmN0aW9uICQoKSBoYXMgY2hhbmdlZCBmcm9tICQ9Z2V0
RWxlbWVudEJ5SWQoaWQpIHRvICQ9cXVlcnlTZWxlY3RvcihzZWxlY3RvcikuIFlvdSBtaWdodCB0
cnkgJCgiIyVzIikKIFRlc3RzIHRoYXQgY29tbWFuZCBsaW5lIGFwaSB3b3Jrcy4KIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWlu
c3BlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFu
ZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dAppbmRleCAyMWJjMDAyYzkxZmM5YzhjMTg0
YmZhNmRlNjU3ZjY0MzYyYjZmNzI0Li40MTVmMDcwMDdkZTZmMjQ0NWY3NDdlZTg4ZDM5Y2FmNjE0
NDAwY2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5k
LWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKQEAgLTE0LDE0
ICsxNCwxNCBAQCBSdW5uaW5nOiB0ZXN0UmV2ZWFsRGF0YWJhc2UKIAogV2ViSW5zcGVjdG9yLmlu
c3BlY3QgY2FsbGVkIHdpdGg6IERhdGFiYXNlCiBXZWJJbnNwZWN0b3IuaW5zcGVjdCdzIGhpbnRz
IGFyZTogWyJkYXRhYmFzZUlkIl0KLWluc3BlY3QoZGIpID0gRGF0YWJhc2UKK2luc3BlY3QoZGIp
ID0gRGF0YWJhc2Uge3ZlcnNpb246ICIxLjAifQogCiBSdW5uaW5nOiB0ZXN0UmV2ZWFsRGF0YWJh
c2UyCiAKIAogV2ViSW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IERhdGFiYXNlCiBXZWJJ
bnNwZWN0b3IuaW5zcGVjdCdzIGhpbnRzIGFyZTogWyJkYXRhYmFzZUlkIl0KLWluc3BlY3QoZGIy
KSA9IERhdGFiYXNlCitpbnNwZWN0KGRiMikgPSBEYXRhYmFzZSB7dmVyc2lvbjogIjEuMCJ9CiAK
IFJ1bm5pbmc6IHRlc3RSZXZlYWxMb2NhbFN0b3JhZ2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVk
LnR4dAppbmRleCA2MTA3ZmNhNzM0MDNjNzgxYjk3ZTNlYTZmNmI2Mzk0MjVmYjUwYTZjLi45Njgz
OWNmY2U4ODgxMzdmMTA4ODI0N2FiNjYxZDE1OWI5MzVlOGY0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4
cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAgVGVzdHMgdGhhdCBzaW1wbGUgZXZhbHVhdGlvbnMg
bWF5IGJlIHBlcmZvcm1lZCBpbiB0aGUgY29uc29sZSBvbiBnbG9iYWwgb2JqZWN0LgogZm9vCiAi
Zm9vVmFsdWUiCiBiYXIKLU9iamVjdAorT2JqZWN0IHthOiAiYiJ9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJp
ZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1l
dmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKaW5kZXggNGUzMzc2OTgzYmI3NTFh
NjNkMWFiOTVjYmZiOWIyZTFjMWRiM2I5Zi4uMmI0NWIxNGZkNWQzN2U3YzUxYmUxZTBmYzFiYWM5
OGZmMDJmMGYyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBUZXN0cyB0aGF0IGV2YWx1YXRpbmcgc29tZXRoaW5n
IGluIGNvbnNvbGUgd29uJ3QgY3Jhc2ggdGhlIGJyb3dzZXIgaWYgdW5kZWZpbmVkIHZhbHVlIGlz
IG92ZXJyaWRlbi4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA2NDE1
NS4KIAogdmFyIHggPSB7YToxfTsgeC5zZWxmID0geDsgdW5kZWZpbmVkID0geDsKLU9iamVjdAor
T2JqZWN0IHthOiAxLCBzZWxmOiBPYmplY3R9CiB1bmtub3duVmFyCiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogdW5rbm93blZhcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZp
bmVkLW92ZXJyaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0
ZWQudHh0CmluZGV4IDU4MmQ3ODdmY2I0NzBiMmFjYjVhYWIwYjMyMmMyMDA1YjA0NGQ2MzguLmZj
M2RjY2I0MWUxODU1YTcwZDFiM2E2ZmUxNDViZjVlNjcyNzA5YWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11
bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJp
ZGUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogVGVzdHMgdGhhdCBldmFsdWF0aW5nIHNv
bWV0aGluZyBpbiBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyIGlmIHVuZGVmaW5lZCB2
YWx1ZSBpcyBvdmVycmlkZW4uIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLiBC
dWcgNjQxNTUuCiAKIHZhciB4ID0ge2E6MX07IHguc2VsZiA9IHg7IHVuZGVmaW5lZCA9IHg7Ci1P
YmplY3QKK09iamVjdCB7YTogMSwgc2VsZjogT2JqZWN0fQogdW5rbm93blZhcgogUmVmZXJlbmNl
RXJyb3I6IHVua25vd25WYXIgaXMgbm90IGRlZmluZWQKIAo=
</data>
<flag name="review"
          id="185843"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="185844"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>