<?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>35703</bug_id>
          
          <creation_ts>2010-03-03 14:02:38 -0800</creation_ts>
          <short_desc>Add support for DOM Level 3 Custom Event</short_desc>
          <delta_ts>2011-06-03 12:29:38 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>aestes</cc>
    
    <cc>bugmail</cc>
    
    <cc>dglazkov</cc>
    
    <cc>diegohcg</cc>
    
    <cc>dimich</cc>
    
    <cc>edisson.braga</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>japhet</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>tnoleto</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195747</commentid>
    <comment_count>0</comment_count>
      <attachid>49943</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-03 14:02:38 -0800</bug_when>
    <thetext>Created attachment 49943
Patch

Add support for the DOM Level 3 Custom Event, as specified by http://www.w3.org/TR/DOM-Level-3-Events.

The namespace version of init is not implemented as WebKit doesn&apos;t yet support events with namespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195751</commentid>
    <comment_count>1</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-03-03 14:05:50 -0800</bug_when>
    <thetext>great work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195762</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-03 14:23:39 -0800</bug_when>
    <thetext>Attachment 49943 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/330062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195765</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-03-03 14:31:00 -0800</bug_when>
    <thetext>Nate, can you help Kenneth with V8 bindings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195770</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-03-03 14:46:26 -0800</bug_when>
    <thetext>This patch adds CustomEvent.idl to build files, but I don&apos;t see it actually being added.  Am I missing something?

In terms of changes in WebCore/bindings/v8/, the following changes are needed:
1. Add CustomEvent.h to DOMObjectsInclude.h
2. Add a line for CustomEvent to macros in V8Index.h
3. Add a downcast to toV8() in custom/V8EventCustom.cpp, very much analogous to the change in bindings/js/JSEventCustom.cpp.

In theory, the V8 bindings should Just Work with those changes.

One more question: I notice CustomEvent takes a DOMObject* in its constructor and as a private member.  It looks to me like that class is defined in bindings/js/JSDOMWrapper.h.  Is that right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195774</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-03 14:58:43 -0800</bug_when>
    <thetext>Attachment 49943 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/331019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195779</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-03 15:09:44 -0800</bug_when>
    <thetext>A couple of comments.
- What is the use case for Custom Events?
- Do any other browsers support it?
- Instead of storing a DOMObject, this should probably store a protected JSValue, or a JSValue that is explicitly marked. You should also think about how this should work with other bindings.
- This probably needs at least one test that tests the garbage collection aspect of this, making sure the detail object is kept alive by the event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195787</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-03 15:21:52 -0800</bug_when>
    <thetext>Attachment 49943 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/332027</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195995</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 04:22:02 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; A couple of comments.
&gt; - What is the use case for Custom Events?
&gt; - Do any other browsers support it?
&gt; - Instead of storing a DOMObject, this should probably store a protected
&gt; JSValue, or a JSValue that is explicitly marked. You should also think about
&gt; how this should work with other bindings.
&gt; - This probably needs at least one test that tests the garbage collection
&gt; aspect of this, making sure the detail object is kept alive by the event.

Great, thanks for the feedback, Sam.

Custom Events are nice for application development and so far people have been emulating them using YUI or jQuery .bind().

Basically I&apos;m implementing CustomEvent as it serves our needs and because I didn&apos;t want to implement the event part of the W3C Widgets 1.0 spec as it has a lot of issues and is in flux.

I will do the JSValue change.

Can you give me some hints on how to test the garbage collection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196000</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 04:28:00 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; This patch adds CustomEvent.idl to build files, but I don&apos;t see it actually
&gt; being added.  Am I missing something?

I much have misses it when I redid the patch.

&gt; In terms of changes in WebCore/bindings/v8/, the following changes are needed:
&gt; 1. Add CustomEvent.h to DOMObjectsInclude.h
&gt; 2. Add a line for CustomEvent to macros in V8Index.h
&gt; 3. Add a downcast to toV8() in custom/V8EventCustom.cpp, very much analogous to
&gt; the change in bindings/js/JSEventCustom.cpp.
&gt; 
&gt; In theory, the V8 bindings should Just Work with those changes.

Great! I&apos;ll do it! Thanks for the explanation.

&gt; One more question: I notice CustomEvent takes a DOMObject* in its constructor
&gt; and as a private member.  It looks to me like that class is defined in
&gt; bindings/js/JSDOMWrapper.h.  Is that right?

DOMObject is defined in JSDOMWrapper.h, yes. Maybe we need some more V8 changes because of this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196011</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 05:23:09 -0800</bug_when>
    <thetext>
&gt; - Instead of storing a DOMObject, this should probably store a protected
&gt; JSValue, or a JSValue that is explicitly marked. You should also think about
&gt; how this should work with other bindings.

Storing a JSValue won&apos;t that break this for V8?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196012</commentid>
    <comment_count>11</comment_count>
      <attachid>50006</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 05:24:19 -0800</bug_when>
    <thetext>Created attachment 50006
Patch 2

Add the V8 part plus the IDL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196014</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-04 05:35:55 -0800</bug_when>
    <thetext>Attachment 50006 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/331473</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196050</commentid>
    <comment_count>13</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 07:12:44 -0800</bug_when>
    <thetext>The V8 generator needs some changes as well. It would be nice if someone could help me with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196209</commentid>
    <comment_count>14</comment_count>
      <attachid>50050</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 13:52:15 -0800</bug_when>
    <thetext>Created attachment 50050
Patch 3

Use JSValue directly.

The generator code could be improved a bit, and JSValue will also not work for Chromium, so I will attempt using ScriptValue instead.

Comments appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196210</commentid>
    <comment_count>15</comment_count>
      <attachid>50050</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-04 13:52:50 -0800</bug_when>
    <thetext>Comment on attachment 50050
Patch 3

Marking for review, so that it is build on the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201184</commentid>
    <comment_count>16</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-17 22:07:55 -0700</bug_when>
    <thetext>*** Bug 36269 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201418</commentid>
    <comment_count>17</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-18 11:21:01 -0700</bug_when>
    <thetext>I am trying to rebase the patch to resume working on it, but the V8 bits has
changed.

--
1. Add CustomEvent.h to DOMObjectsInclude.h
2. Add a line for CustomEvent to macros in V8Index.h
--

Neither DOMObjectsInclude.h nor V8Index.h exists anymore. Can anyone give me a
hint on how to handle this in V8 land?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201431</commentid>
    <comment_count>18</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-03-18 11:32:34 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I am trying to rebase the patch to resume working on it, but the V8 bits has
&gt; changed.
&gt; 
&gt; --
&gt; 1. Add CustomEvent.h to DOMObjectsInclude.h
&gt; 2. Add a line for CustomEvent to macros in V8Index.h
&gt; --
&gt; 
&gt; Neither DOMObjectsInclude.h nor V8Index.h exists anymore. Can anyone give me a
&gt; hint on how to handle this in V8 land?

Yeah, as of the last week, those parts are generated, no manual changes required.  Sorry for not warning you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201446</commentid>
    <comment_count>19</comment_count>
      <attachid>51065</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-18 11:43:17 -0700</bug_when>
    <thetext>Created attachment 51065
Patch 4 (rebased, w/o xcode change)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201505</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-18 13:11:48 -0700</bug_when>
    <thetext>Attachment 51065 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/971030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201618</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-18 15:57:26 -0700</bug_when>
    <thetext>Attachment 51065 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/1017014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201887</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-19 09:24:57 -0700</bug_when>
    <thetext>Attachment 51065 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/1056011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202267</commentid>
    <comment_count>23</comment_count>
      <attachid>51065</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-20 21:08:37 -0700</bug_when>
    <thetext>Comment on attachment 51065
Patch 4 (rebased, w/o xcode change)

r- as you appear to be missing the new files :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202324</commentid>
    <comment_count>24</comment_count>
      <attachid>51255</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 14:59:39 -0700</bug_when>
    <thetext>Created attachment 51255
Patch 5 (w/o xcode change)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202326</commentid>
    <comment_count>25</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 15:01:02 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Created an attachment (id=51255) [details]
&gt; Patch 5 (w/o xcode change)

The V8 generator might need some changes. Could you test Nate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202327</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 15:02:24 -0700</bug_when>
    <thetext>Attachment 51255 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/1021097</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202329</commentid>
    <comment_count>27</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 15:03:22 -0700</bug_when>
    <thetext>The patch passes
http://samples.msdn.microsoft.com/ietestcenter/domevents/domevents_harness.htm?url=./customevent.html


Test Description: Create and fire CustomEvent using methods: createEvent,
initEvent, dispatchEvent.

Test passes if the word &quot;PASS&quot; appears below.

Test result:
PASS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202330</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-21 15:05:07 -0700</bug_when>
    <thetext>Attachment 51255 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/981096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202331</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 15:06:38 -0700</bug_when>
    <thetext>Attachment 51255 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1020092</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202332</commentid>
    <comment_count>30</comment_count>
      <attachid>51256</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 15:07:41 -0700</bug_when>
    <thetext>Created attachment 51256
Patch 6

Added some missing files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202340</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 15:25:36 -0700</bug_when>
    <thetext>Attachment 51256 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1025115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202371</commentid>
    <comment_count>32</comment_count>
      <attachid>51261</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 16:23:45 -0700</bug_when>
    <thetext>Created attachment 51261
Patch 7 (using ScriptValue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202375</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-21 16:30:12 -0700</bug_when>
    <thetext>Attachment 51261 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/961092</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202509</commentid>
    <comment_count>34</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-03-22 08:32:29 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; Created an attachment (id=51255) [details] [details]
&gt; &gt; Patch 5 (w/o xcode change)
&gt; 
&gt; The V8 generator might need some changes. Could you test Nate?

I&apos;ll double check the details today, but yes, it looks like CodeGeneratorV8.pm will need some minor changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202653</commentid>
    <comment_count>35</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-22 11:44:03 -0700</bug_when>
    <thetext>
&gt; I&apos;ll double check the details today, but yes, it looks like CodeGeneratorV8.pm
&gt; will need some minor changes.

Thanks Nate! Feel free to ping me online.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202654</commentid>
    <comment_count>36</comment_count>
      <attachid>51321</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-22 11:45:35 -0700</bug_when>
    <thetext>Created attachment 51321
Patch 8 (with xcode)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202665</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-22 12:01:47 -0700</bug_when>
    <thetext>Attachment 51321 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/977112</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202739</commentid>
    <comment_count>38</comment_count>
      <attachid>51346</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-22 13:49:12 -0700</bug_when>
    <thetext>Created attachment 51346
Patch 9 (with V8 generator change)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202742</commentid>
    <comment_count>39</comment_count>
      <attachid>51347</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-22 13:52:17 -0700</bug_when>
    <thetext>Created attachment 51347
PAtch 10 (missed include)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203069</commentid>
    <comment_count>40</comment_count>
      <attachid>51429</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 09:12:26 -0700</bug_when>
    <thetext>Created attachment 51429
Patch 11 (Let&apos;s see if mac compiles now)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203405</commentid>
    <comment_count>41</comment_count>
      <attachid>51496</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-24 07:34:22 -0700</bug_when>
    <thetext>Created attachment 51496
same patch as above with fixed xcode project file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203420</commentid>
    <comment_count>42</comment_count>
      <attachid>51496</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-24 08:39:08 -0700</bug_when>
    <thetext>Comment on attachment 51496
same patch as above with fixed xcode project file

r=me but please clean up the ChangeLog before landing. It has an unrelated change (from my tree when i updated the xcode project file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203462</commentid>
    <comment_count>43</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-24 10:17:36 -0700</bug_when>
    <thetext>Landed in r56445</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203667</commentid>
    <comment_count>44</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-03-24 16:03:06 -0700</bug_when>
    <thetext>Fixed infinite recursion in Chromium: http://trac.webkit.org/changeset/56464</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204559</commentid>
    <comment_count>45</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 07:16:52 -0700</bug_when>
    <thetext>cherry-pick-for-backport: &lt;r56464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204585</commentid>
    <comment_count>46</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 08:33:40 -0700</bug_when>
    <thetext>Revision r56445 cherry-picked into qtwebkit-2.0 with commit 70067436d926bb8a208aaf76c8099221ad6e37da</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204586</commentid>
    <comment_count>47</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 08:33:52 -0700</bug_when>
    <thetext>Revision r56464 cherry-picked into qtwebkit-2.0 with commit d7847f95d2024082a828afd4f2dac2f492fa5072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414937</commentid>
    <comment_count>48</comment_count>
    <who name="Eli Grey (:sephr)">bugmail</who>
    <bug_when>2011-06-03 09:11:53 -0700</bug_when>
    <thetext>This should be reopened as the CustomEvent interface itself should be exposed on the view as a property &quot;CustomEvent&quot;, much like &quot;Event&quot;, &quot;UIEvent&quot;, etc. It&apos;s not that important but it&apos;s useful for thing such as extending CustomEvent to emulate Mozilla&apos;s DataContainerEvent, which is like CustomEvent, except with custom properties too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415089</commentid>
    <comment_count>49</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-03 12:26:52 -0700</bug_when>
    <thetext>Please file a new bug for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415093</commentid>
    <comment_count>50</comment_count>
    <who name="Eli Grey (:sephr)">bugmail</who>
    <bug_when>2011-06-03 12:29:38 -0700</bug_when>
    <thetext>(In reply to comment #49)
Sure, I filed bug 62039.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49943</attachid>
            <date>2010-03-03 14:02:38 -0800</date>
            <delta_ts>2010-03-04 05:24:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2010-03-03-Kenneth-Rohde-Christiansen-kenneth-webkit.patch</filename>
            <type>text/plain</type>
            <size>20621</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA2ZWY2MTZjMzNjNGRmMTNhYTYyMjRmOGZjZWMyMDVlYzhiZmU5NzQxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBXZWQsIDMgTWFyIDIwMTAgMTc6MTU6NDggLTAzMDAKU3ViamVjdDog
W1BBVENIXSAyMDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhA
d2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKICAgICAgICBodHRwOi8v
d3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKCiAgICAgICAgVGVzdDogZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50Lmh0bWwKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1
c3RvbS1ldmVudC1leHBlY3RlZC50eHQgfCAgICAyICsKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sICAgICAgICAgfCAgIDM4ICsrKysrKysrKysrKwogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysr
KysKIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAxICsKIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAzICsKIFdlYkNvcmUvV2ViQ29yZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIFdlYkNvcmUvV2ViQ29yZS5wcmkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICAxICsKIFdlYkNvcmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
ICAgICAgICAgICAgfCAgIDY0ICsrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXIuaCAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysKIFdlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gICAgICAgfCAgIDEyICsrKy0K
IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUz
ICsrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICA1NyArKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsKIFdlYkNvcmUvZG9tL0V2
ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrCiBXZWJDb3JlL2Rv
bS9FdmVudC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiAxOCBmaWxl
cyBjaGFuZ2VkLCAzMDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50
Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmOWFj
NmIuLjViNzExOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMy0wMyAgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3QgZm9yIERPTSBMZXZl
bCAzIEN1c3RvbSBFdmVudAorICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwt
My1FdmVudHMKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sOiBBZGRl
ZC4KKwogMjAxMC0wMy0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAog
ICAgICAgICBOb3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vz
dG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yNDZiZTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vz
dG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BBU1M6IGFyZ3VtZW50c1sw
XS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQgYmUgJ3N1Y2Nlc3MnIGFu
ZCBpcy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTVmZjc5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBA
QAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBsb2cobSkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gbSArICc8
YnI+JzsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRCZShhRGVzY3JpcHRpb24sIGEsIGIp
CisgICAgeworICAgICAgICBpZiAoYSA9PT0gYikgeworICAgICAgICAgICAgbG9nKCJQQVNTOiAi
ICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicgYW5kIGlzLiIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiAiICsgYURlc2NyaXB0aW9uICsg
IiBzaG91bGQgYmUgJyIgKyBiICsgIicgYnV0IGluc3RlYWQgaXMgJyIgKyBhICsgIicuIik7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb21wYXJlUmVzdWx0KCkKKyAgICB7Cisg
ICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0aGUgQ3VzdG9t
RXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nlc3MiKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgeworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJibGFoIiwgY29tcGFyZVJlc3VsdCwgZmFsc2UpOworICAgICAgICB2YXIgZXYgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAgICAgZXYuaW5pdEN1c3RvbUV2ZW50
KCJibGFoIiwgdHJ1ZSwgZmFsc2UsIHsgcmVzdWx0OiAic3VjY2VzcyIgfSk7CisgICAgICAgIGRv
Y3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3RzKCkiPgorICAgIDxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBlNjMzODQ1Li5hZDkzYzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEwLTAzLTAzICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRE9N
IExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1M
ZXZlbC0zLUV2ZW50cworCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5o
dG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogR05VbWFrZWZp
bGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oOgorICAgICAgICAo
V2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0b0RPTU9iamVjdCk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6aW5p
dEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2
ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50
OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAgICogZG9tL0V2ZW50
Lmg6CisKIDIwMTAtMDMtMDMgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRl
eCAxN2Q4YWQ5Li41NjNhYzMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNjIsNiArNjIsNyBAQAogI2lu
Y2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc0RlY2xh
cmF0aW9uLmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc1J1bGUuY3BwIgorI2luY2x1ZGUg
IkpTQ3VzdG9tRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUg
IkpTRGF0YUdyaWRDb2x1bW4uY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW5MaXN0LmNw
cCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDE1YjEzYmEuLjBhMGI1MGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTI4LDYgKzEyOCw3IEBA
IElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmlkbCBcCiAJV2ViQ29y
ZS9kb20vQ29tbWVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsIFwK
KwlXZWJjb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNl
cHRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgXAogCVdlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbCBcCkBAIC03MTcsNiArNzE4LDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBcCiAJV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5oIFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oIFwK
KwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAgXAorCVdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmggXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaCBcCiAJV2ViQ29yZS9kb20vRE9N
SW1wbGVtZW50YXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggMTgyZTIwOS4uZjcyOWY1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgICAg
ICdkb20vQ2xpcGJvYXJkLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0NvbW1lbnQuaWRsJywKICAg
ICAgICAgICAgICdkb20vQ29tcG9zaXRpb25FdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9D
dXN0b21FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
ZG9tL0RvY3VtZW50LmlkbCcsCkBAIC0xMDY4LDYgKzEwNjksOCBAQAogICAgICAgICAgICAgJ2Rv
bS9Db250YWluZXJOb2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGUuaCcs
CiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgnLAorICAgICAgICAg
ICAgJ2RvbS9DdXN0b21FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5o
JywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdk
b20vRE9NSW1wbGVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50
YXRpb24uaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQppbmRleCBmYzc5ZjhkLi44MTMyOTQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIzNSw2ICsyMzUsNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIGRvbS9DREFUQVNlY3Rpb24uaWRsIFwKICAgICBkb20vQ29tbWVu
dC5pZGwgXAogICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisgICAgZG9tL0N1c3RvbUV2
ZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICBkb20vRG9jdW1l
bnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA4NGU1Yzg2Li43MzE2NDkz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KQEAgLTQ2MSw2ICs0NjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29tcG9zaXRpb25F
dmVudC5jcHAgXAogICAgIGRvbS9Db250YWluZXJOb2RlLmNwcCBcCiAgICAgZG9tL0NTU01hcHBl
ZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAg
ICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuY3BwIFwKICAg
ICBkb20vRG9jdW1lbnRUeXBlLmNwcCBcCkBAIC0xMTU4LDYgKzExNTksNyBAQCBIRUFERVJTICs9
IFwKICAgICBkb20vQ29tbWVudC5oIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5oIFwKICAgICBk
b20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCisgICAgZG9tL0N1c3RvbUV2ZW50
LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAogICAg
IGRvbS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVudC5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDA5YWJhNjEuLmQzNjVlMzEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjQwMSw2ICsyNDAxLDYyIEBACiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5j
cHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RhdGFi
YXNlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yODcwOSw2ICsy
ODc2NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmgiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRG9jdW1lbnQu
Y3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCmlu
ZGV4IDAwNTk0Y2YuLmZmNDIxYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaApAQCAt
MjYsNiArMjYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEpTRE9NR2xvYmFs
T2JqZWN0OworCiAvLyBCYXNlIGNsYXNzIGZvciBhbGwgb2JqZWN0cyBpbiB0aGlzIGJpbmRpbmcg
ZXhjZXB0IFdpbmRvdy4KIGNsYXNzIERPTU9iamVjdCA6IHB1YmxpYyBKU0M6OkpTT2JqZWN0IHsK
IHByb3RlY3RlZDoKQEAgLTQxLDYgKzQzLDE5IEBAIHByb3RlY3RlZDoKICNlbmRpZgogfTsKIAor
aW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBET01PYmplY3QqIG8pCit7CisgICAgaWYgKCFvKQorICAg
ICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKKworICAgIHJldHVybiBKU0M6OkpTVmFsdWUobyk7
Cit9CisKK2lubGluZSBET01PYmplY3QqIHRvRE9NT2JqZWN0KEpTQzo6SlNWYWx1ZSB2YWx1ZSkK
K3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NT2JqZWN0Kj4oYXNPYmplY3QodmFsdWUpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gSlNET01XcmFwcGVyX2gK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IDA0Y2VlYzUuLjY2ODZkN2Eg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtMzEsOSArMzEsMTEgQEAK
IAogI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIK
KyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAi
SlNCZWZvcmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2FyZC5oIgorI2luY2x1ZGUg
IkpTQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJKU0NvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNs
dWRlICJKU0Vycm9yRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJvYXJkRXZlbnQuaCIKQEAgLTE1
Myw2ICsxNTUsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAjZW5kaWYKICAgICBlbHNlIGlmIChl
dmVudC0+aXNQb3BTdGF0ZUV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09C
SkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgUG9wU3RhdGVFdmVudCwgZXZlbnQpOwor
ICAgIGVsc2UgaWYgKGV2ZW50LT5pc0N1c3RvbUV2ZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBD
UkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQ3VzdG9tRXZlbnQs
IGV2ZW50KTsKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9X
UkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggM2ZhMGY2Zi4uMGJlYTcyOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MTgs
NiArNTE4LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyBHZXQgY29ycmVjdCBwYXNzL3N0
b3JlIHR5cGVzIHJlc3BlY3RpbmcgUE9EVHlwZSBmbGFnCiAgICAgbXkgJHBvZFR5cGUgPSAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQT0RUeXBlIn07CiAgICAgbXkgJGltcGxUeXBl
ID0gJHBvZFR5cGUgPyAiSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlwZT4gIiA6ICRpbXBsQ2xh
c3NOYW1lOworCiAgICAgJGhlYWRlckluY2x1ZGVzeyIkcG9kVHlwZS5oIn0gPSAxIGlmICRwb2RU
eXBlIGFuZCAkcG9kVHlwZSBuZSAiZmxvYXQiOwogCiAgICAgJGhlYWRlckluY2x1ZGVzeyJKU1NW
R1BPRFR5cGVXcmFwcGVyLmgifSA9IDEgaWYgJHBvZFR5cGU7CkBAIC03OTEsNiArNzkyLDggQEAg
c3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiJHBv
ZFR5cGUgdG8ke2ludGVyZmFjZU5hbWV9KEpTQzo6SlNWYWx1ZSk7XG4iKTsKICAgICAgICAgfSBl
bHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGVGaWx0ZXIiKSB7CiAgICAgICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiB0b05vZGVGaWx0ZXIoSlND
OjpKU1ZhbHVlKTtcbiIpOworICAgICAgICB9IGVsc2lmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9N
T2JqZWN0IikgeworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIkRPTU9iamVjdCog
dG9ET01PYmplY3QoSlNDOjpKU1ZhbHVlKTtcbiIpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiRpbXBsQ2xhc3NOYW1lKiB0byR7aW50ZXJmYWNl
TmFtZX0oSlNDOjpKU1ZhbHVlKTtcbiIpOwogICAgICAgICB9CkBAIC0xNDg2LDcgKzE0ODksMTEg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvclR5cGUgPSAkYXR0cmli
dXRlLT5zaWduYXR1cmUtPnR5cGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnN0
cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3RvclR5cGUgLiAiLmgifSA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb25zdHJ1Y3RvclR5cGUgZXEgIkRPTU9i
amVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3si
SlNET01XcmFwcGVyLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMiIC4g
JGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
Ly8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3JcbiIpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHN0YXRpY19jYXN0PCRjbGFzc05h
bWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwg
dmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRl
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZSJ9KSB7CkBAIC0x
ODM2LDYgKzE4NDMsNyBAQCBzdWIgR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1cmUKIG15ICVuYXRp
dmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9PiAiUmFuZ2U6OkNvbXBhcmVIb3ciLAogICAg
ICJET01TdHJpbmciID0+ICJjb25zdCBVU3RyaW5nJiIsCisgICAgIkRPTU9iamVjdCIgPT4gIkRP
TU9iamVjdCoiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwKICAg
ICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0aCIgPT4gIlNWR0xlbmd0
aCIsCkBAIC0xOTAxLDcgKzE5MDksNyBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgJGltcGxJ
bmNsdWRlc3siRXZlbnQuaCJ9ID0gMSBpZiAkdHlwZSBlcSAiRXZlbnQiOwogCiAgICAgIyBEZWZh
dWx0LCBhc3N1bWUgYXV0b2dlbmVyYXRlZCB0eXBlIGNvbnZlcnNpb24gcm91dGluZXMKLSAgICAk
aW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CisgICAgJGltcGxJbmNsdWRlc3siSlMkdHlw
ZS5oIn0gPSAxIGlmICR0eXBlIG5lICJET01PYmplY3QiOwogICAgIHJldHVybiAidG8kdHlwZSgk
dmFsdWUpIjsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIGIv
V2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmRkZTE1MTYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVu
dC5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDdXN0b21FdmVudDo6Q3VzdG9tRXZlbnQo
KQorICAgIDogbV9kZXRhaWwoMCkKK3sKK30KKwordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3Rv
bUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgRE9NT2JqZWN0KiBkZXRhaWwpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJs
ZSk7CisKKyAgICBtX2RldGFpbCA9IGRldGFpbDsKK30KKworYm9vbCBDdXN0b21FdmVudDo6aXND
dXN0b21FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggYi9XZWJD
b3JlL2RvbS9DdXN0b21FdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmQwMTM0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCkBA
IC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDdXN0b21FdmVu
dF9oCisjZGVmaW5lIEN1c3RvbUV2ZW50X2gKKworI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgor
I2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDdXN0b21F
dmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Vz
dG9tRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1
c3RvbUV2ZW50KTsKKyAgICB9CisKKyAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIERPTU9iamVj
dCogZGV0YWlsKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbUV2ZW50KCkgY29uc3Q7CisK
KyAgICBET01PYmplY3QqIGRldGFpbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsOyB9CisKK3By
aXZhdGU6CisgICAgQ3VzdG9tRXZlbnQoKTsKKworICAgIERPTU9iamVjdCogbV9kZXRhaWw7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDdXN0b21FdmVudF9oCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggZDBmZTc1Zi4uNTFhMWViNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBA
QAogI2luY2x1ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBs
ZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRl
ci5oIgpAQCAtMzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJl
ZlB0cjxFdmVudD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50
VHlwZSA9PSAiRXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBl
dmVudCA9IEV2ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3Rv
bUV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJv
YXJkRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAg
ICBlbHNlIGlmIChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggYjZhYmIyYS4u
NzZhNjRiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcApAQCAtNzEsNiArNzEsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAog
ICAgIG1fY2FuY2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3Vz
dG9tRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6
aXNVSUV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCAwYTA1ODYzLi41Y2U3
MWE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKQEAgLTk4LDYgKzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIENs
aXBib2FyZCogY2xpcGJvYXJkRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGlzQ2xpcGJvYXJkRXZlbnQo
KSA/IGNsaXBib2FyZCgpIDogMDsgfQogCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbUV2
ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAg
ICAgICAgdmlydHVhbCBib29sIGlzTW91c2VFdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNNdXRhdGlvbkV2ZW50KCkgY29uc3Q7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50006</attachid>
            <date>2010-03-04 05:24:19 -0800</date>
            <delta_ts>2010-03-04 13:52:15 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>0001-2010-03-03-Kenneth-Rohde-Christiansen-kenneth-webkit.patch</filename>
            <type>text/plain</type>
            <size>24636</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBlN2EwNTBhYmUzMmI3OWI0ZmU2MjhkZGJhZmNjNjdiM2ZkODA0Y2ZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBXZWQsIDMgTWFyIDIwMTAgMTc6MTU6NDggLTAzMDAKU3ViamVjdDog
W1BBVENIXSAyMDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhA
d2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKICAgICAgICBodHRwOi8v
d3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKCiAgICAgICAgVGVzdDogZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50Lmh0bWwKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1
c3RvbS1ldmVudC1leHBlY3RlZC50eHQgfCAgICAyICsKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sICAgICAgICAgfCAgIDM4ICsrKysrKysrKysrKwogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysr
KysKIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAxICsKIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAzICsKIFdlYkNvcmUvV2ViQ29yZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIFdlYkNvcmUvV2ViQ29yZS5wcmkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICAxICsKIFdlYkNvcmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
ICAgICAgICAgICAgfCAgIDY0ICsrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXIuaCAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysKIFdlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gICAgICAgfCAgIDEyICsrKy0K
IFdlYkNvcmUvYmluZGluZ3MvdjgvRE9NT2JqZWN0c0luY2x1ZGUuaCAgICAgICAgICAgfCAgICAx
ICsKIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5oICAgICAgICAgICAgICAgICAgICAgfCAg
ICAxICsKIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwICAgICAg
fCAgICAyICsKIFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDUzICsrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICA1NyArKysrKysrKysrKysrKysrKysKIFdlYkNvcmUv
ZG9tL0N1c3RvbUV2ZW50LmlkbCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM5ICsrKysrKysr
KysrKysKIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAzICsKIFdlYkNvcmUvZG9tL0V2ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICA1ICsrCiBXZWJDb3JlL2RvbS9FdmVudC5oICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiAyMiBmaWxlcyBjaGFuZ2VkLCAzNDkgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
dXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3Jl
L2RvbS9DdXN0b21FdmVudC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRs
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGJmOWFjNmIuLjViNzExOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0w
My0wMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRl
c3QgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVudAorICAgICAgICBodHRwOi8vd3d3LnczLm9y
Zy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3RvbS1l
dmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3RvbS1l
dmVudC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4yNDZiZTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BB
U1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQg
YmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZl
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTVmZjc5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwK
QEAgLTAsMCArMSwzOCBAQAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBsb2cobSkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgICAgICAgcmVzdWx0cy5pbm5l
ckhUTUwgKz0gbSArICc8YnI+JzsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRCZShhRGVz
Y3JpcHRpb24sIGEsIGIpCisgICAgeworICAgICAgICBpZiAoYSA9PT0gYikgeworICAgICAgICAg
ICAgbG9nKCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicg
YW5kIGlzLiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiAiICsg
YURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicgYnV0IGluc3RlYWQgaXMgJyIg
KyBhICsgIicuIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb21wYXJlUmVz
dWx0KCkKKyAgICB7CisgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3Vs
dCBvZiB0aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nl
c3MiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgeworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJibGFoIiwgY29tcGFyZVJlc3VsdCwgZmFsc2UpOworICAgICAgICB2
YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAgICAgZXYu
aW5pdEN1c3RvbUV2ZW50KCJibGFoIiwgdHJ1ZSwgZmFsc2UsIHsgcmVzdWx0OiAic3VjY2VzcyIg
fSk7CisgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKzwvc2NyaXB0
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCkiPgorICAgIDxkaXYgaWQ9InJlc3VsdHMiPjwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNjMzODQ1Li5hZDkzYzNiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cu
dzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cworCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0b0RPTU9i
amVjdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpD
dXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2
ZW50Ojppc0N1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9F
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAg
ICAgICogZG9tL0V2ZW50Lmg6CisKIDIwMTAtMDMtMDMgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAppbmRleCAxN2Q4YWQ5Li41NjNhYzMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNjIs
NiArNjIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0NT
U1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc1J1bGUu
Y3BwIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTRGF0YWJhc2Uu
Y3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW4uY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdy
aWRDb2x1bW5MaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDE1YjEzYmEuLjBhMGI1MGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
MTI4LDYgKzEyOCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9kb20vQ2xpcGJvYXJk
LmlkbCBcCiAJV2ViQ29yZS9kb20vQ29tbWVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbXBvc2l0
aW9uRXZlbnQuaWRsIFwKKwlXZWJjb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgXAogCVdlYkNvcmUv
ZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlv
bi5pZGwgXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBcCkBAIC03MTcsNiArNzE4LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBcCiAJ
V2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
QWxnb3JpdGhtcy5oIFwKKwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAgXAorCVdlYkNvcmUv
ZG9tL0N1c3RvbUV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaCBcCiAJ
V2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBs
ZW1lbnRhdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggMTgyZTIwOS4uZjcyOWY1ZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3LDYgKzM3LDcg
QEAKICAgICAgICAgICAgICdkb20vQ2xpcGJvYXJkLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0Nv
bW1lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQ29tcG9zaXRpb25FdmVudC5pZGwnLAorICAg
ICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01Db3Jl
RXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCkBAIC0xMDY4LDYgKzEwNjksOCBAQAog
ICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0Nv
bnRhaW5lck5vZGUuaCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1z
LmgnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2Rv
bS9DdXN0b21FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5oJywK
ICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdk
b20vRE9NSW1wbGVtZW50YXRpb24uaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJp
IGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBmYzc5ZjhkLi44MTMyOTQ4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIzNSw2
ICsyMzUsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9DREFUQVNlY3Rpb24uaWRsIFwK
ICAgICBkb20vQ29tbWVudC5pZGwgXAogICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisg
ICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwK
ICAgICBkb20vRG9jdW1lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA4
NGU1Yzg2Li43MzE2NDkzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ2MSw2ICs0NjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBk
b20vQ29tcG9zaXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9Db250YWluZXJOb2RlLmNwcCBcCiAg
ICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCisgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RnJh
Z21lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcCBcCkBAIC0xMTU4LDYgKzExNTks
NyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29tbWVudC5oIFwKICAgICBkb20vQ29udGFpbmVy
Tm9kZS5oIFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCisgICAg
ZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmggXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDA5YWJhNjEuLmQz
NjVlMzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjQwMSw2ICsy
NDAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNDdXN0b21FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8
VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0RhdGFiYXNlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CkBAIC0yODcwOSw2ICsyODc2NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxkb21cRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oCmluZGV4IDAwNTk0Y2YuLmZmNDIxYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaApAQCAtMjYsNiArMjYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OworCiAvLyBCYXNlIGNsYXNzIGZvciBhbGwgb2JqZWN0cyBp
biB0aGlzIGJpbmRpbmcgZXhjZXB0IFdpbmRvdy4KIGNsYXNzIERPTU9iamVjdCA6IHB1YmxpYyBK
U0M6OkpTT2JqZWN0IHsKIHByb3RlY3RlZDoKQEAgLTQxLDYgKzQzLDE5IEBAIHByb3RlY3RlZDoK
ICNlbmRpZgogfTsKIAoraW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBET01PYmplY3QqIG8pCit7Cisg
ICAgaWYgKCFvKQorICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKKworICAgIHJldHVybiBK
U0M6OkpTVmFsdWUobyk7Cit9CisKK2lubGluZSBET01PYmplY3QqIHRvRE9NT2JqZWN0KEpTQzo6
SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NT2JqZWN0Kj4oYXNP
YmplY3QodmFsdWUpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
SlNET01XcmFwcGVyX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IDA0
Y2VlYzUuLjY2ODZkN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAt
MzEsOSArMzEsMTEgQEAKIAogI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBv
c2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
LmgiCiAjaW5jbHVkZSAiSlNCZWZvcmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2Fy
ZC5oIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJKU0NvbXBvc2l0aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJKU0Vycm9yRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJvYXJk
RXZlbnQuaCIKQEAgLTE1Myw2ICsxNTUsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAjZW5kaWYK
ICAgICBlbHNlIGlmIChldmVudC0+aXNQb3BTdGF0ZUV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIg
PSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgUG9wU3RhdGVF
dmVudCwgZXZlbnQpOworICAgIGVsc2UgaWYgKGV2ZW50LT5pc0N1c3RvbUV2ZW50KCkpCisgICAg
ICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ3VzdG9tRXZlbnQsIGV2ZW50KTsKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXIgPSBDUkVB
VEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggM2Zh
MGY2Zi4uMGJlYTcyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCkBAIC01MTgsNiArNTE4LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyBHZXQg
Y29ycmVjdCBwYXNzL3N0b3JlIHR5cGVzIHJlc3BlY3RpbmcgUE9EVHlwZSBmbGFnCiAgICAgbXkg
JHBvZFR5cGUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQT0RUeXBlIn07CiAg
ICAgbXkgJGltcGxUeXBlID0gJHBvZFR5cGUgPyAiSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlw
ZT4gIiA6ICRpbXBsQ2xhc3NOYW1lOworCiAgICAgJGhlYWRlckluY2x1ZGVzeyIkcG9kVHlwZS5o
In0gPSAxIGlmICRwb2RUeXBlIGFuZCAkcG9kVHlwZSBuZSAiZmxvYXQiOwogCiAgICAgJGhlYWRl
ckluY2x1ZGVzeyJKU1NWR1BPRFR5cGVXcmFwcGVyLmgifSA9IDEgaWYgJHBvZFR5cGU7CkBAIC03
OTEsNiArNzkyLDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiJHBvZFR5cGUgdG8ke2ludGVyZmFjZU5hbWV9KEpTQzo6SlNWYWx1ZSk7XG4i
KTsKICAgICAgICAgfSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGVGaWx0ZXIiKSB7CiAg
ICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiB0
b05vZGVGaWx0ZXIoSlNDOjpKU1ZhbHVlKTtcbiIpOworICAgICAgICB9IGVsc2lmICgkaW50ZXJm
YWNlTmFtZSBlcSAiRE9NT2JqZWN0IikgeworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIkRPTU9iamVjdCogdG9ET01PYmplY3QoSlNDOjpKU1ZhbHVlKTtcbiIpOwogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiRpbXBsQ2xhc3NOYW1l
KiB0byR7aW50ZXJmYWNlTmFtZX0oSlNDOjpKU1ZhbHVlKTtcbiIpOwogICAgICAgICB9CkBAIC0x
NDg2LDcgKzE0ODksMTEgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAg
ICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29u
c3RydWN0b3IkLykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3Rv
clR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3RvclR5cGUg
LiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb25zdHJ1Y3Rv
clR5cGUgZXEgIkRPTU9iamVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGltcGxJbmNsdWRlc3siSlNET01XcmFwcGVyLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJ
bmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3JcbiIpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHN0YXRp
Y19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhl
YywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVs
c2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNl
YWJsZSJ9KSB7CkBAIC0xODM2LDYgKzE4NDMsNyBAQCBzdWIgR2V0TmF0aXZlVHlwZUZyb21TaWdu
YXR1cmUKIG15ICVuYXRpdmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9PiAiUmFuZ2U6OkNv
bXBhcmVIb3ciLAogICAgICJET01TdHJpbmciID0+ICJjb25zdCBVU3RyaW5nJiIsCisgICAgIkRP
TU9iamVjdCIgPT4gIkRPTU9iamVjdCoiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5v
ZGVGaWx0ZXI+IiwKICAgICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0
aCIgPT4gIlNWR0xlbmd0aCIsCkBAIC0xOTAxLDcgKzE5MDksNyBAQCBzdWIgSlNWYWx1ZVRvTmF0
aXZlCiAgICAgJGltcGxJbmNsdWRlc3siRXZlbnQuaCJ9ID0gMSBpZiAkdHlwZSBlcSAiRXZlbnQi
OwogCiAgICAgIyBEZWZhdWx0LCBhc3N1bWUgYXV0b2dlbmVyYXRlZCB0eXBlIGNvbnZlcnNpb24g
cm91dGluZXMKLSAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CisgICAgJGltcGxJ
bmNsdWRlc3siSlMkdHlwZS5oIn0gPSAxIGlmICR0eXBlIG5lICJET01PYmplY3QiOwogICAgIHJl
dHVybiAidG8kdHlwZSgkdmFsdWUpIjsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9ET01PYmplY3RzSW5jbHVkZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01PYmplY3Rz
SW5jbHVkZS5oCmluZGV4IDdlNTQwZTIuLjQyMTg4MzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NT2JqZWN0c0luY2x1ZGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TU9iamVjdHNJbmNsdWRlLmgKQEAgLTc5LDYgKzc5LDcgQEAKICNpbmNsdWRlICJDU1NWYWx1ZUxp
c3QuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNT
U1ZhcmlhYmxlc1J1bGUuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50VHlwZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJE
T01Db3JlRXhjZXB0aW9uLmgiCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5k
ZXguaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5oCmluZGV4IDUwNzAxMGUuLjMzZWI3
MGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhJbmRleC5oCkBAIC00MTEsNiArNDExLDcgQEAgc3RhdGljIGNvbnN0
IGludCB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ID0gMjsKICAgICBWKFRFWFRN
RVRSSUNTLCBUZXh0TWV0cmljcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBWKFRSRUVXQUxLRVIsIFRyZWVXYWxrZXIpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKFVJRVZFTlQsIFVJRXZlbnQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBWKENVU1RPTUVW
RU5ULCBDdXN0b21FdmVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICBWKFZBTElESVRZU1RBVEUsIFZhbGlkaXR5U3RhdGUpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBWKFdFQktJVEFOSU1BVElPTkVWRU5ULCBXZWJLaXRB
bmltYXRpb25FdmVudCkgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKFdFQktJVENTU0tF
WUZSQU1FUlVMRSwgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKSAgICAgICAgICAgICAgICAgICAgIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKaW5kZXggNjY5
ODNmZi4uMTZiOGMxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1
c3RvbS5jcHAKQEAgLTE0Myw2ICsxNDMsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChF
dmVudCogaW1wbCkKICNlbmRpZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7
CisgICAgaWYgKGltcGwtPmlzQ3VzdG9tRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3Rh
dGljX2Nhc3Q8Q3VzdG9tRXZlbnQqPihpbXBsKSk7CiAgICAgcmV0dXJuIFY4RXZlbnQ6OndyYXAo
aW1wbCk7CiB9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9DdXN0b21FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRlMTUxNgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgor
CisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0N1c3Rv
bUV2ZW50OjpDdXN0b21FdmVudCgpCisgICAgOiBtX2RldGFpbCgwKQoreworfQorCit2b2lkIEN1
c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBET01PYmplY3QqIGRldGFpbCkKK3sKKyAgICBp
ZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKKworICAgIG1fZGV0YWlsID0gZGV0YWlsOworfQorCiti
b29sIEN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZDAxMzRiZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEN1c3RvbUV2ZW50X2gKKyNkZWZpbmUgQ3VzdG9tRXZlbnRfaAorCisjaW5jbHVk
ZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJKU0RPTVdy
YXBwZXIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEN1c3RvbUV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDdXN0b21FdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRXZlbnQpOworICAgIH0KKworICAgIHZvaWQgaW5pdEN1
c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgRE9NT2JqZWN0KiBkZXRhaWwpOworCisgICAgdmlydHVhbCBib29sIGlzQ3Vz
dG9tRXZlbnQoKSBjb25zdDsKKworICAgIERPTU9iamVjdCogZGV0YWlsKCkgY29uc3QgeyByZXR1
cm4gbV9kZXRhaWw7IH0KKworcHJpdmF0ZToKKyAgICBDdXN0b21FdmVudCgpOworCisgICAgRE9N
T2JqZWN0KiBtX2RldGFpbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEN1c3RvbUV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50Lmlk
bCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4xYWI0NjhjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1
bGUgZXZlbnRzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CisgICAgaW50
ZXJmYWNlIEN1c3RvbUV2ZW50IDogRXZlbnQgeworCisgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTU9iamVjdCBkZXRhaWw7CisKKyAgICAgICB2b2lkIGluaXRDdXN0b21FdmVudChpbiBET01T
dHJpbmcgdHlwZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBj
YW5CdWJibGVBcmcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2Fu
Y2VsYWJsZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NT2JqZWN0IGRl
dGFpbEFyZyk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGQwZmU3NWYuLjUxYTFlYjYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDb21tZW50LmgiCiAjaW5jbHVk
ZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgorI2luY2x1ZGUgIkN1c3RvbUV2
ZW50LmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKICNpbmNsdWRlICJET01XaW5k
b3cuaCIKICNpbmNsdWRlICJEb2NMb2FkZXIuaCIKQEAgLTMwMTcsNiArMzAxOCw4IEBAIFBhc3NS
ZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlw
ZSwgRXhjZXB0aW9uQ29kZSYKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50OwogICAgIGlmIChldmVu
dFR5cGUgPT0gIkV2ZW50IiB8fCBldmVudFR5cGUgPT0gIkV2ZW50cyIgfHwgZXZlbnRUeXBlID09
ICJIVE1MRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKCk7CisgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJDdXN0b21FdmVudCIpCisgICAgICAgIGV2ZW50ID0gQ3VzdG9t
RXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiS2V5Ym9hcmRFdmVu
dCIgfHwgZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50cyIpCiAgICAgICAgIGV2ZW50ID0gS2V5
Ym9hcmRFdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJNZXNzYWdl
RXZlbnQiKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20v
RXZlbnQuY3BwCmluZGV4IGI2YWJiMmEuLjc2YTY0YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTcxLDYgKzcxLDExIEBA
IHZvaWQgRXZlbnQ6OmluaXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZUFyZywg
Ym9vbCBjYW5CdWJibGVBcmcsIGJvb2wKICAgICBtX2NhbmNlbGFibGUgPSBjYW5jZWxhYmxlQXJn
OwogfQogCitib29sIEV2ZW50Ojppc0N1c3RvbUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIGJvb2wgRXZlbnQ6OmlzVUlFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKaW5kZXggMGEwNTg2My4uNWNlNzFhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZl
bnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBDbGlwYm9hcmQqIGNsaXBib2FyZERhdGEoKSBjb25zdCB7
IHJldHVybiBpc0NsaXBib2FyZEV2ZW50KCkgPyBjbGlwYm9hcmQoKSA6IDA7IH0KIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNVSUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRXZlbnQo
KSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzTXV0YXRpb25FdmVudCgpIGNvbnN0Owot
LSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50050</attachid>
            <date>2010-03-04 13:52:15 -0800</date>
            <delta_ts>2010-03-18 11:43:17 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>0001-2010-03-03-Kenneth-Rohde-Christiansen-kenneth-webkit.patch</filename>
            <type>text/plain</type>
            <size>29481</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA4ZTg0MTZjZWMyNTIxNGU0NmU0OTQxNmJhYjYxN2IxZjY0ZThmOWNmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBXZWQsIDMgTWFyIDIwMTAgMTc6MTU6NDggLTAzMDAKU3ViamVjdDog
W1BBVENIXSAyMDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhA
d2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKICAgICAgICBodHRwOi8v
d3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKCiAgICAgICAgVGVzdDogZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50Lmh0bWwKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1
c3RvbS1ldmVudC1leHBlY3RlZC50eHQgfCAgICAzICsKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sICAgICAgICAgfCAgIDQ1ICsrKysrKysrKysrKysrCiBXZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNCArKysrKysr
KysrKwogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDEgKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLmd5cGkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLnByaSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9XZWJDb3JlLnBybyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiAgICAgICAgICAgICB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgICAgIHwgICAxMCArKysKIFdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggICAgICAgICAgICAgICAgfCAgIDE1ICsrKysrCiBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwICAgICAgICAgICAgIHwgICAgNCAr
CiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtICAgICAgIHwgICAy
MCArKysrKystCiBXZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTU9iamVjdHNJbmNsdWRlLmggICAgICAg
ICAgIHwgICAgMSArCiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguaCAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9t
LmNwcCAgICAgIHwgICAgMiArCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICA1MiArKysrKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTkgKysrKysrKysrKysrKysrKysr
KwogV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MzkgKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9kb20vRXZlbnQuY3BwICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDUgKysKIFdlYkNvcmUvZG9tL0V2ZW50LmggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAxICsKIDIzIGZpbGVzIGNoYW5nZWQsIDM3NSBpbnNlcnRp
b25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNv
cmUvZG9tL0N1c3RvbUV2ZW50LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5pZGwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjlhZWQ3Yi4uM2JlYThkNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBMYXlvdXQgdGVzdCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6
Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cworCisgICAgICAgICogZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTAzLTA0ICBTaHUgQ2hhbmcgIDxD
aGFuZy5TaHVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUg
Q2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9t
LWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3OTY0
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTOiBhcmd1bWVudHNbMF0uZGV0YWls
LnJlc3VsdCBvZiB0aGUgQ3VzdG9tRXZlbnQgc2hvdWxkIGJlICdzdWNjZXNzJyBhbmQgaXMuCitQ
QVNTOiBhcmd1bWVudHNbMF0uZGV0YWlsIG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQgYmUgJ3N1
Y2Nlc3MnIGFuZCBpcy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vz
dG9tLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjI3ODA2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKQEAgLTAs
MCArMSw0NSBAQAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBsb2cobSkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHRzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwg
Kz0gbSArICc8YnI+JzsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRCZShhRGVzY3JpcHRp
b24sIGEsIGIpCisgICAgeworICAgICAgICBpZiAoYSA9PT0gYikgeworICAgICAgICAgICAgbG9n
KCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicgYW5kIGlz
LiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiAiICsgYURlc2Ny
aXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicgYnV0IGluc3RlYWQgaXMgJyIgKyBhICsg
IicuIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBkaXNwYXRjaEN1c3RvbUV2
ZW50KG5hbWUsIHZhbHVlKQorICAgIHsKKyAgICAgICAgdmFyIGV2ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoIkN1c3RvbUV2ZW50Iik7CisgICAgICAgIGV2LmluaXRDdXN0b21FdmVudChuYW1lLCB0
cnVlLCBmYWxzZSwgdmFsdWUpOworICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KGV2KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgeworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJibGFoIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiYXJn
dW1lbnRzWzBdLmRldGFpbC5yZXN1bHQgb2YgdGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBd
LmRldGFpbC5yZXN1bHQsICJzdWNjZXNzIik7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigiYmxhaDIiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsIG9mIHRoZSBDdXN0b21FdmVudCIsIGFyZ3VtZW50c1sw
XS5kZXRhaWwsICJzdWNjZXNzIik7CisgICAgICAgIH0sIGZhbHNlKTsKKworICAgICAgICBkaXNw
YXRjaEN1c3RvbUV2ZW50KCJibGFoIiwgeyByZXN1bHQ6ICJzdWNjZXNzIiB9KTsKKyAgICAgICAg
ZGlzcGF0Y2hDdXN0b21FdmVudCgiYmxhaDIiLCAic3VjY2VzcyIpOworICAgIH0KKzwvc2NyaXB0
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCkiPgorICAgIDxkaXYgaWQ9InJlc3VsdHMiPjwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NTNlYjg1Li4zYzM3OGJmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDEwLTAzLTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cu
dzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cworCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0b0RPTU9i
amVjdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpD
dXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2
ZW50Ojppc0N1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9F
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAg
ICAgICogZG9tL0V2ZW50Lmg6CisKIDIwMTAtMDMtMDQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAppbmRleCAxN2Q4YWQ5Li41NjNhYzMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNjIs
NiArNjIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0NT
U1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc1J1bGUu
Y3BwIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTRGF0YWJhc2Uu
Y3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW4uY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdy
aWRDb2x1bW5MaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGY3YmIyMTcuLmU5ODU1ZDkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
MTI4LDYgKzEyOCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9kb20vQ2xpcGJvYXJk
LmlkbCBcCiAJV2ViQ29yZS9kb20vQ29tbWVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbXBvc2l0
aW9uRXZlbnQuaWRsIFwKKwlXZWJjb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgXAogCVdlYkNvcmUv
ZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlv
bi5pZGwgXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBcCkBAIC03MTcsNiArNzE4LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBcCiAJ
V2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
QWxnb3JpdGhtcy5oIFwKKwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAgXAorCVdlYkNvcmUv
ZG9tL0N1c3RvbUV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaCBcCiAJ
V2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBs
ZW1lbnRhdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggZGExMDU4Mi4uNzU0ZjcxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3LDYgKzM3LDcg
QEAKICAgICAgICAgICAgICdkb20vQ2xpcGJvYXJkLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0Nv
bW1lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQ29tcG9zaXRpb25FdmVudC5pZGwnLAorICAg
ICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01Db3Jl
RXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCkBAIC0xMDY4LDYgKzEwNjksOCBAQAog
ICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0Nv
bnRhaW5lck5vZGUuaCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1z
LmgnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2Rv
bS9DdXN0b21FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5oJywK
ICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdk
b20vRE9NSW1wbGVtZW50YXRpb24uaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJp
IGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBmYzc5ZjhkLi44MTMyOTQ4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIzNSw2
ICsyMzUsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9DREFUQVNlY3Rpb24uaWRsIFwK
ICAgICBkb20vQ29tbWVudC5pZGwgXAogICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisg
ICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwK
ICAgICBkb20vRG9jdW1lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAx
ZDQyZTU1Li42MDcwMTgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ2MCw2ICs0NjAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBk
b20vQ29tcG9zaXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9Db250YWluZXJOb2RlLmNwcCBcCiAg
ICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCisgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RnJh
Z21lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcCBcCkBAIC0xMTU3LDYgKzExNTgs
NyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29tbWVudC5oIFwKICAgICBkb20vQ29udGFpbmVy
Tm9kZS5oIFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCisgICAg
ZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmggXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDU4Yjk0ZWIuLmU1
M2Y2MWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjQwMSw2ICsy
NDAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNDdXN0b21FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8
VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0RhdGFiYXNlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CkBAIC0yODcwOSw2ICsyODc2NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxkb21cRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGM4MGY5NS4uNmNhMzU2MyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTAsNiArMTE1MCw5
IEBACiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4g
Q29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9Owog
CQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIw
MEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdD
MDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVk
QWN0aW9uLmggKi87IH07CisJCTYyNDM0QjFFMTE0MDRBMkMwMDJDNTE0NiAvKiBDdXN0b21FdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjQz
NEIxQjExNDA0QTJDMDAyQzUxNDYgLyogQ3VzdG9tRXZlbnQuY3BwICovOyB9OworCQk2MjQzNEIx
RjExNDA0QTJDMDAyQzUxNDYgLyogQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNDM0QjFDMTE0MDRBMkMwMDJDNTE0NiAvKiBDdXN0
b21FdmVudC5oICovOyB9OworCQk2MjQzNEIyMDExNDA0QTJDMDAyQzUxNDYgLyogQ3VzdG9tRXZl
bnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
MjQzNEIxRDExNDA0QTJDMDAyQzUxNDYgLyogQ3VzdG9tRXZlbnQuaWRsICovOyB9OwogCQk2MzE4
OUFFMzBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzE4OUFFMjBFODNBMzMzMDAwMTJFNDEgLyog
Tm9kZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJ
NjNEN0IzMkQwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNEN0IzMkMwRTc4Q0QzRjAwRjc2
MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5oICovOyB9OwogCQk2M0Y1RDRGNzBFOEM0QjcxMDBDMEJE
MDQgLyogRWxlbWVudFJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2MzdCN0FERTBFODc2N0I4MDBFMzIxOTQgLyogRWxlbWVudFJhcmVEYXRh
LmggKi87IH07CkBAIC02NTY3LDYgKzY1NzAsOSBAQAogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFB
NDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2
OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURDRjgzNkMwRDU5MTU5ODAwOTUzQkM2IC8q
IFBsdWdpbkluZm9TdG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVn
aW5JbmZvU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjI0MzRCMUIxMTQw
NEEyQzAwMkM1MTQ2IC8qIEN1c3RvbUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEN1c3RvbUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNjI0MzRCMUMxMTQwNEEyQzAwMkM1MTQ2IC8qIEN1c3RvbUV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN1c3RvbUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTYyNDM0QjFEMTE0MDRBMkMwMDJDNTE0NiAvKiBDdXN0b21FdmVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ3VzdG9tRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MzE4OUFFMjBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVSYXJlRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2MzdCN0FERTBFODc2N0I4MDBFMzIxOTQgLyogRWxlbWVudFJh
cmVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRSYXJlRGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2M0Q3QjMyQzBFNzhDRDNGMDBGNzYx
N0MgLyogTm9kZVJlbmRlclN0eWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5vZGVSZW5kZXJTdHlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU4NTMs
NiArMTU4NTksOSBAQAogCQlGNTIzRDMyNDAyREU0NDc4MDE4NjM1Q0EgLyogZG9tICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2MjQzNEIxQjExNDA0QTJD
MDAyQzUxNDYgLyogQ3VzdG9tRXZlbnQuY3BwICovLAorCQkJCTYyNDM0QjFDMTE0MDRBMkMwMDJD
NTE0NiAvKiBDdXN0b21FdmVudC5oICovLAorCQkJCTYyNDM0QjFEMTE0MDRBMkMwMDJDNTE0NiAv
KiBDdXN0b21FdmVudC5pZGwgKi8sCiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFj
dGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFj
dGl2ZURPTU9iamVjdC5oICovLAogCQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRy
LmNwcCAqLywKQEAgLTE4NzA3LDYgKzE4NzE2LDcgQEAKIAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBG
OTBBM0QgLyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFBQjFB
RTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywK
IAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVz
b3VyY2VzICovLAorCQkJCTYyNDM0QjIwMTE0MDRBMkMwMDJDNTE0NiAvKiBDdXN0b21FdmVudC5p
ZGwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKaW5kZXggMDA1
OTRjZi4uZmY0MjFhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBw
ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCkBAIC0yNiw2ICsy
Niw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7
CisKIC8vIEJhc2UgY2xhc3MgZm9yIGFsbCBvYmplY3RzIGluIHRoaXMgYmluZGluZyBleGNlcHQg
V2luZG93LgogY2xhc3MgRE9NT2JqZWN0IDogcHVibGljIEpTQzo6SlNPYmplY3QgewogcHJvdGVj
dGVkOgpAQCAtNDEsNiArNDMsMTkgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiB9OwogCitpbmxpbmUg
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIERPTU9iamVjdCogbykKK3sKKyAgICBpZiAoIW8pCisgICAgICAgIHJl
dHVybiBKU0M6OmpzTnVsbCgpOworCisgICAgcmV0dXJuIEpTQzo6SlNWYWx1ZShvKTsKK30KKwor
aW5saW5lIERPTU9iamVjdCogdG9ET01PYmplY3QoSlNDOjpKU1ZhbHVlIHZhbHVlKQoreworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxET01PYmplY3QqPihhc09iamVjdCh2YWx1ZSkpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBKU0RPTVdyYXBwZXJfaApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggMDRjZWVjNS4uNjY4NmQ3YSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC0zMSw5ICszMSwxMSBAQAogCiAjaW5j
bHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgorI2luY2x1
ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJKU0JlZm9y
ZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAiSlNDdXN0
b21FdmVudC5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpT
RXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5oIgpAQCAtMTUzLDYgKzE1
NSw4IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKICNlbmRpZgogICAgIGVsc2UgaWYgKGV2ZW50LT5p
c1BvcFN0YXRlRXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBQb3BTdGF0ZUV2ZW50LCBldmVudCk7CisgICAgZWxz
ZSBpZiAoZXZlbnQtPmlzQ3VzdG9tRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDdXN0b21FdmVudCwgZXZlbnQp
OwogICAgIGVsc2UKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBFdmVudCwgZXZlbnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzZmEwZjZmLi5iY2YwYTM1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUxOCw2ICs1MTgs
NyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAjIEdldCBjb3JyZWN0IHBhc3Mvc3RvcmUgdHlw
ZXMgcmVzcGVjdGluZyBQT0RUeXBlIGZsYWcKICAgICBteSAkcG9kVHlwZSA9ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlBPRFR5cGUifTsKICAgICBteSAkaW1wbFR5cGUgPSAkcG9k
VHlwZSA/ICJKU1NWR1BPRFR5cGVXcmFwcGVyPCRwb2RUeXBlPiAiIDogJGltcGxDbGFzc05hbWU7
CisKICAgICAkaGVhZGVySW5jbHVkZXN7IiRwb2RUeXBlLmgifSA9IDEgaWYgJHBvZFR5cGUgYW5k
ICRwb2RUeXBlIG5lICJmbG9hdCI7CiAKICAgICAkaGVhZGVySW5jbHVkZXN7IkpTU1ZHUE9EVHlw
ZVdyYXBwZXIuaCJ9ID0gMSBpZiAkcG9kVHlwZTsKQEAgLTE0ODYsNyArMTQ4NywxMSBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yVHlwZSA9ICRhdHRyaWJ1dGUtPnNp
Z25hdHVyZS0+dHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0b3JU
eXBlID1+IHMvQ29uc3RydWN0b3IkLy87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlt
cGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnN0cnVjdG9yVHlwZSBlcSAiRE9NT2JqZWN0Iikg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0RPTVdy
YXBwZXIuaCJ9ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyIgLiAkY29uc3Ry
dWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFk
b3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRo
aXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0pIHsKQEAgLTE4MzYsNiAr
MTg0MSw3IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogbXkgJW5hdGl2ZVR5cGUg
PSAoCiAgICAgIkNvbXBhcmVIb3ciID0+ICJSYW5nZTo6Q29tcGFyZUhvdyIsCiAgICAgIkRPTVN0
cmluZyIgPT4gImNvbnN0IFVTdHJpbmcmIiwKKyAgICAiRE9NT2JqZWN0IiA9PiAiSlNWYWx1ZSIs
CiAgICAgIk5vZGVGaWx0ZXIiID0+ICJSZWZQdHI8Tm9kZUZpbHRlcj4iLAogICAgICJTVkdBbmds
ZSIgPT4gIlNWR0FuZ2xlIiwKICAgICAiU1ZHTGVuZ3RoIiA9PiAiU1ZHTGVuZ3RoIiwKQEAgLTE4
ODksNiArMTg5NSwxMCBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAiJHZh
bHVlLnRvU3RyaW5nKGV4ZWMpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEgIkRPTU9iamVj
dCIpIHsKKyAgICAgICAgcmV0dXJuICIkdmFsdWUiOworICAgIH0KKwogICAgIGlmICgkdHlwZSBl
cSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIiBvciAkdHlwZSBlcSAiYW55IikgewogICAgICAgICAk
aW1wbEluY2x1ZGVzeyJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCJ9ID0gMTsKICAgICAgICAgcmV0
dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShleGVjLCAkdmFsdWUpIjsKQEAgLTE5
MDEsNyArMTkxMSw3IEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAkaW1wbEluY2x1ZGVzeyJF
dmVudC5oIn0gPSAxIGlmICR0eXBlIGVxICJFdmVudCI7CiAKICAgICAjIERlZmF1bHQsIGFzc3Vt
ZSBhdXRvZ2VuZXJhdGVkIHR5cGUgY29udmVyc2lvbiByb3V0aW5lcwotICAgICRpbXBsSW5jbHVk
ZXN7IkpTJHR5cGUuaCJ9ID0gMTsKKyAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDEg
aWYgJHR5cGUgbmUgIkRPTU9iamVjdCI7CiAgICAgcmV0dXJuICJ0byR0eXBlKCR2YWx1ZSkiOwog
fQogCkBAIC0xOTg4LDcgKzE5OTgsMTEgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0KIAog
ICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJK
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICBpZiAoJGltcGxDbGFz
c05hbWUgZXEgIkRvY3VtZW50IikgeworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlID1+IC9T
VkdQYXRoU2VnLykgewogICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CiAg
ICAgICAgICRqb2luZWROYW1lID0gJHR5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTU9iamVjdHNJbmNsdWRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTU9iamVjdHNJ
bmNsdWRlLmgKaW5kZXggN2U1NDBlMi4uNDIxODgzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01PYmplY3RzSW5jbHVkZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
T2JqZWN0c0luY2x1ZGUuaApAQCAtNzksNiArNzksNyBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlTGlz
dC5oIgogI2luY2x1ZGUgIkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NT
VmFyaWFibGVzUnVsZS5oIgorI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRUeXBlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkRP
TUNvcmVFeGNlcHRpb24uaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRl
eC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmgKaW5kZXggNTA3MDEwZS4uMzNlYjcw
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEluZGV4LmgKQEAgLTQxMSw2ICs0MTEsNyBAQCBzdGF0aWMgY29uc3Qg
aW50IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgPSAyOwogICAgIFYoVEVYVE1F
VFJJQ1MsIFRleHRNZXRyaWNzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIFYoVFJFRVdBTEtFUiwgVHJlZVdhbGtlcikgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoVUlFVkVOVCwgVUlFdmVudCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFYoQ1VTVE9NRVZF
TlQsIEN1c3RvbUV2ZW50KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIFYoVkFMSURJVFlTVEFURSwgVmFsaWRpdHlTdGF0ZSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIFYoV0VCS0lUQU5JTUFUSU9ORVZFTlQsIFdlYktpdEFu
aW1hdGlvbkV2ZW50KSAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoV0VCS0lUQ1NTS0VZ
RlJBTUVSVUxFLCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUpICAgICAgICAgICAgICAgICAgICAgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAppbmRleCA2Njk4
M2ZmLi4xNmI4YzE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2
ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3Vz
dG9tLmNwcApAQCAtMTQzLDYgKzE0Myw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2
ZW50KiBpbXBsKQogI2VuZGlmCiAgICAgaWYgKGltcGwtPmlzQmVmb3JlTG9hZEV2ZW50KCkpCiAg
ICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEJlZm9yZUxvYWRFdmVudCo+KGltcGwpKTsK
KyAgICBpZiAoaW1wbC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxDdXN0b21FdmVudCo+KGltcGwpKTsKICAgICByZXR1cm4gVjhFdmVudDo6d3JhcChp
bXBsKTsKIH0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Nzc0MzA1Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCisK
KyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ3VzdG9t
RXZlbnQ6OkN1c3RvbUV2ZW50KCkKK3sKK30KKwordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3Rv
bUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgSlNDOjpKU1ZhbHVlIGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxh
YmxlKTsKKworICAgIG1fZGV0YWlsID0gZGV0YWlsOworfQorCitib29sIEN1c3RvbUV2ZW50Ojpp
c0N1c3RvbUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1dl
YkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYWVkNWI3MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgK
QEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUV2
ZW50X2gKKyNkZWZpbmUgQ3VzdG9tRXZlbnRfaAorCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgi
CisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJKU0RPTVdyYXBwZXIuaCIKKyNpbmNsdWRl
IDxydW50aW1lL0pTVmFsdWUuaD4KKyNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEN1
c3RvbUV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDdXN0b21FdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgQ3VzdG9tRXZlbnQpOworICAgIH0KKworICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgSlND
OjpKU1ZhbHVlIGRldGFpbCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVudCgpIGNv
bnN0OworCisgICAgSlNDOjpKU1ZhbHVlIGRldGFpbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWls
OyB9CisKK3ByaXZhdGU6CisgICAgQ3VzdG9tRXZlbnQoKTsKKworICAgIEpTQzo6UHJvdGVjdGVk
SlNWYWx1ZSBtX2RldGFpbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEN1c3RvbUV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50Lmlk
bCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4xYWI0NjhjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1
bGUgZXZlbnRzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CisgICAgaW50
ZXJmYWNlIEN1c3RvbUV2ZW50IDogRXZlbnQgeworCisgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTU9iamVjdCBkZXRhaWw7CisKKyAgICAgICB2b2lkIGluaXRDdXN0b21FdmVudChpbiBET01T
dHJpbmcgdHlwZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBj
YW5CdWJibGVBcmcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2Fu
Y2VsYWJsZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NT2JqZWN0IGRl
dGFpbEFyZyk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDQyNjMxNTcuLjNiNjMxYjcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDb21tZW50LmgiCiAjaW5jbHVk
ZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgorI2luY2x1ZGUgIkN1c3RvbUV2
ZW50LmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKICNpbmNsdWRlICJET01XaW5k
b3cuaCIKICNpbmNsdWRlICJEb2NMb2FkZXIuaCIKQEAgLTMwMTcsNiArMzAxOCw4IEBAIFBhc3NS
ZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlw
ZSwgRXhjZXB0aW9uQ29kZSYKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50OwogICAgIGlmIChldmVu
dFR5cGUgPT0gIkV2ZW50IiB8fCBldmVudFR5cGUgPT0gIkV2ZW50cyIgfHwgZXZlbnRUeXBlID09
ICJIVE1MRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKCk7CisgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJDdXN0b21FdmVudCIpCisgICAgICAgIGV2ZW50ID0gQ3VzdG9t
RXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiS2V5Ym9hcmRFdmVu
dCIgfHwgZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50cyIpCiAgICAgICAgIGV2ZW50ID0gS2V5
Ym9hcmRFdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJNZXNzYWdl
RXZlbnQiKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20v
RXZlbnQuY3BwCmluZGV4IGI2YWJiMmEuLjc2YTY0YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTcxLDYgKzcxLDExIEBA
IHZvaWQgRXZlbnQ6OmluaXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZUFyZywg
Ym9vbCBjYW5CdWJibGVBcmcsIGJvb2wKICAgICBtX2NhbmNlbGFibGUgPSBjYW5jZWxhYmxlQXJn
OwogfQogCitib29sIEV2ZW50Ojppc0N1c3RvbUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIGJvb2wgRXZlbnQ6OmlzVUlFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKaW5kZXggMGEwNTg2My4uNWNlNzFhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZl
bnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBDbGlwYm9hcmQqIGNsaXBib2FyZERhdGEoKSBjb25zdCB7
IHJldHVybiBpc0NsaXBib2FyZEV2ZW50KCkgPyBjbGlwYm9hcmQoKSA6IDA7IH0KIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNVSUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRXZlbnQo
KSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzTXV0YXRpb25FdmVudCgpIGNvbnN0Owot
LSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51065</attachid>
            <date>2010-03-18 11:43:17 -0700</date>
            <delta_ts>2010-03-21 14:59:39 -0700</delta_ts>
            <desc>Patch 4 (rebased, w/o xcode change)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>18113</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSAwMTg3MjkyYmE0Y2MxZjkxNTJlMzJjOGNjODY0N2QyYjA0ZTNiMzU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmg6CihXZWJDb3JlOjp0b0pTKToKKFdlYkNvcmU6
OnRvRE9NT2JqZWN0KToKKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKFdlYkNvcmU6
OnRvSlMpOgoqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgoqIGRvbS9DdXN0
b21FdmVudC5jcHA6IEFkZGVkLgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToK
KFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQpOgooV2ViQ29yZTo6Q3VzdG9t
RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgoqIGRvbS9DdXN0b21FdmVudC5oOiBBZGRlZC4KKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpjcmVhdGUpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmRldGFpbCk6
CiogZG9tL0RvY3VtZW50LmNwcDoKKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6Ciog
ZG9tL0V2ZW50LmNwcDoKKFdlYkNvcmU6OkV2ZW50Ojppc0N1c3RvbUV2ZW50KToKKiBkb20vRXZl
bnQuaDoKCkxheW91dFRlc3RzOiBMYXlvdXQgdGVzdCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2
ZW50Cmh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cwoKUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgoqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgoqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sOiBBZGRlZC4KLS0tCiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysK
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQgfCAgICAz
ICsKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sICAgICAgICAgfCAg
IDQ1ICsrKysrKysrKysrKysrCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAzNCArKysrKysrKysrKwogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLmd5
cGkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3Jl
LnByaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9XZWJD
b3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiAgICAgICAgICAgICB8ICAgNjQgKysrKysrKysr
KysrKysrKysrKysrCiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oICAgICAgICAg
ICAgICAgIHwgICAxNSArKysrKwogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cCAgICAgICAgICAgICB8ICAgIDQgKwogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbSAgICAgICB8ICAgMjAgKysrKysrLQogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhFdmVudEN1c3RvbS5jcHAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9kb20vRXZlbnQu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysKIFdlYkNvcmUvZG9tL0V2
ZW50LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIDE3IGZpbGVzIGNo
YW5nZWQsIDIxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRt
bAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiYTY0M2E3Li44YzA4ZTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExheW91dCB0
ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5v
cmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTAtMDMtMTggIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21F
dmVudCBzaG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRh
aWwgb2YgdGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c2NyaXB0Pgor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVz
dWx0cycpOworICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwgYikKKyAgICB7CisgICAg
ICAgIGlmIChhID09PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6ICIgKyBhRGVzY3JpcHRp
b24gKyAiIHNob3VsZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAn
IiArIGIgKyAiJyBidXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIGZ1bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFtZSwgdmFsdWUpCisgICAg
eworICAgICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsK
KyAgICAgICAgZXYuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZhbHNlLCB2YWx1ZSk7Cisg
ICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKKyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImJsYWgiLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3Vs
dCBvZiB0aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nl
c3MiKTsKKyAgICAgICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJibGFo
MiIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1swXS5kZXRh
aWwgb2YgdGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbCwgInN1Y2Nlc3MiKTsK
KyAgICAgICAgfSwgZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQoImJsYWgi
LCB7IHJlc3VsdDogInN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KCJi
bGFoMiIsICJzdWNjZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdHMoKSI+CisgICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGRkNjJhY2UuLmQ4ODJhYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwg
MyBDdXN0b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMt
RXZlbnRzCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKKwor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmg6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OnRvRE9NT2JqZWN0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGRv
bS9DdXN0b21FdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6
OkN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppbml0Q3VzdG9t
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgor
ICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmRldGFp
bCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50Ojppc0N1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKwog
MjAxMC0wMy0xOCAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYzI2ZmUyYy4uYjE3
MjJjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJKU0NTU1Zh
bHVlTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbi5jcHAiCiAj
aW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNSdWxlLmNwcCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50
LmNwcCIKICNpbmNsdWRlICJKU0RhdGFiYXNlLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29s
dW1uLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAiCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA2
YzFkNTg3Li5mNzkwMzdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBi
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTEyOCw2ICsxMjgsNyBAQCBJRExfQklORElOR1Mg
Kz0gXAogCVdlYkNvcmUvZG9tL0NsaXBib2FyZC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbW1lbnQu
aWRsIFwKIAlXZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisJV2ViY29yZS9kb20v
Q3VzdG9tRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCBcCiAJ
V2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwgXApAQCAtNzI4LDYgKzcyOSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29y
ZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgXAogCVdlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBc
CiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBcCisJV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIFwKIAlXZWJDb3Jl
L2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmNwcCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDdkOWE3MWIu
LjEwNTliMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0zNyw2ICszNyw3IEBACiAgICAgICAgICAgICAnZG9tL0NsaXBib2Fy
ZC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Db21tZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9t
L0NvbXBvc2l0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAg
J2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudC5p
ZGwnLApAQCAtMTA4MCw2ICsxMDgxLDggQEAKICAgICAgICAgICAgICdkb20vQ29udGFpbmVyTm9k
ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmgnLAogICAgICAgICAgICAg
J2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9t
RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuaCcsCiAgICAgICAgICAg
ICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVu
dGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmgnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXgg
NmFhYjNlYy4uOWFlMWNiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9X
ZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yNDQsNiArMjQ0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
ICAgICBkb20vQ0RBVEFTZWN0aW9uLmlkbCBcCiAgICAgZG9tL0NvbW1lbnQuaWRsIFwKICAgICBk
b20vQ29tcG9zaXRpb25FdmVudC5pZGwgXAorICAgIGRvbS9DdXN0b21FdmVudC5pZGwgXAogICAg
IGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50LmlkbCBcCiAgICAg
ZG9tL0RvY3VtZW50VHlwZS5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTllMDI1OS4uYjIwOWQzMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00NjUsNiAr
NDY1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwIFwKICAg
ICBkb20vQ29udGFpbmVyTm9kZS5jcHAgXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNs
YXJhdGlvbi5jcHAgXAorICAgIGRvbS9DdXN0b21FdmVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVu
dC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50
VHlwZS5jcHAgXApAQCAtMTE3Myw2ICsxMTc0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0Nv
bW1lbnQuaCBcCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAgICAgZG9tL0NTU01hcHBlZEF0
dHJpYnV0ZURlY2xhcmF0aW9uLmggXAorICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20v
ZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKICAgICBkb20vRG9jdW1lbnRG
cmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCA2YWM1NGZjLi4xZjM0NTZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTI0MDEsNiArMjQwMSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5h
bHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9tRXZlbnQuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEYXRhYmFzZS5jcHAiDQogCQkJ
CT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjg4MTMsNiArMjg4NjksMTQgQEAKIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1
c3RvbUV2ZW50LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGRvbVxDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERvY3VtZW50LmNwcCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBl
ci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaAppbmRleCAwMDU5NGNmLi5m
ZjQyMWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKQEAgLTI2LDYgKzI2LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKKwogLy8g
QmFzZSBjbGFzcyBmb3IgYWxsIG9iamVjdHMgaW4gdGhpcyBiaW5kaW5nIGV4Y2VwdCBXaW5kb3cu
CiBjbGFzcyBET01PYmplY3QgOiBwdWJsaWMgSlNDOjpKU09iamVjdCB7CiBwcm90ZWN0ZWQ6CkBA
IC00MSw2ICs0MywxOSBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKK2lubGluZSBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRE9NT2JqZWN0KiBvKQoreworICAgIGlmICghbykKKyAgICAgICAgcmV0dXJuIEpT
Qzo6anNOdWxsKCk7CisKKyAgICByZXR1cm4gSlNDOjpKU1ZhbHVlKG8pOworfQorCitpbmxpbmUg
RE9NT2JqZWN0KiB0b0RPTU9iamVjdChKU0M6OkpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PERPTU9iamVjdCo+KGFzT2JqZWN0KHZhbHVlKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEpTRE9NV3JhcHBlcl9oCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCAwNGNlZWM1Li42Njg2ZDdhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTMxLDkgKzMxLDExIEBACiAKICNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiQ3Vz
dG9tRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2
ZW50LmgiCiAjaW5jbHVkZSAiSlNDbGlwYm9hcmQuaCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50
LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2
ZW50LmgiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMsNiArMTU1LDggQEAg
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRXZlbnQqIGV2ZW50KQogI2VuZGlmCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzUG9wU3Rh
dGVFdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihl
eGVjLCBnbG9iYWxPYmplY3QsIFBvcFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAgICBlbHNlIGlmIChl
dmVudC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpF
Q1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVudCk7CiAgICAg
ZWxzZQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBn
bG9iYWxPYmplY3QsIEV2ZW50LCBldmVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDllMjU1ZmIuLjgyOTI5YjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTE5LDYgKzUxOSw3IEBAIHN1
YiBHZW5lcmF0ZUhlYWRlcgogICAgICMgR2V0IGNvcnJlY3QgcGFzcy9zdG9yZSB0eXBlcyByZXNw
ZWN0aW5nIFBPRFR5cGUgZmxhZwogICAgIG15ICRwb2RUeXBlID0gJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiUE9EVHlwZSJ9OwogICAgIG15ICRpbXBsVHlwZSA9ICRwb2RUeXBlID8g
IkpTU1ZHUE9EVHlwZVdyYXBwZXI8JHBvZFR5cGU+ICIgOiAkaW1wbENsYXNzTmFtZTsKKwogICAg
ICRoZWFkZXJJbmNsdWRlc3siJHBvZFR5cGUuaCJ9ID0gMSBpZiAkcG9kVHlwZSBhbmQgJHBvZFR5
cGUgbmUgImZsb2F0IjsKIAogICAgICRoZWFkZXJJbmNsdWRlc3siSlNTVkdQT0RUeXBlV3JhcHBl
ci5oIn0gPSAxIGlmICRwb2RUeXBlOwpAQCAtMTQ4Nyw3ICsxNDg4LDExIEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmli
dXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBteSAkY29uc3RydWN0b3JUeXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT50eXBlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb25zdHJ1Y3RvclR5cGUgPX4g
cy9Db25zdHJ1Y3RvciQvLzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1
ZGVzeyJKUyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICgkY29uc3RydWN0b3JUeXBlIGVxICJET01PYmplY3QiKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTRE9NV3JhcHBlci5o
In0gPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3RvclR5
cGUgLiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIC8vIFNoYWRvd2luZyBh
IGJ1aWx0LWluIGNvbnN0cnVjdG9yXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBzdGF0aWNfY2FzdDwkY2xhc3NOYW1lKj4odGhpc09iamVj
dCktPnB1dERpcmVjdChJZGVudGlmaWVyKGV4ZWMsIFwiJG5hbWVcIiksIHZhbHVlKTtcbiIpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGUifSkgewpAQCAtMTgzNyw2ICsxODQyLDcg
QEAgc3ViIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0dXJlCiBteSAlbmF0aXZlVHlwZSA9ICgKICAg
ICAiQ29tcGFyZUhvdyIgPT4gIlJhbmdlOjpDb21wYXJlSG93IiwKICAgICAiRE9NU3RyaW5nIiA9
PiAiY29uc3QgVVN0cmluZyYiLAorICAgICJET01PYmplY3QiID0+ICJKU1ZhbHVlIiwKICAgICAi
Tm9kZUZpbHRlciIgPT4gIlJlZlB0cjxOb2RlRmlsdGVyPiIsCiAgICAgIlNWR0FuZ2xlIiA9PiAi
U1ZHQW5nbGUiLAogICAgICJTVkdMZW5ndGgiID0+ICJTVkdMZW5ndGgiLApAQCAtMTg5MCw2ICsx
ODk2LDEwIEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJuICIkdmFsdWUudG9T
dHJpbmcoZXhlYykiOwogICAgIH0KIAorICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0Iikgewor
ICAgICAgICByZXR1cm4gIiR2YWx1ZSI7CisgICAgfQorCiAgICAgaWYgKCR0eXBlIGVxICJTZXJp
YWxpemVkU2NyaXB0VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CiAgICAgICAgICRpbXBsSW5j
bHVkZXN7IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIn0gPSAxOwogICAgICAgICByZXR1cm4gIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGV4ZWMsICR2YWx1ZSkiOwpAQCAtMTkwMiw3ICsx
OTEyLDcgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICRpbXBsSW5jbHVkZXN7IkV2ZW50Lmgi
fSA9IDEgaWYgJHR5cGUgZXEgIkV2ZW50IjsKIAogICAgICMgRGVmYXVsdCwgYXNzdW1lIGF1dG9n
ZW5lcmF0ZWQgdHlwZSBjb252ZXJzaW9uIHJvdXRpbmVzCi0gICAgJGltcGxJbmNsdWRlc3siSlMk
dHlwZS5oIn0gPSAxOworICAgICRpbXBsSW5jbHVkZXN7IkpTJHR5cGUuaCJ9ID0gMSBpZiAkdHlw
ZSBuZSAiRE9NT2JqZWN0IjsKICAgICByZXR1cm4gInRvJHR5cGUoJHZhbHVlKSI7CiB9CiAKQEAg
LTE5ODksNyArMTk5OSwxMSBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgfQogCiAgICAgaWYg
KCR0eXBlIGVxICJET01PYmplY3QiKSB7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IkpTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmgifSA9IDE7CisgICAgICAgIGlmICgkaW1wbENsYXNzTmFtZSBl
cSAiRG9jdW1lbnQiKSB7CisgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0
dXJuICIkdmFsdWUiOworICAgICAgICB9CiAgICAgfSBlbHNpZiAoJHR5cGUgPX4gL1NWR1BhdGhT
ZWcvKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTJHR5cGUuaCJ9ID0gMTsKICAgICAgICAg
JGpvaW5lZE5hbWUgPSAkdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dEN1c3RvbS5jcHAKaW5kZXggNjY5ODNmZi4uMTZiOGMxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKQEAgLTE0Myw2ICsxNDMsOCBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChFdmVudCogaW1wbCkKICNlbmRpZgogICAgIGlmIChpbXBsLT5p
c0JlZm9yZUxvYWRFdmVudCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxCZWZv
cmVMb2FkRXZlbnQqPihpbXBsKSk7CisgICAgaWYgKGltcGwtPmlzQ3VzdG9tRXZlbnQoKSkKKyAg
ICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q3VzdG9tRXZlbnQqPihpbXBsKSk7CiAgICAg
cmV0dXJuIFY4RXZlbnQ6OndyYXAoaW1wbCk7CiB9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggYjU3ZmZhZi4uZGYwMTcyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBA
QAogI2luY2x1ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBs
ZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRl
ci5oIgpAQCAtMzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJl
ZlB0cjxFdmVudD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50
VHlwZSA9PSAiRXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBl
dmVudCA9IEV2ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3Rv
bUV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJv
YXJkRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAg
ICBlbHNlIGlmIChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggYjZhYmIyYS4u
NzZhNjRiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcApAQCAtNzEsNiArNzEsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAog
ICAgIG1fY2FuY2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3Vz
dG9tRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6
aXNVSUV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCAwYTA1ODYzLi41Y2U3
MWE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKQEAgLTk4LDYgKzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIENs
aXBib2FyZCogY2xpcGJvYXJkRGF0YSgpIGNvbnN0IHsgcmV0dXJuIGlzQ2xpcGJvYXJkRXZlbnQo
KSA/IGNsaXBib2FyZCgpIDogMDsgfQogCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbUV2
ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAg
ICAgICAgdmlydHVhbCBib29sIGlzTW91c2VFdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNNdXRhdGlvbkV2ZW50KCkgY29uc3Q7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="34270"
          type_id="1"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51255</attachid>
            <date>2010-03-21 14:59:39 -0700</date>
            <delta_ts>2010-03-21 15:07:41 -0700</delta_ts>
            <desc>Patch 5 (w/o xcode change)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>18961</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSAwYWRjNTcwYmRiNmFmNmMyZWEyY2ExY2Q0YTdkZTBhNjEyZmNiN2YyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmg6CihXZWJDb3JlOjp0b0pTKToKKFdlYkNvcmU6
OnRvRE9NT2JqZWN0KToKKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKFdlYkNvcmU6
OnRvSlMpOgoqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgoqIGRvbS9DdXN0
b21FdmVudC5jcHA6IEFkZGVkLgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToK
KFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQpOgooV2ViQ29yZTo6Q3VzdG9t
RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgoqIGRvbS9DdXN0b21FdmVudC5oOiBBZGRlZC4KKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpjcmVhdGUpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmRldGFpbCk6
CiogZG9tL0RvY3VtZW50LmNwcDoKKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6Ciog
ZG9tL0V2ZW50LmNwcDoKKFdlYkNvcmU6OkV2ZW50Ojppc0N1c3RvbUV2ZW50KToKKiBkb20vRXZl
bnQuaDoKCkxheW91dFRlc3RzOiBMYXlvdXQgdGVzdCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2
ZW50Cmh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cwoKUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgoqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgoqIGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sOiBBZGRlZC4KLS0tCiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysK
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50eHQgfCAgICAz
ICsKIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sICAgICAgICAgfCAg
IDQ1ICsrKysrKysrKysrKysrCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAzNCArKysrKysrKysrKwogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLmd5
cGkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3Jl
LnByaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9XZWJD
b3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiAgICAgICAgICAgICB8ICAgNjQgKysrKysrKysr
KysrKysrKysrKysrCiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwICAgICAg
ICAgICAgIHwgICAgNCArCiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtICAgICAgIHwgICAxNiArKysrKy0KIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZl
bnRDdXN0b20uY3BwICAgICAgfCAgICAyICsKIFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbCAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDM5ICsrKysrKysrKysrKysKIFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsKIFdlYkNvcmUvZG9t
L0V2ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrCiBXZWJDb3Jl
L2RvbS9FdmVudC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiAxNyBm
aWxlcyBjaGFuZ2VkLCAyMzQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2
ZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYzVkZWMzMi4uYmZlZGRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAz
LTAzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMYXlvdXQgdGVz
dCBmb3IgRE9NIExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cudzMub3Jn
L1RSL0RPTS1MZXZlbC0zLUV2ZW50cworCisgICAgICAgICogZmFzdC9ldmVudHMvY3VzdG9tLWV2
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY3VzdG9tLWV2
ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTAzLTIwICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtv
dkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIHR3ZWFr
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3OTY0NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitQQVNTOiBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0
aGUgQ3VzdG9tRXZlbnQgc2hvdWxkIGJlICdzdWNjZXNzJyBhbmQgaXMuCitQQVNTOiBhcmd1bWVu
dHNbMF0uZGV0YWlsIG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBp
cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjI3ODA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSw0NSBAQAor
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBsb2cobSkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gbSArICc8YnI+
JzsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRCZShhRGVzY3JpcHRpb24sIGEsIGIpCisg
ICAgeworICAgICAgICBpZiAoYSA9PT0gYikgeworICAgICAgICAgICAgbG9nKCJQQVNTOiAiICsg
YURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgJyIgKyBiICsgIicgYW5kIGlzLiIpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiAiICsgYURlc2NyaXB0aW9uICsgIiBz
aG91bGQgYmUgJyIgKyBiICsgIicgYnV0IGluc3RlYWQgaXMgJyIgKyBhICsgIicuIik7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBkaXNwYXRjaEN1c3RvbUV2ZW50KG5hbWUsIHZh
bHVlKQorICAgIHsKKyAgICAgICAgdmFyIGV2ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3Rv
bUV2ZW50Iik7CisgICAgICAgIGV2LmluaXRDdXN0b21FdmVudChuYW1lLCB0cnVlLCBmYWxzZSwg
dmFsdWUpOworICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KGV2KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgeworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJi
bGFoIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiYXJndW1lbnRzWzBdLmRl
dGFpbC5yZXN1bHQgb2YgdGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbC5yZXN1
bHQsICJzdWNjZXNzIik7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigiYmxhaDIiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVu
dHNbMF0uZGV0YWlsIG9mIHRoZSBDdXN0b21FdmVudCIsIGFyZ3VtZW50c1swXS5kZXRhaWwsICJz
dWNjZXNzIik7CisgICAgICAgIH0sIGZhbHNlKTsKKworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2
ZW50KCJibGFoIiwgeyByZXN1bHQ6ICJzdWNjZXNzIiB9KTsKKyAgICAgICAgZGlzcGF0Y2hDdXN0
b21FdmVudCgiYmxhaDIiLCAic3VjY2VzcyIpOworICAgIH0KKzwvc2NyaXB0PgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3RzKCkiPgorICAgIDxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBlNDFkNDgxLi5kZmYwY2M0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEwLTAzLTAzICBL
ZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
RE9NIExldmVsIDMgQ3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL0RP
TS1MZXZlbC0zLUV2ZW50cworCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJp
OgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0b0RPTU9iamVjdCk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAg
ICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6
aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3Rv
bUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2
ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Lmg6CisKIDIwMTAtMDMtMjAgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENocmlzdGlhbnNlbi4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKaW5kZXggYzI2ZmUyYy4uYjE3MjJjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTYyLDYgKzYyLDcg
QEAKICNpbmNsdWRlICJKU0NTU1ZhbHVlTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJs
ZXNEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNSdWxlLmNwcCIKKyNp
bmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RhdGFiYXNlLmNwcCIKICNp
bmNsdWRlICJKU0RhdGFHcmlkQ29sdW1uLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29sdW1u
TGlzdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCBhYmQxNjQ4Li4wNGRhMTA3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTEyOCw2ICsx
MjgsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvZG9tL0NsaXBib2FyZC5pZGwgXAog
CVdlYkNvcmUvZG9tL0NvbW1lbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50
LmlkbCBcCisJV2ViY29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01D
b3JlRXhjZXB0aW9uLmlkbCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsIFwK
IAlXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgXApAQCAtNzI4LDYgKzcyOSw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgXAogCVdlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRo
bXMuaCBcCisJV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVdlYkNvcmUv
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDk3ZDcwM2MuLmFmNTBlYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNyw2ICszNyw3IEBACiAgICAg
ICAgICAgICAnZG9tL0NsaXBib2FyZC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Db21tZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAg
ICdkb20vQ3VzdG9tRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLApAQCAtMTA4MCw2ICsxMDgxLDggQEAKICAgICAgICAg
ICAgICdkb20vQ29udGFpbmVyTm9kZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJO
b2RlLmgnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oJywKKyAg
ICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9t
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uaCcsCiAgICAgICAg
ICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKaW5kZXggMWU4MGJmYS4uNjMwNzM3MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yNTAsNiArMjUwLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ0RBVEFTZWN0aW9uLmlkbCBcCiAgICAgZG9t
L0NvbW1lbnQuaWRsIFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5pZGwgXAorICAgIGRvbS9D
dXN0b21FdmVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCBcCiAgICAgZG9t
L0RvY3VtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5pZGwgXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTIwMmFmZi4u
NDg4MDRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC00NjUsNiArNDY1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0NvbXBv
c2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5jcHAgXAogICAgIGRvbS9D
U1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAorICAgIGRvbS9DdXN0b21FdmVudC5j
cHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNw
cCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5jcHAgXApAQCAtMTE3NCw2ICsxMTc1LDcgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL0NvbW1lbnQuaCBcCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuaCBc
CiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAorICAgIGRvbS9DdXN0
b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
IFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1lbnQuaCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0MWIyNGVkLi43YzcwMzU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI0MDEsNiArMjQwMSw2MiBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIN
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEYXRhYmFzZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjg4
NjksNiArMjg5MjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDdXN0b21FdmVudC5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERv
Y3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
Q3VzdG9tLmNwcAppbmRleCAwNGNlZWM1Li42Njg2ZDdhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNF
dmVudEN1c3RvbS5jcHAKQEAgLTMxLDkgKzMxLDExIEBACiAKICNpbmNsdWRlICJDbGlwYm9hcmQu
aCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQu
aCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNDbGlwYm9hcmQuaCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5j
bHVkZSAiSlNDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMsNiArMTU1LDggQEAgSlNWYWx1ZSB0
b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZl
bnQqIGV2ZW50KQogI2VuZGlmCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzUG9wU3RhdGVFdmVudCgp
KQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIFBvcFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAgICBlbHNlIGlmIChldmVudC0+aXND
dXN0b21FdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVudCk7CiAgICAgZWxzZQogICAg
ICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmpl
Y3QsIEV2ZW50LCBldmVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCmluZGV4IDllMjU1ZmIuLjE5ZGFhNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTE5LDYgKzUxOSw3IEBAIHN1YiBHZW5lcmF0
ZUhlYWRlcgogICAgICMgR2V0IGNvcnJlY3QgcGFzcy9zdG9yZSB0eXBlcyByZXNwZWN0aW5nIFBP
RFR5cGUgZmxhZwogICAgIG15ICRwb2RUeXBlID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiUE9EVHlwZSJ9OwogICAgIG15ICRpbXBsVHlwZSA9ICRwb2RUeXBlID8gIkpTU1ZHUE9E
VHlwZVdyYXBwZXI8JHBvZFR5cGU+ICIgOiAkaW1wbENsYXNzTmFtZTsKKwogICAgICRoZWFkZXJJ
bmNsdWRlc3siJHBvZFR5cGUuaCJ9ID0gMSBpZiAkcG9kVHlwZSBhbmQgJHBvZFR5cGUgbmUgImZs
b2F0IjsKIAogICAgICRoZWFkZXJJbmNsdWRlc3siSlNTVkdQT0RUeXBlV3JhcHBlci5oIn0gPSAx
IGlmICRwb2RUeXBlOwpAQCAtMTQ4Nyw3ICsxNDg4LDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG15ICRjb25zdHJ1Y3RvclR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVj
dG9yJC8vOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAu
ICRjb25zdHJ1Y3RvclR5cGUgLiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCRjb25zdHJ1Y3RvclR5cGUgbmUgIkRPTU9iamVjdCIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAu
ICIuaCJ9ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVp
bHQtaW4gY29uc3RydWN0b3JcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+
cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZSJ9KSB7CkBAIC0xODM3LDYgKzE4NDAsNyBAQCBz
dWIgR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1cmUKIG15ICVuYXRpdmVUeXBlID0gKAogICAgICJD
b21wYXJlSG93IiA9PiAiUmFuZ2U6OkNvbXBhcmVIb3ciLAogICAgICJET01TdHJpbmciID0+ICJj
b25zdCBVU3RyaW5nJiIsCisgICAgIkRPTU9iamVjdCIgPT4gIkpTVmFsdWUiLAogICAgICJOb2Rl
RmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwKICAgICAiU1ZHQW5nbGUiID0+ICJTVkdB
bmdsZSIsCiAgICAgIlNWR0xlbmd0aCIgPT4gIlNWR0xlbmd0aCIsCkBAIC0xODkwLDYgKzE4OTQs
MTAgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4gIiR2YWx1ZS50b1N0cmlu
ZyhleGVjKSI7CiAgICAgfQogCisgICAgaWYgKCR0eXBlIGVxICJET01PYmplY3QiKSB7CisgICAg
ICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICB9CisKICAgICBpZiAoJHR5cGUgZXEgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIpIHsKICAgICAgICAgJGltcGxJbmNsdWRl
c3siU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgifSA9IDE7CiAgICAgICAgIHJldHVybiAiU2VyaWFs
aXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgJHZhbHVlKSI7CkBAIC0xOTg5LDcgKzE5OTcs
MTEgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0KIAogICAgIGlmICgkdHlwZSBlcSAiRE9N
T2JqZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oIn0gPSAxOworICAgICAgICBpZiAoJGltcGxDbGFzc05hbWUgZXEgIkRvY3VtZW50Iikg
eworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
aCJ9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiAiJHZhbHVlIjsK
KyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlID1+IC9TVkdQYXRoU2VnLykgewogICAgICAg
ICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CiAgICAgICAgICRqb2luZWROYW1lID0g
JHR5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3Vz
dG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCmlu
ZGV4IDY2OTgzZmYuLjE2YjhjMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RXZlbnRDdXN0b20uY3BwCkBAIC0xNDMsNiArMTQzLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoRXZlbnQqIGltcGwpCiAjZW5kaWYKICAgICBpZiAoaW1wbC0+aXNCZWZvcmVMb2FkRXZl
bnQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8QmVmb3JlTG9hZEV2ZW50Kj4o
aW1wbCkpOworICAgIGlmIChpbXBsLT5pc0N1c3RvbUV2ZW50KCkpCisgICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PEN1c3RvbUV2ZW50Kj4oaW1wbCkpOwogICAgIHJldHVybiBWOEV2ZW50
Ojp3cmFwKGltcGwpOwogfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjQ2OGMKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7CisKKyAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKworICAgICAgIHZvaWQg
aW5pdEN1c3RvbUV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBET01PYmplY3QgZGV0YWlsQXJnKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggNDIwZTcyZC4uNzlkMzAzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1
ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29va2llSmFy
LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRlci5oIgpAQCAt
MzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJlZlB0cjxFdmVu
dD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50VHlwZSA9PSAi
RXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBldmVudCA9IEV2
ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3RvbUV2ZW50IikK
KyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZl
bnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJvYXJkRXZlbnRz
IikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlm
IChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggODBhNGIxZi4uZWQ3MTlmOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcApAQCAtNzMsNiArNzMsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAogICAgIG1fY2Fu
Y2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3VzdG9tRXZlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNVSUV2ZW50
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBhNzlkZDRjLi4yOTUzMDg5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAg
LTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2xpcGJvYXJk
KiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyByZXR1cm4gaXNDbGlwYm9hcmRFdmVudCgpID8gY2xp
cGJvYXJkKCkgOiAwOyB9CiAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQoKSBj
b25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0OwogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c011dGF0aW9uRXZlbnQoKSBjb25zdDsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51256</attachid>
            <date>2010-03-21 15:07:41 -0700</date>
            <delta_ts>2010-03-21 16:23:45 -0700</delta_ts>
            <desc>Patch 6</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>23356</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA5MjA5YTNmZWFkODc4MDA4ZDIyYTkzNWFhZTBmODdiZTZiYTg4ZWM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CihXZWJDb3JlOjp0b0pTKToKKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBB
ZGRlZC4KKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CihXZWJDb3JlOjpDdXN0
b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3Rv
bUV2ZW50KToKKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCihXZWJDb3JlOjpDdXN0b21FdmVu
dDo6Y3JlYXRlKToKKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgoqIGRvbS9Eb2N1bWVu
dC5jcHA6CihXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgoqIGRvbS9FdmVudC5jcHA6
CihXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0V2ZW50Lmg6CgpMYXlvdXRU
ZXN0czogTGF5b3V0IHRlc3QgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVudApodHRwOi8vd3d3
LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0
L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrCiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IHwgICAgMyArCiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCAgICAgICAgIHwgICA0NSArKysrKysrKysr
KysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMzEgKysrKysrKysrKwogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLmd5cGkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLnByaSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9XZWJDb3JlLnBybyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiAgICAgICAgICAgICB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysrCiBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwICAgICAgICAgICAgIHwgICAgNCAr
CiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtICAgICAgIHwgICAx
NiArKysrKy0KIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwICAg
ICAgfCAgICAyICsKIFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDUyICsrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5o
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1OSArKysrKysrKysrKysrKysrKysrCiBXZWJD
b3JlL2RvbS9DdXN0b21FdmVudC5pZGwgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOSArKysr
KysrKysrKysrCiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMyArCiBXZWJDb3JlL2RvbS9FdmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgNSArKwogV2ViQ29yZS9kb20vRXZlbnQuaCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDEgKwogMTkgZmlsZXMgY2hhbmdlZCwgMzQyIGluc2VydGlvbnMoKyks
IDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2Vi
Q29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmlkbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBjNWRlYzMyLi5iZmVkZGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExheW91
dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53
My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0
b20tZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0
b20tZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTAtMDMtMjAgIERpbWl0cmkgR2xhemtvdiAgPGRn
bGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBleHBlY3RhdGlvbnMg
dHdlYWsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0
IG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFy
Z3VtZW50c1swXS5kZXRhaWwgb2YgdGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2Vzcycg
YW5kIGlzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1
IEBACis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGxvZyhtKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0cycpOworICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsg
Jzxicj4nOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwg
YikKKyAgICB7CisgICAgICAgIGlmIChhID09PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6
ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24g
KyAiIHNob3VsZCBiZSAnIiArIGIgKyAiJyBidXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFt
ZSwgdmFsdWUpCisgICAgeworICAgICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgi
Q3VzdG9tRXZlbnQiKTsKKyAgICAgICAgZXYuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZh
bHNlLCB2YWx1ZSk7CisgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKKyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImJsYWgiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNb
MF0uZGV0YWlsLnJlc3VsdCBvZiB0aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWls
LnJlc3VsdCwgInN1Y2Nlc3MiKTsKKyAgICAgICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJibGFoMiIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFy
Z3VtZW50c1swXS5kZXRhaWwgb2YgdGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFp
bCwgInN1Y2Nlc3MiKTsKKyAgICAgICAgfSwgZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3Vz
dG9tRXZlbnQoImJsYWgiLCB7IHJlc3VsdDogInN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRj
aEN1c3RvbUV2ZW50KCJibGFoMiIsICJzdWNjZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdHMoKSI+CisgICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU0MWQ0ODEuLmEzNGZhNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTAtMDMt
MDMgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcv
VFIvRE9NLUxldmVsLTMtRXZlbnRzCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvY3VzdG9t
LWV2ZW50Lmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAg
ICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVu
dCk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisKIDIwMTAtMDMtMjAgIEFudG9uaW8gR29tZXMg
IDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENo
cmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYzI2ZmUyYy4uYjE3MjJjMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJKU0NTU1ZhbHVlTGlzdC5jcHAiCiAj
aW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NW
YXJpYWJsZXNSdWxlLmNwcCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKICNpbmNsdWRl
ICJKU0RhdGFiYXNlLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29sdW1uLmNwcCIKICNpbmNs
dWRlICJKU0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhYmQxNjQ4Li4wNGRhMTA3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTEyOCw2ICsxMjgsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUv
ZG9tL0NsaXBib2FyZC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbW1lbnQuaWRsIFwKIAlXZWJDb3Jl
L2RvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisJV2ViY29yZS9kb20vQ3VzdG9tRXZlbnQuaWRs
IFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCBcCiAJV2ViQ29yZS9kb20vRE9N
SW1wbGVtZW50YXRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgXApAQCAtNzI4
LDYgKzcyOSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAgXAogCVdlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAJV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBcCisJV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3Bw
IFwKKwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhj
ZXB0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJV2ViQ29y
ZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk3ZDcwM2MuLmFmNTBlYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC0zNyw2ICszNyw3IEBACiAgICAgICAgICAgICAnZG9tL0NsaXBib2FyZC5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9Db21tZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0NvbXBvc2l0aW9uRXZl
bnQuaWRsJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuaWRsJywKICAgICAgICAgICAg
ICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1l
bnRhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLApAQCAtMTA4MCw2
ICsxMDgxLDggQEAKICAgICAgICAgICAgICdkb20vQ29udGFpbmVyTm9kZS5jcHAnLAogICAgICAg
ICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmgnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJO
b2RlQWxnb3JpdGhtcy5oJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKKyAg
ICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUNvcmVF
eGNlcHRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggMWU4MGJmYS4uNjMwNzM3
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUu
cHJpCkBAIC0yNTAsNiArMjUwLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ0RBVEFT
ZWN0aW9uLmlkbCBcCiAgICAgZG9tL0NvbW1lbnQuaWRsIFwKICAgICBkb20vQ29tcG9zaXRpb25F
dmVudC5pZGwgXAorICAgIGRvbS9DdXN0b21FdmVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVudEZy
YWdtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50VHlw
ZS5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KaW5kZXggMTIwMmFmZi4uNDg4MDRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00NjUsNiArNDY1LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vQ29udGFpbmVy
Tm9kZS5jcHAgXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAor
ICAgIGRvbS9DdXN0b21FdmVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXAogICAgIGRv
bS9Eb2N1bWVudEZyYWdtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5jcHAgXApAQCAt
MTE3NCw2ICsxMTc1LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0NvbW1lbnQuaCBcCiAgICAg
ZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0
aW9uLmggXAorICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9y
bU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAg
ICBkb20vRG9jdW1lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCA0MWIyNGVkLi43YzcwMzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTI0MDEsNiArMjQwMSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTQ3VzdG9tRXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEYXRhYmFzZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQpAQCAtMjg4NjksNiArMjg5MjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRv
bVxDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXERvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCAwNGNlZWM1Li42Njg2ZDdhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTMxLDkgKzMxLDExIEBACiAK
ICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkpT
QmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDbGlwYm9hcmQuaCIKKyNpbmNsdWRlICJK
U0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiSlNFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMs
NiArMTU1LDggQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQogI2VuZGlmCiAgICAgZWxzZSBpZiAoZXZl
bnQtPmlzUG9wU3RhdGVFdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpF
Q1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFBvcFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAg
ICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JF
QVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEN1c3RvbUV2ZW50LCBl
dmVudCk7CiAgICAgZWxzZQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JB
UFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEV2ZW50LCBldmVudCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDllMjU1ZmIuLjE5ZGFhNjggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTE5LDYg
KzUxOSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICMgR2V0IGNvcnJlY3QgcGFzcy9zdG9y
ZSB0eXBlcyByZXNwZWN0aW5nIFBPRFR5cGUgZmxhZwogICAgIG15ICRwb2RUeXBlID0gJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUE9EVHlwZSJ9OwogICAgIG15ICRpbXBsVHlwZSA9
ICRwb2RUeXBlID8gIkpTU1ZHUE9EVHlwZVdyYXBwZXI8JHBvZFR5cGU+ICIgOiAkaW1wbENsYXNz
TmFtZTsKKwogICAgICRoZWFkZXJJbmNsdWRlc3siJHBvZFR5cGUuaCJ9ID0gMSBpZiAkcG9kVHlw
ZSBhbmQgJHBvZFR5cGUgbmUgImZsb2F0IjsKIAogICAgICRoZWFkZXJJbmNsdWRlc3siSlNTVkdQ
T0RUeXBlV3JhcHBlci5oIn0gPSAxIGlmICRwb2RUeXBlOwpAQCAtMTQ4Nyw3ICsxNDg4LDkgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
aWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvclR5cGUgPSAkYXR0cmlidXRl
LT5zaWduYXR1cmUtPnR5cGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnN0cnVj
dG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3RvclR5cGUgLiAiLmgifSA9IDE7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb25zdHJ1Y3RvclR5cGUgbmUgIkRPTU9iamVj
dCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMi
IC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3JcbiIpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHN0YXRpY19jYXN0PCRjbGFz
c05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgXCIkbmFtZVwi
KSwgdmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmli
dXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZSJ9KSB7CkBA
IC0xODM3LDYgKzE4NDAsNyBAQCBzdWIgR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1cmUKIG15ICVu
YXRpdmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9PiAiUmFuZ2U6OkNvbXBhcmVIb3ciLAog
ICAgICJET01TdHJpbmciID0+ICJjb25zdCBVU3RyaW5nJiIsCisgICAgIkRPTU9iamVjdCIgPT4g
IkpTVmFsdWUiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwKICAg
ICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0aCIgPT4gIlNWR0xlbmd0
aCIsCkBAIC0xODkwLDYgKzE4OTQsMTAgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICBy
ZXR1cm4gIiR2YWx1ZS50b1N0cmluZyhleGVjKSI7CiAgICAgfQogCisgICAgaWYgKCR0eXBlIGVx
ICJET01PYmplY3QiKSB7CisgICAgICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICB9CisKICAgICBp
ZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIpIHsK
ICAgICAgICAgJGltcGxJbmNsdWRlc3siU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgifSA9IDE7CiAg
ICAgICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgJHZhbHVl
KSI7CkBAIC0xOTg5LDcgKzE5OTcsMTEgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0KIAog
ICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJK
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICBpZiAoJGltcGxDbGFz
c05hbWUgZXEgIkRvY3VtZW50IikgeworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlID1+IC9T
VkdQYXRoU2VnLykgewogICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CiAg
ICAgICAgICRqb2luZWROYW1lID0gJHR5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RXZlbnRDdXN0b20uY3BwCmluZGV4IDY2OTgzZmYuLjE2YjhjMTcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCkBAIC0xNDMsNiArMTQzLDggQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRXZlbnQqIGltcGwpCiAjZW5kaWYKICAgICBpZiAo
aW1wbC0+aXNCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nh
c3Q8QmVmb3JlTG9hZEV2ZW50Kj4oaW1wbCkpOworICAgIGlmIChpbXBsLT5pc0N1c3RvbUV2ZW50
KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEN1c3RvbUV2ZW50Kj4oaW1wbCkp
OwogICAgIHJldHVybiBWOEV2ZW50Ojp3cmFwKGltcGwpOwogfQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIGIvV2ViQ29yZS9k
b20vQ3VzdG9tRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3
NzQzMDUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKQEAg
LTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitDdXN0b21FdmVudDo6Q3VzdG9tRXZlbnQoKQoreworfQor
Cit2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBKU0M6OkpTVmFsdWUgZGV0YWls
KQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRF
dmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpOworCisgICAgbV9kZXRhaWwgPSBkZXRh
aWw7Cit9CisKK2Jvb2wgQ3VzdG9tRXZlbnQ6OmlzQ3VzdG9tRXZlbnQoKSBjb25zdAoreworICAg
IHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWQ1YjcxCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgQ3VzdG9tRXZlbnRfaAorI2RlZmluZSBDdXN0b21FdmVudF9o
CisKKyNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1
ZGUgIkpTRE9NV3JhcHBlci5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNWYWx1ZS5oPgorI2luY2x1
ZGUgPHJ1bnRpbWUvUHJvdGVjdC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3VzdG9tRXZlbnQgOiBwdWJsaWMgRXZlbnQgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUV2ZW50PiBjcmVhdGUoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21FdmVudCk7CisgICAgfQorCisg
ICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNh
bkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBKU0M6OkpTVmFsdWUgZGV0YWlsKTsKKworICAgIHZp
cnR1YWwgYm9vbCBpc0N1c3RvbUV2ZW50KCkgY29uc3Q7CisKKyAgICBKU0M6OkpTVmFsdWUgZGV0
YWlsKCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWw7IH0KKworcHJpdmF0ZToKKyAgICBDdXN0b21F
dmVudCgpOworCisgICAgSlNDOjpQcm90ZWN0ZWRKU1ZhbHVlIG1fZGV0YWlsOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ3VzdG9tRXZlbnRfaApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjQ2OGMKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKQEAgLTAsMCArMSwzOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50cm9k
dWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7
CisKKyAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKworICAgICAg
IHZvaWQgaW5pdEN1c3RvbUV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBET01PYmplY3QgZGV0YWlsQXJnKTsKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggNDIwZTcyZC4uNzlkMzAzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29v
a2llSmFyLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBsZW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRlci5o
IgpAQCAtMzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0
ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJlZlB0
cjxFdmVudD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50VHlw
ZSA9PSAiRXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBldmVu
dCA9IEV2ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3RvbUV2
ZW50IikKKyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJvYXJk
RXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAgICBl
bHNlIGlmIChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggODBhNGIxZi4uZWQ3
MTlmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcApAQCAtNzMsNiArNzMsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAogICAg
IG1fY2FuY2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3VzdG9t
RXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNV
SUV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBhNzlkZDRjLi4yOTUzMDg5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
LmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2xp
cGJvYXJkKiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyByZXR1cm4gaXNDbGlwYm9hcmRFdmVudCgp
ID8gY2xpcGJvYXJkKCkgOiAwOyB9CiAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZl
bnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0OwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc011dGF0aW9uRXZlbnQoKSBjb25zdDsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51261</attachid>
            <date>2010-03-21 16:23:45 -0700</date>
            <delta_ts>2010-03-22 11:45:35 -0700</delta_ts>
            <desc>Patch 7 (using ScriptValue)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>23296</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBkMzU2N2ZlZTg5ZTVkMTNmMjIwZDEwNTI0YzFhMTE3ZmNkMzA5NjMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CihXZWJDb3JlOjp0b0pTKToKKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBB
ZGRlZC4KKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CihXZWJDb3JlOjpDdXN0
b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3Rv
bUV2ZW50KToKKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCihXZWJDb3JlOjpDdXN0b21FdmVu
dDo6Y3JlYXRlKToKKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgoqIGRvbS9Eb2N1bWVu
dC5jcHA6CihXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgoqIGRvbS9FdmVudC5jcHA6
CihXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0V2ZW50Lmg6CgpMYXlvdXRU
ZXN0czogTGF5b3V0IHRlc3QgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVudApodHRwOi8vd3d3
LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0
L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrCiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IHwgICAgMyArCiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCAgICAgICAgIHwgICA0NSArKysrKysrKysr
KysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMzEgKysrKysrKysrKwogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLmd5cGkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3JlLnByaSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9XZWJDb3JlLnBybyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiAgICAgICAgICAgICB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysrCiBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwICAgICAgICAgICAgIHwgICAgNCAr
CiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtICAgICAgIHwgICAx
NiArKysrKy0KIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwICAg
ICAgfCAgICAyICsKIFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDUyICsrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5o
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1NyArKysrKysrKysrKysrKysrKysKIFdlYkNv
cmUvZG9tL0N1c3RvbUV2ZW50LmlkbCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM5ICsrKysr
KysrKysrKysKIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAzICsKIFdlYkNvcmUvZG9tL0V2ZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA1ICsrCiBXZWJDb3JlL2RvbS9FdmVudC5oICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgMSArCiAxOSBmaWxlcyBjaGFuZ2VkLCAzNDAgaW5zZXJ0aW9ucygrKSwg
MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJD
b3JlL2RvbS9DdXN0b21FdmVudC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9D
dXN0b21FdmVudC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGM1ZGVjMzIuLmJmZWRkZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
MC0wMy0wMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0
IHRlc3QgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVudAorICAgICAgICBodHRwOi8vd3d3Lncz
Lm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3Rv
bS1ldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2N1c3Rv
bS1ldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0yMCAgRGltaXRyaSBHbGF6a292ICA8ZGds
YXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGV4cGVjdGF0aW9ucyB0
d2Vhay4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4Nzk2NDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUzogYXJndW1lbnRzWzBdLmRldGFpbC5yZXN1bHQg
b2YgdGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorUEFTUzogYXJn
dW1lbnRzWzBdLmRldGFpbCBvZiB0aGUgQ3VzdG9tRXZlbnQgc2hvdWxkIGJlICdzdWNjZXNzJyBh
bmQgaXMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IyNzgwNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCkBAIC0wLDAgKzEsNDUg
QEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gbG9nKG0pCisgICAgeworICAgICAgICB2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHRzJyk7CisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9IG0gKyAn
PGJyPic7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2hvdWxkQmUoYURlc2NyaXB0aW9uLCBhLCBi
KQorICAgIHsKKyAgICAgICAgaWYgKGEgPT09IGIpIHsKKyAgICAgICAgICAgIGxvZygiUEFTUzog
IiArIGFEZXNjcmlwdGlvbiArICIgc2hvdWxkIGJlICciICsgYiArICInIGFuZCBpcy4iKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxvZygiRkFJTDogIiArIGFEZXNjcmlwdGlvbiAr
ICIgc2hvdWxkIGJlICciICsgYiArICInIGJ1dCBpbnN0ZWFkIGlzICciICsgYSArICInLiIpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gZGlzcGF0Y2hDdXN0b21FdmVudChuYW1l
LCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHZhciBldiA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJD
dXN0b21FdmVudCIpOworICAgICAgICBldi5pbml0Q3VzdG9tRXZlbnQobmFtZSwgdHJ1ZSwgZmFs
c2UsIHZhbHVlKTsKKyAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChldik7CisgICAgfQor
CisgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQorICAgIHsKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigiYmxhaCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1sw
XS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCIsIGFyZ3VtZW50c1swXS5kZXRhaWwu
cmVzdWx0LCAic3VjY2VzcyIpOworICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImJsYWgyIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiYXJn
dW1lbnRzWzBdLmRldGFpbCBvZiB0aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWls
LCAic3VjY2VzcyIpOworICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgZGlzcGF0Y2hDdXN0
b21FdmVudCgiYmxhaCIsIHsgcmVzdWx0OiAic3VjY2VzcyIgfSk7CisgICAgICAgIGRpc3BhdGNo
Q3VzdG9tRXZlbnQoImJsYWgyIiwgInN1Y2Nlc3MiKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPGJv
ZHkgb25sb2FkPSJydW5UZXN0cygpIj4KKyAgICA8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZTQxZDQ4MS4uYTM0ZmE1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0wMy0w
MyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVudAorICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9U
Ui9ET00tTGV2ZWwtMy1FdmVudHMKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q3VzdG9tRXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmRldGFpbCk6CisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAg
ICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojppc0N1c3RvbUV2ZW50
KToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKwogMjAxMC0wMy0yMCAgQW50b25pbyBHb21lcyAg
PHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggQ2hy
aXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCBjMjZmZTJjLi5iMTcyMmMwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNp
bmNsdWRlICJKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmNwcCIKICNpbmNsdWRlICJKU0NTU1Zh
cmlhYmxlc1J1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuY3BwIgogI2luY2x1ZGUg
IkpTRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW4uY3BwIgogI2luY2x1
ZGUgIkpTRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFiZDE2NDguLjA0ZGExMDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtMTI4LDYgKzEyOCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9k
b20vQ2xpcGJvYXJkLmlkbCBcCiAJV2ViQ29yZS9kb20vQ29tbWVudC5pZGwgXAogCVdlYkNvcmUv
ZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsIFwKKwlXZWJjb3JlL2RvbS9DdXN0b21FdmVudC5pZGwg
XAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01J
bXBsZW1lbnRhdGlvbi5pZGwgXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBcCkBAIC03Mjgs
NiArNzI5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmNwcCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIFwKIAlXZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlQWxnb3JpdGhtcy5oIFwKKwlXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAg
XAorCVdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNl
cHRpb24uaCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwKIAlXZWJDb3Jl
L2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTdkNzAzYy4uYWY1MGVjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTM3LDYgKzM3LDcgQEAKICAgICAgICAgICAgICdkb20vQ2xpcGJvYXJkLmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL0NvbW1lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQ29tcG9zaXRpb25FdmVu
dC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxlbWVu
dGF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCkBAIC0xMDgwLDYg
KzEwODEsOCBAQAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmNwcCcsCiAgICAgICAg
ICAgICAnZG9tL0NvbnRhaW5lck5vZGUuaCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5v
ZGVBbGdvcml0aG1zLmgnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4
Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwJywKICAg
ICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uaCcsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAxZTgwYmZhLi42MzA3Mzcx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5w
cmkKQEAgLTI1MCw2ICsyNTAsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRvbS9DREFUQVNl
Y3Rpb24uaWRsIFwKICAgICBkb20vQ29tbWVudC5pZGwgXAogICAgIGRvbS9Db21wb3NpdGlvbkV2
ZW50LmlkbCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50RnJh
Z21lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRUeXBl
LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCAxMjAyYWZmLi40ODgwNGQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ2NSw2ICs0NjUsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9Db250YWluZXJO
b2RlLmNwcCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCisg
ICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9t
L0RvY3VtZW50RnJhZ21lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmNwcCBcCkBAIC0x
MTc0LDYgKzExNzUsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29tbWVudC5oIFwKICAgICBk
b20vQ29udGFpbmVyTm9kZS5oIFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRp
b24uaCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3Jt
TWVzc2FnZVBvcnRDaGFubmVsLmggXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAg
IGRvbS9Eb2N1bWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDQxYjI0ZWQuLjdjNzAzNTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMjQwMSw2ICsyNDAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2Vf
Q2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkv
Pg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RhdGFiYXNlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkBAIC0yODg2OSw2ICsyODkyNSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQ3VzdG9tRXZlbnQuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XEN1c3RvbUV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IDA0Y2VlYzUuLjY2ODZkN2EgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtMzEsOSArMzEsMTEgQEAKIAog
I2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKKyNp
bmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNC
ZWZvcmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2FyZC5oIgorI2luY2x1ZGUgIkpT
Q3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJKU0NvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRl
ICJKU0Vycm9yRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJvYXJkRXZlbnQuaCIKQEAgLTE1Myw2
ICsxNTUsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAjZW5kaWYKICAgICBlbHNlIGlmIChldmVu
dC0+aXNQb3BTdGF0ZUV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVD
VF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgUG9wU3RhdGVFdmVudCwgZXZlbnQpOworICAg
IGVsc2UgaWYgKGV2ZW50LT5pc0N1c3RvbUV2ZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVB
VEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQ3VzdG9tRXZlbnQsIGV2
ZW50KTsKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQ
UEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWUyNTVmYi4uOWFkMzU4MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MTksNiAr
NTE5LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyBHZXQgY29ycmVjdCBwYXNzL3N0b3Jl
IHR5cGVzIHJlc3BlY3RpbmcgUE9EVHlwZSBmbGFnCiAgICAgbXkgJHBvZFR5cGUgPSAkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQT0RUeXBlIn07CiAgICAgbXkgJGltcGxUeXBlID0g
JHBvZFR5cGUgPyAiSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlwZT4gIiA6ICRpbXBsQ2xhc3NO
YW1lOworCiAgICAgJGhlYWRlckluY2x1ZGVzeyIkcG9kVHlwZS5oIn0gPSAxIGlmICRwb2RUeXBl
IGFuZCAkcG9kVHlwZSBuZSAiZmxvYXQiOwogCiAgICAgJGhlYWRlckluY2x1ZGVzeyJKU1NWR1BP
RFR5cGVXcmFwcGVyLmgifSA9IDEgaWYgJHBvZFR5cGU7CkBAIC0xNDg3LDcgKzE0ODgsOSBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNp
ZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yVHlwZSA9ICRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+dHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0
b3JUeXBlID1+IHMvQ29uc3RydWN0b3IkLy87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGltcGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnN0cnVjdG9yVHlwZSBuZSAiRE9NT2JqZWN0
IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyIg
LiAkY29uc3RydWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNz
TmFtZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIp
LCB2YWx1ZSk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0pIHsKQEAg
LTE4MzcsNiArMTg0MCw3IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogbXkgJW5h
dGl2ZVR5cGUgPSAoCiAgICAgIkNvbXBhcmVIb3ciID0+ICJSYW5nZTo6Q29tcGFyZUhvdyIsCiAg
ICAgIkRPTVN0cmluZyIgPT4gImNvbnN0IFVTdHJpbmcmIiwKKyAgICAiRE9NT2JqZWN0IiA9PiAi
U2NyaXB0VmFsdWUiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwK
ICAgICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0aCIgPT4gIlNWR0xl
bmd0aCIsCkBAIC0xODkwLDYgKzE4OTQsMTAgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAg
ICByZXR1cm4gIiR2YWx1ZS50b1N0cmluZyhleGVjKSI7CiAgICAgfQogCisgICAgaWYgKCR0eXBl
IGVxICJET01PYmplY3QiKSB7CisgICAgICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICB9CisKICAg
ICBpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIp
IHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgifSA9IDE7
CiAgICAgICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgJHZh
bHVlKSI7CkBAIC0xOTg5LDcgKzE5OTcsMTEgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0K
IAogICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVz
eyJKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICBpZiAoJGltcGxD
bGFzc05hbWUgZXEgIkRvY3VtZW50IikgeworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlND
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIHJldHVybiAiJHZhbHVlLmpzVmFsdWUoKTsiOworICAgICAgICB9CiAgICAgfSBlbHNp
ZiAoJHR5cGUgPX4gL1NWR1BhdGhTZWcvKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTJHR5
cGUuaCJ9ID0gMTsKICAgICAgICAgJGpvaW5lZE5hbWUgPSAkdHlwZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKaW5kZXggNjY5ODNmZi4uMTZiOGMxNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKQEAgLTE0
Myw2ICsxNDMsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFdmVudCogaW1wbCkKICNl
bmRpZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQogICAgICAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7CisgICAgaWYgKGltcGwt
PmlzQ3VzdG9tRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q3VzdG9t
RXZlbnQqPihpbXBsKSk7CiAgICAgcmV0dXJuIFY4RXZlbnQ6OndyYXAoaW1wbCk7CiB9CiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5j
cHAgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYzM3NzA2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3Rv
bUV2ZW50LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgorCisjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0N1c3RvbUV2ZW50OjpDdXN0b21F
dmVudCgpCit7Cit9CisKK3ZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFNjcmlw
dFZhbHVlIGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKKworICAgIG1f
ZGV0YWlsID0gZGV0YWlsOworfQorCitib29sIEN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0N1c3Rv
bUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkxMDc2NwotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTAsMCArMSw1NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUV2ZW50X2gKKyNkZWZpbmUg
Q3VzdG9tRXZlbnRfaAorCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRXZl
bnQuaCIKKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3VzdG9tRXZlbnQgOiBwdWJsaWMg
RXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUV2ZW50PiBjcmVh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21FdmVudCk7Cisg
ICAgfQorCisgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBTY3JpcHRWYWx1ZSBkZXRhaWwpOwor
CisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQoKSBjb25zdDsKKworICAgIFNjcmlwdFZh
bHVlIGRldGFpbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsOyB9CisKK3ByaXZhdGU6CisgICAg
Q3VzdG9tRXZlbnQoKTsKKworICAgIFNjcmlwdFZhbHVlIG1fZGV0YWlsOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ3VzdG9tRXZlbnRfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjQ2OGMKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNp
ZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50cm9kdWNl
ZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7CisK
KyAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKworICAgICAgIHZv
aWQgaW5pdEN1c3RvbUV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBET01PYmplY3QgZGV0YWlsQXJnKTsKKyAgICB9OworCit9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggNDIwZTcyZC4uNzlkMzAzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2lu
Y2x1ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29va2ll
SmFyLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRlci5oIgpA
QCAtMzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2
ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJlZlB0cjxF
dmVudD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50VHlwZSA9
PSAiRXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBldmVudCA9
IEV2ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3RvbUV2ZW50
IikKKyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAo
ZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJvYXJkRXZl
bnRzIikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNl
IGlmIChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggODBhNGIxZi4uZWQ3MTlm
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50LmNwcApAQCAtNzMsNiArNzMsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAogICAgIG1f
Y2FuY2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3VzdG9tRXZl
bnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNVSUV2
ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBhNzlkZDRjLi4yOTUzMDg5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgK
QEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2xpcGJv
YXJkKiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyByZXR1cm4gaXNDbGlwYm9hcmRFdmVudCgpID8g
Y2xpcGJvYXJkKCkgOiAwOyB9CiAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQo
KSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0OwogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc011dGF0aW9uRXZlbnQoKSBjb25zdDsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51321</attachid>
            <date>2010-03-22 11:45:35 -0700</date>
            <delta_ts>2010-03-22 13:49:12 -0700</delta_ts>
            <desc>Patch 8 (with xcode)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>28252</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBkNzkyNzRkYzk4NTdjMzU3NmRkODk1ODUxZWU1ZjE3MjNhN2IyZWY0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIGJpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwOgooV2ViQ29yZTo6dG9KUyk6CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CiogZG9tL0N1c3RvbUV2ZW50LmNwcDogQWRkZWQuCihXZWJDb3JlOjpDdXN0
b21FdmVudDo6Q3VzdG9tRXZlbnQpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21F
dmVudCk6CihXZWJDb3JlOjpDdXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0N1c3Rv
bUV2ZW50Lmg6IEFkZGVkLgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmNyZWF0ZSk6CihXZWJDb3Jl
OjpDdXN0b21FdmVudDo6ZGV0YWlsKToKKiBkb20vRG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9j
dW1lbnQ6OmNyZWF0ZUV2ZW50KToKKiBkb20vRXZlbnQuY3BwOgooV2ViQ29yZTo6RXZlbnQ6Omlz
Q3VzdG9tRXZlbnQpOgoqIGRvbS9FdmVudC5oOgoKTGF5b3V0VGVzdHM6IExheW91dCB0ZXN0IGZv
ciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVs
LTMtRXZlbnRzCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9ldmVudHMvY3Vz
dG9tLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50
Lmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDEwICsrKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2
ZW50LWV4cGVjdGVkLnR4dCB8ICAgIDMgKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9t
LWV2ZW50Lmh0bWwgICAgICAgICB8ICAgNDUgKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysKIFdl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsK
IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAz
ICsKIFdlYkNvcmUvV2ViQ29yZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAzICsKIFdlYkNvcmUvV2ViQ29yZS5wcmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAxICsKIFdlYkNvcmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAyICsKIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogICAgICAg
ICAgICAgfCAgIDY0ICsrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgICB8ICAgMTIgKysrKwogV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCAgICAgICAgICAgICB8ICAgIDQgKwogV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSAgICAgICB8ICAgMTYgKysrKystCiBXZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCAgICAgIHwgICAgMiArCiBX
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1MiAr
KysrKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgNTcgKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5pZGwgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOSArKysrKysrKysrKysrCiBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBX
ZWJDb3JlL2RvbS9FdmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSAr
KwogV2ViQ29yZS9kb20vRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
IDEgKwogMjAgZmlsZXMgY2hhbmdlZCwgMzUzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50
LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2N1c3RvbS1ldmVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbAoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
MjhhYjQ3Li5jZjdkM2U5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMtMDMgIEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExheW91dCB0ZXN0IGZvciBET00g
TGV2ZWwgMyBDdXN0b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxl
dmVsLTMtRXZlbnRzCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbDog
QWRkZWQuCisKIDIwMTAtMDMtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BB
U1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBzaG91bGQg
YmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwgb2YgdGhlIEN1
c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
dXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtKQorICAgIHsKKyAgICAg
ICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycpOworICAg
ICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwgYikKKyAgICB7CisgICAgICAgIGlmIChhID09
PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3Vs
ZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAnIiArIGIgKyAiJyBi
dXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1
bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFtZSwgdmFsdWUpCisgICAgeworICAgICAgICB2
YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAgICAgZXYu
aW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZhbHNlLCB2YWx1ZSk7CisgICAgICAgIGRvY3Vt
ZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkK
KyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImJsYWgiLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0aGUgQ3Vz
dG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nlc3MiKTsKKyAgICAg
ICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJibGFoMiIsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1swXS5kZXRhaWwgb2YgdGhlIEN1
c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbCwgInN1Y2Nlc3MiKTsKKyAgICAgICAgfSwg
ZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQoImJsYWgiLCB7IHJlc3VsdDog
InN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KCJibGFoMiIsICJzdWNj
ZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdHMoKSI+Cisg
ICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdhMWQxMjMuLjE2
Y2ExZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZl
bnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCisKKyAg
ICAgICAgVGVzdDogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwKKworICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5w
cm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICogZG9tL0N1c3Rv
bUV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9t
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAg
ICogZG9tL0N1c3RvbUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZl
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0YWlsKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorCiAyMDEwLTAz
LTIyICBLZXZpbiBEZWNrZXIgIDxrZGVja2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBKb2huIFN1bGxpdmFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCBjMjZmZTJjLi5iMTcyMmMwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcApAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0
LmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmNwcCIKICNpbmNsdWRl
ICJKU0NTU1ZhcmlhYmxlc1J1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuY3BwIgog
I2luY2x1ZGUgIkpTRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW4uY3Bw
IgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFiZDE2NDgu
LjA0ZGExMDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTI4LDYgKzEyOCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJ
V2ViQ29yZS9kb20vQ2xpcGJvYXJkLmlkbCBcCiAJV2ViQ29yZS9kb20vQ29tbWVudC5pZGwgXAog
CVdlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsIFwKKwlXZWJjb3JlL2RvbS9DdXN0b21F
dmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRsIFwKIAlXZWJDb3Jl
L2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBc
CkBAIC03MjgsNiArNzI5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIFwKIAlXZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oIFwKKwlXZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5jcHAgXAorCVdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RP
TUNvcmVFeGNlcHRpb24uaCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIFwK
IAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTdkNzAzYy4uYWY1MGVj
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgICAgICdkb20vQ2xpcGJvYXJkLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0NvbW1lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQ29tcG9z
aXRpb25FdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RP
TUltcGxlbWVudGF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCkBA
IC0xMDgwLDYgKzEwODEsOCBAQAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlLmNwcCcs
CiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGUuaCcsCiAgICAgICAgICAgICAnZG9tL0Nv
bnRhaW5lck5vZGVBbGdvcml0aG1zLmgnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5j
cHAnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5oJywKICAgICAgICAgICAgICdkb20v
RE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uaCcsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAxZTgwYmZh
Li42MzA3MzcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKQEAgLTI1MCw2ICsyNTAsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGRv
bS9DREFUQVNlY3Rpb24uaWRsIFwKICAgICBkb20vQ29tbWVudC5pZGwgXAogICAgIGRvbS9Db21w
b3NpdGlvbkV2ZW50LmlkbCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgZG9tL0Rv
Y3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnQuaWRsIFwKICAgICBkb20vRG9j
dW1lbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29y
ZS9XZWJDb3JlLnBybwppbmRleCAxMjAyYWZmLi40ODgwNGQ3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ2NSw2ICs0NjUsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9D
b250YWluZXJOb2RlLmNwcCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9u
LmNwcCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBc
CiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRUeXBlLmNw
cCBcCkBAIC0xMTc0LDYgKzExNzUsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29tbWVudC5o
IFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5oIFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRl
RGVjbGFyYXRpb24uaCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0
L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50
LmggXAogICAgIGRvbS9Eb2N1bWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IDQxYjI0ZWQuLjdjNzAzNTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMjQwMSw2ICsyNDAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RhdGFiYXNlLmNwcCINCiAJCQkJPg0KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yODg2OSw2ICsyODkyNSwxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQ3VzdG9tRXZl
bnQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRG9jdW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDhj
ZTMzMS4uZmUwNjJmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTExNjIsNiArMTE2Miw5IEBACiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBT
Y2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsg
fTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0
MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBG
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IH07CisJCTYyQ0QzMjU5MTE1N0U1N0MwMDYzQjBBNyAv
KiBDdXN0b21FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2MkNEMzI1NjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuY3BwICovOyB9
OworCQk2MkNEMzI1QTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQ0QzMjU3MTE1N0U1N0MwMDYz
QjBBNyAvKiBDdXN0b21FdmVudC5oICovOyB9OworCQk2MkNEMzI1QjExNTdFNTdDMDA2M0IwQTcg
LyogQ3VzdG9tRXZlbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2MkNEMzI1ODExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsICov
OyB9OwogCQk2MzE4OUFFMzBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzE4OUFFMjBFODNBMzMz
MDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
KTsgfTsgfTsKIAkJNjNEN0IzMkQwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNEN0IzMkMw
RTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5oICovOyB9OwogCQk2M0Y1RDRGNzBF
OEM0QjcxMDBDMEJEMDQgLyogRWxlbWVudFJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzdCN0FERTBFODc2N0I4MDBFMzIxOTQgLyogRWxl
bWVudFJhcmVEYXRhLmggKi87IH07CkBAIC02NjE2LDYgKzY2MTksOSBAQAogCQk1RENGODM2QzBE
NTkxNTk4MDA5NTNCQzYgLyogUGx1Z2luSW5mb1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsdWdpbkluZm9TdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAxRTVBNjgg
LyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjJDRDMy
NTYxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEN1c3RvbUV2ZW50LmNwcDsgcGF0aCA9IGRvbS9DdXN0b21FdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQ0QzMjU3MTE1N0U1N0MwMDYz
QjBBNyAvKiBDdXN0b21FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBD
dXN0b21FdmVudC5oOyBwYXRoID0gZG9tL0N1c3RvbUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTYyQ0QzMjU4MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gQ3VzdG9tRXZlbnQuaWRsOyBwYXRoID0gZG9tL0N1c3Rv
bUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjMxODlBRTIwRTgzQTMz
MzAwMDEyRTQxIC8qIE5vZGVSYXJlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOb2RlUmFyZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjM3QjdB
REUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBFbGVtZW50UmFyZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjNEN0IzMkMwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlUmVuZGVyU3R5bGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMzU3LDYgKzEwMzYzLDkgQEAKIAkJMDg2N0Q2OTFG
RTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNjJDRDMyNTYxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50
LmNwcCAqLywKKwkJCQk2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAq
LywKKwkJCQk2MkNEMzI1ODExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsICovLAog
CQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCAqLywKIAkJCQlFREVDOTgw
MjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICovLAogCQkJCTkzMDcwNjEzMDlF
MENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovLApAQCAtMTg3MDQsNiArMTg3
MTMsNyBAQAogCQkJCUE0M0JGNTlEMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjM3NUNDMDcxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3Rv
cldvcmtlclJlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUFGQjM1MDExNTE1MUE3MDBC
MDQ1Q0IgLyogU3RlcFJhbmdlLmggaW4gSGVhZGVycyAqLywKKwkJCQk2MkNEMzI1QTExNTdFNTdD
MDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTg4MDcsNiArMTg4
MTcsNyBAQAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5n
IGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91
dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTJFMDg4OEM0MTE0ODgzQTkwMEFGNDI2
NSAvKiBET01Gb3JtRGF0YS5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTYyQ0QzMjVCMTE1N0U1
N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA5MTIs
NiArMjA5MjMsNyBAQAogCQkJCUE0M0JGNTk4MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jl
c3NFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE0M0JGNTlDMTE0OTI5MjgwMEM2NDND
QSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNUFGQjM0RjExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTYyQ0QzMjU5
MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IDA0Y2VlYzUuLjY2ODZkN2EgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtMzEsOSArMzEsMTEgQEAKIAogI2lu
Y2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKKyNpbmNs
dWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNCZWZv
cmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2FyZC5oIgorI2luY2x1ZGUgIkpTQ3Vz
dG9tRXZlbnQuaCIKICNpbmNsdWRlICJKU0NvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJK
U0Vycm9yRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJvYXJkRXZlbnQuaCIKQEAgLTE1Myw2ICsx
NTUsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAjZW5kaWYKICAgICBlbHNlIGlmIChldmVudC0+
aXNQb3BTdGF0ZUV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9X
UkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgUG9wU3RhdGVFdmVudCwgZXZlbnQpOworICAgIGVs
c2UgaWYgKGV2ZW50LT5pc0N1c3RvbUV2ZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVf
RE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQ3VzdG9tRXZlbnQsIGV2ZW50
KTsKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVS
KGV4ZWMsIGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWUyNTVmYi4uOWFkMzU4MyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MTksNiArNTE5
LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyBHZXQgY29ycmVjdCBwYXNzL3N0b3JlIHR5
cGVzIHJlc3BlY3RpbmcgUE9EVHlwZSBmbGFnCiAgICAgbXkgJHBvZFR5cGUgPSAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQT0RUeXBlIn07CiAgICAgbXkgJGltcGxUeXBlID0gJHBv
ZFR5cGUgPyAiSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlwZT4gIiA6ICRpbXBsQ2xhc3NOYW1l
OworCiAgICAgJGhlYWRlckluY2x1ZGVzeyIkcG9kVHlwZS5oIn0gPSAxIGlmICRwb2RUeXBlIGFu
ZCAkcG9kVHlwZSBuZSAiZmxvYXQiOwogCiAgICAgJGhlYWRlckluY2x1ZGVzeyJKU1NWR1BPRFR5
cGVXcmFwcGVyLmgifSA9IDEgaWYgJHBvZFR5cGU7CkBAIC0xNDg3LDcgKzE0ODgsOSBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yVHlwZSA9ICRhdHRyaWJ1dGUtPnNp
Z25hdHVyZS0+dHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0b3JU
eXBlID1+IHMvQ29uc3RydWN0b3IkLy87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlt
cGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnN0cnVjdG9yVHlwZSBuZSAiRE9NT2JqZWN0Iikg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyIgLiAk
Y29uc3RydWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGljX2Nhc3Q8JGNsYXNzTmFt
ZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2
YWx1ZSk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0pIHsKQEAgLTE4
MzcsNiArMTg0MCw3IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogbXkgJW5hdGl2
ZVR5cGUgPSAoCiAgICAgIkNvbXBhcmVIb3ciID0+ICJSYW5nZTo6Q29tcGFyZUhvdyIsCiAgICAg
IkRPTVN0cmluZyIgPT4gImNvbnN0IFVTdHJpbmcmIiwKKyAgICAiRE9NT2JqZWN0IiA9PiAiU2Ny
aXB0VmFsdWUiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwKICAg
ICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0aCIgPT4gIlNWR0xlbmd0
aCIsCkBAIC0xODkwLDYgKzE4OTQsMTAgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICBy
ZXR1cm4gIiR2YWx1ZS50b1N0cmluZyhleGVjKSI7CiAgICAgfQogCisgICAgaWYgKCR0eXBlIGVx
ICJET01PYmplY3QiKSB7CisgICAgICAgIHJldHVybiAiJHZhbHVlIjsKKyAgICB9CisKICAgICBp
ZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIpIHsK
ICAgICAgICAgJGltcGxJbmNsdWRlc3siU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgifSA9IDE7CiAg
ICAgICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgJHZhbHVl
KSI7CkBAIC0xOTg5LDcgKzE5OTcsMTEgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgIH0KIAog
ICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJK
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICBpZiAoJGltcGxDbGFz
c05hbWUgZXEgIkRvY3VtZW50IikgeworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHJldHVybiAiJHZhbHVlLmpzVmFsdWUoKTsiOworICAgICAgICB9CiAgICAgfSBlbHNpZiAo
JHR5cGUgPX4gL1NWR1BhdGhTZWcvKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTJHR5cGUu
aCJ9ID0gMTsKICAgICAgICAgJGpvaW5lZE5hbWUgPSAkdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKaW5kZXggNjY5ODNmZi4uMTZiOGMxNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKQEAgLTE0Myw2
ICsxNDMsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFdmVudCogaW1wbCkKICNlbmRp
ZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQogICAgICAgICByZXR1cm4gdG9W
OChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7CisgICAgaWYgKGltcGwtPmlz
Q3VzdG9tRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q3VzdG9tRXZl
bnQqPihpbXBsKSk7CiAgICAgcmV0dXJuIFY4RXZlbnQ6OndyYXAoaW1wbCk7CiB9CiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzM3NzA2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2
ZW50LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgorCisjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0N1c3RvbUV2ZW50OjpDdXN0b21FdmVu
dCgpCit7Cit9CisKK3ZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFNjcmlwdFZh
bHVlIGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBpbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKKworICAgIG1fZGV0
YWlsID0gZGV0YWlsOworfQorCitib29sIEN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2ZW50KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkxMDc2NwotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTAsMCArMSw1NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUV2ZW50X2gKKyNkZWZpbmUgQ3Vz
dG9tRXZlbnRfaAorCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRXZlbnQu
aCIKKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3VzdG9tRXZlbnQgOiBwdWJsaWMgRXZl
bnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUV2ZW50PiBjcmVhdGUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21FdmVudCk7CisgICAg
fQorCisgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBi
b29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBTY3JpcHRWYWx1ZSBkZXRhaWwpOworCisg
ICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQoKSBjb25zdDsKKworICAgIFNjcmlwdFZhbHVl
IGRldGFpbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsOyB9CisKK3ByaXZhdGU6CisgICAgQ3Vz
dG9tRXZlbnQoKTsKKworICAgIFNjcmlwdFZhbHVlIG1fZGV0YWlsOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ3VzdG9tRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjQ2OGMKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7CisKKyAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKworICAgICAgIHZvaWQg
aW5pdEN1c3RvbUV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBET01PYmplY3QgZGV0YWlsQXJnKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggNDIwZTcyZC4uNzlkMzAzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1
ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ29va2llSmFy
LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRlci5oIgpAQCAt
MzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJlZlB0cjxFdmVu
dD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50VHlwZSA9PSAi
RXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBldmVudCA9IEV2
ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3RvbUV2ZW50IikK
KyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZl
bnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJvYXJkRXZlbnRz
IikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlm
IChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggODBhNGIxZi4uZWQ3MTlmOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcApAQCAtNzMsNiArNzMsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAogICAgIG1fY2Fu
Y2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3VzdG9tRXZlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNVSUV2ZW50
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBhNzlkZDRjLi4yOTUzMDg5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAg
LTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2xpcGJvYXJk
KiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyByZXR1cm4gaXNDbGlwYm9hcmRFdmVudCgpID8gY2xp
cGJvYXJkKCkgOiAwOyB9CiAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQoKSBj
b25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0OwogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c011dGF0aW9uRXZlbnQoKSBjb25zdDsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51346</attachid>
            <date>2010-03-22 13:49:12 -0700</date>
            <delta_ts>2010-03-22 13:52:17 -0700</delta_ts>
            <desc>Patch 9 (with V8 generator change)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>30366</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBiNmNkMjZkNGNhN2FiOGRmODhhNjYzZmQ0MjcyODg4ZTQ0ODVhZTRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIGJpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwOgooV2ViQ29yZTo6dG9KUyk6CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CiogZG9t
L0N1c3RvbUV2ZW50LmNwcDogQWRkZWQuCihXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9tRXZl
bnQpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CihXZWJDb3JlOjpD
dXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0N1c3RvbUV2ZW50Lmg6IEFkZGVkLgoo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmNyZWF0ZSk6CihXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0
YWlsKToKKiBkb20vRG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KToKKiBkb20vRXZlbnQuY3BwOgooV2ViQ29yZTo6RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgoqIGRv
bS9FdmVudC5oOgoKTGF5b3V0VGVzdHM6IExheW91dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEw
ICsrKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dCB8
ICAgIDMgKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwgICAgICAg
ICB8ICAgNDUgKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrCiBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL1dlYkNv
cmUuZ3lwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL1dl
YkNvcmUucHJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3Jl
L1dlYkNvcmUucHJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qICAgICAgICAgICAgIHwgICA2NCArKysr
KysrKysrKysrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qICAgICAgICAgfCAgIDEyICsrKysKIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gICAgICAgfCAgIDE2ICsrKysrLQogV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbSAgICAgICB8ICAgIDkgKysrCiBXZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCAgICAgIHwgICAgMiArCiBXZWJDb3JlL2RvbS9D
dXN0b21FdmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1MiArKysrKysrKysrKysr
KysrKwogV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgNTcgKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAzOSArKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL2RvbS9F
dmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKwogV2ViQ29yZS9k
b20vRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogMjEgZmls
ZXMgY2hhbmdlZCwgMzY1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCiBj
cmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbAoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjE3MGY2Li5mMzFi
OWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIExheW91dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBPdXQg
b2YgYm91bmRzIHJlYWQgaW4gU1ZHIGZlQ29sb3JNYXRyaXggZmlsdGVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBz
aG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jdXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtKQorICAgIHsK
KyAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycp
OworICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwgYikKKyAgICB7CisgICAgICAgIGlm
IChhID09PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAnIiArIGIg
KyAiJyBidXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFtZSwgdmFsdWUpCisgICAgeworICAg
ICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAg
ICAgZXYuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZhbHNlLCB2YWx1ZSk7CisgICAgICAg
IGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRl
c3RzKCkKKyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImJsYWgiLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0
aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nlc3MiKTsK
KyAgICAgICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJibGFoMiIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbCwgInN1Y2Nlc3MiKTsKKyAgICAg
ICAgfSwgZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQoImJsYWgiLCB7IHJl
c3VsdDogInN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KCJibGFoMiIs
ICJzdWNjZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdHMo
KSI+CisgICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI1OTYw
YmUuLjg0MmJmODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
CisKKyAgICAgICAgVjggR2VuZXJhdG9yIGNoYW5nZSBieSBOYXRlIENoYXBpbiA8amFwaGV0QGNo
cm9taXVtLm9yZz4sIFRoYW5rcyEKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAg
ICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6
aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3Rv
bUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2
ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Lmg6CisKIDIwMTAtMDMtMjIgIEtldmluIERlY2tlciAgPGtkZWNrZXJAYXBwbGUuY29tPgog
ICAgIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgTGVvcGFyZCBidWlsZC4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKaW5kZXggYzI2ZmUyYy4uYjE3MjJjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTYyLDYgKzYyLDcg
QEAKICNpbmNsdWRlICJKU0NTU1ZhbHVlTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJs
ZXNEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNSdWxlLmNwcCIKKyNp
bmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RhdGFiYXNlLmNwcCIKICNp
bmNsdWRlICJKU0RhdGFHcmlkQ29sdW1uLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29sdW1u
TGlzdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCA1ZjFhY2E4Li41ZmRiZmI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTEyOCw2ICsx
MjgsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvZG9tL0NsaXBib2FyZC5pZGwgXAog
CVdlYkNvcmUvZG9tL0NvbW1lbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50
LmlkbCBcCisJV2ViY29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01D
b3JlRXhjZXB0aW9uLmlkbCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsIFwK
IAlXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgXApAQCAtNzI4LDYgKzcyOSw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgXAogCVdlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRo
bXMuaCBcCisJV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVdlYkNvcmUv
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDk3ZDcwM2MuLmFmNTBlYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNyw2ICszNyw3IEBACiAgICAg
ICAgICAgICAnZG9tL0NsaXBib2FyZC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Db21tZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAg
ICdkb20vQ3VzdG9tRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLApAQCAtMTA4MCw2ICsxMDgxLDggQEAKICAgICAgICAg
ICAgICdkb20vQ29udGFpbmVyTm9kZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJO
b2RlLmgnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oJywKKyAg
ICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9t
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uaCcsCiAgICAgICAg
ICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKaW5kZXggMWU4MGJmYS4uNjMwNzM3MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yNTAsNiArMjUwLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ0RBVEFTZWN0aW9uLmlkbCBcCiAgICAgZG9t
L0NvbW1lbnQuaWRsIFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5pZGwgXAorICAgIGRvbS9D
dXN0b21FdmVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCBcCiAgICAgZG9t
L0RvY3VtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5pZGwgXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTIwMmFmZi4u
NDg4MDRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC00NjUsNiArNDY1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0NvbXBv
c2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5jcHAgXAogICAgIGRvbS9D
U1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAorICAgIGRvbS9DdXN0b21FdmVudC5j
cHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNw
cCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5jcHAgXApAQCAtMTE3NCw2ICsxMTc1LDcgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL0NvbW1lbnQuaCBcCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuaCBc
CiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAorICAgIGRvbS9DdXN0
b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
IFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1lbnQuaCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0MWIyNGVkLi43YzcwMzU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI0MDEsNiArMjQwMSw2MiBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIN
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEYXRhYmFzZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjg4
NjksNiArMjg5MjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDdXN0b21FdmVudC5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERv
Y3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM2NDQ5OGEuLmUyYTUwNWEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTYyLDYgKzExNjIsOSBAQAogCQk1
REZFOEY1NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkz
RDYgLyogU2NoZWR1bGVkQWN0aW9uLmggKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2
OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5h
dmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyB9Owor
CQk2MkNEMzI1OTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJDRDMyNTYxMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmNwcCAqLzsgfTsKKwkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3
IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAqLzsgfTsK
KwkJNjJDRDMyNUIxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmlkbCBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJDRDMyNTgxMTU3RTU3QzAw
NjNCMEE3IC8qIEN1c3RvbUV2ZW50LmlkbCAqLzsgfTsKIAkJNjMxODlBRTMwRTgzQTMzMzAwMDEy
RTQxIC8qIE5vZGVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjMxODlBRTIwRTgzQTMzMzAwMDEyRTQxIC8qIE5vZGVSYXJlRGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTYzRDdCMzJEMEU3OENEM0Yw
MEY3NjE3QyAvKiBOb2RlUmVuZGVyU3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDYzRDdCMzJDMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVuZGVy
U3R5bGUuaCAqLzsgfTsKIAkJNjNGNUQ0RjcwRThDNEI3MTAwQzBCRDA0IC8qIEVsZW1lbnRSYXJl
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM3
QjdBREUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovOyB9OwpAQCAtNjYx
OCw2ICs2NjIxLDkgQEAKIAkJNURDRjgzNkMwRDU5MTU5ODAwOTUzQkM2IC8qIFBsdWdpbkluZm9T
dG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5JbmZvU3RvcmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQ0QzMjU2MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21F
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDdXN0b21FdmVu
dC5jcHA7IHBhdGggPSBkb20vQ3VzdG9tRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRXZlbnQuaDsgcGF0aCA9IGRvbS9DdXN0
b21FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2MkNEMzI1ODExNTdFNTdD
MDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IEN1c3Rv
bUV2ZW50LmlkbDsgcGF0aCA9IGRvbS9DdXN0b21FdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTYzMTg5QUUyMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFyZURhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZVJhcmVEYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzN0I3QURFMEU4NzY3QjgwMEUzMjE5NCAvKiBFbGVtZW50
UmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudFJhcmVE
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRDdCMzJDMEU3OENEM0YwMEY3
NjE3QyAvKiBOb2RlUmVuZGVyU3R5bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTm9kZVJlbmRlclN0eWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDM2
MSw2ICsxMDM2Nyw5IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTYyQ0QzMjU2MTE1
N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgKi8sCisJCQkJNjJDRDMyNTcxMTU3RTU3
QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggKi8sCisJCQkJNjJDRDMyNTgxMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmlkbCAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMg
LyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQ
cmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJj
ZXMubWFrZSAqLywKQEAgLTE4NzExLDYgKzE4NzIwLDcgQEAKIAkJCQlBNDNCRjU5RDExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNzVDQzA3
MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTVBRkIzNTAxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTE4ODE0LDYgKzE4ODI0LDcgQEAKIAkJCQkxQUIxQUU3QTBDMDUxRkRF
MDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFF
N0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywK
IAkJCQkyRTA4ODhDNDExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291
cmNlcyAqLywKKwkJCQk2MkNEMzI1QjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRs
IGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIwOTIwLDYgKzIwOTMxLDcgQEAKIAkJCQlBNDNCRjU5ODEx
NDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk2MkNEMzI1OTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApp
bmRleCAwNGNlZWM1Li42Njg2ZDdhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAKQEAgLTMxLDkgKzMxLDExIEBACiAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRl
ICJDb21wb3NpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiSlND
bGlwYm9hcmQuaCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21w
b3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSlNL
ZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMsNiArMTU1LDggQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQog
I2VuZGlmCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzUG9wU3RhdGVFdmVudCgpKQogICAgICAgICB3
cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFBv
cFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAgICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgp
KQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVudCk7CiAgICAgZWxzZQogICAgICAgICB3cmFwcGVy
ID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEV2ZW50LCBl
dmVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IDkzNWIxZTMuLjFhZWQxMWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtNTE5LDYgKzUxOSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICMgR2V0IGNvcnJlY3QgcGFzcy9zdG9yZSB0eXBlcyByZXNwZWN0aW5nIFBPRFR5cGUgZmxhZwog
ICAgIG15ICRwb2RUeXBlID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUE9EVHlw
ZSJ9OwogICAgIG15ICRpbXBsVHlwZSA9ICRwb2RUeXBlID8gIkpTU1ZHUE9EVHlwZVdyYXBwZXI8
JHBvZFR5cGU+ICIgOiAkaW1wbENsYXNzTmFtZTsKKwogICAgICRoZWFkZXJJbmNsdWRlc3siJHBv
ZFR5cGUuaCJ9ID0gMSBpZiAkcG9kVHlwZSBhbmQgJHBvZFR5cGUgbmUgImZsb2F0IjsKIAogICAg
ICRoZWFkZXJJbmNsdWRlc3siSlNTVkdQT0RUeXBlV3JhcHBlci5oIn0gPSAxIGlmICRwb2RUeXBl
OwpAQCAtMTQ4Nyw3ICsxNDg4LDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9
fiAvQ29uc3RydWN0b3IkLykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25z
dHJ1Y3RvclR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3Rv
clR5cGUgLiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb25z
dHJ1Y3RvclR5cGUgbmUgIkRPTU9iamVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJGltcGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3Ry
dWN0b3JcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElk
ZW50aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJSZXBsYWNlYWJsZSJ9KSB7CkBAIC0xODM3LDYgKzE4NDAsNyBAQCBzdWIgR2V0TmF0aXZl
VHlwZUZyb21TaWduYXR1cmUKIG15ICVuYXRpdmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9
PiAiUmFuZ2U6OkNvbXBhcmVIb3ciLAogICAgICJET01TdHJpbmciID0+ICJjb25zdCBVU3RyaW5n
JiIsCisgICAgIkRPTU9iamVjdCIgPT4gIlNjcmlwdFZhbHVlIiwKICAgICAiTm9kZUZpbHRlciIg
PT4gIlJlZlB0cjxOb2RlRmlsdGVyPiIsCiAgICAgIlNWR0FuZ2xlIiA9PiAiU1ZHQW5nbGUiLAog
ICAgICJTVkdMZW5ndGgiID0+ICJTVkdMZW5ndGgiLApAQCAtMTg5MCw2ICsxODk0LDEwIEBAIHN1
YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJuICIkdmFsdWUudG9TdHJpbmcoZXhlYyki
OwogICAgIH0KIAorICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgeworICAgICAgICByZXR1
cm4gIiR2YWx1ZSI7CisgICAgfQorCiAgICAgaWYgKCR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0
VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIn0gPSAxOwogICAgICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6Y3JlYXRlKGV4ZWMsICR2YWx1ZSkiOwpAQCAtMTk4OSw3ICsxOTk3LDExIEBAIHN1
YiBOYXRpdmVUb0pTVmFsdWUKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkRPTU9iamVjdCIp
IHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9
ID0gMTsKKyAgICAgICAgaWYgKCRpbXBsQ2xhc3NOYW1lIGVxICJEb2N1bWVudCIpIHsKKyAgICAg
ICAgICAgICRpbXBsSW5jbHVkZXN7IkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgifSA9IDE7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gIiR2YWx1ZS5qc1ZhbHVlKCk7
IjsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlID1+IC9TVkdQYXRoU2VnLykgewogICAg
ICAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CiAgICAgICAgICRqb2luZWROYW1l
ID0gJHR5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpp
bmRleCBhMjA4NmY5Li42ODAwN2UyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0KQEAgLTIzNTYsNiArMjM1Niw3IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAg
ICAgcmV0dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2lnbmVkIGludCI7CiAgICAgcmV0
dXJuICJOb2RlKiIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IiBhbmQgJGlzUGFyYW1ldGVyOwog
ICAgIHJldHVybiAiZG91YmxlIiBpZiAkdHlwZSBlcSAiRGF0ZSI7CisgICAgcmV0dXJuICJTY3Jp
cHRWYWx1ZSIgaWYgJHR5cGUgZXEgIkRPTU9iamVjdCI7CiAKICAgICByZXR1cm4gIlN0cmluZyIg
aWYgJHR5cGUgZXEgIkRPTVVzZXJEYXRhIjsgICMgRklYTUU6IFRlbXBvcmFyeSBoYWNrPwogCkBA
IC0yNDM3LDYgKzI0MzgsMTEgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4g
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKCR2YWx1ZSkiOwogICAgIH0KIAorICAgIGlm
ICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgeworICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRW
YWx1ZS5oIn0gPSAxOworICAgICAgICByZXR1cm4gIlNjcmlwdFZhbHVlKCR2YWx1ZSkiOworICAg
IH0KKwogICAgIGlmICgkdHlwZSBlcSAiTm9kZUZpbHRlciIpIHsKICAgICAgICAgcmV0dXJuICJW
OERPTVdyYXBwZXI6OndyYXBOYXRpdmVOb2RlRmlsdGVyKCR2YWx1ZSkiOwogICAgIH0KQEAgLTI0
OTQsNiArMjUwMCw3IEBAIHN1YiBHZXRWOEhlYWRlck5hbWUKICAgICByZXR1cm4gIkV2ZW50TGlz
dGVuZXIuaCIgaWYgJHR5cGUgZXEgIkV2ZW50TGlzdGVuZXIiOwogICAgIHJldHVybiAiRXZlbnRU
YXJnZXQuaCIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICByZXR1cm4gIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKKyAg
ICByZXR1cm4gIlNjcmlwdFZhbHVlLmgiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwogICAgIHJl
dHVybiAiVjgke3R5cGV9LmgiOwogfQogCkBAIC0yNTcwLDYgKzI1NzcsNyBAQCBteSAlbm9uX3dy
YXBwZXJfdHlwZXMgPSAoCiAgICAgJ1NWR1BhaW50VHlwZScgPT4gMSwKICAgICAnRE9NVGltZVN0
YW1wJyA9PiAxLAogICAgICdKU09iamVjdCcgPT4gMSwKKyAgICAnRE9NT2JqZWN0JyA9PiAxLAog
ICAgICdFdmVudFRhcmdldCcgPT4gMSwKICAgICAnTm9kZUZpbHRlcicgPT4gMSwKICAgICAnRXZl
bnRMaXN0ZW5lcicgPT4gMQpAQCAtMjYzMSw2ICsyNjM5LDcgQEAgc3ViIFJldHVybk5hdGl2ZVRv
SlNWYWx1ZQogCiAgICAgcmV0dXJuICJyZXR1cm4gdjhEYXRlT3JOdWxsKCR2YWx1ZSk7IiBpZiAk
dHlwZSBlcSAiRGF0ZSI7CiAgICAgcmV0dXJuICJyZXR1cm4gdjg6Ok51bWJlcjo6TmV3KCR2YWx1
ZSkiIGlmICRjb2RlR2VuZXJhdG9yLT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpIG9yICR0eXBlIGVx
ICJTVkdQYWludFR5cGUiOworICAgIHJldHVybiAicmV0dXJuICR2YWx1ZS52OFZhbHVlKCkiIGlm
ICRuYXRpdmVUeXBlIGVxICJTY3JpcHRWYWx1ZSI7CiAKICAgICBpZiAoJGNvZGVHZW5lcmF0b3It
PklzU3RyaW5nVHlwZSgkdHlwZSkpIHsKICAgICAgICAgbXkgJGNvbnYgPSAkc2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydE51bGxTdHJpbmdUbyJ9OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAppbmRleCA2Njk4M2ZmLi4xNmI4YzE3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAt
MTQzLDYgKzE0Myw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBpbXBsKQog
I2VuZGlmCiAgICAgaWYgKGltcGwtPmlzQmVmb3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVy
biB0b1Y4KHN0YXRpY19jYXN0PEJlZm9yZUxvYWRFdmVudCo+KGltcGwpKTsKKyAgICBpZiAoaW1w
bC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDdXN0
b21FdmVudCo+KGltcGwpKTsKICAgICByZXR1cm4gVjhFdmVudDo6d3JhcChpbXBsKTsKIH0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmNwcCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5jMzc3MDYzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ3Vz
dG9tRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCisKKyNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ3VzdG9tRXZlbnQ6OkN1c3Rv
bUV2ZW50KCkKK3sKK30KKwordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgU2Ny
aXB0VmFsdWUgZGV0YWlsKQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGluaXRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpOworCisgICAg
bV9kZXRhaWwgPSBkZXRhaWw7Cit9CisKK2Jvb2wgQ3VzdG9tRXZlbnQ6OmlzQ3VzdG9tRXZlbnQo
KSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIGIvV2ViQ29yZS9kb20vQ3Vz
dG9tRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTEwNzY3Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaApAQCAtMCwwICsxLDU3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ3VzdG9tRXZlbnRfaAorI2RlZmlu
ZSBDdXN0b21FdmVudF9oCisKKyNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJF
dmVudC5oIgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDdXN0b21FdmVudCA6IHB1Ymxp
YyBFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRXZlbnQ+IGNy
ZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1c3RvbUV2ZW50KTsK
KyAgICB9CisKKyAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFNjcmlwdFZhbHVlIGRldGFpbCk7
CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVudCgpIGNvbnN0OworCisgICAgU2NyaXB0
VmFsdWUgZGV0YWlsKCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWw7IH0KKworcHJpdmF0ZToKKyAg
ICBDdXN0b21FdmVudCgpOworCisgICAgU2NyaXB0VmFsdWUgbV9kZXRhaWw7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDdXN0b21FdmVudF9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiNDY4YwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICAvLyBJbnRyb2R1
Y2VkIGluIERPTSBMZXZlbCAzOgorICAgIGludGVyZmFjZSBDdXN0b21FdmVudCA6IEV2ZW50IHsK
KworICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01PYmplY3QgZGV0YWlsOworCisgICAgICAg
dm9pZCBpbml0Q3VzdG9tRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGVBcmcsIAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlQXJnLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGVBcmcsIAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIERPTU9iamVjdCBkZXRhaWxBcmcpOworICAgIH07CisKK30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCA0MjBlNzJkLi43OWQzMDNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAj
aW5jbHVkZSAiQ29tbWVudC5oIgogI2luY2x1ZGUgIkNvbnNvbGUuaCIKICNpbmNsdWRlICJDb29r
aWVKYXIuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkRPTUltcGxlbWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jTG9hZGVyLmgi
CkBAIC0zMDE3LDYgKzMwMTgsOCBAQCBQYXNzUmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRl
RXZlbnQoY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIEV4Y2VwdGlvbkNvZGUmCiAgICAgUmVmUHRy
PEV2ZW50PiBldmVudDsKICAgICBpZiAoZXZlbnRUeXBlID09ICJFdmVudCIgfHwgZXZlbnRUeXBl
ID09ICJFdmVudHMiIHx8IGV2ZW50VHlwZSA9PSAiSFRNTEV2ZW50cyIpCiAgICAgICAgIGV2ZW50
ID0gRXZlbnQ6OmNyZWF0ZSgpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiQ3VzdG9tRXZl
bnQiKQorICAgICAgICBldmVudCA9IEN1c3RvbUV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlm
IChldmVudFR5cGUgPT0gIktleWJvYXJkRXZlbnQiIHx8IGV2ZW50VHlwZSA9PSAiS2V5Ym9hcmRF
dmVudHMiKQogICAgICAgICBldmVudCA9IEtleWJvYXJkRXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVs
c2UgaWYgKGV2ZW50VHlwZSA9PSAiTWVzc2FnZUV2ZW50IikKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA4MGE0YjFmLi5lZDcx
OWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20v
RXZlbnQuY3BwCkBAIC03Myw2ICs3MywxMSBAQCB2b2lkIEV2ZW50Ojppbml0RXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGVBcmcsIGJvb2wgY2FuQnViYmxlQXJnLCBib29sCiAgICAg
bV9jYW5jZWxhYmxlID0gY2FuY2VsYWJsZUFyZzsKIH0KIAorYm9vbCBFdmVudDo6aXNDdXN0b21F
dmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50Ojppc1VJ
RXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGE3OWRkNGMuLjI5NTMwODkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQu
aApAQCAtMTAwLDYgKzEwMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBDbGlw
Ym9hcmQqIGNsaXBib2FyZERhdGEoKSBjb25zdCB7IHJldHVybiBpc0NsaXBib2FyZEV2ZW50KCkg
PyBjbGlwYm9hcmQoKSA6IDA7IH0KIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVu
dCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNVSUV2ZW50KCkgY29uc3Q7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRXZlbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBi
b29sIGlzTXV0YXRpb25FdmVudCgpIGNvbnN0OwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51347</attachid>
            <date>2010-03-22 13:52:17 -0700</date>
            <delta_ts>2010-03-23 09:12:26 -0700</delta_ts>
            <desc>PAtch 10 (missed include)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>30541</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBlNTBkMGE1ZGJlYWNkNGE5ZGY4ODU1ODIxNmY5MWQ3ZWViMjZjYjQwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIGJpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwOgooV2ViQ29yZTo6dG9KUyk6CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CiogZG9t
L0N1c3RvbUV2ZW50LmNwcDogQWRkZWQuCihXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9tRXZl
bnQpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CihXZWJDb3JlOjpD
dXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0N1c3RvbUV2ZW50Lmg6IEFkZGVkLgoo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmNyZWF0ZSk6CihXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0
YWlsKToKKiBkb20vRG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KToKKiBkb20vRXZlbnQuY3BwOgooV2ViQ29yZTo6RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgoqIGRv
bS9FdmVudC5oOgoKTGF5b3V0VGVzdHM6IExheW91dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEw
ICsrKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dCB8
ICAgIDMgKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwgICAgICAg
ICB8ICAgNDUgKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrCiBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL1dlYkNv
cmUuZ3lwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL1dl
YkNvcmUucHJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3Jl
L1dlYkNvcmUucHJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qICAgICAgICAgICAgIHwgICA2NCArKysr
KysrKysrKysrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qICAgICAgICAgfCAgIDEyICsrKysKIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gICAgICAgfCAgIDE2ICsrKysrLQogV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbSAgICAgICB8ICAgIDkgKysrCiBXZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcCAgICAgIHwgICAgMyArCiBXZWJDb3JlL2RvbS9D
dXN0b21FdmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1MiArKysrKysrKysrKysr
KysrKwogV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgNTcgKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAzOSArKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL2RvbS9F
dmVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKwogV2ViQ29yZS9k
b20vRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogMjEgZmls
ZXMgY2hhbmdlZCwgMzY2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVu
dC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCiBj
cmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbAoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjE3MGY2Li5mMzFi
OWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIExheW91dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
CisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBPdXQg
b2YgYm91bmRzIHJlYWQgaW4gU1ZHIGZlQ29sb3JNYXRyaXggZmlsdGVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBz
aG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jdXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtKQorICAgIHsK
KyAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycp
OworICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwgYikKKyAgICB7CisgICAgICAgIGlm
IChhID09PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAnIiArIGIg
KyAiJyBidXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFtZSwgdmFsdWUpCisgICAgeworICAg
ICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAg
ICAgZXYuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZhbHNlLCB2YWx1ZSk7CisgICAgICAg
IGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRl
c3RzKCkKKyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImJsYWgiLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0
aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nlc3MiKTsK
KyAgICAgICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJibGFoMiIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbCwgInN1Y2Nlc3MiKTsKKyAgICAg
ICAgfSwgZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQoImJsYWgiLCB7IHJl
c3VsdDogInN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KCJibGFoMiIs
ICJzdWNjZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdHMo
KSI+CisgICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI1OTYw
YmUuLjg0MmJmODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
CisKKyAgICAgICAgVjggR2VuZXJhdG9yIGNoYW5nZSBieSBOYXRlIENoYXBpbiA8amFwaGV0QGNo
cm9taXVtLm9yZz4sIFRoYW5rcyEKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAg
ICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUV2ZW50OjpDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6
aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50Ojppc0N1c3Rv
bUV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2
ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Lmg6CisKIDIwMTAtMDMtMjIgIEtldmluIERlY2tlciAgPGtkZWNrZXJAYXBwbGUuY29tPgog
ICAgIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgTGVvcGFyZCBidWlsZC4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKaW5kZXggYzI2ZmUyYy4uYjE3MjJjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTYyLDYgKzYyLDcg
QEAKICNpbmNsdWRlICJKU0NTU1ZhbHVlTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJs
ZXNEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NWYXJpYWJsZXNSdWxlLmNwcCIKKyNp
bmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0RhdGFiYXNlLmNwcCIKICNp
bmNsdWRlICJKU0RhdGFHcmlkQ29sdW1uLmNwcCIKICNpbmNsdWRlICJKU0RhdGFHcmlkQ29sdW1u
TGlzdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCA1ZjFhY2E4Li41ZmRiZmI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTEyOCw2ICsx
MjgsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvZG9tL0NsaXBib2FyZC5pZGwgXAog
CVdlYkNvcmUvZG9tL0NvbW1lbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50
LmlkbCBcCisJV2ViY29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9ET01D
b3JlRXhjZXB0aW9uLmlkbCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsIFwK
IAlXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgXApAQCAtNzI4LDYgKzcyOSw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgXAogCVdlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZUFsZ29yaXRo
bXMuaCBcCisJV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmggXAogCVdlYkNvcmUv
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDk3ZDcwM2MuLmFmNTBlYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNyw2ICszNyw3IEBACiAgICAg
ICAgICAgICAnZG9tL0NsaXBib2FyZC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Db21tZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAg
ICdkb20vQ3VzdG9tRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLApAQCAtMTA4MCw2ICsxMDgxLDggQEAKICAgICAgICAg
ICAgICdkb20vQ29udGFpbmVyTm9kZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJO
b2RlLmgnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oJywKKyAg
ICAgICAgICAgICdkb20vQ3VzdG9tRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vQ3VzdG9t
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUNvcmVFeGNlcHRpb24uaCcsCiAgICAgICAg
ICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKaW5kZXggMWU4MGJmYS4uNjMwNzM3MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yNTAsNiArMjUwLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ0RBVEFTZWN0aW9uLmlkbCBcCiAgICAgZG9t
L0NvbW1lbnQuaWRsIFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5pZGwgXAorICAgIGRvbS9D
dXN0b21FdmVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCBcCiAgICAgZG9t
L0RvY3VtZW50LmlkbCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5pZGwgXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTIwMmFmZi4u
NDg4MDRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC00NjUsNiArNDY1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0NvbXBv
c2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5jcHAgXAogICAgIGRvbS9D
U1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAorICAgIGRvbS9DdXN0b21FdmVudC5j
cHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNw
cCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5jcHAgXApAQCAtMTE3NCw2ICsxMTc1LDcgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL0NvbW1lbnQuaCBcCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuaCBc
CiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAorICAgIGRvbS9DdXN0
b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
IFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1lbnQuaCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0MWIyNGVkLi43YzcwMzU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI0MDEsNiArMjQwMSw2MiBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIN
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ3VzdG9t
RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEYXRhYmFzZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjg4
NjksNiArMjg5MjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDdXN0b21FdmVudC5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERv
Y3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM2NDQ5OGEuLmUyYTUwNWEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTYyLDYgKzExNjIsOSBAQAogCQk1
REZFOEY1NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkz
RDYgLyogU2NoZWR1bGVkQWN0aW9uLmggKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2
OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5h
dmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyB9Owor
CQk2MkNEMzI1OTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJDRDMyNTYxMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmNwcCAqLzsgfTsKKwkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3
IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAqLzsgfTsK
KwkJNjJDRDMyNUIxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmlkbCBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJDRDMyNTgxMTU3RTU3QzAw
NjNCMEE3IC8qIEN1c3RvbUV2ZW50LmlkbCAqLzsgfTsKIAkJNjMxODlBRTMwRTgzQTMzMzAwMDEy
RTQxIC8qIE5vZGVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjMxODlBRTIwRTgzQTMzMzAwMDEyRTQxIC8qIE5vZGVSYXJlRGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTYzRDdCMzJEMEU3OENEM0Yw
MEY3NjE3QyAvKiBOb2RlUmVuZGVyU3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDYzRDdCMzJDMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVuZGVy
U3R5bGUuaCAqLzsgfTsKIAkJNjNGNUQ0RjcwRThDNEI3MTAwQzBCRDA0IC8qIEVsZW1lbnRSYXJl
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM3
QjdBREUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovOyB9OwpAQCAtNjYx
OCw2ICs2NjIxLDkgQEAKIAkJNURDRjgzNkMwRDU5MTU5ODAwOTUzQkM2IC8qIFBsdWdpbkluZm9T
dG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5JbmZvU3RvcmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQ0QzMjU2MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21F
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDdXN0b21FdmVu
dC5jcHA7IHBhdGggPSBkb20vQ3VzdG9tRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRXZlbnQuaDsgcGF0aCA9IGRvbS9DdXN0
b21FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2MkNEMzI1ODExNTdFNTdD
MDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IEN1c3Rv
bUV2ZW50LmlkbDsgcGF0aCA9IGRvbS9DdXN0b21FdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTYzMTg5QUUyMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFyZURhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZVJhcmVEYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzN0I3QURFMEU4NzY3QjgwMEUzMjE5NCAvKiBFbGVtZW50
UmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudFJhcmVE
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRDdCMzJDMEU3OENEM0YwMEY3
NjE3QyAvKiBOb2RlUmVuZGVyU3R5bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTm9kZVJlbmRlclN0eWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDM2
MSw2ICsxMDM2Nyw5IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTYyQ0QzMjU2MTE1
N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgKi8sCisJCQkJNjJDRDMyNTcxMTU3RTU3
QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggKi8sCisJCQkJNjJDRDMyNTgxMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmlkbCAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMg
LyogY29uZmlnLmggKi8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQ
cmVmaXguaCAqLywKIAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJj
ZXMubWFrZSAqLywKQEAgLTE4NzExLDYgKzE4NzIwLDcgQEAKIAkJCQlBNDNCRjU5RDExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNzVDQzA3
MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTVBRkIzNTAxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTE4ODE0LDYgKzE4ODI0LDcgQEAKIAkJCQkxQUIxQUU3QTBDMDUxRkRF
MDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFF
N0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywK
IAkJCQkyRTA4ODhDNDExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291
cmNlcyAqLywKKwkJCQk2MkNEMzI1QjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRs
IGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIwOTIwLDYgKzIwOTMxLDcgQEAKIAkJCQlBNDNCRjU5ODEx
NDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk2MkNEMzI1OTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApp
bmRleCAwNGNlZWM1Li42Njg2ZDdhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAKQEAgLTMxLDkgKzMxLDExIEBACiAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRl
ICJDb21wb3NpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiSlND
bGlwYm9hcmQuaCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21w
b3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSlNL
ZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMsNiArMTU1LDggQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQog
I2VuZGlmCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzUG9wU3RhdGVFdmVudCgpKQogICAgICAgICB3
cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFBv
cFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAgICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgp
KQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVudCk7CiAgICAgZWxzZQogICAgICAgICB3cmFwcGVy
ID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEV2ZW50LCBl
dmVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IDkzNWIxZTMuLjFhZWQxMWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtNTE5LDYgKzUxOSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICMgR2V0IGNvcnJlY3QgcGFzcy9zdG9yZSB0eXBlcyByZXNwZWN0aW5nIFBPRFR5cGUgZmxhZwog
ICAgIG15ICRwb2RUeXBlID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUE9EVHlw
ZSJ9OwogICAgIG15ICRpbXBsVHlwZSA9ICRwb2RUeXBlID8gIkpTU1ZHUE9EVHlwZVdyYXBwZXI8
JHBvZFR5cGU+ICIgOiAkaW1wbENsYXNzTmFtZTsKKwogICAgICRoZWFkZXJJbmNsdWRlc3siJHBv
ZFR5cGUuaCJ9ID0gMSBpZiAkcG9kVHlwZSBhbmQgJHBvZFR5cGUgbmUgImZsb2F0IjsKIAogICAg
ICRoZWFkZXJJbmNsdWRlc3siSlNTVkdQT0RUeXBlV3JhcHBlci5oIn0gPSAxIGlmICRwb2RUeXBl
OwpAQCAtMTQ4Nyw3ICsxNDg4LDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9
fiAvQ29uc3RydWN0b3IkLykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25z
dHJ1Y3RvclR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRjb25zdHJ1Y3Rv
clR5cGUgLiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjb25z
dHJ1Y3RvclR5cGUgbmUgIkRPTU9iamVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJGltcGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9ID0gMTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3Ry
dWN0b3JcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElk
ZW50aWZpZXIoZXhlYywgXCIkbmFtZVwiKSwgdmFsdWUpO1xuIik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJSZXBsYWNlYWJsZSJ9KSB7CkBAIC0xODM3LDYgKzE4NDAsNyBAQCBzdWIgR2V0TmF0aXZl
VHlwZUZyb21TaWduYXR1cmUKIG15ICVuYXRpdmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9
PiAiUmFuZ2U6OkNvbXBhcmVIb3ciLAogICAgICJET01TdHJpbmciID0+ICJjb25zdCBVU3RyaW5n
JiIsCisgICAgIkRPTU9iamVjdCIgPT4gIlNjcmlwdFZhbHVlIiwKICAgICAiTm9kZUZpbHRlciIg
PT4gIlJlZlB0cjxOb2RlRmlsdGVyPiIsCiAgICAgIlNWR0FuZ2xlIiA9PiAiU1ZHQW5nbGUiLAog
ICAgICJTVkdMZW5ndGgiID0+ICJTVkdMZW5ndGgiLApAQCAtMTg5MCw2ICsxODk0LDEwIEBAIHN1
YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJuICIkdmFsdWUudG9TdHJpbmcoZXhlYyki
OwogICAgIH0KIAorICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgeworICAgICAgICByZXR1
cm4gIiR2YWx1ZSI7CisgICAgfQorCiAgICAgaWYgKCR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0
VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIn0gPSAxOwogICAgICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6Y3JlYXRlKGV4ZWMsICR2YWx1ZSkiOwpAQCAtMTk4OSw3ICsxOTk3LDExIEBAIHN1
YiBOYXRpdmVUb0pTVmFsdWUKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkRPTU9iamVjdCIp
IHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9
ID0gMTsKKyAgICAgICAgaWYgKCRpbXBsQ2xhc3NOYW1lIGVxICJEb2N1bWVudCIpIHsKKyAgICAg
ICAgICAgICRpbXBsSW5jbHVkZXN7IkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgifSA9IDE7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gIiR2YWx1ZS5qc1ZhbHVlKCk7
IjsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlID1+IC9TVkdQYXRoU2VnLykgewogICAg
ICAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBlLmgifSA9IDE7CiAgICAgICAgICRqb2luZWROYW1l
ID0gJHR5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpp
bmRleCBhMjA4NmY5Li42ODAwN2UyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0KQEAgLTIzNTYsNiArMjM1Niw3IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAg
ICAgcmV0dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2lnbmVkIGludCI7CiAgICAgcmV0
dXJuICJOb2RlKiIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IiBhbmQgJGlzUGFyYW1ldGVyOwog
ICAgIHJldHVybiAiZG91YmxlIiBpZiAkdHlwZSBlcSAiRGF0ZSI7CisgICAgcmV0dXJuICJTY3Jp
cHRWYWx1ZSIgaWYgJHR5cGUgZXEgIkRPTU9iamVjdCI7CiAKICAgICByZXR1cm4gIlN0cmluZyIg
aWYgJHR5cGUgZXEgIkRPTVVzZXJEYXRhIjsgICMgRklYTUU6IFRlbXBvcmFyeSBoYWNrPwogCkBA
IC0yNDM3LDYgKzI0MzgsMTEgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4g
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKCR2YWx1ZSkiOwogICAgIH0KIAorICAgIGlm
ICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgeworICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRW
YWx1ZS5oIn0gPSAxOworICAgICAgICByZXR1cm4gIlNjcmlwdFZhbHVlKCR2YWx1ZSkiOworICAg
IH0KKwogICAgIGlmICgkdHlwZSBlcSAiTm9kZUZpbHRlciIpIHsKICAgICAgICAgcmV0dXJuICJW
OERPTVdyYXBwZXI6OndyYXBOYXRpdmVOb2RlRmlsdGVyKCR2YWx1ZSkiOwogICAgIH0KQEAgLTI0
OTQsNiArMjUwMCw3IEBAIHN1YiBHZXRWOEhlYWRlck5hbWUKICAgICByZXR1cm4gIkV2ZW50TGlz
dGVuZXIuaCIgaWYgJHR5cGUgZXEgIkV2ZW50TGlzdGVuZXIiOwogICAgIHJldHVybiAiRXZlbnRU
YXJnZXQuaCIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICByZXR1cm4gIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKKyAg
ICByZXR1cm4gIlNjcmlwdFZhbHVlLmgiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwogICAgIHJl
dHVybiAiVjgke3R5cGV9LmgiOwogfQogCkBAIC0yNTcwLDYgKzI1NzcsNyBAQCBteSAlbm9uX3dy
YXBwZXJfdHlwZXMgPSAoCiAgICAgJ1NWR1BhaW50VHlwZScgPT4gMSwKICAgICAnRE9NVGltZVN0
YW1wJyA9PiAxLAogICAgICdKU09iamVjdCcgPT4gMSwKKyAgICAnRE9NT2JqZWN0JyA9PiAxLAog
ICAgICdFdmVudFRhcmdldCcgPT4gMSwKICAgICAnTm9kZUZpbHRlcicgPT4gMSwKICAgICAnRXZl
bnRMaXN0ZW5lcicgPT4gMQpAQCAtMjYzMSw2ICsyNjM5LDcgQEAgc3ViIFJldHVybk5hdGl2ZVRv
SlNWYWx1ZQogCiAgICAgcmV0dXJuICJyZXR1cm4gdjhEYXRlT3JOdWxsKCR2YWx1ZSk7IiBpZiAk
dHlwZSBlcSAiRGF0ZSI7CiAgICAgcmV0dXJuICJyZXR1cm4gdjg6Ok51bWJlcjo6TmV3KCR2YWx1
ZSkiIGlmICRjb2RlR2VuZXJhdG9yLT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpIG9yICR0eXBlIGVx
ICJTVkdQYWludFR5cGUiOworICAgIHJldHVybiAicmV0dXJuICR2YWx1ZS52OFZhbHVlKCkiIGlm
ICRuYXRpdmVUeXBlIGVxICJTY3JpcHRWYWx1ZSI7CiAKICAgICBpZiAoJGNvZGVHZW5lcmF0b3It
PklzU3RyaW5nVHlwZSgkdHlwZSkpIHsKICAgICAgICAgbXkgJGNvbnYgPSAkc2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydE51bGxTdHJpbmdUbyJ9OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcAppbmRleCA2Njk4M2ZmLi5hZDZkMTcw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAt
MzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ2xpcGJv
YXJkRXZlbnQuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiVjhCZWZvcmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIK
QEAgLTE0Myw2ICsxNDQsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFdmVudCogaW1w
bCkKICNlbmRpZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQogICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7CisgICAgaWYg
KGltcGwtPmlzQ3VzdG9tRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8
Q3VzdG9tRXZlbnQqPihpbXBsKSk7CiAgICAgcmV0dXJuIFY4RXZlbnQ6OndyYXAoaW1wbCk7CiB9
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5jcHAgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYzM3NzA2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVudC5oIgorCisjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0N1c3RvbUV2ZW50OjpD
dXN0b21FdmVudCgpCit7Cit9CisKK3ZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFNjcmlwdFZhbHVlIGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKKwor
ICAgIG1fZGV0YWlsID0gZGV0YWlsOworfQorCitib29sIEN1c3RvbUV2ZW50Ojppc0N1c3RvbUV2
ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkxMDc2
NwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTAsMCAr
MSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUV2ZW50X2gKKyNk
ZWZpbmUgQ3VzdG9tRXZlbnRfaAorCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVk
ZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3VzdG9tRXZlbnQgOiBw
dWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUV2ZW50
PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21FdmVu
dCk7CisgICAgfQorCisgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBTY3JpcHRWYWx1ZSBkZXRh
aWwpOworCisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tRXZlbnQoKSBjb25zdDsKKworICAgIFNj
cmlwdFZhbHVlIGRldGFpbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsOyB9CisKK3ByaXZhdGU6
CisgICAgQ3VzdG9tRXZlbnQoKTsKKworICAgIFNjcmlwdFZhbHVlIG1fZGV0YWlsOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ3VzdG9tRXZlbnRfaApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsIGIvV2ViQ29yZS9kb20vQ3VzdG9tRXZl
bnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjQ2OGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKQEAgLTAsMCArMSwzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50
cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVu
dCB7CisKKyAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKworICAg
ICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBET01PYmplY3QgZGV0YWlsQXJnKTsKKyAgICB9OworCit9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggNDIwZTcyZC4uNzlkMzAzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDEsNiArNDEsNyBA
QAogI2luY2x1ZGUgIkNvbW1lbnQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAi
Q29va2llSmFyLmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBs
ZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY0xvYWRl
ci5oIgpAQCAtMzAxNyw2ICszMDE4LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgIFJl
ZlB0cjxFdmVudD4gZXZlbnQ7CiAgICAgaWYgKGV2ZW50VHlwZSA9PSAiRXZlbnQiIHx8IGV2ZW50
VHlwZSA9PSAiRXZlbnRzIiB8fCBldmVudFR5cGUgPT0gIkhUTUxFdmVudHMiKQogICAgICAgICBl
dmVudCA9IEV2ZW50OjpjcmVhdGUoKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkN1c3Rv
bUV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBDdXN0b21FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50IiB8fCBldmVudFR5cGUgPT0gIktleWJv
YXJkRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoKTsKICAg
ICBlbHNlIGlmIChldmVudFR5cGUgPT0gIk1lc3NhZ2VFdmVudCIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggODBhNGIxZi4u
ZWQ3MTlmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcApAQCAtNzMsNiArNzMsMTEgQEAgdm9pZCBFdmVudDo6aW5pdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbAog
ICAgIG1fY2FuY2VsYWJsZSA9IGNhbmNlbGFibGVBcmc7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzQ3Vz
dG9tRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6
aXNVSUV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBhNzlkZDRjLi4yOTUz
MDg5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Q2xpcGJvYXJkKiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyByZXR1cm4gaXNDbGlwYm9hcmRFdmVu
dCgpID8gY2xpcGJvYXJkKCkgOiAwOyB9CiAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9t
RXZlbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0Owog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc011dGF0aW9uRXZlbnQoKSBjb25zdDsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51429</attachid>
            <date>2010-03-23 09:12:26 -0700</date>
            <delta_ts>2010-03-24 07:51:26 -0700</delta_ts>
            <desc>Patch 11 (Let&apos;s see if mac compiles now)</desc>
            <filename>0001-WebCore-Add-support-for-DOM-Level-3-Custom-Event.patch</filename>
            <type>text/plain</type>
            <size>30968</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBmMjg2YTRiMTA5NjhiM2RhYWRmMWU0MjIwMWVhNGVmNGZiMTFmNTlmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDE4IE1hciAyMDEwIDE1OjQxOjExIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIHN1cHBvcnQgZm9yIERPTSBMZXZlbCAzIEN1c3RvbSBFdmVu
dAogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClRlc3Q6IGZhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCgoqIERl
cml2ZWRTb3VyY2VzLmNwcDoKKiBHTlVtYWtlZmlsZS5hbToKKiBXZWJDb3JlLmd5cGk6CiogV2Vi
Q29yZS5wcmk6CiogV2ViQ29yZS5wcm86CiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIGJpbmRpbmdzL2pzL0pTRXZl
bnRDdXN0b20uY3BwOgooV2ViQ29yZTo6dG9KUyk6CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CiogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CiogZG9t
L0N1c3RvbUV2ZW50LmNwcDogQWRkZWQuCihXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9tRXZl
bnQpOgooV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CihXZWJDb3JlOjpD
dXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CiogZG9tL0N1c3RvbUV2ZW50Lmg6IEFkZGVkLgoo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmNyZWF0ZSk6CihXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0
YWlsKToKKiBkb20vRG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KToKKiBkb20vRXZlbnQuY3BwOgooV2ViQ29yZTo6RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgoqIGRv
bS9FdmVudC5oOgoKTGF5b3V0VGVzdHM6IExheW91dCB0ZXN0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCgpSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEw
ICsrKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dCB8
ICAgIDMgKwogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWwgICAgICAg
ICB8ICAgNDUgKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM2ICsrKysrKysrKysrKwogV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29y
ZS9XZWJDb3JlLnByaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2Vi
Q29yZS9XZWJDb3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwog
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiAgICAgICAgICAgICB8ICAgNjQg
KysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiAgICAgICAgIHwgICAxMiArKysrCiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRD
dXN0b20uY3BwICAgICAgICAgICAgIHwgICAgNCArCiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtICAgICAgIHwgICAxNiArKysrKy0KIFdlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gICAgICAgfCAgICA5ICsrKwogV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9k
b20vQ3VzdG9tRXZlbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTIgKysrKysrKysr
KysrKysrKysKIFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDU3ICsrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRs
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzkgKysrKysrKysrKysrKwogV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9k
b20vRXZlbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysKIFdlYkNv
cmUvZG9tL0V2ZW50LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIDIy
IGZpbGVzIGNoYW5nZWQsIDM2OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC1leHBlY3Rl
ZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNw
cAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTMwYjEwNS4u
MmM2ZGI4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTAzICBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMYXlvdXQgdGVzdCBmb3IgRE9NIExldmVsIDMg
Q3VzdG9tIEV2ZW50CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2
ZW50cworCisgICAgICAgICogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50Lmh0bWw6IEFkZGVkLgor
CiAyMDEwLTAzLTIzICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODc5NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY3VzdG9tLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwucmVzdWx0IG9mIHRoZSBDdXN0b21FdmVudCBz
aG91bGQgYmUgJ3N1Y2Nlc3MnIGFuZCBpcy4KK1BBU1M6IGFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IHNob3VsZCBiZSAnc3VjY2VzcycgYW5kIGlzLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2N1c3RvbS1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNiMjc4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jdXN0b20tZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtKQorICAgIHsK
KyAgICAgICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycp
OworICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSBtICsgJzxicj4nOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHNob3VsZEJlKGFEZXNjcmlwdGlvbiwgYSwgYikKKyAgICB7CisgICAgICAgIGlm
IChhID09PSBiKSB7CisgICAgICAgICAgICBsb2coIlBBU1M6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAnIiArIGIgKyAiJyBhbmQgaXMuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAiIHNob3VsZCBiZSAnIiArIGIg
KyAiJyBidXQgaW5zdGVhZCBpcyAnIiArIGEgKyAiJy4iKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGRpc3BhdGNoQ3VzdG9tRXZlbnQobmFtZSwgdmFsdWUpCisgICAgeworICAg
ICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKKyAgICAg
ICAgZXYuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIHRydWUsIGZhbHNlLCB2YWx1ZSk7CisgICAgICAg
IGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXYpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRl
c3RzKCkKKyAgICB7CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImJsYWgiLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCBvZiB0
aGUgQ3VzdG9tRXZlbnQiLCBhcmd1bWVudHNbMF0uZGV0YWlsLnJlc3VsdCwgInN1Y2Nlc3MiKTsK
KyAgICAgICAgfSwgZmFsc2UpOworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJibGFoMiIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImFyZ3VtZW50c1swXS5kZXRhaWwgb2Yg
dGhlIEN1c3RvbUV2ZW50IiwgYXJndW1lbnRzWzBdLmRldGFpbCwgInN1Y2Nlc3MiKTsKKyAgICAg
ICAgfSwgZmFsc2UpOworCisgICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQoImJsYWgiLCB7IHJl
c3VsdDogInN1Y2Nlc3MiIH0pOworICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KCJibGFoMiIs
ICJzdWNjZXNzIik7CisgICAgfQorPC9zY3JpcHQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdHMo
KSI+CisgICAgPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcwOWE3
YTguLmJmODQwYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTAtMDMtMDMgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0
b20gRXZlbnQKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
CisKKyAgICAgICAgVjggR2VuZXJhdG9yIGNoYW5nZSBieSBOYXRlIENoYXBpbiA8amFwaGV0QGNo
cm9taXVtLm9yZz4sIFRoYW5rcyEKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jdXN0b20t
ZXZlbnQuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgICogZG9tL0N1c3Rv
bUV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9t
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAg
ICogZG9tL0N1c3RvbUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZl
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0YWlsKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnQ6OmlzQ3VzdG9tRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorCiAyMDEwLTAz
LTIzICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCBjMjZmZTJjLi5iMTcyMmMw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTVmFsdWVM
aXN0LmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0NTU1ZhcmlhYmxlc1J1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIkpTRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW4u
Y3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAwOGNlODBlLi5mODI4YTZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDMsNiArMTAzLDcg
QEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgQ29uc29sZSBcCiAgICAgQ29vcmRpbmF0ZXMgXAogICAg
IENvdW50ZXIgXAorICAgIEN1c3RvbUV2ZW50IFwKICAgICBEYXRhR3JpZENvbHVtbiBcCiAgICAg
RGF0YUdyaWRDb2x1bW5MaXN0IFwKICAgICBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0IFwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDJmYjAwZjUuLjUxNzMwYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
KysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTI4LDYgKzEyOCw3IEBAIElETF9CSU5E
SU5HUyArPSBcCiAJV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmlkbCBcCiAJV2ViQ29yZS9kb20vQ29t
bWVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsIFwKKwlXZWJjb3Jl
L2RvbS9DdXN0b21FdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaWRs
IFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgXAogCVdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbCBcCkBAIC03MjgsNiArNzI5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlX
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBcCiAJV2ViQ29yZS9kb20vQ29udGFpbmVyTm9k
ZS5oIFwKIAlXZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oIFwKKwlXZWJDb3Jl
L2RvbS9DdXN0b21FdmVudC5jcHAgXAorCVdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggXAogCVdl
YkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaCBcCiAJV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50
YXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNDQw
ZDk5Zi4uOTc0NmI0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgICAgICdkb20vQ2xp
cGJvYXJkLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0NvbW1lbnQuaWRsJywKICAgICAgICAgICAg
ICdkb20vQ29tcG9zaXRpb25FdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVu
dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3Vt
ZW50LmlkbCcsCkBAIC0xMDgwLDYgKzEwODEsOCBAQAogICAgICAgICAgICAgJ2RvbS9Db250YWlu
ZXJOb2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGUuaCcsCiAgICAgICAg
ICAgICAnZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgnLAorICAgICAgICAgICAgJ2RvbS9D
dXN0b21FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5oJywKICAgICAg
ICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1w
bGVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uaCcs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpp
bmRleCA0NDU0NGJjLi5iNWY2YWY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTI1MCw2ICsyNTAsNyBAQCBJRExfQklORElOR1Mg
Kz0gXAogICAgIGRvbS9DREFUQVNlY3Rpb24uaWRsIFwKICAgICBkb20vQ29tbWVudC5pZGwgXAog
ICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBc
CiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnQuaWRsIFwK
ICAgICBkb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
cHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA1OWU3NmU1Li42ZDYyMmIwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQ2
NSw2ICs0NjUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5jcHAg
XAogICAgIGRvbS9Db250YWluZXJOb2RlLmNwcCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0
ZURlY2xhcmF0aW9uLmNwcCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0Rv
Y3VtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuY3BwIFwKICAgICBkb20vRG9j
dW1lbnRUeXBlLmNwcCBcCkBAIC0xMTc1LDYgKzExNzYsNyBAQCBIRUFERVJTICs9IFwKICAgICBk
b20vQ29tbWVudC5oIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5oIFwKICAgICBkb20vQ1NTTWFw
cGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCisgICAgZG9tL0N1c3RvbUV2ZW50LmggXAogICAg
IGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAogICAgIGRvbS9Eb2N1
bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IGNjZTBiMzkuLjJhZDRiNTYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjQwMSw2ICsyNDAxLDYyIEBACiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5jcHAiDQorCQkJ
CT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0lu
dGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDdXN0b21FdmVudC5oIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RhdGFiYXNlLmNwcCIN
CiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yODg3Nyw2ICsyODkzMywxNCBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cQ3VzdG9tRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXEN1c3RvbUV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRG9jdW1lbnQuY3BwIg0KIAkJ
CQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMjZiZGM2MC4uNWFlOGM4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTExNjIsNiArMTE2Miw5IEBACiAJCTVERkU4RjU3MEQxNjQ3N0Mw
MDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRB
Y3Rpb24uaCAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZp
Z2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07
CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0
QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IH07CisJCTYyQ0QzMjU5MTE1N0U1
N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MkNEMzI1NjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZl
bnQuY3BwICovOyB9OworCQk2MkNEMzI1QTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQ0QzMjU3
MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5oICovOyB9OworCQk2MkNEMzI1QjExNTdF
NTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MkNEMzI1ODExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9t
RXZlbnQuaWRsICovOyB9OwogCQk2MzE4OUFFMzBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzE4
OUFFMjBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJNjNEN0IzMkQwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVS
ZW5kZXJTdHlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjNEN0IzMkMwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5kZXJTdHlsZS5oICovOyB9Owog
CQk2M0Y1RDRGNzBFOEM0QjcxMDBDMEJEMDQgLyogRWxlbWVudFJhcmVEYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzdCN0FERTBFODc2N0I4MDBF
MzIxOTQgLyogRWxlbWVudFJhcmVEYXRhLmggKi87IH07CkBAIC02NjI0LDYgKzY2MjcsOSBAQAog
CQk1RENGODM2QzBENTkxNTk4MDA5NTNCQzYgLyogUGx1Z2luSW5mb1N0b3JlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdpbkluZm9TdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5h
dmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjJDRDMyNTYxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEN1c3RvbUV2ZW50LmNwcDsgcGF0aCA9IGRv
bS9DdXN0b21FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQ0QzMjU3
MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBDdXN0b21FdmVudC5oOyBwYXRoID0gZG9tL0N1c3RvbUV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYyQ0QzMjU4MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0
b21FdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gQ3VzdG9tRXZlbnQuaWRsOyBwYXRo
ID0gZG9tL0N1c3RvbUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjMx
ODlBRTIwRTgzQTMzMzAwMDEyRTQxIC8qIE5vZGVSYXJlRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOb2RlUmFyZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNjM3QjdBREUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50UmFyZURhdGEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjNEN0IzMkMwRTc4Q0QzRjAwRjc2MTdDIC8qIE5vZGVSZW5k
ZXJTdHlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlUmVuZGVyU3R5
bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMzczLDYgKzEwMzc5LDkgQEAK
IAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNjJDRDMyNTYxMTU3RTU3QzAwNjNCMEE3IC8q
IEN1c3RvbUV2ZW50LmNwcCAqLywKKwkJCQk2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3Vz
dG9tRXZlbnQuaCAqLywKKwkJCQk2MkNEMzI1ODExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZl
bnQuaWRsICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCAqLywK
IAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICovLAogCQkJ
CTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovLApAQCAt
MTg3NDgsNiArMTg3NTcsNyBAQAogCQkJCUE1QUZCMzUwMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVw
UmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1OUUzQzFFMTE1ODBGNTEwMDcyOTI4RSAvKiBL
ZXlFdmVudENvZGVzSVBob25lLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTEzQjNENzExNEIxNjY2
MDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNjJDRDMyNUEx
MTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE4ODUx
LDYgKzE4ODYxLDcgQEAKIAkJCQkxQUIxQUU3QTBDMDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vy
c29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8q
IHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkyRTA4ODhDNDExNDg4M0E5
MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQk2MkNEMzI1
QjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIwOTYwLDYgKzIwOTcxLDcgQEAKIAkJCQlBNUFGQjM0RjExNTE1MUE3MDBCMDQ1Q0IgLyogU3Rl
cFJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1OUUzQzFGMTE1ODBGNTEwMDcyOTI4RSAv
KiBLZXlFdmVudElQaG9uZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1MTNCM0Q4MTE0QjE2NkEw
MDFDNDI5QiAvKiBLZXlFdmVudENvY29hLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNjJDRDMyNTkx
MTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggMDRjZWVjNS4uNjY4NmQ3YSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC0zMSw5ICszMSwxMSBAQAogCiAjaW5j
bHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgorI2luY2x1
ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJKU0JlZm9y
ZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAiSlNDdXN0
b21FdmVudC5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpT
RXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5oIgpAQCAtMTUzLDYgKzE1
NSw4IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKICNlbmRpZgogICAgIGVsc2UgaWYgKGV2ZW50LT5p
c1BvcFN0YXRlRXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBQb3BTdGF0ZUV2ZW50LCBldmVudCk7CisgICAgZWxz
ZSBpZiAoZXZlbnQtPmlzQ3VzdG9tRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDdXN0b21FdmVudCwgZXZlbnQp
OwogICAgIGVsc2UKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBFdmVudCwgZXZlbnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5MzViMWUzLi4xYWVkMTFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUxOSw2ICs1MTks
NyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAjIEdldCBjb3JyZWN0IHBhc3Mvc3RvcmUgdHlw
ZXMgcmVzcGVjdGluZyBQT0RUeXBlIGZsYWcKICAgICBteSAkcG9kVHlwZSA9ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlBPRFR5cGUifTsKICAgICBteSAkaW1wbFR5cGUgPSAkcG9k
VHlwZSA/ICJKU1NWR1BPRFR5cGVXcmFwcGVyPCRwb2RUeXBlPiAiIDogJGltcGxDbGFzc05hbWU7
CisKICAgICAkaGVhZGVySW5jbHVkZXN7IiRwb2RUeXBlLmgifSA9IDEgaWYgJHBvZFR5cGUgYW5k
ICRwb2RUeXBlIG5lICJmbG9hdCI7CiAKICAgICAkaGVhZGVySW5jbHVkZXN7IkpTU1ZHUE9EVHlw
ZVdyYXBwZXIuaCJ9ID0gMSBpZiAkcG9kVHlwZTsKQEAgLTE0ODcsNyArMTQ4OCw5IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgk
YXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBteSAkY29uc3RydWN0b3JUeXBlID0gJGF0dHJpYnV0ZS0+c2ln
bmF0dXJlLT50eXBlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb25zdHJ1Y3RvclR5
cGUgPX4gcy9Db25zdHJ1Y3RvciQvLzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1w
bEluY2x1ZGVzeyJKUyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICgkY29uc3RydWN0b3JUeXBlIG5lICJET01PYmplY3QiKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTIiAuICRj
b25zdHJ1Y3RvclR5cGUgLiAiLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIC8v
IFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yXG4iKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzdGF0aWNfY2FzdDwkY2xhc3NOYW1l
Kj4odGhpc09iamVjdCktPnB1dERpcmVjdChJZGVudGlmaWVyKGV4ZWMsIFwiJG5hbWVcIiksIHZh
bHVlKTtcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFjZWFibGUifSkgewpAQCAtMTgz
Nyw2ICsxODQwLDcgQEAgc3ViIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0dXJlCiBteSAlbmF0aXZl
VHlwZSA9ICgKICAgICAiQ29tcGFyZUhvdyIgPT4gIlJhbmdlOjpDb21wYXJlSG93IiwKICAgICAi
RE9NU3RyaW5nIiA9PiAiY29uc3QgVVN0cmluZyYiLAorICAgICJET01PYmplY3QiID0+ICJTY3Jp
cHRWYWx1ZSIsCiAgICAgIk5vZGVGaWx0ZXIiID0+ICJSZWZQdHI8Tm9kZUZpbHRlcj4iLAogICAg
ICJTVkdBbmdsZSIgPT4gIlNWR0FuZ2xlIiwKICAgICAiU1ZHTGVuZ3RoIiA9PiAiU1ZHTGVuZ3Ro
IiwKQEAgLTE4OTAsNiArMTg5NCwxMCBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJl
dHVybiAiJHZhbHVlLnRvU3RyaW5nKGV4ZWMpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEg
IkRPTU9iamVjdCIpIHsKKyAgICAgICAgcmV0dXJuICIkdmFsdWUiOworICAgIH0KKwogICAgIGlm
ICgkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIiBvciAkdHlwZSBlcSAiYW55Iikgewog
ICAgICAgICAkaW1wbEluY2x1ZGVzeyJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCJ9ID0gMTsKICAg
ICAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShleGVjLCAkdmFsdWUp
IjsKQEAgLTE5ODksNyArMTk5NywxMSBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgfQogCiAg
ICAgaWYgKCR0eXBlIGVxICJET01PYmplY3QiKSB7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IkpT
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgifSA9IDE7CisgICAgICAgIGlmICgkaW1wbENsYXNz
TmFtZSBlcSAiRG9jdW1lbnQiKSB7CisgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgcmV0dXJuICIkdmFsdWUuanNWYWx1ZSgpOyI7CisgICAgICAgIH0KICAgICB9IGVsc2lmICgk
dHlwZSA9fiAvU1ZHUGF0aFNlZy8pIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMkdHlwZS5o
In0gPSAxOwogICAgICAgICAkam9pbmVkTmFtZSA9ICR0eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggYTIwODZmOS4uNjgwMDdlMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0yMzU2LDYgKzIz
NTYsNyBAQCBzdWIgR2V0TmF0aXZlVHlwZQogICAgIHJldHVybiAidW5zaWduZWQiIGlmICR0eXBl
IGVxICJ1bnNpZ25lZCBpbnQiOwogICAgIHJldHVybiAiTm9kZSoiIGlmICR0eXBlIGVxICJFdmVu
dFRhcmdldCIgYW5kICRpc1BhcmFtZXRlcjsKICAgICByZXR1cm4gImRvdWJsZSIgaWYgJHR5cGUg
ZXEgIkRhdGUiOworICAgIHJldHVybiAiU2NyaXB0VmFsdWUiIGlmICR0eXBlIGVxICJET01PYmpl
Y3QiOwogCiAgICAgcmV0dXJuICJTdHJpbmciIGlmICR0eXBlIGVxICJET01Vc2VyRGF0YSI7ICAj
IEZJWE1FOiBUZW1wb3JhcnkgaGFjaz8KIApAQCAtMjQzNyw2ICsyNDM4LDExIEBAIHN1YiBKU1Zh
bHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZSgkdmFsdWUpIjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUgZXEgIkRPTU9iamVjdCIpIHsKKyAg
ICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0VmFsdWUuaCJ9ID0gMTsKKyAgICAgICAgcmV0dXJu
ICJTY3JpcHRWYWx1ZSgkdmFsdWUpIjsKKyAgICB9CisKICAgICBpZiAoJHR5cGUgZXEgIk5vZGVG
aWx0ZXIiKSB7CiAgICAgICAgIHJldHVybiAiVjhET01XcmFwcGVyOjp3cmFwTmF0aXZlTm9kZUZp
bHRlcigkdmFsdWUpIjsKICAgICB9CkBAIC0yNDk0LDYgKzI1MDAsNyBAQCBzdWIgR2V0VjhIZWFk
ZXJOYW1lCiAgICAgcmV0dXJuICJFdmVudExpc3RlbmVyLmgiIGlmICR0eXBlIGVxICJFdmVudExp
c3RlbmVyIjsKICAgICByZXR1cm4gIkV2ZW50VGFyZ2V0LmgiIGlmICR0eXBlIGVxICJFdmVudFRh
cmdldCI7CiAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIgaWYgJHR5cGUgZXEg
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7CisgICAgcmV0dXJuICJTY3JpcHRWYWx1ZS5oIiBpZiAk
dHlwZSBlcSAiRE9NT2JqZWN0IjsKICAgICByZXR1cm4gIlY4JHt0eXBlfS5oIjsKIH0KIApAQCAt
MjU3MCw2ICsyNTc3LDcgQEAgbXkgJW5vbl93cmFwcGVyX3R5cGVzID0gKAogICAgICdTVkdQYWlu
dFR5cGUnID0+IDEsCiAgICAgJ0RPTVRpbWVTdGFtcCcgPT4gMSwKICAgICAnSlNPYmplY3QnID0+
IDEsCisgICAgJ0RPTU9iamVjdCcgPT4gMSwKICAgICAnRXZlbnRUYXJnZXQnID0+IDEsCiAgICAg
J05vZGVGaWx0ZXInID0+IDEsCiAgICAgJ0V2ZW50TGlzdGVuZXInID0+IDEKQEAgLTI2MzEsNiAr
MjYzOSw3IEBAIHN1YiBSZXR1cm5OYXRpdmVUb0pTVmFsdWUKIAogICAgIHJldHVybiAicmV0dXJu
IHY4RGF0ZU9yTnVsbCgkdmFsdWUpOyIgaWYgJHR5cGUgZXEgIkRhdGUiOwogICAgIHJldHVybiAi
cmV0dXJuIHY4OjpOdW1iZXI6Ok5ldygkdmFsdWUpIiBpZiAkY29kZUdlbmVyYXRvci0+SXNQcmlt
aXRpdmVUeXBlKCR0eXBlKSBvciAkdHlwZSBlcSAiU1ZHUGFpbnRUeXBlIjsKKyAgICByZXR1cm4g
InJldHVybiAkdmFsdWUudjhWYWx1ZSgpIiBpZiAkbmF0aXZlVHlwZSBlcSAiU2NyaXB0VmFsdWUi
OwogCiAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc1N0cmluZ1R5cGUoJHR5cGUpKSB7CiAgICAg
ICAgIG15ICRjb252ID0gJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRO
dWxsU3RyaW5nVG8ifTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3Rv
bS5jcHAKaW5kZXggNjY5ODNmZi4uYWQ2ZDE3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhFdmVudEN1c3RvbS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNs
aXBib2FyZC5oIgogI2luY2x1ZGUgIkNsaXBib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiQ3VzdG9t
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIlY4QmVmb3JlTG9hZEV2ZW50
LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCkBAIC0xNDMsNiArMTQ0LDggQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoRXZlbnQqIGltcGwpCiAjZW5kaWYKICAgICBpZiAoaW1wbC0+aXNC
ZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8QmVmb3Jl
TG9hZEV2ZW50Kj4oaW1wbCkpOworICAgIGlmIChpbXBsLT5pc0N1c3RvbUV2ZW50KCkpCisgICAg
ICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEN1c3RvbUV2ZW50Kj4oaW1wbCkpOwogICAgIHJl
dHVybiBWOEV2ZW50Ojp3cmFwKGltcGwpOwogfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNzcwNjMKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ3VzdG9tRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitDdXN0b21FdmVudDo6Q3VzdG9tRXZlbnQoKQoreworfQorCit2b2lkIEN1
c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBTY3JpcHRWYWx1ZSBkZXRhaWwpCit7CisgICAg
aWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7CisKKyAgICBtX2RldGFpbCA9IGRldGFpbDsKK30KKwor
Ym9vbCBDdXN0b21FdmVudDo6aXNDdXN0b21FdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmggYi9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MTA3NjcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2RvbS9DdXN0b21FdmVudC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBDdXN0b21FdmVudF9oCisjZGVmaW5lIEN1c3RvbUV2ZW50X2gKKworI2luY2x1
ZGUgIkF0b21pY1N0cmluZy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0
VmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEN1c3RvbUV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDdXN0b21FdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRXZlbnQpOworICAgIH0KKworICAgIHZvaWQgaW5pdEN1
c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgU2NyaXB0VmFsdWUgZGV0YWlsKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0N1
c3RvbUV2ZW50KCkgY29uc3Q7CisKKyAgICBTY3JpcHRWYWx1ZSBkZXRhaWwoKSBjb25zdCB7IHJl
dHVybiBtX2RldGFpbDsgfQorCitwcml2YXRlOgorICAgIEN1c3RvbUV2ZW50KCk7CisKKyAgICBT
Y3JpcHRWYWx1ZSBtX2RldGFpbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEN1c3RvbUV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmlkbCBiL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xYWI0NjhjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQ3Vz
dG9tRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitt
b2R1bGUgZXZlbnRzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CisgICAg
aW50ZXJmYWNlIEN1c3RvbUV2ZW50IDogRXZlbnQgeworCisgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTU9iamVjdCBkZXRhaWw7CisKKyAgICAgICB2b2lkIGluaXRDdXN0b21FdmVudChpbiBE
T01TdHJpbmcgdHlwZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVh
biBjYW5CdWJibGVBcmcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4g
Y2FuY2VsYWJsZUFyZywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NT2JqZWN0
IGRldGFpbEFyZyk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDQyMGU3MmQuLjc5ZDMwM2Mg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDb21tZW50LmgiCiAjaW5j
bHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgorI2luY2x1ZGUgIkN1c3Rv
bUV2ZW50LmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKICNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJEb2NMb2FkZXIuaCIKQEAgLTMwMTcsNiArMzAxOCw4IEBAIFBh
c3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50
VHlwZSwgRXhjZXB0aW9uQ29kZSYKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50OwogICAgIGlmIChl
dmVudFR5cGUgPT0gIkV2ZW50IiB8fCBldmVudFR5cGUgPT0gIkV2ZW50cyIgfHwgZXZlbnRUeXBl
ID09ICJIVE1MRXZlbnRzIikKICAgICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKCk7CisgICAg
ZWxzZSBpZiAoZXZlbnRUeXBlID09ICJDdXN0b21FdmVudCIpCisgICAgICAgIGV2ZW50ID0gQ3Vz
dG9tRXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiS2V5Ym9hcmRF
dmVudCIgfHwgZXZlbnRUeXBlID09ICJLZXlib2FyZEV2ZW50cyIpCiAgICAgICAgIGV2ZW50ID0g
S2V5Ym9hcmRFdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJNZXNz
YWdlRXZlbnQiKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9k
b20vRXZlbnQuY3BwCmluZGV4IDgwYTRiMWYuLmVkNzE5ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTczLDYgKzczLDEx
IEBAIHZvaWQgRXZlbnQ6OmluaXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZUFy
ZywgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wKICAgICBtX2NhbmNlbGFibGUgPSBjYW5jZWxhYmxl
QXJnOwogfQogCitib29sIEV2ZW50Ojppc0N1c3RvbUV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKIGJvb2wgRXZlbnQ6OmlzVUlFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9t
L0V2ZW50LmgKaW5kZXggYTc5ZGQ0Yy4uMjk1MzA4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xMDAsNiArMTAwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIENsaXBib2FyZCogY2xpcGJvYXJkRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIGlzQ2xpcGJvYXJkRXZlbnQoKSA/IGNsaXBib2FyZCgpIDogMDsgfQogCisg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzTW91c2VF
dmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNdXRhdGlvbkV2ZW50KCkgY29u
c3Q7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51496</attachid>
            <date>2010-03-24 07:34:22 -0700</date>
            <delta_ts>2010-03-24 08:39:08 -0700</delta_ts>
            <desc>same patch as above with fixed xcode project file</desc>
            <filename>with-xcode-project-file.patch</filename>
            <type>text/plain</type>
            <size>28096</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjQ0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTUgQEAKKzIwMTAtMDMtMjQgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8
a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBET00gTGV2ZWwgMyBDdXN0b20gRXZlbnQKKyAg
ICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzCisKKyAgICAgICAg
VjggR2VuZXJhdG9yIGNoYW5nZSBieSBOYXRlIENoYXBpbiA8amFwaGV0QGNocm9taXVtLm9yZz4s
IFRoYW5rcyEKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jdXN0b20tZXZlbnQuaHRtbAor
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgICogZG9tL0N1c3RvbUV2ZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6Q3VzdG9tRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21FdmVudDo6aXNDdXN0b21FdmVudCk6CisgICAgICAgICogZG9tL0N1c3Rv
bUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FdmVudDo6ZGV0YWlsKToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToK
KyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzQ3Vz
dG9tRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorCisyMDEwLTAzLTE5ICBBbnR0aSBL
b2l2aXN0byAgPGtvaXZpc3RvQGlraS5maT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzYzNjYKKyAgICAgICAgUmVwYWludCBsb29wIHdoZW4gcGFpbnRpbmcgdXNpbmcgc2NhbGVk
IENUTXMgd2l0aCBkaWZmZXJlbnQgdHJhbnNsYXRpb25zCisgICAgICAgIAorICAgICAgICBUaGUg
Y29kZSBpbiBSZW5kZXJCb3hNb2RlbFNjYWxlT2JzZXJ2ZXI6OnNob3VsZFBhaW50QmFja2dyb3Vu
ZEF0TG93UXVhbGl0eQorICAgICAgICB0ZXN0cyBpZiB0aGUgc2NhbGluZyBoYXMgY2hhbmdlZCBm
cm9tIHRoZSBwcmV2aW91cyB2YWx1ZSBieSBjb21wYXJpbmcgdGhlCisgICAgICAgIHRyYW5zZm9y
bWF0aW9ucy4gVGhlIHRlc3QgZmFpbHMgaWYgdGhlIHNjYWxlIGlzIHRoZSBzYW1lIGJ1dCB0aGUg
dHJhbnNsYXRpb24gCisgICAgICAgIGNoYW5nZXMuIFRoaXMgY2FuIGxlYWQgdG8gaW5maW5pdGUg
cmVwYWludCBsb29wIGlmIHRoZSBkb2N1bWVudCBpcyBwYWludGVkIAorICAgICAgICBpbiBwaWVj
ZXMgdXNpbmcgZGlmZmVyZW50IHRyYW5zbGF0aW9ucyAoZm9yIGV4YW1wbGUgZm9yIHRpbGluZyku
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxTY2FsZU9ic2VydmVyOjpzaG91bGRQYWludEJhY2tn
cm91bmRBdExvd1F1YWxpdHkpOgorCiAyMDEwLTAzLTE5ICBNaWlra2EgSGVpa2tpbmVuICA8bWlp
a2thLmhlaWtraW5lbkBkaWdpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1
c21hbm4uCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gNTY0NDApCisrKyBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1
ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc0RlY2xhcmF0
aW9uLmNwcCIKICNpbmNsdWRlICJKU0NTU1ZhcmlhYmxlc1J1bGUuY3BwIgorI2luY2x1ZGUgIkpT
Q3VzdG9tRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUgIkpT
RGF0YUdyaWRDb2x1bW4uY3BwIgogI2luY2x1ZGUgIkpTRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCIK
SW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDU2NDQwKQorKysgV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDcgQEAgRE9NX0NMQVNT
RVMgPSBcCiAgICAgQ29uc29sZSBcCiAgICAgQ29vcmRpbmF0ZXMgXAogICAgIENvdW50ZXIgXAor
ICAgIEN1c3RvbUV2ZW50IFwKICAgICBEYXRhR3JpZENvbHVtbiBcCiAgICAgRGF0YUdyaWRDb2x1
bW5MaXN0IFwKICAgICBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0IFwKSW5kZXg6IFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNp
b24gNTY0NDApCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjgsNiArMTI4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2RvbS9DbGlwYm9hcmQu
aWRsIFwKIAlXZWJDb3JlL2RvbS9Db21tZW50LmlkbCBcCiAJV2ViQ29yZS9kb20vQ29tcG9zaXRp
b25FdmVudC5pZGwgXAorCVdlYmNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAJV2ViQ29yZS9k
b20vRE9NQ29yZUV4Y2VwdGlvbi5pZGwgXAogCVdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmlkbCBcCiAJV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIFwKQEAgLTcyOCw2ICs3MjksOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIFwKIAlX
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmggXAogCVdlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVB
bGdvcml0aG1zLmggXAorCVdlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCBcCisJV2ViQ29yZS9k
b20vQ3VzdG9tRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5oIFwKIAlX
ZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAgXAogCVdlYkNvcmUvZG9tL0RPTUltcGxl
bWVudGF0aW9uLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDU2NDQwKQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgICAgICdkb20v
Q2xpcGJvYXJkLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0NvbW1lbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vQ29tcG9zaXRpb25FdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21F
dmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0Rv
Y3VtZW50LmlkbCcsCkBAIC0xMDgwLDYgKzEwODEsOCBAQAogICAgICAgICAgICAgJ2RvbS9Db250
YWluZXJOb2RlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGUuaCcsCiAgICAg
ICAgICAgICAnZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgnLAorICAgICAgICAgICAgJ2Rv
bS9DdXN0b21FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5oJywKICAg
ICAgICAgICAgICdkb20vRE9NQ29yZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9N
SW1wbGVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24u
aCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS5wcmkJKHJldmlzaW9uIDU2NDQwKQorKysgV2ViQ29yZS9XZWJDb3JlLnByaQkod29ya2lu
ZyBjb3B5KQpAQCAtMjU0LDYgKzI1NCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9tL0NE
QVRBU2VjdGlvbi5pZGwgXAogICAgIGRvbS9Db21tZW50LmlkbCBcCiAgICAgZG9tL0NvbXBvc2l0
aW9uRXZlbnQuaWRsIFwKKyAgICBkb20vQ3VzdG9tRXZlbnQuaWRsIFwKICAgICBkb20vRG9jdW1l
bnRGcmFnbWVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVudC5pZGwgXAogICAgIGRvbS9Eb2N1bWVu
dFR5cGUuaWRsIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTY0NDApCisrKyBXZWJDb3JlL1dlYkNvcmUucHJv
CSh3b3JraW5nIGNvcHkpCkBAIC00NjgsNiArNDY4LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9t
L0NvbXBvc2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vQ29udGFpbmVyTm9kZS5jcHAgXAogICAg
IGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAorICAgIGRvbS9DdXN0b21F
dmVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdt
ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50VHlwZS5jcHAgXApAQCAtMTE3OCw2ICsxMTc5LDcg
QEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0NvbW1lbnQuaCBcCiAgICAgZG9tL0NvbnRhaW5lck5v
ZGUuaCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAorICAgIGRv
bS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbC5oIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1lbnQu
aCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gNTY0NDApCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTE2Miw2ICsxMTYyLDkgQEAKIAkJNURGRThGNTcwRDE2NDc3
QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxl
ZEFjdGlvbi5oICovOyB9OwogCQk2MjZDREUwRTExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5h
dmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLzsg
fTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwRDExNDA0
MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLzsgfTsKKwkJNjJDRDMyNTkxMTU3
RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQ0QzMjU2MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21F
dmVudC5jcHAgKi87IH07CisJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjJDRDMy
NTcxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggKi87IH07CisJCTYyQ0QzMjVCMTE1
N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyQ0QzMjU4MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0
b21FdmVudC5pZGwgKi87IH07CiAJCTYzMTg5QUUzMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFy
ZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYz
MTg5QUUyMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQk2M0Q3QjMyRDBFNzhDRDNGMDBGNzYxN0MgLyogTm9k
ZVJlbmRlclN0eWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2M0Q3QjMyQzBFNzhDRDNGMDBGNzYxN0MgLyogTm9kZVJlbmRlclN0eWxlLmggKi87IH07
CiAJCTYzRjVENEY3MEU4QzRCNzEwMEMwQkQwNCAvKiBFbGVtZW50UmFyZURhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzN0I3QURFMEU4NzY3Qjgw
MEUzMjE5NCAvKiBFbGVtZW50UmFyZURhdGEuaCAqLzsgfTsKQEAgLTQ4NDcsNiArNDg1MCw4IEBA
CiAJCUU0NDYxNDUxMENENjhBMzUwMEZBREE3NSAvKiBSZW5kZXJWaWRlby5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUzMzBDQkZCNjA5MDBB
RjJFQ0UgLyogUmVuZGVyVmlkZW8uY3BwICovOyB9OwogCQlFNDQ2MTQ1MjBDRDY4QTM1MDBGQURB
NzUgLyogUmVuZGVyVmlkZW8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0QjQxRTM0MENCRkI2MDkwMEFGMkVDRSAvKiBSZW5kZXJWaWRlby5oICovOyB9
OwogCQlFNDYyQTRBMTExM0U3MUJFMDA0QTQyMjAgLyogSW50UG9pbnRIYXNoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDYyQTRBMDExM0U3MUJFMDA0
QTQyMjAgLyogSW50UG9pbnRIYXNoLmggKi87IH07CisJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3
MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0Nzc4QjdEMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNw
cCAqLzsgfTsKKwkJRTQ3NzhCODAxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0Nzc4QjdFMTE1
QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggKi87IH07CiAJCUU0N0I0QkU4MEU3MTI0
MTYwMDAzODg1NCAvKiBDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ3QjRCRTYwRTcxMjQxNjAwMDM4ODU0IC8qIENh
Y2hlZFJlc291cmNlSGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTQ3QjRCRTkwRTcxMjQxNjAwMDM4ODU0IC8qIENhY2hlZFJlc291cmNl
SGFuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0N0I0QkU3MEU3MTI0MTYwMDAzODg1NCAvKiBDYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAgKi87
IH07CiAJCUU0OTYyNkMyMEQ4MEQ5NDgwMEUzNDA1QyAvKiBQcmVsb2FkU2Nhbm5lci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEQ0QUJFMDBENzU0
MkYwMDBGOTY4NjkgLyogUHJlbG9hZFNjYW5uZXIuY3BwICovOyB9OwpAQCAtNjYyNCw2ICs2NjI5
LDkgQEAKIAkJNURDRjgzNkMwRDU5MTU5ODAwOTUzQkM2IC8qIFBsdWdpbkluZm9TdG9yZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5JbmZvU3RvcmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRp
YWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNw
YXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RF
MEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTYyQ0QzMjU2MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDdXN0b21FdmVudC5jcHA7IHBh
dGggPSBkb20vQ3VzdG9tRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRXZlbnQuaDsgcGF0aCA9IGRvbS9DdXN0b21FdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2MkNEMzI1ODExNTdFNTdDMDA2M0IwQTcg
LyogQ3VzdG9tRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IEN1c3RvbUV2ZW50Lmlk
bDsgcGF0aCA9IGRvbS9DdXN0b21FdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTYzMTg5QUUyMEU4M0EzMzMwMDAxMkU0MSAvKiBOb2RlUmFyZURhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZVJhcmVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTYzN0I3QURFMEU4NzY3QjgwMEUzMjE5NCAvKiBFbGVtZW50UmFyZURhdGEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudFJhcmVEYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRDdCMzJDMEU3OENEM0YwMEY3NjE3QyAvKiBO
b2RlUmVuZGVyU3R5bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZVJl
bmRlclN0eWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDE4NCw2ICsxMDE5
Miw4IEBACiAJCUU0NDYxNDEzMENENjgyNjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUaW1lUmFuZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0NjJBNEEwMTEzRTcxQkUwMDRBNDIyMCAvKiBJbnRQb2ludEhh
c2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50UG9pbnRIYXNoLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NzIwNTNBMEU1QTA1M0EwMDA2QkI0RCAvKiBD
YWNoZWRSZXNvdXJjZUhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZWRSZXNvdXJjZUhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNDc3
OEI3RDExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0N1c3RvbUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRTQ3NzhCN0UxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDdXN0b21FdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDdCNEJFNjBFNzEyNDE2MDAwMzg4NTQgLyogQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ3QjRC
RTcwRTcxMjQxNjAwMDM4ODU0IC8qIENhY2hlZFJlc291cmNlSGFuZGxlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlSGFuZGxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBRkNGQTQwREFGMjlBMzAwRjVGNTVDIC8qIFVu
aXRCZXppZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5pdEJlemllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAzNzMsNiArMTAzODMsOSBAQAogCQkw
ODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2MkNEMzI1NjExNTdFNTdDMDA2M0IwQTcgLyogQ3Vz
dG9tRXZlbnQuY3BwICovLAorCQkJCTYyQ0QzMjU3MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21F
dmVudC5oICovLAorCQkJCTYyQ0QzMjU4MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5p
ZGwgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJ
CUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMw
NzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xMzg4
NCw2ICsxMzg5Nyw4IEBACiAJCQkJQkM5NDYzNDcxMDdBOTM2NjAwODU3MTkzIC8qIEpTQmVmb3Jl
TG9hZEV2ZW50LmggKi8sCiAJCQkJNzlBQzkyMTYxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9z
aXRpb25FdmVudC5jcHAgKi8sCiAJCQkJNzlBQzkyMTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29t
cG9zaXRpb25FdmVudC5oICovLAorCQkJCUU0Nzc4QjdEMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1
c3RvbUV2ZW50LmNwcCAqLywKKwkJCQlFNDc3OEI3RTExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0
b21FdmVudC5oICovLAogCQkJCTJFQ0Y3QURBMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZl
bnQuY3BwICovLAogCQkJCTJFQ0Y3QURCMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQu
aCAqLywKIAkJCQkxNEU4Mzc4MzA5Rjg1RDFDMDBCODVBRTQgLyogSlNFdmVudC5jcHAgKi8sCkBA
IC0xODc0OCw2ICsxODc2Myw4IEBACiAJCQkJQTVBRkIzNTAxMTUxNTFBNzAwQjA0NUNCIC8qIFN0
ZXBSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU5RTNDMUUxMTU4MEY1MTAwNzI5MjhFIC8q
IEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1MTNCM0Q3MTE0QjE2
NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLywKKwkJCQk2MkNEMzI1
QTExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0
Nzc4QjgwMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTE4ODUxLDYgKzE4ODY4LDcgQEAKIAkJCQkxQUIxQUU3QTBDMDUxRkRFMDAxMzlGNEYgLyog
em9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFFN0IwQzA1MUZERTAw
MTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkyRTA4ODhD
NDExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291cmNlcyAqLywKKwkJ
CQk2MkNEMzI1QjExNTdFNTdDMDA2M0IwQTcgLyogQ3VzdG9tRXZlbnQuaWRsIGluIFJlc291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTIwOTYwLDYgKzIwOTc4LDggQEAKIAkJCQlBNUFGQjM0RjExNTE1MUE3MDBCMDQ1
Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1OUUzQzFGMTE1ODBGNTEw
MDcyOTI4RSAvKiBLZXlFdmVudElQaG9uZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1MTNCM0Q4
MTE0QjE2NkEwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
NjJDRDMyNTkxMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCShyZXZp
c2lvbiA1NjQ0MCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDkgKzMxLDExIEBACiAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIK
ICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIK
ICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5j
bHVkZSAiSlNDbGlwYm9hcmQuaCIKKyNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVk
ZSAiSlNDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCiAjaW5j
bHVkZSAiSlNLZXlib2FyZEV2ZW50LmgiCkBAIC0xNTMsNiArMTU1LDggQEAgSlNWYWx1ZSB0b0pT
KEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYQogI2VuZGlmCiAgICAgZWxzZSBpZiAoZXZlbnQt
PmlzUG9wU3RhdGVFdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1Rf
V1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFBvcFN0YXRlRXZlbnQsIGV2ZW50KTsKKyAgICBl
bHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRF
X0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVu
dCk7CiAgICAgZWxzZQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIEV2ZW50LCBldmVudCk7CiAKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gNTY0NDApCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkp
CkBAIC01MTksNiArNTE5LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyBHZXQgY29ycmVj
dCBwYXNzL3N0b3JlIHR5cGVzIHJlc3BlY3RpbmcgUE9EVHlwZSBmbGFnCiAgICAgbXkgJHBvZFR5
cGUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQT0RUeXBlIn07CiAgICAgbXkg
JGltcGxUeXBlID0gJHBvZFR5cGUgPyAiSlNTVkdQT0RUeXBlV3JhcHBlcjwkcG9kVHlwZT4gIiA6
ICRpbXBsQ2xhc3NOYW1lOworCiAgICAgJGhlYWRlckluY2x1ZGVzeyIkcG9kVHlwZS5oIn0gPSAx
IGlmICRwb2RUeXBlIGFuZCAkcG9kVHlwZSBuZSAiZmxvYXQiOwogCiAgICAgJGhlYWRlckluY2x1
ZGVzeyJKU1NWR1BPRFR5cGVXcmFwcGVyLmgifSA9IDEgaWYgJHBvZFR5cGU7CkBAIC0xNDg3LDcg
KzE0ODgsOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3Rv
ciQvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yVHlwZSA9
ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkY29uc3RydWN0b3JUeXBlID1+IHMvQ29uc3RydWN0b3IkLy87Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICIuaCJ9
ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnN0cnVjdG9yVHlwZSBu
ZSAiRE9NT2JqZWN0IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbElu
Y2x1ZGVzeyJKUyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIi5oIn0gPSAxOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvclxuIik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3RhdGlj
X2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihleGVj
LCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
aWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2Vh
YmxlIn0pIHsKQEAgLTE4MzcsNiArMTg0MCw3IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25h
dHVyZQogbXkgJW5hdGl2ZVR5cGUgPSAoCiAgICAgIkNvbXBhcmVIb3ciID0+ICJSYW5nZTo6Q29t
cGFyZUhvdyIsCiAgICAgIkRPTVN0cmluZyIgPT4gImNvbnN0IFVTdHJpbmcmIiwKKyAgICAiRE9N
T2JqZWN0IiA9PiAiU2NyaXB0VmFsdWUiLAogICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5v
ZGVGaWx0ZXI+IiwKICAgICAiU1ZHQW5nbGUiID0+ICJTVkdBbmdsZSIsCiAgICAgIlNWR0xlbmd0
aCIgPT4gIlNWR0xlbmd0aCIsCkBAIC0xODkwLDYgKzE4OTQsMTAgQEAgc3ViIEpTVmFsdWVUb05h
dGl2ZQogICAgICAgICByZXR1cm4gIiR2YWx1ZS50b1N0cmluZyhleGVjKSI7CiAgICAgfQogCisg
ICAgaWYgKCR0eXBlIGVxICJET01PYmplY3QiKSB7CisgICAgICAgIHJldHVybiAiJHZhbHVlIjsK
KyAgICB9CisKICAgICBpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5
cGUgZXEgImFueSIpIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmgifSA9IDE7CiAgICAgICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUoZXhlYywgJHZhbHVlKSI7CkBAIC0xOTg5LDcgKzE5OTcsMTEgQEAgc3ViIE5hdGl2ZVRvSlNW
YWx1ZQogICAgIH0KIAogICAgIGlmICgkdHlwZSBlcSAiRE9NT2JqZWN0IikgewotICAgICAgICAk
aW1wbEluY2x1ZGVzeyJKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIn0gPSAxOworICAgICAg
ICBpZiAoJGltcGxDbGFzc05hbWUgZXEgIkRvY3VtZW50IikgeworICAgICAgICAgICAgJGltcGxJ
bmNsdWRlc3siSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCJ9ID0gMTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIHJldHVybiAiJHZhbHVlLmpzVmFsdWUoKTsiOworICAgICAgICB9
CiAgICAgfSBlbHNpZiAoJHR5cGUgPX4gL1NWR1BhdGhTZWcvKSB7CiAgICAgICAgICRpbXBsSW5j
bHVkZXN7IkpTJHR5cGUuaCJ9ID0gMTsKICAgICAgICAgJGpvaW5lZE5hbWUgPSAkdHlwZTsKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQkocmV2aXNp
b24gNTY0NDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
CSh3b3JraW5nIGNvcHkpCkBAIC0yMzU2LDYgKzIzNTYsNyBAQCBzdWIgR2V0TmF0aXZlVHlwZQog
ICAgIHJldHVybiAidW5zaWduZWQiIGlmICR0eXBlIGVxICJ1bnNpZ25lZCBpbnQiOwogICAgIHJl
dHVybiAiTm9kZSoiIGlmICR0eXBlIGVxICJFdmVudFRhcmdldCIgYW5kICRpc1BhcmFtZXRlcjsK
ICAgICByZXR1cm4gImRvdWJsZSIgaWYgJHR5cGUgZXEgIkRhdGUiOworICAgIHJldHVybiAiU2Ny
aXB0VmFsdWUiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwogCiAgICAgcmV0dXJuICJTdHJpbmci
IGlmICR0eXBlIGVxICJET01Vc2VyRGF0YSI7ICAjIEZJWE1FOiBUZW1wb3JhcnkgaGFjaz8KIApA
QCAtMjQzNyw2ICsyNDM4LDExIEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJu
ICJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgkdmFsdWUpIjsKICAgICB9CiAKKyAgICBp
ZiAoJHR5cGUgZXEgIkRPTU9iamVjdCIpIHsKKyAgICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0
VmFsdWUuaCJ9ID0gMTsKKyAgICAgICAgcmV0dXJuICJTY3JpcHRWYWx1ZSgkdmFsdWUpIjsKKyAg
ICB9CisKICAgICBpZiAoJHR5cGUgZXEgIk5vZGVGaWx0ZXIiKSB7CiAgICAgICAgIHJldHVybiAi
VjhET01XcmFwcGVyOjp3cmFwTmF0aXZlTm9kZUZpbHRlcigkdmFsdWUpIjsKICAgICB9CkBAIC0y
NDk0LDYgKzI1MDAsNyBAQCBzdWIgR2V0VjhIZWFkZXJOYW1lCiAgICAgcmV0dXJuICJFdmVudExp
c3RlbmVyLmgiIGlmICR0eXBlIGVxICJFdmVudExpc3RlbmVyIjsKICAgICByZXR1cm4gIkV2ZW50
VGFyZ2V0LmgiIGlmICR0eXBlIGVxICJFdmVudFRhcmdldCI7CiAgICAgcmV0dXJuICJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIgaWYgJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7Cisg
ICAgcmV0dXJuICJTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKICAgICBy
ZXR1cm4gIlY4JHt0eXBlfS5oIjsKIH0KIApAQCAtMjU3MCw2ICsyNTc3LDcgQEAgbXkgJW5vbl93
cmFwcGVyX3R5cGVzID0gKAogICAgICdTVkdQYWludFR5cGUnID0+IDEsCiAgICAgJ0RPTVRpbWVT
dGFtcCcgPT4gMSwKICAgICAnSlNPYmplY3QnID0+IDEsCisgICAgJ0RPTU9iamVjdCcgPT4gMSwK
ICAgICAnRXZlbnRUYXJnZXQnID0+IDEsCiAgICAgJ05vZGVGaWx0ZXInID0+IDEsCiAgICAgJ0V2
ZW50TGlzdGVuZXInID0+IDEKQEAgLTI2MzEsNiArMjYzOSw3IEBAIHN1YiBSZXR1cm5OYXRpdmVU
b0pTVmFsdWUKIAogICAgIHJldHVybiAicmV0dXJuIHY4RGF0ZU9yTnVsbCgkdmFsdWUpOyIgaWYg
JHR5cGUgZXEgIkRhdGUiOwogICAgIHJldHVybiAicmV0dXJuIHY4OjpOdW1iZXI6Ok5ldygkdmFs
dWUpIiBpZiAkY29kZUdlbmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBvciAkdHlwZSBl
cSAiU1ZHUGFpbnRUeXBlIjsKKyAgICByZXR1cm4gInJldHVybiAkdmFsdWUudjhWYWx1ZSgpIiBp
ZiAkbmF0aXZlVHlwZSBlcSAiU2NyaXB0VmFsdWUiOwogCiAgICAgaWYgKCRjb2RlR2VuZXJhdG9y
LT5Jc1N0cmluZ1R5cGUoJHR5cGUpKSB7CiAgICAgICAgIG15ICRjb252ID0gJHNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnROdWxsU3RyaW5nVG8ifTsKSW5kZXg6IFdlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiA1NjQ0
MCkKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNp
bmNsdWRlICJDbGlwYm9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJWOEJlZm9yZUxvYWRFdmVudC5oIgogI2luY2x1ZGUg
IlY4QmluZGluZy5oIgpAQCAtMTQzLDYgKzE0NCw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KEV2ZW50KiBpbXBsKQogI2VuZGlmCiAgICAgaWYgKGltcGwtPmlzQmVmb3JlTG9hZEV2ZW50
KCkpCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEJlZm9yZUxvYWRFdmVudCo+KGlt
cGwpKTsKKyAgICBpZiAoaW1wbC0+aXNDdXN0b21FdmVudCgpKQorICAgICAgICByZXR1cm4gdG9W
OChzdGF0aWNfY2FzdDxDdXN0b21FdmVudCo+KGltcGwpKTsKICAgICByZXR1cm4gVjhFdmVudDo6
d3JhcChpbXBsKTsKIH0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5j
cHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkK
K3sKK30KKwordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgU2NyaXB0VmFsdWUg
ZGV0YWlsKQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGluaXRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpOworCisgICAgbV9kZXRhaWwg
PSBkZXRhaWw7Cit9CisKK2Jvb2wgQ3VzdG9tRXZlbnQ6OmlzQ3VzdG9tRXZlbnQoKSBjb25zdAor
eworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBX
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0N1c3Rv
bUV2ZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q3VzdG9tRXZlbnRfaAorI2RlZmluZSBDdXN0b21FdmVudF9oCisKKyNpbmNsdWRlICJBdG9taWNT
dHJpbmcuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDdXN0b21FdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q3VzdG9tRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEN1c3RvbUV2ZW50KTsKKyAgICB9CisKKyAgICB2b2lkIGluaXRDdXN0b21FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFNjcmlwdFZhbHVlIGRldGFpbCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21FdmVudCgp
IGNvbnN0OworCisgICAgU2NyaXB0VmFsdWUgZGV0YWlsKCkgY29uc3QgeyByZXR1cm4gbV9kZXRh
aWw7IH0KKworcHJpdmF0ZToKKyAgICBDdXN0b21FdmVudCgpOworCisgICAgU2NyaXB0VmFsdWUg
bV9kZXRhaWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDdXN0
b21FdmVudF9oCkluZGV4OiBXZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9k
b20vQ3VzdG9tRXZlbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICAvLyBJbnRyb2R1Y2VkIGlu
IERPTSBMZXZlbCAzOgorICAgIGludGVyZmFjZSBDdXN0b21FdmVudCA6IEV2ZW50IHsKKworICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01PYmplY3QgZGV0YWlsOworCisgICAgICAgdm9pZCBp
bml0Q3VzdG9tRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGVBcmcsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlQXJnLCAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGVBcmcsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIERPTU9iamVjdCBkZXRhaWxBcmcpOworICAgIH07CisKK30KSW5kZXg6IFdlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDU2NDQwKQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiQ29tbWVudC5oIgogI2luY2x1ZGUg
IkNvbnNvbGUuaCIKICNpbmNsdWRlICJDb29raWVKYXIuaCIKKyNpbmNsdWRlICJDdXN0b21FdmVu
dC5oIgogI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRG9jTG9hZGVyLmgiCkBAIC0zMDIxLDYgKzMwMjIsOCBAQCBQYXNzUmVm
UHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoCiAgICAgUmVmUHRyPEV2ZW50PiBldmVu
dDsKICAgICBpZiAoZXZlbnRUeXBlID09ICJFdmVudCIgfHwgZXZlbnRUeXBlID09ICJFdmVudHMi
IHx8IGV2ZW50VHlwZSA9PSAiSFRNTEV2ZW50cyIpCiAgICAgICAgIGV2ZW50ID0gRXZlbnQ6OmNy
ZWF0ZSgpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiQ3VzdG9tRXZlbnQiKQorICAgICAg
ICBldmVudCA9IEN1c3RvbUV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlmIChldmVudFR5cGUg
PT0gIktleWJvYXJkRXZlbnQiIHx8IGV2ZW50VHlwZSA9PSAiS2V5Ym9hcmRFdmVudHMiKQogICAg
ICAgICBldmVudCA9IEtleWJvYXJkRXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50
VHlwZSA9PSAiTWVzc2FnZUV2ZW50IikKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJldmlzaW9uIDU2NDQwKQorKysgV2Vi
Q29yZS9kb20vRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3MywxMSBAQCB2b2lk
IEV2ZW50Ojppbml0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nCiAgICAgbV9jYW5jZWxhYmxlID0g
Y2FuY2VsYWJsZUFyZzsKIH0KIAorYm9vbCBFdmVudDo6aXNDdXN0b21FdmVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50Ojppc1VJRXZlbnQoKSBjb25zdAog
ewogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuaAkocmV2aXNpb24gNTY0NDApCisrKyBXZWJDb3JlL2Rv
bS9FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIENsaXBib2FyZCogY2xpcGJvYXJkRGF0YSgpIGNvbnN0IHsgcmV0
dXJuIGlzQ2xpcGJvYXJkRXZlbnQoKSA/IGNsaXBib2FyZCgpIDogMDsgfQogCisgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0N1c3RvbUV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c1VJRXZlbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzTW91c2VFdmVudCgpIGNv
bnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNdXRhdGlvbkV2ZW50KCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="34756"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>