<?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>6616</bug_id>
          
          <creation_ts>2006-01-17 12:24:52 -0800</creation_ts>
          <short_desc>Double-clicking on a search result seems broken</short_desc>
          <delta_ts>2006-03-04 15:05:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28714</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-17 12:24:52 -0800</bug_when>
    <thetext>To Reproduce:
1. Navigate to www.google.com
2. Open inspector.
3. Search for &quot;google&quot;
4. Double click a search result

You always seem to end up with the &lt;body&gt; element selected in the tree view. I would expect the the tree 
view to expand and reveal the double-clicked element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35012</commentid>
    <comment_count>1</comment_count>
      <attachid>6830</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-03-03 14:31:30 -0800</bug_when>
    <thetext>Created attachment 6830
Patch

This patch mainly fixes this bug, however it has cleanup and fixes for other minor bugs.

&lt;rdar://problem/4411822&gt; wrong element shown in Inspector inspecting main image at apple.com
&lt;rdar://problem/4411908&gt; in the Web Inspector, state of disclosure triangles should be preserved after search
http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
Bug 6616: Double-clicking on a search result seems broken
http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.

Code clean up and move more code into JavaScript.
Removes a few unused ObjC methods.
Many search fixes. Reveals the focused node when exiting the search.
Shows a &quot;No Selection&quot; screen when there are no search results.
Shows a node count for the number of results.
Fixes a couple of TypeErrors that show on the console.
Uses the system selection color in the Style pane tables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35075</commentid>
    <comment_count>2</comment_count>
      <attachid>6830</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-04 11:56:39 -0800</bug_when>
    <thetext>Comment on attachment 6830
Patch

The finalize method needs to call [super finalize]. But also, as long as there&apos;s an observer installed, the object will never get finalized because the pointers in the notification center will keep it alive. You need to come up with some other way to handle the object lifetime. Some way of &quot;shutting down&quot; other than actually deallocating the object that will work both with and without GC. If this is a global object that&apos;s never deallocated, then you just can not worry about it.

setSearchQuery: and searchPerformed: should use copy on the passed-in string instead of retain.

+    BOOL selectFirst = (![_private-&gt;searchResults count] ? YES : NO);

No need for ? YES : NO on something that&apos;s already a boolean.

I noticed that for JavaScript you aren&apos;t putting the start brace for functions on a separate line. I think you should match our C coding style more closely there.

+    } else if(!query.length &amp;&amp; searchActive) {

Above line is missing a space after the if.

+        &lt;input id=&quot;search&quot; type=&quot;search&quot; autosave=&quot;nodeSearch&quot; results=&quot;20&quot; placeholder=&quot;Search&quot; incremental=&quot;incremental&quot; onsearch=&quot;performSearch(this.value)&quot; /&gt;

Not sure why you are using self-closing tags in this file. Is it XHTML or HTML?

Generally looks good. I&apos;m going to mark it review+ even though the finalize method is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35090</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-03-04 15:05:35 -0800</bug_when>
    <thetext>Thanks for pointing out the finalize method mistake. I have changed the notification center registration and de-registration to happen on window open and close.

I have changed the function declarations in JavaScript to match our style guidelines.

The file is intended to be XHTML. This was done before I knew how we handled xhtml as html. We should name the file with .xhtml then.

Committed in r13128. ( And r13131 since I forgot to save 2 files before committing.)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6830</attachid>
            <date>2006-03-03 14:31:30 -0800</date>
            <delta_ts>2006-03-04 11:56:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>fix.patch</filename>
            <type>text/plain</type>
            <size>41844</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTE4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTEgQEAKKzIwMDYtMDMt
MDMgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE4MjI+IHdyb25nIGVsZW1lbnQgc2hvd24gaW4gSW5zcGVjdG9yIGluc3BlY3RpbmcgbWFp
biBpbWFnZSBhdCBhcHBsZS5jb20KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MTE5MDg+IGlu
IHRoZSBXZWIgSW5zcGVjdG9yLCBzdGF0ZSBvZiBkaXNjbG9zdXJlIHRyaWFuZ2xlcyBzaG91bGQg
YmUgcHJlc2VydmVkIGFmdGVyIHNlYXJjaAorICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRh
cndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYKKyAgICAgICAgQnVnIDY2MTY6IERvdWJsZS1j
bGlja2luZyBvbiBhIHNlYXJjaCByZXN1bHQgc2VlbXMgYnJva2VuCisgICAgICAgIGh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOQorICAgICAgICBCdWcg
NjcwOTogVHlwZUVycm9yOiBWYWx1ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9uIHRy
ZWVTY3JvbGxiYXIucmVmcmVzaCkgaXMgbm90IG9iamVjdC4KKworICAgICAgICBDb2RlIGNsZWFu
IHVwIGFuZCBtb3ZlIG1vcmUgY29kZSBpbnRvIEphdmFTY3JpcHQuCisgICAgICAgIFJlbW92ZXMg
YSBmZXcgdW51c2VkIE9iakMgbWV0aG9kcy4KKyAgICAgICAgTWFueSBzZWFyY2ggZml4ZXMuIFJl
dmVhbHMgdGhlIGZvY3VzZWQgbm9kZSB3aGVuIGV4aXRpbmcgdGhlIHNlYXJjaC4KKyAgICAgICAg
U2hvd3MgYSAiTm8gU2VsZWN0aW9uIiBzY3JlZW4gd2hlbiB0aGVyZSBhcmUgbm8gc2VhcmNoIHJl
c3VsdHMuCisgICAgICAgIFNob3dzIGEgbm9kZSBjb3VudCBmb3IgdGhlIG51bWJlciBvZiByZXN1
bHRzLgorICAgICAgICBGaXhlcyBhIGNvdXBsZSBvZiBUeXBlRXJyb3JzIHRoYXQgc2hvdyBvbiB0
aGUgY29uc29sZS4KKyAgICAgICAgVXNlcyB0aGUgc3lzdGVtIHNlbGVjdGlvbiBjb2xvciBpbiB0
aGUgU3R5bGUgcGFuZSB0YWJsZXMuCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL0xvY2FsaXph
YmxlLnN0cmluZ3M6IHJlbW92ZWQgbG9jYWxpemVkIHN0cmluZ3MKKyAgICAgICAgKiBXZWJJbnNw
ZWN0b3Iuc3VicHJvai9XZWJJbnNwZWN0b3IubToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIGlu
aXRdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIGRlYWxsb2NdKToKKyAgICAgICAgKC1bV2Vi
SW5zcGVjdG9yIHdpbmRvd10pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2V0U2VhcmNoUXVl
cnk6XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciByZXNpemVUb3BBcmVhXSk6CisgICAgICAg
ICgtW1dlYkluc3BlY3RvciBzZWFyY2hQZXJmb3JtZWQ6XSk6IGNhbGxlZCBmcm9tIEphdmFTY3Jp
cHQgd2hlbiBhIHNlYXJjaCBoYXBwZW5zCisgICAgICAgICgtW1dlYkluc3BlY3RvciBfdG9nZ2xl
SWdub3JlV2hpdGVzcGFjZTpdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIF9leGl0U2VhcmNo
Ol0pOiBleGl0IHNlYXJjaCByZXN1bHRzIG9uIGRvdWJsZSBjbGljaworICAgICAgICAoLVtXZWJJ
bnNwZWN0b3IgX2ZvY3VzUm9vdE5vZGU6XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBfcmV2
ZWFsQW5kU2VsZWN0Tm9kZUluVHJlZTpdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIF9yZWZy
ZXNoU2VhcmNoXSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBfdXBkYXRlXSk6CisgICAgICAg
ICgtW1dlYkluc3BlY3RvciBfdXBkYXRlVHJhdmVyc2FsQnV0dG9uc10pOgorICAgICAgICAoLVtX
ZWJJbnNwZWN0b3IgX3VwZGF0ZVJvb3RdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIF91cGRh
dGVUcmVlU2Nyb2xsYmFyXSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBfdXBkYXRlU3lzdGVt
Q29sb3JzXSk6IHVwZGF0ZSBDU1Mgd2l0aCBzeXN0ZW0gY29sb3JzCisgICAgICAgICgtW1dlYklu
c3BlY3RvciB3ZWJWaWV3OmRpZEZpbmlzaExvYWRGb3JGcmFtZTpdKToKKyAgICAgICAgKC1bV2Vi
SW5zcGVjdG9yIHdlYlZpZXc6cGx1Z0luVmlld1dpdGhBcmd1bWVudHM6XSk6CisgICAgICAgICgt
W1dlYkluc3BlY3RvciBvdXRsaW5lVmlld1NlbGVjdGlvbkRpZENoYW5nZTpdKTogdGVzdCBmb3Ig
d2ViVmlld0xvYWRlZAorICAgICAgICAoLVtXZWJJbnNwZWN0b3JQcml2YXRlIGluaXRdKTogYWxs
b2MgcmlnaHRBcnJvd0ltYWdlIGFuZCBkb3duQXJyb3dJbWFnZQorICAgICAgICAoLVtXZWJJbnNw
ZWN0b3JQcml2YXRlIGRlYWxsb2NdKTogbm8gbW9yZSBtYXRjaGVkUnVsZXMKKyAgICAgICAgKC1b
RE9NTm9kZSBfZGlzcGxheU5hbWVdKTogcmVtb3ZlZCBsb2NhbGl6YXRpb24gVUlfU1RSSU5HIGNh
bGxzLgorICAgICAgICAqIFdlYkluc3BlY3Rvci5zdWJwcm9qL1dlYkluc3BlY3RvckludGVybmFs
Lmg6CisgICAgICAgICogV2ViSW5zcGVjdG9yLnN1YnByb2ovd2ViSW5zcGVjdG9yL2luc3BlY3Rv
ci5jc3M6CisgICAgICAgICogV2ViSW5zcGVjdG9yLnN1YnByb2ovd2ViSW5zcGVjdG9yL2luc3Bl
Y3Rvci5odG1sOgorICAgICAgICAqIFdlYkluc3BlY3Rvci5zdWJwcm9qL3dlYkluc3BlY3Rvci9p
bnNwZWN0b3IuanM6CisKIDIwMDYtMDMtMDIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBv
cC5jb20+CiAKICAgICAgICAgRml4ZWQgYSB0eXBvIGluIHRoZSBjb21tZW50cyBhZGRlZCBpbiB0
aGUgcHJldmlvdXMgY2hlY2tpbi4KSW5kZXg6IFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9yLm0JKHJldmlzaW9uIDEzMTE4
KQorKysgV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwz
MCArMjYsMzUgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCA8V2ViS2l0L1dlYlZpZXcu
aD4KLSNpbXBvcnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dl
YkhUTUxWaWV3Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViRnJhbWUuaD4KKyNpbXBvcnQgIldlYklu
c3BlY3Rvci5oIgorI2ltcG9ydCAiV2ViSW5zcGVjdG9ySW50ZXJuYWwuaCIKKworI2ltcG9ydCAi
V2ViSW5zcGVjdG9yUGFuZWwuaCIKKyNpbXBvcnQgIldlYkluc3BlY3Rvck91dGxpbmVWaWV3Lmgi
CisjaW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0LmgiCisjaW1wb3J0ICJXZWJWaWV3LmgiCisjaW1w
b3J0ICJXZWJWaWV3UHJpdmF0ZS5oIgorI2ltcG9ydCAiV2ViSFRNTFZpZXcuaCIKKyNpbXBvcnQg
IldlYkZyYW1lLmgiCisjaW1wb3J0ICJXZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCIKKyNpbXBvcnQg
IldlYktpdE5TU3RyaW5nRXh0cmFzLmgiCisKICNpbXBvcnQgPFdlYktpdC9ET01Db3JlLmg+Ci0j
aW1wb3J0IDxXZWJLaXQvRE9NRXZlbnRzLmg+CiAjaW1wb3J0IDxXZWJLaXQvRE9NSFRNTC5oPgog
I2ltcG9ydCA8V2ViS2l0L0RPTUNTUy5oPgotI2ltcG9ydCA8V2ViS2l0L0RPTVRyYXZlcnNhbC5o
PgogI2ltcG9ydCA8V2ViS2l0L0RPTUV4dGVuc2lvbnMuaD4KICNpbXBvcnQgPFdlYktpdC9ET01Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViSW5zcGVjdG9yLmg+Ci0jaW1wb3J0IDxXZWJL
aXQvV2ViSW5zcGVjdG9ySW50ZXJuYWwuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJMb2NhbGl6YWJs
ZVN0cmluZ3MuaD4KIAotI2ltcG9ydCAiV2ViS2l0TlNTdHJpbmdFeHRyYXMuaCIKLSNpbXBvcnQg
IldlYk5vZGVIaWdobGlnaHQuaCIKLSNpbXBvcnQgIldlYkluc3BlY3RvclBhbmVsLmgiCi0jaW1w
b3J0ICJXZWJJbnNwZWN0b3JPdXRsaW5lVmlldy5oIgotCiBzdGF0aWMgTlNNYXBUYWJsZSAqbGVu
Z3RoSWdub3JpbmdXaGl0ZXNwYWNlQ2FjaGUgPSBOVUxMOwogc3RhdGljIE5TTWFwVGFibGUgKmxh
c3RDaGlsZEluZGV4SWdub3JpbmdXaGl0ZXNwYWNlQ2FjaGUgPSBOVUxMOwogc3RhdGljIE5TTWFw
VGFibGUgKmxhc3RDaGlsZElnbm9yaW5nV2hpdGVzcGFjZUNhY2hlID0gTlVMTDsKIAorQGludGVy
ZmFjZSBOU1dpbmRvdyAoTlNXaW5kb3dQcml2YXRlKQorLSAodm9pZClfc2V0Q29udGVudEhhc1No
YWRvdzooQk9PTCloYXNTaGFkb3c7CitAZW5kCisKKyNwcmFnbWEgbWFyayAtCisKIEBpbXBsZW1l
bnRhdGlvbiBXZWJJbnNwZWN0b3IKICsgKFdlYkluc3BlY3RvciAqKXNoYXJlZFdlYkluc3BlY3Rv
cgogewpAQCAtNzMsNiArNzgsMTAgQEAKICAgICBfcHJpdmF0ZSA9IFtbV2ViSW5zcGVjdG9yUHJp
dmF0ZSBhbGxvY10gaW5pdF07CiAgICAgX3ByaXZhdGUtPmlnbm9yZVdoaXRlc3BhY2UgPSBZRVM7
CiAKKyAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9ub2RlSGlnaGxpZ2h0RXhwaXJlZDopIG5hbWU6QCJX
ZWJOb2RlSGlnaGxpZ2h0RXhwaXJlZCIgb2JqZWN0Om5pbF07CisgICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfdXBkYXRlU3lzdGVtQ29sb3JzKSBuYW1lOk5TU3lzdGVtQ29sb3JzRGlkQ2hhbmdlTm90aWZp
Y2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3VwZGF0ZVRyZWVTY3Jv
bGxiYXIpIG5hbWU6TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Ol9wcml2
YXRlLT50cmVlT3V0bGluZVZpZXddOyAKKwogICAgIHJldHVybiBzZWxmOwogfQogCkBAIC04NCw5
ICs5MywxOCBAQAogICAgIHJldHVybiBzZWxmOwogfQogCistICh2b2lkKWZpbmFsaXplCit7Cisg
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpz
ZWxmIG5hbWU6QCJXZWJOb2RlSGlnaGxpZ2h0RXhwaXJlZCIgb2JqZWN0Om5pbF07CisgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5h
bWU6TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5h
bWU6TlNTeXN0ZW1Db2xvcnNEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Cit9CisK
IC0gKHZvaWQpZGVhbGxvYwogewogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiV2ViTm9kZUhpZ2hsaWdodEV4cGlyZWQi
IG9iamVjdDpuaWxdOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdlTm90aWZpY2F0aW9u
IG9iamVjdDpuaWxdOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TU3lzdGVtQ29sb3JzRGlkQ2hhbmdlTm90aWZpY2F0
aW9uIG9iamVjdDpuaWxdOwogICAgIFtfcHJpdmF0ZSByZWxlYXNlXTsKICAgICBbc3VwZXIgZGVh
bGxvY107CiB9CkBAIC0xMjUsMzEgKzE0MywxMiBAQAogICAgICAgICBbW19wcml2YXRlLT53ZWJW
aWV3IG1haW5GcmFtZV0gbG9hZFJlcXVlc3Q6W1tbTlNVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0
aFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGhdXSBhdXRvcmVsZWFzZV1dOwogCiAgICAg
ICAgIFtzZWxmIHNldFdpbmRvdzp3aW5kb3ddOwotICAgICAgICBbc2VsZiB3aW5kb3dEaWRMb2Fk
XTsKICAgICAgICAgcmV0dXJuIHdpbmRvdzsKICAgICB9CiAKICAgICByZXR1cm4gd2luZG93Owog
fQogCi0tICh2b2lkKXdpbmRvd0RpZExvYWQKLXsKLSAgICBpZiAoX3ByaXZhdGUtPndpbmRvd0xv
YWRlZCkKLSAgICAgICAgcmV0dXJuOwotICAgIF9wcml2YXRlLT53aW5kb3dMb2FkZWQgPSBZRVM7
Ci0KLSAgICBfcHJpdmF0ZS0+cmlnaHRBcnJvd0ltYWdlID0gW1tOU0ltYWdlIGFsbG9jXSBpbml0
V2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W3NlbGYgY2xhc3Nd
XSBwYXRoRm9yUmVzb3VyY2U6QCJyaWdodFRyaWFuZ2xlIiBvZlR5cGU6QCJwbmciIGluRGlyZWN0
b3J5OkAid2ViSW5zcGVjdG9yL0ltYWdlcyJdXTsKLSAgICBfcHJpdmF0ZS0+ZG93bkFycm93SW1h
Z2UgPSBbW05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoQ29udGVudHNPZkZpbGU6W1tOU0J1bmRsZSBi
dW5kbGVGb3JDbGFzczpbc2VsZiBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAImRvd25Ucmlhbmds
ZSIgb2ZUeXBlOkAicG5nIiBpbkRpcmVjdG9yeTpAIndlYkluc3BlY3Rvci9JbWFnZXMiXV07Ci0K
LSAgICBpZiAoW19wcml2YXRlLT5zZWFyY2hRdWVyeSBsZW5ndGhdKSB7Ci0gICAgICAgIFtzZWxm
IF9zaG93U2VhcmNoUmVzdWx0czpZRVNdOwotICAgICAgICBbc2VsZiBfcmVmcmVzaFNlYXJjaF07
Ci0gICAgfQotCi0gICAgW3NlbGYgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihfaGlnaGxpZ2h0
Tm9kZTopIHdpdGhPYmplY3Q6X3ByaXZhdGUtPmZvY3VzZWROb2RlIGFmdGVyRGVsYXk6MC4wXTsK
LSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNl
bGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9ub2RlSGlnaGxpZ2h0RXhwaXJlZDopIG5hbWU6QCJXZWJO
b2RlSGlnaGxpZ2h0RXhwaXJlZCIgb2JqZWN0Om5pbF07Ci19Ci0KIC0gKHZvaWQpd2luZG93V2ls
bENsb3NlOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewogICAgIGlmICghX3ByaXZh
dGUtPmlzU2hhcmVkSW5zcGVjdG9yKQpAQCAtMjU3LDE4ICsyNTYsMTYgQEAKIAogLSAodm9pZClz
ZXRTZWFyY2hRdWVyeTooTlNTdHJpbmcgKilxdWVyeQogewotICAgIGlmIChbcXVlcnkgaXNFcXVh
bFRvU3RyaW5nOl9wcml2YXRlLT5zZWFyY2hRdWVyeV0pCi0gICAgICAgIHJldHVybjsKLQotICAg
IFtxdWVyeSByZXRhaW5dOwotICAgIFtfcHJpdmF0ZS0+c2VhcmNoUXVlcnkgcmVsZWFzZV07Ci0g
ICAgX3ByaXZhdGUtPnNlYXJjaFF1ZXJ5ID0gcXVlcnk7Ci0KICAgICBpZiAoX3ByaXZhdGUtPndl
YlZpZXdMb2FkZWQpIHsKKyAgICAgICAgaWYgKCFxdWVyeSkKKyAgICAgICAgICAgIHF1ZXJ5ID0g
QCIiOworICAgICAgICBbW19wcml2YXRlLT53ZWJWaWV3IHdpbmRvd1NjcmlwdE9iamVjdF0gY2Fs
bFdlYlNjcmlwdE1ldGhvZDpAInBlcmZvcm1TZWFyY2giIHdpdGhBcmd1bWVudHM6W05TQXJyYXkg
YXJyYXlXaXRoT2JqZWN0OnF1ZXJ5XV07CiAgICAgICAgIERPTUhUTUxJbnB1dEVsZW1lbnQgKnNl
YXJjaCA9IChET01IVE1MSW5wdXRFbGVtZW50ICopW19wcml2YXRlLT5kb21Eb2N1bWVudCBnZXRF
bGVtZW50QnlJZDpAInNlYXJjaCJdOwotICAgICAgICBbc2VhcmNoIHNldFZhbHVlOihxdWVyeSA/
IHF1ZXJ5IDogQCIiKV07Ci0gICAgICAgIFtzZWxmIF9zaG93U2VhcmNoUmVzdWx0czooW3F1ZXJ5
IGxlbmd0aF0gPyBZRVMgOiBOTyldOwotICAgICAgICBbc2VsZiBfcmVmcmVzaFNlYXJjaF07Cisg
ICAgICAgIFtzZWFyY2ggc2V0VmFsdWU6cXVlcnldOworICAgIH0gZWxzZSB7CisgICAgICAgIFtx
dWVyeSByZXRhaW5dOworICAgICAgICBbX3ByaXZhdGUtPnNlYXJjaFF1ZXJ5IHJlbGVhc2VdOwor
ICAgICAgICBfcHJpdmF0ZS0+c2VhcmNoUXVlcnkgPSBxdWVyeTsKICAgICB9CiB9CiAKQEAgLTMx
NCw3ICszMTEsNyBAQAogICAgIHVuc2lnbmVkIGluZGV4ID0gW3BvcHVwIHNlbGVjdGVkSW5kZXhd
OwogICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKIAotICAgIERPTU5vZGUgKmN1cnJlbnROb2RlID0g
X3ByaXZhdGUtPnJvb3ROb2RlOworICAgIERPTU5vZGUgKmN1cnJlbnROb2RlID0gW3NlbGYgcm9v
dERPTU5vZGVdOwogICAgIHdoaWxlIChjdXJyZW50Tm9kZSkgewogICAgICAgICBpZiAoY291bnQg
PT0gaW5kZXgpIHsKICAgICAgICAgICAgIFtzZWxmIHNldFJvb3RET01Ob2RlOmN1cnJlbnROb2Rl
XTsKQEAgLTMyNSw3ICszMjIsNyBAQAogICAgIH0KIH0KIAotLSAodm9pZClyZXNpemVUb3BBcmVh
OihET01FdmVudCAqKWRvbUV2ZW50CistICh2b2lkKXJlc2l6ZVRvcEFyZWEKIHsKICAgICBOU1dp
bmRvdyAqd2luZG93ID0gW3NlbGYgd2luZG93XTsKICAgICBOU0V2ZW50ICpldmVudCA9IFt3aW5k
b3cgY3VycmVudEV2ZW50XTsKQEAgLTQzMyw5ICs0MzAsOSBAQAogICAgIH0KIAogICAgIGlmIChu
b2RlKSB7Ci0gICAgICAgIERPTU5vZGUgKnJvb3QgPSBfcHJpdmF0ZS0+cm9vdE5vZGU7CisgICAg
ICAgIERPTU5vZGUgKnJvb3QgPSBbc2VsZiByb290RE9NTm9kZV07CiAgICAgICAgIGlmICghW3Jv
b3QgaXNTYW1lTm9kZTpub2RlXSAmJiAhW3Jvb3QgX2lzQW5jZXN0b3JPZk5vZGU6bm9kZV0pCi0g
ICAgICAgICAgICBbc2VsZiBzZXRSb290RE9NTm9kZTpbX3ByaXZhdGUtPmZvY3VzZWROb2RlIF9m
aXJzdEFuY2VzdG9yQ29tbW9uV2l0aE5vZGU6bm9kZV1dOworICAgICAgICAgICAgW3NlbGYgc2V0
Um9vdERPTU5vZGU6W1tzZWxmIGZvY3VzZWRET01Ob2RlXSBfZmlyc3RBbmNlc3RvckNvbW1vbldp
dGhOb2RlOm5vZGVdXTsKICAgICAgICAgW3NlbGYgc2V0Rm9jdXNlZERPTU5vZGU6bm9kZV07CiAg
ICAgfQogfQpAQCAtNDcwLDEyICs0NjcsMjggQEAKICAgICB9CiAKICAgICBpZiAobm9kZSkgewot
ICAgICAgICBET01Ob2RlICpyb290ID0gX3ByaXZhdGUtPnJvb3ROb2RlOworICAgICAgICBET01O
b2RlICpyb290ID0gW3NlbGYgcm9vdERPTU5vZGVdOwogICAgICAgICBpZiAoIVtyb290IGlzU2Ft
ZU5vZGU6bm9kZV0gJiYgIVtyb290IF9pc0FuY2VzdG9yT2ZOb2RlOm5vZGVdKQotICAgICAgICAg
ICAgW3NlbGYgc2V0Um9vdERPTU5vZGU6W19wcml2YXRlLT5mb2N1c2VkTm9kZSBfZmlyc3RBbmNl
c3RvckNvbW1vbldpdGhOb2RlOm5vZGVdXTsKKyAgICAgICAgICAgIFtzZWxmIHNldFJvb3RET01O
b2RlOltbc2VsZiBmb2N1c2VkRE9NTm9kZV0gX2ZpcnN0QW5jZXN0b3JDb21tb25XaXRoTm9kZTpu
b2RlXV07CiAgICAgICAgIFtzZWxmIHNldEZvY3VzZWRET01Ob2RlOm5vZGVdOwogICAgIH0KIH0K
KworLSAodm9pZClzZWFyY2hQZXJmb3JtZWQ6KE5TU3RyaW5nICopcXVlcnkKK3sKKyAgICBbcXVl
cnkgcmV0YWluXTsKKyAgICBbX3ByaXZhdGUtPnNlYXJjaFF1ZXJ5IHJlbGVhc2VdOworICAgIF9w
cml2YXRlLT5zZWFyY2hRdWVyeSA9IHF1ZXJ5OworCisgICAgQk9PTCBzaG93ID0gW3F1ZXJ5IGxl
bmd0aF07CisgICAgaWYgKHNob3cgIT0gX3ByaXZhdGUtPnNlYXJjaFJlc3VsdHNWaXNpYmxlKSB7
CisgICAgICAgIFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3IHNldERvdWJsZUFjdGlvbjooc2hv
dyA/IEBzZWxlY3RvcihfZXhpdFNlYXJjaDopIDogQHNlbGVjdG9yKF9mb2N1c1Jvb3ROb2RlOikp
XTsKKyAgICAgICAgX3ByaXZhdGUtPnByZXZlbnRSZXZlYWxPbkZvY3VzID0gc2hvdzsKKyAgICAg
ICAgX3ByaXZhdGUtPnNlYXJjaFJlc3VsdHNWaXNpYmxlID0gc2hvdzsKKyAgICB9CisKKyAgICBb
c2VsZiBfcmVmcmVzaFNlYXJjaF07Cit9CiBAZW5kCiAKICNwcmFnbWEgbWFyayAtCkBAIC00ODUs
NiArNDk4LDcgQEAKIHsKICAgICBfcHJpdmF0ZS0+aWdub3JlV2hpdGVzcGFjZSA9ICFfcHJpdmF0
ZS0+aWdub3JlV2hpdGVzcGFjZTsKICAgICBbX3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyByZWxv
YWREYXRhXTsKKyAgICBbc2VsZiBfdXBkYXRlVHJlZVNjcm9sbGJhcl07CiB9CiAKIC0gKHZvaWQp
X2hpZ2hsaWdodE5vZGU6KERPTU5vZGUgKilub2RlCkBAIC01MjEsMjcgKzUzNSwyMyBAQAogICAg
IH0KIH0KIAotLSAodm9pZClfZm9jdXNSb290Tm9kZTooaWQpc2VuZGVyCistICh2b2lkKV9leGl0
U2VhcmNoOihpZClzZW5kZXIKIHsKLSAgICBpZCBub2RlID0gbmlsOwotICAgIGlmIChbc2VuZGVy
IGlzS2luZE9mQ2xhc3M6W05TTWVudUl0ZW0gY2xhc3NdXSkgewotICAgICAgICBub2RlID0gW3Nl
bmRlciByZXByZXNlbnRlZE9iamVjdF07Ci0gICAgfSBlbHNlIGlmKHNlbmRlciA9PSBfcHJpdmF0
ZS0+dHJlZU91dGxpbmVWaWV3KSB7Ci0gICAgICAgIGludCBpbmRleCA9IFtzZW5kZXIgc2VsZWN0
ZWRSb3ddOwotICAgICAgICBpZiAoaW5kZXggPT0gLTEpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIG5vZGUgPSBbc2VuZGVyIGl0ZW1BdFJvdzppbmRleF07Ci0gICAgfQorICAgIFtzZWxm
IHNldFNlYXJjaFF1ZXJ5Om5pbF07Cit9CiAKLSAgICBpZiAoIVtub2RlIGlzU2FtZU5vZGU6X3By
aXZhdGUtPnJvb3ROb2RlXSkgeworLSAodm9pZClfZm9jdXNSb290Tm9kZTooaWQpc2VuZGVyCit7
CisgICAgaW50IGluZGV4ID0gW3NlbmRlciBzZWxlY3RlZFJvd107CisgICAgaWYgKGluZGV4ID09
IC0xIHx8ICFzZW5kZXIpCisgICAgICAgIHJldHVybjsKKyAgICBET01Ob2RlICpub2RlID0gW3Nl
bmRlciBpdGVtQXRSb3c6aW5kZXhdOworICAgIGlmICghW25vZGUgaXNTYW1lTm9kZTpbc2VsZiBy
b290RE9NTm9kZV1dKQogICAgICAgICBbc2VsZiBzZXRSb290RE9NTm9kZTpub2RlXTsKLSAgICAg
ICAgW3NlbGYgc2V0U2VhcmNoUXVlcnk6bmlsXTsgLy8gZXhpdCBzZWFyY2ggbW9kZQotICAgIH0K
IH0KIAogLSAodm9pZClfcmV2ZWFsQW5kU2VsZWN0Tm9kZUluVHJlZTooRE9NTm9kZSAqKW5vZGUK
IHsKLQogICAgIGlmICghX3ByaXZhdGUtPndlYlZpZXdMb2FkZWQgfHwgIW5vZGUpCiAgICAgICAg
IHJldHVybjsKIApAQCAtNTUwLDcgKzU2MCw3IEBACiAgICAgICAgIERPTU5vZGUgKmN1cnJlbnRO
b2RlID0gW25vZGUgcGFyZW50Tm9kZV07CiAgICAgICAgIHdoaWxlIChjdXJyZW50Tm9kZSkgewog
ICAgICAgICAgICAgW2FuY2VzdG9ycyBhZGRPYmplY3Q6Y3VycmVudE5vZGVdOwotICAgICAgICAg
ICAgaWYgKFtjdXJyZW50Tm9kZSBpc1NhbWVOb2RlOl9wcml2YXRlLT5yb290Tm9kZV0pCisgICAg
ICAgICAgICBpZiAoW2N1cnJlbnROb2RlIGlzU2FtZU5vZGU6W3NlbGYgcm9vdERPTU5vZGVdXSkK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGN1cnJlbnROb2RlID0gW2N1cnJl
bnROb2RlIHBhcmVudE5vZGVdOwogICAgICAgICB9CkBAIC01NjYsMzQgKzU3NiwxNCBAQAogICAg
IGlmIChpbmRleCAhPSAtMSkgewogICAgICAgICBbX3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyBz
ZWxlY3RSb3dJbmRleGVzOltOU0luZGV4U2V0IGluZGV4U2V0V2l0aEluZGV4OmluZGV4XSBieUV4
dGVuZGluZ1NlbGVjdGlvbjpOT107CiAgICAgICAgIFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3
IHNjcm9sbFJvd1RvVmlzaWJsZTppbmRleF07CisgICAgICAgIFtzZWxmIF91cGRhdGVUcmVlU2Ny
b2xsYmFyXTsKICAgICB9CiB9CiAKLS0gKHZvaWQpX3Nob3dTZWFyY2hSZXN1bHRzOihCT09MKXNo
b3cKLXsKLSAgICBpZiAoc2hvdyA9PSBfcHJpdmF0ZS0+c2VhcmNoUmVzdWx0c1Zpc2libGUpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIERPTUhUTUxFbGVtZW50ICp0cmVlUG9wdXAgPSAoRE9NSFRN
TEVsZW1lbnQgKilbX3ByaXZhdGUtPmRvbURvY3VtZW50IGdldEVsZW1lbnRCeUlkOkAidHJlZVBv
cHVwIl07Ci0gICAgRE9NSFRNTEVsZW1lbnQgKnNlYXJjaEZpZWxkID0gKERPTUhUTUxFbGVtZW50
ICopW19wcml2YXRlLT5kb21Eb2N1bWVudCBnZXRFbGVtZW50QnlJZDpAInNlYXJjaCJdOwotICAg
IERPTUhUTUxFbGVtZW50ICpzZWFyY2hDb3VudCA9IChET01IVE1MRWxlbWVudCAqKVtfcHJpdmF0
ZS0+ZG9tRG9jdW1lbnQgZ2V0RWxlbWVudEJ5SWQ6QCJzZWFyY2hDb3VudCJdOwotCi0gICAgaWYg
KHNob3cpIHsKLSAgICAgICAgW1t0cmVlUG9wdXAgc3R5bGVdIHNldERpc3BsYXk6QCJub25lIl07
Ci0gICAgICAgIFtbc2VhcmNoQ291bnQgc3R5bGVdIHNldERpc3BsYXk6QCJibG9jayJdOwotICAg
ICAgICBbW3NlYXJjaEZpZWxkIHN0eWxlXSBzZXRXaWR0aDpAIjE1MHB4Il07Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgW1t0cmVlUG9wdXAgc3R5bGVdIHJlbW92ZVByb3BlcnR5OkAiZGlzcGxheSJd
OwotICAgICAgICBbW3NlYXJjaENvdW50IHN0eWxlXSByZW1vdmVQcm9wZXJ0eTpAImRpc3BsYXki
XTsKLSAgICAgICAgW1tzZWFyY2hGaWVsZCBzdHlsZV0gc2V0V2lkdGg6QCI5MHB4Il07Ci0gICAg
fQotCi0gICAgX3ByaXZhdGUtPnByZXZlbnRSZXZlYWxPbkZvY3VzID0gc2hvdzsKLSAgICBfcHJp
dmF0ZS0+c2VhcmNoUmVzdWx0c1Zpc2libGUgPSBzaG93OwotfQotCiAtICh2b2lkKV9yZWZyZXNo
U2VhcmNoCiB7CisgICAgQk9PTCBzZWxlY3RGaXJzdCA9ICghW19wcml2YXRlLT5zZWFyY2hSZXN1
bHRzIGNvdW50XSA/IFlFUyA6IE5PKTsKKwogICAgIGlmICghX3ByaXZhdGUtPnNlYXJjaFJlc3Vs
dHMpCiAgICAgICAgIF9wcml2YXRlLT5zZWFyY2hSZXN1bHRzID0gW1tOU011dGFibGVBcnJheSBh
bGxvY10gaW5pdFdpdGhDYXBhY2l0eToxMDBdOwogICAgIGVsc2UKQEAgLTYwMSw3ICs1OTEsMjEg
QEAKIAogICAgIE5TU3RyaW5nICpxdWVyeSA9IF9wcml2YXRlLT5zZWFyY2hRdWVyeTsKICAgICBp
ZiAoIVtxdWVyeSBsZW5ndGhdKSB7CisgICAgICAgIC8vIHN3aXRjaCBiYWNrIHRvIHRoZSBET00g
dHJlZSBhbmQgcmV2ZWFsIHRoZSBmb2N1c2VkIG5vZGUKKyAgICAgICAgRE9NTm9kZSAqbm9kZSA9
IFtbc2VsZiBmb2N1c2VkRE9NTm9kZV0gcmV0YWluXTsKKyAgICAgICAgRE9NTm9kZSAqcm9vdCA9
IFtzZWxmIHJvb3RET01Ob2RlXTsKKyAgICAgICAgaWYgKCFbcm9vdCBfaXNBbmNlc3Rvck9mTm9k
ZTpub2RlXSkKKyAgICAgICAgICAgIFtzZWxmIHNldFJvb3RET01Ob2RlOltub2RlIHBhcmVudE5v
ZGVdXTsKKworICAgICAgICBfcHJpdmF0ZS0+cHJldmVudFNlbGVjdGlvblJlZm9jdXMgPSBZRVM7
CiAgICAgICAgIFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3IHJlbG9hZERhdGFdOworICAgICAg
ICBfcHJpdmF0ZS0+cHJldmVudFNlbGVjdGlvblJlZm9jdXMgPSBOTzsKKworICAgICAgICBbc2Vs
ZiBfcmV2ZWFsQW5kU2VsZWN0Tm9kZUluVHJlZTpub2RlXTsKKyAgICAgICAgW3NlbGYgX3VwZGF0
ZVRyYXZlcnNhbEJ1dHRvbnNdOworICAgICAgICBbbm9kZSByZWxlYXNlXTsKKworICAgICAgICBb
W19wcml2YXRlLT53ZWJWaWV3IHdpbmRvd1NjcmlwdE9iamVjdF0gY2FsbFdlYlNjcmlwdE1ldGhv
ZDpAInRvZ2dsZU5vU2VsZWN0aW9uIiB3aXRoQXJndW1lbnRzOltOU0FycmF5IGFycmF5V2l0aE9i
amVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dXV07CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTYyNiwyMSArNjMwLDI4IEBACiAKICAgICBET01IVE1MRWxlbWVudCAqc2VhcmNo
Q291bnQgPSAoRE9NSFRNTEVsZW1lbnQgKilbX3ByaXZhdGUtPmRvbURvY3VtZW50IGdldEVsZW1l
bnRCeUlkOkAic2VhcmNoQ291bnQiXTsKICAgICBpZiAoY291bnQgPT0gMSkKLSAgICAgICAgW3Nl
YXJjaENvdW50IHNldElubmVyVGV4dDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpVSV9TVFJJ
TkcoIjEgbm9kZSIsICJ3ZWIgaW5zcGVjdG9yIG5vZGUgc2VhcmNoIHJlc3VsdHMgY291bnQgd2l0
aCAxIHJlc3VsdCIpLCBjb3VudF1dOworICAgICAgICBbc2VhcmNoQ291bnQgc2V0SW5uZXJUZXh0
OkAiMSBub2RlIl07CiAgICAgZWxzZQotICAgICAgICBbc2VhcmNoQ291bnQgc2V0SW5uZXJUZXh0
OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OlVJX1NUUklORygiJXUgbm9kZXMiLCAid2ViIGlu
c3BlY3RvciBub2RlIHNlYXJjaCByZXN1bHRzIGNvdW50IHdpdGggemVybyBvciBtb3JlIHRoYW4g
MSByZXN1bHRzIiksIGNvdW50XV07CisgICAgICAgIFtzZWFyY2hDb3VudCBzZXRJbm5lclRleHQ6
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIldSBub2RlcyIsIGNvdW50XV07CiAKICAgICBb
X3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyByZWxvYWREYXRhXTsKKyAgICBbc2VsZiBfdXBkYXRl
VHJlZVNjcm9sbGJhcl07CisKKyAgICBbW19wcml2YXRlLT53ZWJWaWV3IHdpbmRvd1NjcmlwdE9i
amVjdF0gY2FsbFdlYlNjcmlwdE1ldGhvZDpAInRvZ2dsZU5vU2VsZWN0aW9uIiB3aXRoQXJndW1l
bnRzOltOU0FycmF5IGFycmF5V2l0aE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6IWNv
dW50XV1dOworCisgICAgaWYgKHNlbGVjdEZpcnN0ICYmIGNvdW50KQorICAgICAgICBbX3ByaXZh
dGUtPnRyZWVPdXRsaW5lVmlldyBzZWxlY3RSb3dJbmRleGVzOltOU0luZGV4U2V0IGluZGV4U2V0
V2l0aEluZGV4OjBdIGJ5RXh0ZW5kaW5nU2VsZWN0aW9uOk5PXTsKIH0KIAogLSAodm9pZClfdXBk
YXRlCiB7Ci0gICAgaWYgKCFfcHJpdmF0ZS0+d2ViVmlld0xvYWRlZCB8fCAhX3ByaXZhdGUtPmZv
Y3VzZWROb2RlKQotICAgICAgICByZXR1cm47CisgICAgaWYgKF9wcml2YXRlLT53ZWJWaWV3TG9h
ZGVkICYmIFtzZWxmIGZvY3VzZWRET01Ob2RlXSkKKyAgICAgICAgW1tfcHJpdmF0ZS0+d2ViVmll
dyB3aW5kb3dTY3JpcHRPYmplY3RdIGNhbGxXZWJTY3JpcHRNZXRob2Q6QCJ1cGRhdGVQYW5lcyIg
d2l0aEFyZ3VtZW50czpuaWxdOworfQogCi0gICAgW1tfcHJpdmF0ZS0+d2ViVmlldyB3aW5kb3dT
Y3JpcHRPYmplY3RdIGNhbGxXZWJTY3JpcHRNZXRob2Q6QCJ1cGRhdGVQYW5lcyIgd2l0aEFyZ3Vt
ZW50czpuaWxdOwotCi0gICAgRE9NTm9kZSAqbm9kZSA9IF9wcml2YXRlLT5mb2N1c2VkTm9kZTsK
Ky0gKHZvaWQpX3VwZGF0ZVRyYXZlcnNhbEJ1dHRvbnMKK3sKKyAgICBET01Ob2RlICpub2RlID0g
W3NlbGYgZm9jdXNlZERPTU5vZGVdOwogICAgIERPTUhUTUxCdXR0b25FbGVtZW50ICpiYWNrID0g
KERPTUhUTUxCdXR0b25FbGVtZW50ICopW19wcml2YXRlLT5kb21Eb2N1bWVudCBnZXRFbGVtZW50
QnlJZDpAInRyYXZlcnNlVXAiXTsKICAgICBET01IVE1MQnV0dG9uRWxlbWVudCAqZm9yd2FyZCA9
IChET01IVE1MQnV0dG9uRWxlbWVudCAqKVtfcHJpdmF0ZS0+ZG9tRG9jdW1lbnQgZ2V0RWxlbWVu
dEJ5SWQ6QCJ0cmF2ZXJzZURvd24iXTsKICAgICBpZiAoX3ByaXZhdGUtPnNlYXJjaFJlc3VsdHNW
aXNpYmxlKSB7CkBAIC02NjYsMTYgKzY3NywxNiBAQAogCiAtICh2b2lkKV91cGRhdGVSb290CiB7
Ci0gICAgaWYgKCFfcHJpdmF0ZS0+d2ViVmlld0xvYWRlZCB8fCAhX3ByaXZhdGUtPnJvb3ROb2Rl
IHx8IF9wcml2YXRlLT5zZWFyY2hSZXN1bHRzVmlzaWJsZSkKKyAgICBpZiAoIV9wcml2YXRlLT53
ZWJWaWV3TG9hZGVkIHx8ICFbc2VsZiByb290RE9NTm9kZV0gfHwgX3ByaXZhdGUtPnNlYXJjaFJl
c3VsdHNWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAKICAgICBET01IVE1MRWxlbWVudCAqdGl0
bGVBcmVhID0gKERPTUhUTUxFbGVtZW50ICopW19wcml2YXRlLT5kb21Eb2N1bWVudCBnZXRFbGVt
ZW50QnlJZDpAInRyZWVQb3B1cFRpdGxlQXJlYSJdOwotICAgIFt0aXRsZUFyZWEgc2V0VGV4dENv
bnRlbnQ6W19wcml2YXRlLT5yb290Tm9kZSBfZGlzcGxheU5hbWVdXTsKKyAgICBbdGl0bGVBcmVh
IHNldFRleHRDb250ZW50Oltbc2VsZiByb290RE9NTm9kZV0gX2Rpc3BsYXlOYW1lXV07CiAKICAg
ICBET01IVE1MRWxlbWVudCAqcG9wdXAgPSAoRE9NSFRNTEVsZW1lbnQgKilbX3ByaXZhdGUtPmRv
bURvY3VtZW50IGdldEVsZW1lbnRCeUlkOkAicmVhbFRyZWVQb3B1cCJdOwogICAgIFtwb3B1cCBz
ZXRJbm5lckhUTUw6QCIiXTsgLy8gcmVzZXQgdGhlIGxpc3QKIAotICAgIERPTU5vZGUgKmN1cnJl
bnROb2RlID0gX3ByaXZhdGUtPnJvb3ROb2RlOworICAgIERPTU5vZGUgKmN1cnJlbnROb2RlID0g
W3NlbGYgcm9vdERPTU5vZGVdOwogICAgIHdoaWxlIChjdXJyZW50Tm9kZSkgewogICAgICAgICBE
T01IVE1MT3B0aW9uRWxlbWVudCAqb3B0aW9uID0gKERPTUhUTUxPcHRpb25FbGVtZW50ICopW19w
cml2YXRlLT5kb21Eb2N1bWVudCBjcmVhdGVFbGVtZW50OkAib3B0aW9uIl07CiAgICAgICAgIFtv
cHRpb24gc2V0VGV4dENvbnRlbnQ6W2N1cnJlbnROb2RlIF9kaXNwbGF5TmFtZV1dOwpAQCAtNjg0
LDkgKzY5NSw5IEBACiAgICAgfQogCiAgICAgX3ByaXZhdGUtPnByZXZlbnRTZWxlY3Rpb25SZWZv
Y3VzID0gWUVTOwotICAgIERPTU5vZGUgKmZvY3VzZWROb2RlID0gW19wcml2YXRlLT5mb2N1c2Vk
Tm9kZSByZXRhaW5dOworICAgIERPTU5vZGUgKmZvY3VzZWROb2RlID0gW1tzZWxmIGZvY3VzZWRE
T01Ob2RlXSByZXRhaW5dOwogICAgIFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3IHJlbG9hZERh
dGFdOwotICAgIFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3IGV4cGFuZEl0ZW06X3ByaXZhdGUt
PnJvb3ROb2RlXTsKKyAgICBbX3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyBleHBhbmRJdGVtOltz
ZWxmIHJvb3RET01Ob2RlXV07CiAgICAgW3NlbGYgX3JldmVhbEFuZFNlbGVjdE5vZGVJblRyZWU6
Zm9jdXNlZE5vZGVdOwogICAgIFtmb2N1c2VkTm9kZSByZWxlYXNlXTsKICAgICBfcHJpdmF0ZS0+
cHJldmVudFNlbGVjdGlvblJlZm9jdXMgPSBOTzsKQEAgLTY5NCw5ICs3MDUsMzEgQEAKIAogLSAo
dm9pZClfdXBkYXRlVHJlZVNjcm9sbGJhcgogewotICAgIFtbX3ByaXZhdGUtPndlYlZpZXcgd2lu
ZG93U2NyaXB0T2JqZWN0XSBldmFsdWF0ZVdlYlNjcmlwdDpAInRyZWVTY3JvbGxiYXIucmVmcmVz
aCgpIl07CisgICAgaWYgKF9wcml2YXRlLT53ZWJWaWV3TG9hZGVkKQorICAgICAgICBbW19wcml2
YXRlLT53ZWJWaWV3IHdpbmRvd1NjcmlwdE9iamVjdF0gZXZhbHVhdGVXZWJTY3JpcHQ6QCJ0cmVl
U2Nyb2xsYmFyLnJlZnJlc2goKSJdOwogfQogCistICh2b2lkKV91cGRhdGVTeXN0ZW1Db2xvcnMK
K3sKKyAgICBpZiAoIV9wcml2YXRlLT53ZWJWaWV3TG9hZGVkKQorICAgICAgICByZXR1cm47CisK
KyAgICBmbG9hdCByZWQgPSAwLjAsIGdyZWVuID0gMC4wLCBibHVlID0gMC4wOworICAgIE5TQ29s
b3IgKmNvbG9yID0gW1tOU0NvbG9yIGFsdGVybmF0ZVNlbGVjdGVkQ29udHJvbENvbG9yXSBjb2xv
clVzaW5nQ29sb3JTcGFjZU5hbWU6TlNEZXZpY2VSR0JDb2xvclNwYWNlXTsKKyAgICBbY29sb3Ig
Z2V0UmVkOiZyZWQgZ3JlZW46JmdyZWVuIGJsdWU6JmJsdWUgYWxwaGE6TlVMTF07CisKKyAgICBO
U1N0cmluZyAqY29sb3JUZXh0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKCVkLCAlZCwgJWQsIDAuNCkgIWltcG9ydGFudCIsIChpbnQpKHJlZCAq
IDI1NSksIChpbnQpKGdyZWVuICogMjU1KSwgKGludCkoYmx1ZSAqIDI1NSldOworICAgIE5TU3Ry
aW5nICpzdHlsZVRleHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiNzdHlsZVJ1bGVz
U2Nyb2xsdmlldyA+IC5yb3cuZm9jdXNlZCB7ICVAIH07IC50cmVlTGlzdCBsaS5mb2N1c2VkIHsg
JTEkQCB9IiwgY29sb3JUZXh0XTsKKyAgICBET01FbGVtZW50ICpzdHlsZSA9IFtfcHJpdmF0ZS0+
ZG9tRG9jdW1lbnQgZ2V0RWxlbWVudEJ5SWQ6QCJzeXN0ZW1Db2xvcnMiXTsKKyAgICBpZiAoIXN0
eWxlKSB7CisgICAgICAgIHN0eWxlID0gW19wcml2YXRlLT5kb21Eb2N1bWVudCBjcmVhdGVFbGVt
ZW50OkAic3R5bGUiXTsKKyAgICAgICAgW1tbX3ByaXZhdGUtPmRvbURvY3VtZW50IGdldEVsZW1l
bnRzQnlUYWdOYW1lOkAiaGVhZCJdIGl0ZW06MF0gYXBwZW5kQ2hpbGQ6c3R5bGVdOworICAgIH0K
KworICAgIFtzdHlsZSBzZXRBdHRyaWJ1dGU6QCJpZCIgOkAic3lzdGVtQ29sb3JzIl07CisgICAg
W3N0eWxlIHNldFRleHRDb250ZW50OnN0eWxlVGV4dF07Cit9CisKICNwcmFnbWEgbWFyayAtCiAK
ICsgKEJPT0wpaXNTZWxlY3RvckV4Y2x1ZGVkRnJvbVdlYlNjcmlwdDooU0VMKWFTZWxlY3RvcgpA
QCAtNzE5LDE0ICs3NTIsNiBAQAogCiAjcHJhZ21hIG1hcmsgLQogCi0tICh2b2lkKWhhbmRsZUV2
ZW50OihET01FdmVudCAqKWV2ZW50Ci17Ci0gICAgaWYgKFtbZXZlbnQgdHlwZV0gaXNFcXVhbFRv
U3RyaW5nOkAic2VhcmNoIl0gJiYgW1tldmVudCB0YXJnZXRdIGlzS2luZE9mQ2xhc3M6W0RPTUhU
TUxJbnB1dEVsZW1lbnQgY2xhc3NdXSkgewotICAgICAgICBET01IVE1MSW5wdXRFbGVtZW50ICpz
ZWFyY2ggPSAoRE9NSFRNTElucHV0RWxlbWVudCAqKVtldmVudCB0YXJnZXRdOwotICAgICAgICBb
c2VsZiBzZXRTZWFyY2hRdWVyeTpbc2VhcmNoIHZhbHVlXV07Ci0gICAgfQotfQotCiAtICh2b2lk
KXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOihXZWJGcmFt
ZSAqKWZyYW1lCiB7CiAgICAgX3ByaXZhdGUtPndlYlZpZXdMb2FkZWQgPSBZRVM7CkBAIC03MzUs
MTggKzc2MCwxNiBAQAogICAgIFtfcHJpdmF0ZS0+ZG9tRG9jdW1lbnQgcmVsZWFzZV07CiAgICAg
X3ByaXZhdGUtPmRvbURvY3VtZW50ID0gKERPTUhUTUxEb2N1bWVudCAqKVtbW3NlbmRlciBtYWlu
RnJhbWVdIERPTURvY3VtZW50XSByZXRhaW5dOwogCi0gICAgW19wcml2YXRlLT5kb21Eb2N1bWVu
dCBhZGRFdmVudExpc3RlbmVyOkAic2VhcmNoIiA6c2VsZiA6Tk9dOworICAgIFtbc2VsZiB3aW5k
b3ddIGludmFsaWRhdGVTaGFkb3ddOwogCi0gICAgaWYgKFtbc2VsZiBzZWFyY2hRdWVyeV0gbGVu
Z3RoXSkgewotICAgICAgICBET01IVE1MSW5wdXRFbGVtZW50ICpzZWFyY2ggPSAoRE9NSFRNTElu
cHV0RWxlbWVudCAqKVtfcHJpdmF0ZS0+ZG9tRG9jdW1lbnQgZ2V0RWxlbWVudEJ5SWQ6QCJzZWFy
Y2giXTsKLSAgICAgICAgW3NlYXJjaCBzZXRWYWx1ZTpbc2VsZiBzZWFyY2hRdWVyeV1dOwotICAg
ICAgICBbc2VsZiBfc2hvd1NlYXJjaFJlc3VsdHM6WUVTXTsKLSAgICAgICAgW3NlbGYgX3JlZnJl
c2hTZWFyY2hdOwotICAgIH0KLQogICAgIFtzZWxmIF91cGRhdGVdOwogICAgIFtzZWxmIF91cGRh
dGVSb290XTsKLSAgICBbW3NlbGYgd2luZG93XSBpbnZhbGlkYXRlU2hhZG93XTsKKyAgICBbc2Vs
ZiBfdXBkYXRlU3lzdGVtQ29sb3JzXTsKKworICAgIGlmIChbW3NlbGYgc2VhcmNoUXVlcnldIGxl
bmd0aF0pCisgICAgICAgIFtzZWxmIHNldFNlYXJjaFF1ZXJ5OltzZWxmIHNlYXJjaFF1ZXJ5XV07
CisKKyAgICBbc2VsZiBfaGlnaGxpZ2h0Tm9kZTpbc2VsZiBmb2N1c2VkRE9NTm9kZV1dOwogfQog
CiAtIChOU1ZpZXcgKil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHBsdWdJblZpZXdXaXRoQXJn
dW1lbnRzOihOU0RpY3Rpb25hcnkgKilhcmd1bWVudHMKQEAgLTc1NCw3ICs3NzcsNiBAQAogICAg
IE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcyA9IFthcmd1bWVudHMgb2JqZWN0Rm9yS2V5OkAiV2Vi
UGx1Z0luQXR0cmlidXRlc0tleSJdOwogICAgIGlmIChbW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5
OkAidHlwZSJdIGlzRXF1YWxUb1N0cmluZzpAImFwcGxpY2F0aW9uL3gtaW5zcGVjdG9yLXRyZWUi
XSkgewogICAgICAgICBpZiAoIV9wcml2YXRlLT50cmVlT3V0bGluZVZpZXcpIHsKLSAgICAgICAg
ICAgIF9wcml2YXRlLT5ub2RlQ2FjaGUgPSBbW05TTXV0YWJsZVNldCBhbGxvY10gaW5pdF07CiAg
ICAgICAgICAgICBfcHJpdmF0ZS0+dHJlZVNjcm9sbFZpZXcgPSBbW05TU2Nyb2xsVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAuMCwgMC4wLCAyNTAuMCwgMTAwLjApXTsKICAg
ICAgICAgICAgIFtfcHJpdmF0ZS0+dHJlZVNjcm9sbFZpZXcgc2V0RHJhd3NCYWNrZ3JvdW5kOk5P
XTsKICAgICAgICAgICAgIFtfcHJpdmF0ZS0+dHJlZVNjcm9sbFZpZXcgc2V0Qm9yZGVyVHlwZTpO
U05vQm9yZGVyXTsKQEAgLTc5Miw4ICs4MTQsNiBAQAogICAgICAgICAgICAgW19wcml2YXRlLT50
cmVlT3V0bGluZVZpZXcgc2V0T3V0bGluZVRhYmxlQ29sdW1uOnRhYmxlQ29sdW1uXTsKIAogICAg
ICAgICAgICAgW19wcml2YXRlLT50cmVlT3V0bGluZVZpZXcgc2l6ZUxhc3RDb2x1bW5Ub0ZpdF07
Ci0KLSAgICAgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3VwZGF0ZVRyZWVTY3JvbGxiYXIpIG5h
bWU6TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Ol9wcml2YXRlLT50cmVl
T3V0bGluZVZpZXddOyAKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBbX3ByaXZhdGUtPnRy
ZWVPdXRsaW5lVmlldyBlbmNsb3NpbmdTY3JvbGxWaWV3XTsKQEAgLTgzNCw3ICs4NTQsNyBAQAog
ICAgICAgICBpZiAoIWl0ZW0gJiYgX3ByaXZhdGUtPnNlYXJjaFJlc3VsdHNWaXNpYmxlKQogICAg
ICAgICAgICAgcmV0dXJuIFtfcHJpdmF0ZS0+c2VhcmNoUmVzdWx0cyBvYmplY3RBdEluZGV4Omlu
ZGV4XTsKICAgICAgICAgaWYgKCFpdGVtKQotICAgICAgICAgICAgcmV0dXJuIF9wcml2YXRlLT5y
b290Tm9kZTsKKyAgICAgICAgICAgIHJldHVybiBbc2VsZiByb290RE9NTm9kZV07CiAgICAgICAg
IGlkIG5vZGUgPSBuaWw7CiAgICAgICAgIGlmICghX3ByaXZhdGUtPmlnbm9yZVdoaXRlc3BhY2Up
CiAgICAgICAgICAgICBub2RlID0gW1tpdGVtIGNoaWxkTm9kZXNdIGl0ZW06aW5kZXhdOwpAQCAt
OTA3LDEyICs5MjcsMTIgQEAKIAogLSAodm9pZClvdXRsaW5lVmlld1NlbGVjdGlvbkRpZENoYW5n
ZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKLSAgICBpZiAoW25vdGlmaWNhdGlv
biBvYmplY3RdID09IF9wcml2YXRlLT50cmVlT3V0bGluZVZpZXcgJiYgIV9wcml2YXRlLT5wcmV2
ZW50U2VsZWN0aW9uUmVmb2N1cykgeworICAgIGlmIChbbm90aWZpY2F0aW9uIG9iamVjdF0gPT0g
X3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyAmJiAhX3ByaXZhdGUtPnByZXZlbnRTZWxlY3Rpb25S
ZWZvY3VzICYmIF9wcml2YXRlLT53ZWJWaWV3TG9hZGVkKSB7CiAgICAgICAgIGludCBpbmRleCA9
IFtfcHJpdmF0ZS0+dHJlZU91dGxpbmVWaWV3IHNlbGVjdGVkUm93XTsKLSAgICAgICAgaWYgKGlu
ZGV4ID09IC0xKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBbc2VsZiBzZXRGb2N1c2Vk
RE9NTm9kZTpbX3ByaXZhdGUtPnRyZWVPdXRsaW5lVmlldyBpdGVtQXRSb3c6aW5kZXhdXTsKKyAg
ICAgICAgaWYgKGluZGV4ICE9IC0xKQorICAgICAgICAgICAgW3NlbGYgc2V0Rm9jdXNlZERPTU5v
ZGU6W19wcml2YXRlLT50cmVlT3V0bGluZVZpZXcgaXRlbUF0Um93OmluZGV4XV07CiAgICAgICAg
IFtzZWxmIF91cGRhdGVUcmVlU2Nyb2xsYmFyXTsKKyAgICAgICAgW3NlbGYgX3VwZGF0ZVRyYXZl
cnNhbEJ1dHRvbnNdOwogICAgIH0KIH0KIEBlbmQKQEAgLTkyMCw2ICs5NDAsMTUgQEAKICNwcmFn
bWEgbWFyayAtCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJJbnNwZWN0b3JQcml2YXRlCistIChpZClp
bml0Cit7CisgICAgW3N1cGVyIGluaXRdOworICAgIG5vZGVDYWNoZSA9IFtbTlNNdXRhYmxlU2V0
IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OjEwMF07CisgICAgcmlnaHRBcnJvd0ltYWdlID0gW1tO
U0ltYWdlIGFsbG9jXSBpbml0V2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9y
Q2xhc3M6W3NlbGYgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJyaWdodFRyaWFuZ2xlIiBvZlR5
cGU6QCJwbmciIGluRGlyZWN0b3J5OkAid2ViSW5zcGVjdG9yL0ltYWdlcyJdXTsKKyAgICBkb3du
QXJyb3dJbWFnZSA9IFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhDb250ZW50c09mRmlsZTpbW05T
QnVuZGxlIGJ1bmRsZUZvckNsYXNzOltzZWxmIGNsYXNzXV0gcGF0aEZvclJlc291cmNlOkAiZG93
blRyaWFuZ2xlIiBvZlR5cGU6QCJwbmciIGluRGlyZWN0b3J5OkAid2ViSW5zcGVjdG9yL0ltYWdl
cyJdXTsKKyAgICByZXR1cm4gc2VsZjsKK30KKwogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgW3dl
YlZpZXcgcmVsZWFzZV07CkBAIC05MzEsNyArOTYwLDYgQEAKICAgICBbbm9kZUNhY2hlIHJlbGVh
c2VdOwogICAgIFt0cmVlU2Nyb2xsVmlldyByZWxlYXNlXTsKICAgICBbdHJlZU91dGxpbmVWaWV3
IHJlbGVhc2VdOwotICAgIFttYXRjaGVkUnVsZXMgcmVsZWFzZV07CiAgICAgW2N1cnJlbnRIaWdo
bGlnaHQgcmVsZWFzZV07CiAgICAgW3JpZ2h0QXJyb3dJbWFnZSByZWxlYXNlXTsKICAgICBbZG93
bkFycm93SW1hZ2UgcmVsZWFzZV07CkBAIC05NDEsMzYgKzk2OSw2IEBACiAKICNwcmFnbWEgbWFy
ayAtCiAKLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MRWxlbWVudCAoRE9NSFRNTEVsZW1lbnRJbnNw
ZWN0b3JBZGRpdGlvbnMpCi0tICh2b2lkKV9hZGRDbGFzc05hbWU6KE5TU3RyaW5nICopbmFtZQot
ewotICAgIE5TU3RyaW5nICpjbGFzcyA9IFtzZWxmIGNsYXNzTmFtZV07Ci0gICAgaWYgKFtjbGFz
cyByYW5nZU9mU3RyaW5nOm5hbWVdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCi0gICAgICAgIHJl
dHVybjsKLSAgICBpZiAoW2NsYXNzIGxlbmd0aF0pIHsKLSAgICAgICAgTlNTdHJpbmcgKm5ldyA9
IFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJUAgJUAiLCBjbGFzcywgbmFtZV07
Ci0gICAgICAgIFtzZWxmIHNldENsYXNzTmFtZTpuZXddOwotICAgICAgICBbbmV3IHJlbGVhc2Vd
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFtzZWxmIHNldENsYXNzTmFtZTpuYW1lXTsKLSAgICB9
Ci19Ci0KLS0gKHZvaWQpX3JlbW92ZUNsYXNzTmFtZTooTlNTdHJpbmcgKiluYW1lCi17Ci0gICAg
aWYgKFtbc2VsZiBjbGFzc05hbWVdIGlzRXF1YWxUb1N0cmluZzpuYW1lXSkgewotICAgICAgICBb
c2VsZiBzZXRDbGFzc05hbWU6QCIiXTsKLSAgICB9IGVsc2UgaWYgKFtbc2VsZiBjbGFzc05hbWVd
IHJhbmdlT2ZTdHJpbmc6bmFtZV0ubG9jYXRpb24gIT0gTlNOb3RGb3VuZCkgewotICAgICAgICBO
U011dGFibGVTdHJpbmcgKmNsYXNzID0gW1tzZWxmIGNsYXNzTmFtZV0gbXV0YWJsZUNvcHldOwot
ICAgICAgICBbY2xhc3MgcmVwbGFjZU9jY3VycmVuY2VzT2ZTdHJpbmc6bmFtZSB3aXRoU3RyaW5n
OkAiIiBvcHRpb25zOk5TTGl0ZXJhbFNlYXJjaCByYW5nZTpOU01ha2VSYW5nZSgwLCBbY2xhc3Mg
bGVuZ3RoXSldOwotICAgICAgICBbc2VsZiBzZXRDbGFzc05hbWU6W2NsYXNzIF93ZWJraXRfc3Ry
aW5nQnlDb2xsYXBzaW5nV2hpdGVzcGFjZUNoYXJhY3RlcnNdXTsKLSAgICAgICAgW2NsYXNzIHJl
bGVhc2VdOwotICAgIH0KLX0KLUBlbmQKLQotI3ByYWdtYSBtYXJrIC0KLQogQGltcGxlbWVudGF0
aW9uIERPTU5vZGUgKERPTU5vZGVJbnNwZWN0b3JBZGRpdGlvbnMpCiAtIChOU1N0cmluZyAqKV9j
b250ZW50UHJldmlldwogewpAQCAtMTIxNCwzNyArMTIxMiwxMSBAQAogCiAjcHJhZ21hIG1hcmsg
LQogCi0tIChOU1N0cmluZyAqKV9ub2RlVHlwZU5hbWUKLXsKLSAgICBzd2l0Y2goW3NlbGYgbm9k
ZVR5cGVdKSB7Ci0gICAgICAgIGNhc2UgRE9NX0VMRU1FTlRfTk9ERTogcmV0dXJuIFVJX1NUUklO
RygiRWxlbWVudCIsICJlbGVtZW50IG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgICAgIGNhc2UgRE9N
X0FUVFJJQlVURV9OT0RFOiByZXR1cm4gVUlfU1RSSU5HKCJBdHRyaWJ1dGUiLCAiYXR0cmlidXRl
IG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgICAgIGNhc2UgRE9NX1RFWFRfTk9ERTogcmV0dXJuIFVJ
X1NUUklORygiVGV4dCIsICJ0ZXh0IG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgICAgIGNhc2UgRE9N
X0NEQVRBX1NFQ1RJT05fTk9ERTogcmV0dXJuIFVJX1NUUklORygiQ2hhcmFjdGVyIERhdGEiLCAi
Y2hhcmFjdGVyIGRhdGEgbm9kZSB0eXBlIG5hbWUiKTsKLSAgICAgICAgY2FzZSBET01fRU5USVRZ
X1JFRkVSRU5DRV9OT0RFOiByZXR1cm4gVUlfU1RSSU5HKCJFbnRpdHkgUmVmZXJlbmNlIiwgImVu
dGl0eSByZWZlcmVuY2Ugbm9kZSB0eXBlIG5hbWUiKTsKLSAgICAgICAgY2FzZSBET01fRU5USVRZ
X05PREU6IHJldHVybiBVSV9TVFJJTkcoIkVudGl0eSIsICJlbnRpdHkgbm9kZSB0eXBlIG5hbWUi
KTsKLSAgICAgICAgY2FzZSBET01fUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOiByZXR1cm4g
VUlfU1RSSU5HKCJQcm9jZXNzaW5nIEluc3RydWN0aW9uIiwgInByb2Nlc3NpbmcgaW5zdHJ1Y3Rp
b24gbm9kZSB0eXBlIG5hbWUiKTsKLSAgICAgICAgY2FzZSBET01fQ09NTUVOVF9OT0RFOiByZXR1
cm4gVUlfU1RSSU5HKCJDb21tZW50IiwgImNvbW1lbnQgbm9kZSB0eXBlIG5hbWUiKTsKLSAgICAg
ICAgY2FzZSBET01fRE9DVU1FTlRfTk9ERTogcmV0dXJuIFVJX1NUUklOR19LRVkoIkRvY3VtZW50
IiwgIkRvY3VtZW50IChub2RlIHR5cGUpIiwgImRvY3VtZW50IG5vZGUgdHlwZSBuYW1lIik7Ci0g
ICAgICAgIGNhc2UgRE9NX0RPQ1VNRU5UX1RZUEVfTk9ERTogcmV0dXJuIFVJX1NUUklORygiRG9j
dW1lbnQgVHlwZSIsICJkb2N1bWVudCB0eXBlIG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgICAgIGNh
c2UgRE9NX0RPQ1VNRU5UX0ZSQUdNRU5UX05PREU6IHJldHVybiBVSV9TVFJJTkcoIkRvY3VtZW50
IEZyYWdtZW50IiwgImRvY3VtZW50IGZyYWdtZW50IG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgICAg
IGNhc2UgRE9NX05PVEFUSU9OX05PREU6IHJldHVybiBVSV9TVFJJTkcoIk5vdGF0aW9uIiwgIm5v
dGF0aW9uIG5vZGUgdHlwZSBuYW1lIik7Ci0gICAgfQotICAgIHJldHVybiBuaWw7Ci19Ci0KLS0g
KE5TU3RyaW5nICopX3Nob3J0RGlzcGxheU5hbWUKLXsKLSAgICBpZiAoW3NlbGYgbm9kZVR5cGVd
ID09IERPTV9URVhUX05PREUpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkcoIlRleHQiLCAidGV4
dCBub2RlIHR5cGUgbmFtZSIpOwotICAgIHJldHVybiBbc2VsZiBfZGlzcGxheU5hbWVdOwotfQot
CiAtIChOU1N0cmluZyAqKV9kaXNwbGF5TmFtZQogewogICAgIHN3aXRjaChbc2VsZiBub2RlVHlw
ZV0pIHsKICAgICAgICAgY2FzZSBET01fRE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVy
biBVSV9TVFJJTkdfS0VZKCJEb2N1bWVudCIsICJEb2N1bWVudCAobm9kZSkiLCAiZG9jdW1lbnQg
bm9kZSBuYW1lIik7CisgICAgICAgICAgICByZXR1cm4gQCJEb2N1bWVudCI7CiAgICAgICAgIGNh
c2UgRE9NX0VMRU1FTlRfTk9ERTogewogICAgICAgICAgICAgaWYgKFtzZWxmIGhhc0F0dHJpYnV0
ZXNdKSB7CiAgICAgICAgICAgICAgICAgTlNNdXRhYmxlU3RyaW5nICpuYW1lID0gW05TTXV0YWJs
ZVN0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPCVAIiwgW1tzZWxmIG5vZGVOYW1lXSBsb3dlcmNh
c2VTdHJpbmddXTsKQEAgLTEyODgsMTAgKzEyNjAsMTAgQEAKICAgICAgICAgfQogICAgICAgICBj
YXNlIERPTV9URVhUX05PREU6IHsKICAgICAgICAgICAgIGlmIChbc2VsZiBfaXNXaGl0ZXNwYWNl
XSkKLSAgICAgICAgICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCIod2hpdGVzcGFjZSkiLCAid2hp
dGVzcGFjZSB0ZXh0IG5vZGUgbmFtZSIpOworICAgICAgICAgICAgICAgIHJldHVybiBAIih3aGl0
ZXNwYWNlKSI7CiAgICAgICAgICAgICBOU1N0cmluZyAqdmFsdWUgPSBbW3NlbGYgbm9kZVZhbHVl
XSBfd2Via2l0X3N0cmluZ0J5Q29sbGFwc2luZ1doaXRlc3BhY2VDaGFyYWN0ZXJzXTsKICAgICAg
ICAgICAgIENGU3RyaW5nVHJpbVdoaXRlc3BhY2UoKENGTXV0YWJsZVN0cmluZ1JlZil2YWx1ZSk7
Ci0gICAgICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6VUlfU1RSSU5H
KCJcIiVAXCIiLCAidGV4dCBub2RlIG5hbWUgd2l0aCB0ZXh0IGluY2x1ZGVkIiksIHZhbHVlXTsK
KyAgICAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIlwiJUBcIiIs
IHZhbHVlXTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gW1tzZWxmIG5vZGVOYW1lXSBs
b3dlcmNhc2VTdHJpbmddOwpJbmRleDogV2ViSW5zcGVjdG9yL3dlYkluc3BlY3Rvci9pbnNwZWN0
b3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViSW5zcGVjdG9yL3dlYkluc3BlY3Rvci9pbnNwZWN0b3Iu
anMJKHJldmlzaW9uIDEzMTE4KQorKysgV2ViSW5zcGVjdG9yL3dlYkluc3BlY3Rvci9pbnNwZWN0
b3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAordmFyIEluc3BlY3RvciA9IG51bGw7CisKIGZ1bmN0aW9uIGxvYWRlZCgpIHsKICAgICB0cmVl
U2Nyb2xsYmFyID0gbmV3IEFwcGxlVmVydGljYWxTY3JvbGxiYXIoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRyZWVTY3JvbGxiYXIiKSk7CiAKQEAgLTE2MSwxNSArMTYzLDUxIEBACiAgICAgfQog
fQogCi12YXIgdGFiTmFtZXMgPSBbIm5vZGUiLCJtZXRyaWNzIiwic3R5bGUiLCJqYXZhc2NyaXB0
Il07Cit2YXIgc2VhcmNoQWN0aXZlID0gZmFsc2U7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZWFyY2go
cXVlcnkpIHsKKyAgICB2YXIgdHJlZVBvcHVwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRy
ZWVQb3B1cCIpOworICAgIHZhciBzZWFyY2hGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzZWFyY2giKTsKKyAgICB2YXIgc2VhcmNoQ291bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2VhcmNoQ291bnQiKTsKKworICAgIGlmIChxdWVyeS5sZW5ndGggJiYgIXNlYXJjaEFjdGl2
ZSkgeworICAgICAgICB0cmVlUG9wdXAuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICAgICAg
c2VhcmNoQ291bnQuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CisgICAgICAgIHNlYXJjaEZpZWxk
LnN0eWxlLndpZHRoID0gIjE1MHB4IjsKKyAgICAgICAgc2VhcmNoQWN0aXZlID0gdHJ1ZTsKKyAg
ICB9IGVsc2UgaWYoIXF1ZXJ5Lmxlbmd0aCAmJiBzZWFyY2hBY3RpdmUpIHsKKyAgICAgICAgdHJl
ZVBvcHVwLnN0eWxlLmRpc3BsYXkgPSBudWxsOworICAgICAgICBzZWFyY2hDb3VudC5zdHlsZS5k
aXNwbGF5ID0gbnVsbDsKKyAgICAgICAgc2VhcmNoRmllbGQuc3R5bGUud2lkdGggPSBudWxsOwor
ICAgICAgICBzZWFyY2hBY3RpdmUgPSBmYWxzZTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3Iuc2Vh
cmNoUGVyZm9ybWVkKHF1ZXJ5KTsKK30KKwordmFyIHRhYk5hbWVzID0gWyJub2RlIiwibWV0cmlj
cyIsInN0eWxlIiwicHJvcGVydGllcyJdOwogdmFyIGN1cnJlbnRQYW5lID0gIm5vZGUiOwogdmFy
IHBhbmVVcGRhdGVTdGF0ZSA9IG5ldyBBcnJheSgpOwordmFyIG5vU2VsZWN0aW9uID0gZmFsc2U7
CiAKK2Z1bmN0aW9uIHRvZ2dsZU5vU2VsZWN0aW9uKHN0YXRlKSB7CisgICAgbm9TZWxlY3Rpb24g
PSBzdGF0ZTsKKyAgICBpZiAobm9TZWxlY3Rpb24pIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0YWJOYW1lcy5sZW5ndGg7IGkrKykKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHRhYk5hbWVzW2ldICsgIlBhbmUiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9TZWxlY3Rpb24iKS5zdHlsZS5kaXNwbGF5
ID0gbnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bm9TZWxlY3Rpb24iKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgICAgICBzd2l0Y2hQYW5l
KGN1cnJlbnRQYW5lKTsKKyAgICB9Cit9CisKIGZ1bmN0aW9uIHN3aXRjaFBhbmUocGFuZSkgewog
ICAgIGN1cnJlbnRQYW5lID0gcGFuZTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhYk5hbWVz
Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgIGlmIChwYW5lID09IHRhYk5hbWVzW2ldKSB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJOYW1lc1tpXSArICJQYW5lIikuc3R5
bGUuZGlzcGxheSA9IG51bGw7CisgICAgICAgICAgICBpZiAoIW5vU2VsZWN0aW9uKQorICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYk5hbWVzW2ldICsgIlBhbmUiKS5z
dHlsZS5kaXNwbGF5ID0gbnVsbDsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KHRhYk5hbWVzW2ldICsgIkJ1dHRvbiIpLmNsYXNzTmFtZSA9ICJzcXVhcmUgc2VsZWN0ZWQiOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFi
TmFtZXNbaV0gKyAiUGFuZSIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CkBAIC0xNzcsNiArMjE1
LDkgQEAKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChub1NlbGVjdGlvbikKKyAgICAgICAg
cmV0dXJuOworCiAgICAgaWYgKCFwYW5lVXBkYXRlU3RhdGVbcGFuZV0pIHsKICAgICAgICAgZXZh
bCgidXBkYXRlIiArIHBhbmUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYW5lLnN1YnN0cigx
KSArICJQYW5lKCkiKTsKICAgICAgICAgcGFuZVVwZGF0ZVN0YXRlW3BhbmVdID0gdHJ1ZTsKQEAg
LTIwNiw2ICsyNDcsOCBAQAogZnVuY3Rpb24gdXBkYXRlUGFuZXMoKSB7CiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0YWJOYW1lcy5sZW5ndGg7IGkrKykKICAgICAgICAgcGFuZVVwZGF0ZVN0YXRl
W3RhYk5hbWVzW2ldXSA9IGZhbHNlOworICAgIGlmIChub1NlbGVjdGlvbikKKyAgICAgICAgcmV0
dXJuOwogICAgIGV2YWwoInVwZGF0ZSIgKyBjdXJyZW50UGFuZS5jaGFyQXQoMCkudG9VcHBlckNh
c2UoKSArIGN1cnJlbnRQYW5lLnN1YnN0cigxKSArICJQYW5lKCkiKTsgICAgCiAgICAgcGFuZVVw
ZGF0ZVN0YXRlW2N1cnJlbnRQYW5lXSA9IHRydWU7CiB9CkBAIC02MjUsMyArNjY4LDkgQEAKICAg
ICB1cGRhdGVTdHlsZVByb3BlcnRpZXMoKTsKICAgICBzd2l0Y2hQYW5lKCJzdHlsZSIpOwogfQor
CitmdW5jdGlvbiB1cGRhdGVNZXRyaWNzUGFuZSgpIHsKK30KKworZnVuY3Rpb24gdXBkYXRlUHJv
cGVydGllc1BhbmUoKSB7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2Vi
SW5zcGVjdG9yL3dlYkluc3BlY3Rvci9pbnNwZWN0b3IuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJJ
bnNwZWN0b3Ivd2ViSW5zcGVjdG9yL2luc3BlY3Rvci5odG1sCShyZXZpc2lvbiAxMzExOCkKKysr
IFdlYkluc3BlY3Rvci93ZWJJbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDIxICs0OCwyMiBAQAogICAgICAgICAgICAgPGJ1dHRvbiBpZD0idHJlZVBvcHVwQnV0
dG9uIiBjbGFzcz0icG9wdXAiPjxkaXYgY2xhc3M9ImxlZnQiPjwvZGl2PjxkaXYgaWQ9InRyZWVQ
b3B1cFRpdGxlQXJlYSIgY2xhc3M9Im1pZGRsZSI+PC9kaXY+PGRpdiBjbGFzcz0icmlnaHQiPjwv
ZGl2PjwvYnV0dG9uPgogICAgICAgICA8L2Rpdj4KICAgICAgICAgPGRpdiBpZD0ic2VhcmNoQ291
bnQiPjwvZGl2PgotICAgICAgICA8aW5wdXQgaWQ9InNlYXJjaCIgdHlwZT0ic2VhcmNoIiBhdXRv
c2F2ZT0ibm9kZVNlYXJjaCIgcmVzdWx0cz0iMjAiIHBsYWNlaG9sZGVyPSJTZWFyY2giIGluY3Jl
bWVudGFsPSJpbmNyZW1lbnRhbCIgLz4KKyAgICAgICAgPGlucHV0IGlkPSJzZWFyY2giIHR5cGU9
InNlYXJjaCIgYXV0b3NhdmU9Im5vZGVTZWFyY2giIHJlc3VsdHM9IjIwIiBwbGFjZWhvbGRlcj0i
U2VhcmNoIiBpbmNyZW1lbnRhbD0iaW5jcmVtZW50YWwiIG9uc2VhcmNoPSJwZXJmb3JtU2VhcmNo
KHRoaXMudmFsdWUpIiAvPgogICAgIDwvZGl2PgogICAgIDxkaXYgaWQ9InRyZWUiPgogICAgICAg
ICA8ZGl2IGlkPSJ0cmVlU2Nyb2xsQXJlYSI+PG9iamVjdCBpZD0idHJlZU91dGxpbmVWaWV3Ij48
cGFyYW0gbmFtZT0idHlwZSIgdmFsdWU9ImFwcGxpY2F0aW9uL3gtaW5zcGVjdG9yLXRyZWUiIC8+
PC9vYmplY3Q+PC9kaXY+CiAgICAgICAgIDxkaXYgaWQ9InRyZWVTY3JvbGxiYXIiPjwvZGl2Pgog
ICAgIDwvZGl2PgogPC9kaXY+Ci08ZGl2IGlkPSJzcGxpdHRlciIgb25tb3VzZWRvd249Ikluc3Bl
Y3Rvci5yZXNpemVUb3BBcmVhKGV2ZW50KSI+PGhyIHNpemU9IjIiIC8+PC9kaXY+Cis8ZGl2IGlk
PSJzcGxpdHRlciIgb25tb3VzZWRvd249Ikluc3BlY3Rvci5yZXNpemVUb3BBcmVhKCkiPjxociBz
aXplPSIyIiAvPjwvZGl2PgogPGRpdiBpZD0iYm90dG9tIj4KICAgICA8ZGl2IGlkPSJ0YWJzIj4K
ICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3F1YXJlIHNlbGVjdGVkIiBpZD0ibm9kZUJ1dHRvbiIg
b25jbGljaz0ic3dpdGNoUGFuZSgnbm9kZScpIj48ZGl2IGNsYXNzPSJsZWZ0Ij48L2Rpdj48ZGl2
IGNsYXNzPSJtaWRkbGUiPk5vZGU8L2Rpdj48L2J1dHRvbj4KICAgICAgICAgPGJ1dHRvbiBjbGFz
cz0ic3F1YXJlIiBpZD0ic3R5bGVCdXR0b24iIG9uY2xpY2s9InN3aXRjaFBhbmUoJ3N0eWxlJyki
PjxpbWcgc3JjPSJJbWFnZXMvcG9wdXBGaWxsUHJlc3NlZC5wbmciIC8+PGRpdiBjbGFzcz0ibWlk
ZGxlIj5TdHlsZTwvZGl2PjwvYnV0dG9uPgogICAgICAgICA8YnV0dG9uIGNsYXNzPSJzcXVhcmUi
IGlkPSJtZXRyaWNzQnV0dG9uIiBvbmNsaWNrPSJzd2l0Y2hQYW5lKCdtZXRyaWNzJykiPjxpbWcg
c3JjPSJJbWFnZXMvcG9wdXBGaWxsUHJlc3NlZC5wbmciIC8+PGRpdiBjbGFzcz0ibWlkZGxlIj5N
ZXRyaWNzPC9kaXY+PC9idXR0b24+Ci0gICAgICAgIDxidXR0b24gY2xhc3M9InNxdWFyZSIgaWQ9
ImphdmFzY3JpcHRCdXR0b24iIG9uY2xpY2s9InN3aXRjaFBhbmUoJ2phdmFzY3JpcHQnKSI+PGlt
ZyBzcmM9IkltYWdlcy9wb3B1cEZpbGxQcmVzc2VkLnBuZyIgLz48ZGl2IGNsYXNzPSJtaWRkbGUi
PlByb3BlcnRpZXM8L2Rpdj48ZGl2IGNsYXNzPSJyaWdodCI+PC9kaXY+PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gY2xhc3M9InNxdWFyZSIgaWQ9InByb3BlcnRpZXNCdXR0b24iIG9uY2xpY2s9
InN3aXRjaFBhbmUoJ3Byb3BlcnRpZXMnKSI+PGltZyBzcmM9IkltYWdlcy9wb3B1cEZpbGxQcmVz
c2VkLnBuZyIgLz48ZGl2IGNsYXNzPSJtaWRkbGUiPlByb3BlcnRpZXM8L2Rpdj48ZGl2IGNsYXNz
PSJyaWdodCI+PC9kaXY+PC9idXR0b24+CiAgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ibm9TZWxl
Y3Rpb24iIHN0eWxlPSJkaXNwbGF5OiBub25lIj5ObyBTZWxlY3Rpb248L2Rpdj4KICAgICA8ZGl2
IGlkPSJub2RlUGFuZSIgY2xhc3M9InBhbmUiPgogICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvUm93
Ij4KICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+Tm9kZSBUeXBlOjwvc3Bhbj4KQEAg
LTEwNyw3ICsxMDgsNyBAQAogICAgICAgICAgICAgPGRpdiBpZD0ic3R5bGVQcm9wZXJ0aWVzU2Ny
b2xsYmFyIiBjbGFzcz0ic2Nyb2xsYmFyIj48L2Rpdj4KICAgICAgICAgPC9kaXY+CiAgICAgPC9k
aXY+Ci0gICAgPGRpdiBpZD0iamF2YXNjcmlwdFBhbmUiIGNsYXNzPSJwYW5lIiBzdHlsZT0iZGlz
cGxheTogbm9uZTsgdGV4dC1hbGlnbjogY2VudGVyIj48YnIgLz48YnIgLz48YnIgLz4obm90IGZp
bmlzaGVkKTwvZGl2PgorICAgIDxkaXYgaWQ9InByb3BlcnRpZXNQYW5lIiBjbGFzcz0icGFuZSIg
c3R5bGU9ImRpc3BsYXk6IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlciI+PGJyIC8+PGJyIC8+PGJy
IC8+KG5vdCBmaW5pc2hlZCk8L2Rpdj4KIDwvZGl2PgogPGRpdiBpZD0icmVzaXplIj48L2Rpdj4K
IDwvZGl2PgpJbmRleDogV2ViSW5zcGVjdG9yL3dlYkluc3BlY3Rvci9pbnNwZWN0b3IuY3NzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkluc3BlY3Rvci93ZWJJbnNwZWN0b3IvaW5zcGVjdG9yLmNzcwkocmV2
aXNpb24gMTMxMTgpCisrKyBXZWJJbnNwZWN0b3Ivd2ViSW5zcGVjdG9yL2luc3BlY3Rvci5jc3MJ
KHdvcmtpbmcgY29weSkKQEAgLTk4LDExICs5OCwxMiBAQAogI3NlYXJjaENvdW50IHsKICAgICBm
b250LXNpemU6IDExcHg7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogMnB4Owot
ICAgIHJpZ2h0OiAxMTBweDsKKyAgICB0b3A6IDVweDsKKyAgICByaWdodDogMTcwcHg7CiAgICAg
d2lkdGg6IDEwMHB4OwogICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgIGRpc3BsYXk6IG5vbmU7
CisgICAgei1pbmRleDogMTAwOwogfQogCiAjdHJlZVBvcHVwIHsKQEAgLTIyOCwxNCArMjI5LDE0
IEBACiAgICAgd2lkdGg6IDU1cHg7CiB9CiAKLSNqYXZhc2NyaXB0QnV0dG9uIHsKKyNwcm9wZXJ0
aWVzQnV0dG9uIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwogICAgIGxl
ZnQ6IDE4MHB4OwogICAgIHdpZHRoOiA4MHB4OwogfQogCi0jamF2YXNjcmlwdEJ1dHRvbiAubWlk
ZGxlIHsKKyNwcm9wZXJ0aWVzQnV0dG9uIC5taWRkbGUgewogICAgIHBhZGRpbmctbGVmdDogNnB4
OwogICAgIGxlZnQ6IDA7CiAgICAgcmlnaHQ6IDZweDsKQEAgLTU0MSw2ICs1NDIsMTQgQEAKICAg
ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIEltYWdlcy9yaWdodFRyaWFuZ2xlLnBuZyApOwogfQog
Cisjbm9TZWxlY3Rpb24geworICAgIGZvbnQtc2l6ZTogMTZweDsKKyAgICBmb250LXdlaWdodDog
Ym9sZDsKKyAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpOworICAgIHRleHQtYWxpZ246
IGNlbnRlcjsKKyAgICBtYXJnaW4tdG9wOiA0MCU7Cit9CisKICNub2RlUGFuZSB7CiAgICAgZGlz
cGxheTogLWFwcGxlLWJveDsKICAgICAtYXBwbGUtYm94LW9yaWVudDogdmVydGljYWw7CkluZGV4
OiBXZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJJ
bnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJuYWwuaAkocmV2aXNpb24gMTMxMTgpCisrKyBXZWJJ
bnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsMjAg
KzMyLDExIEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViSW5zcGVjdG9yLmg+CiAjaW1wb3J0IDxXZWJL
aXQvRE9NQ29yZS5oPgogCitAY2xhc3MgV2ViVmlldzsKIEBjbGFzcyBXZWJGcmFtZTsKLUBjbGFz
cyBOU1ZpZXc7Ci1AY2xhc3MgTlNQb3BVcEJ1dHRvbjsKLUBjbGFzcyBOU1NlZ21lbnRlZENvbnRy
b2w7Ci1AY2xhc3MgTlNTZWFyY2hGaWVsZDsKLUBjbGFzcyBOU1RhYlZpZXc7Ci1AY2xhc3MgTlNU
ZXh0RmllbGQ7Ci1AY2xhc3MgTlNUYWJsZVZpZXc7CitAY2xhc3MgRE9NSFRNTERvY3VtZW50Owog
QGNsYXNzIE5TT3V0bGluZVZpZXc7Ci1AY2xhc3MgTlNUZXh0VmlldzsKLUBjbGFzcyBOU1dpbmRv
dzsKLUBjbGFzcyBOU05vdGlmaWNhdGlvbjsKIEBjbGFzcyBXZWJOb2RlSGlnaGxpZ2h0OwotQGNs
YXNzIERPTUNTU1J1bGVMaXN0OwogCiBAaW50ZXJmYWNlIFdlYkluc3BlY3RvclByaXZhdGUgOiBO
U09iamVjdAogewpAQCAtNjAsMTIgKzUxLDEwIEBACiAgICAgTlNNdXRhYmxlQXJyYXkgKnNlYXJj
aFJlc3VsdHM7CiAgICAgTlNTY3JvbGxWaWV3ICp0cmVlU2Nyb2xsVmlldzsKICAgICBOU091dGxp
bmVWaWV3ICp0cmVlT3V0bGluZVZpZXc7Ci0gICAgRE9NQ1NTUnVsZUxpc3QgKm1hdGNoZWRSdWxl
czsKICAgICBXZWJOb2RlSGlnaGxpZ2h0ICpjdXJyZW50SGlnaGxpZ2h0OwogICAgIE5TSW1hZ2Ug
KnJpZ2h0QXJyb3dJbWFnZTsKICAgICBOU0ltYWdlICpkb3duQXJyb3dJbWFnZTsKICAgICBCT09M
IGlnbm9yZVdoaXRlc3BhY2U7Ci0gICAgQk9PTCB3aW5kb3dMb2FkZWQ7CiAgICAgQk9PTCB3ZWJW
aWV3TG9hZGVkOwogICAgIEJPT0wgc2VhcmNoUmVzdWx0c1Zpc2libGU7CiAgICAgQk9PTCBwcmV2
ZW50SGlnaGxpZ2h0OwpAQCAtNzUsMjEgKzY0LDE2IEBACiB9CiBAZW5kCiAKLUBpbnRlcmZhY2Ug
V2ViSW5zcGVjdG9yIChXZWJJbnNwZWN0b3JQcml2YXRlKSA8RE9NRXZlbnRMaXN0ZW5lcj4KK0Bp
bnRlcmZhY2UgV2ViSW5zcGVjdG9yIChXZWJJbnNwZWN0b3JQcml2YXRlKQogLSAodm9pZClfaGln
aGxpZ2h0Tm9kZTooRE9NTm9kZSAqKW5vZGU7CiAtICh2b2lkKV9yZXZlYWxBbmRTZWxlY3ROb2Rl
SW5UcmVlOihET01Ob2RlICopbm9kZTsKIC0gKHZvaWQpX3VwZGF0ZTsKIC0gKHZvaWQpX3VwZGF0
ZVJvb3Q7CiAtICh2b2lkKV91cGRhdGVUcmVlU2Nyb2xsYmFyOwotLSAodm9pZClfc2hvd1NlYXJj
aFJlc3VsdHM6KEJPT0wpc2hvdzsKKy0gKHZvaWQpX3VwZGF0ZVRyYXZlcnNhbEJ1dHRvbnM7CiAt
ICh2b2lkKV9yZWZyZXNoU2VhcmNoOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxFbGVtZW50
IChET01IVE1MRWxlbWVudEluc3BlY3RvckFkZGl0aW9ucykKLS0gKHZvaWQpX2FkZENsYXNzTmFt
ZTooTlNTdHJpbmcgKiluYW1lOwotLSAodm9pZClfcmVtb3ZlQ2xhc3NOYW1lOihOU1N0cmluZyAq
KW5hbWU7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgRE9NTm9kZSAoRE9NTm9kZUluc3BlY3RvckFkZGl0
aW9ucykKIC0gKE5TU3RyaW5nICopX2NvbnRlbnRQcmV2aWV3OwogCkBAIC0xMTQsMTEgKzk4LDUg
QEAKIC0gKERPTU5vZGUgKilfdHJhdmVyc2VQcmV2aW91c05vZGU7CiAtIChET01Ob2RlICopX3Ry
YXZlcnNlUHJldmlvdXNOb2RlU2tpcHBpbmdXaGl0ZXNwYWNlOwogCi0tIChOU1N0cmluZyAqKV9u
b2RlVHlwZU5hbWU7Ci0tIChOU1N0cmluZyAqKV9zaG9ydERpc3BsYXlOYW1lOwogLSAoTlNTdHJp
bmcgKilfZGlzcGxheU5hbWU7CiBAZW5kCi0KLUBpbnRlcmZhY2UgTlNXaW5kb3cgKE5TV2luZG93
Q29udGVudFNoYWRvdykKLS0gKHZvaWQpX3NldENvbnRlbnRIYXNTaGFkb3c6KEJPT0wpaGFzU2hh
ZG93OwotQGVuZApJbmRleDogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTMx
MTgpCisrKyBFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTUgKzEsNiBAQAog/v8ALwAqACAAdwBpAG4AZABvAHcAIAB0AGkAdABsAGUAIABmAG8A
cgAgAGEAIABzAHQAYQBuAGQAYQBsAG8AbgBlACAAaQBtAGEAZwBlACAAKAB1AHMAZQBzACAAbQB1
AGwAdABpAHAAbABpAGMAYQB0AGkAbwBuACAAcwB5AG0AYgBvAGwALAAgAG4AbwB0ACAAeAApACAA
KgAvAAogACIAJQBAACAAJQAuADAAZgDXACUALgAwAGYAIABwAGkAeABlAGwAcwAiACAAPQAgACIA
JQBAACAAJQAuADAAZgDXACUALgAwAGYAIABwAGkAeABlAGwAcwAiADsACiAACi0ALwAqACAAdwBl
AGIAIABpAG4AcwBwAGUAYwB0AG8AcgAgAG4AbwBkAGUAIABzAGUAYQByAGMAaAAgAHIAZQBzAHUA
bAB0AHMAIABjAG8AdQBuAHQAIAB3AGkAdABoACAAegBlAHIAbwAgAG8AcgAgAG0AbwByAGUAIAB0
AGgAYQBuACAAMQAgAHIAZQBzAHUAbAB0AHMAIAAqAC8ACi0AIgAlAHUAIABuAG8AZABlAHMAIgAg
AD0AIAAiACUAdQAgAG4AbwBkAGUAcwAiADsACi0ACi0ALwAqACAAdwBoAGkAdABlAHMAcABhAGMA
ZQAgAHQAZQB4AHQAIABuAG8AZABlACAAbgBhAG0AZQAgACoALwAKLQAiACgAdwBoAGkAdABlAHMA
cABhAGMAZQApACIAIAA9ACAAIgAoAHcAaABpAHQAZQBzAHAAYQBjAGUAKQAiADsACi0ACi0ALwAq
ACAAdwBlAGIAIABpAG4AcwBwAGUAYwB0AG8AcgAgAG4AbwBkAGUAIABzAGUAYQByAGMAaAAgAHIA
ZQBzAHUAbAB0AHMAIABjAG8AdQBuAHQAIAB3AGkAdABoACAAMQAgAHIAZQBzAHUAbAB0ACAAKgAv
AAotACIAMQAgAG4AbwBkAGUAIgAgAD0AIAAiADEAIABuAG8AZABlACIAOwAKLQAKIAAvACoAIABN
AGUAbgB1ACAAaQB0AGUAbQAgAHQAaQB0AGwAZQAgAGYAbwByACAASwBFAFkARwBFAE4AIABwAG8A
cAAtAHUAcAAgAG0AZQBuAHUAIAAqAC8ACiAAIgAxADAAMgA0ACAAKABNAGUAZABpAHUAbQAgAEcA
cgBhAGQAZQApACIAIAA9ACAAIgAxADAAMgA0ACAAKABNAGUAZABpAHUAbQAgAEcAcgBhAGQAZQAp
ACIAOwAKIAAKQEAgLTI1LDkgKzE2LDYgQEAKIAAvACoAIABVAG4AZABvACAAYQBjAHQAaQBvAG4A
IABuAGEAbQBlACAAKgAvAAogACIAQQBsAGkAZwBuACAAUgBpAGcAaAB0ACAAKABVAG4AZABvACAA
YQBjAHQAaQBvAG4AIABuAGEAbQBlACkAIgAgAD0AIAAiAEEAbABpAGcAbgAgAFIAaQBnAGgAdAAi
ADsACiAACi0ALwAqACAAYQB0AHQAcgBpAGIAdQB0AGUAIABuAG8AZABlACAAdAB5AHAAZQAgAG4A
YQBtAGUAIAAqAC8ACi0AIgBBAHQAdAByAGkAYgB1AHQAZQAiACAAPQAgACIAQQB0AHQAcgBpAGIA
dQB0AGUAIgA7AAotAAogAC8AKgAgAEIAYQBjAGsAIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAg
AGkAdABlAG0AIAAqAC8ACiAAIgBCAGEAYwBrACIAIAA9ACAAIgBCAGEAYwBrACIAOwAKIAAKQEAg
LTQ5LDE4ICszNywxMiBAQAogAC8AKgAgAFUAbgBkAG8AIABhAGMAdABpAG8AbgAgAG4AYQBtAGUA
IAAqAC8ACiAAIgBDAGgAYQBuAGcAZQAgAEEAdAB0AHIAaQBiAHUAdABlAHMAIAAoAFUAbgBkAG8A
IABhAGMAdABpAG8AbgAgAG4AYQBtAGUAKQAiACAAPQAgACIAQwBoAGEAbgBnAGUAIABBAHQAdABy
AGkAYgB1AHQAZQBzACIAOwAKIAAKLQAvACoAIABjAGgAYQByAGEAYwB0AGUAcgAgAGQAYQB0AGEA
IABuAG8AZABlACAAdAB5AHAAZQAgAG4AYQBtAGUAIAAqAC8ACi0AIgBDAGgAYQByAGEAYwB0AGUA
cgAgAEQAYQB0AGEAIgAgAD0AIAAiAEMAaABhAHIAYQBjAHQAZQByACAARABhAHQAYQAiADsACi0A
CiAALwAqACAAdABpAHQAbABlACAAZgBvAHIAIABmAGkAbABlACAAYgB1AHQAdABvAG4AIAB1AHMA
ZQBkACAAaQBuACAASABUAE0ATAAgAGYAbwByAG0AcwAgACoALwAKIAAiAEMAaABvAG8AcwBlACAA
RgBpAGwAZQAiACAAPQAgACIAQwBoAG8AbwBzAGUAIABGAGkAbABlACIAOwAKIAAKIAAvACoAIABt
AGUAbgB1ACAAaQB0AGUAbQAgAGkAbgAgAFIAZQBjAGUAbgB0ACAAUwBlAGEAcgBjAGgAZQBzACAA
bQBlAG4AdQAgAHQAaABhAHQAIABlAG0AcAB0AGkAZQBzACAAbQBlAG4AdQAnAHMAIABjAG8AbgB0
AGUAbgB0AHMAIAAqAC8ACiAAIgBDAGwAZQBhAHIAIABSAGUAYwBlAG4AdAAgAFMAZQBhAHIAYwBo
AGUAcwAiACAAPQAgACIAQwBsAGUAYQByACAAUgBlAGMAZQBuAHQAIABTAGUAYQByAGMAaABlAHMA
IgA7AAogAAotAC8AKgAgAGMAbwBtAG0AZQBuAHQAIABuAG8AZABlACAAdAB5AHAAZQAgAG4AYQBt
AGUAIAAqAC8ACi0AIgBDAG8AbQBtAGUAbgB0ACIAIAA9ACAAIgBDAG8AbQBtAGUAbgB0ACIAOwAK
LQAKIAAvACoAIABDAG8AcAB5ACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAA
KgAvAAogACIAQwBvAHAAeQAiACAAPQAgACIAQwBvAHAAeQAiADsACiAACkBAIC03NiwxOCArNTgs
NiBAQAogAC8AKgAgAFUAbgBkAG8AIABhAGMAdABpAG8AbgAgAG4AYQBtAGUAIAAqAC8ACiAAIgBD
AHUAdAAgACgAVQBuAGQAbwAgAGEAYwB0AGkAbwBuACAAbgBhAG0AZQApACIAIAA9ACAAIgBDAHUA
dAAiADsACiAACi0ALwAqACAAZABvAGMAdQBtAGUAbgB0ACAAbgBvAGQAZQAgAHQAeQBwAGUAIABu
AGEAbQBlACAAKgAvAAotACIARABvAGMAdQBtAGUAbgB0ACAAKABuAG8AZABlACAAdAB5AHAAZQAp
ACIAIAA9ACAAIgBEAG8AYwB1AG0AZQBuAHQAIgA7AAotAAotAC8AKgAgAGQAbwBjAHUAbQBlAG4A
dAAgAG4AbwBkAGUAIABuAGEAbQBlACAAKgAvAAotACIARABvAGMAdQBtAGUAbgB0ACAAKABuAG8A
ZABlACkAIgAgAD0AIAAiAEQAbwBjAHUAbQBlAG4AdAAiADsACi0ACi0ALwAqACAAZABvAGMAdQBt
AGUAbgB0ACAAZgByAGEAZwBtAGUAbgB0ACAAbgBvAGQAZQAgAHQAeQBwAGUAIABuAGEAbQBlACAA
KgAvAAotACIARABvAGMAdQBtAGUAbgB0ACAARgByAGEAZwBtAGUAbgB0ACIAIAA9ACAAIgBEAG8A
YwB1AG0AZQBuAHQAIABGAHIAYQBnAG0AZQBuAHQAIgA7AAotAAotAC8AKgAgAGQAbwBjAHUAbQBl
AG4AdAAgAHQAeQBwAGUAIABuAG8AZABlACAAdAB5AHAAZQAgAG4AYQBtAGUAIAAqAC8ACi0AIgBE
AG8AYwB1AG0AZQBuAHQAIABUAHkAcABlACIAIAA9ACAAIgBEAG8AYwB1AG0AZQBuAHQAIABUAHkA
cABlACIAOwAKLQAKIAAvACoAIABEAG8AdwBuAGwAbwBhAGQAIABJAG0AYQBnAGUAIABjAG8AbgB0
AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACiAAIgBEAG8AdwBuAGwAbwBhAGQAIABJ
AG0AYQBnAGUAIgAgAD0AIAAiAEQAbwB3AG4AbABvAGEAZAAgAEkAbQBhAGcAZQAiADsACiAACkBA
IC05NywxNSArNjcsNiBAQAogAC8AKgAgAFUAbgBkAG8AIABhAGMAdABpAG8AbgAgAG4AYQBtAGUA
IAAqAC8ACiAAIgBEAHIAYQBnACAAKABVAG4AZABvACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACkA
IgAgAD0AIAAiAEQAcgBhAGcAIgA7AAogAAotAC8AKgAgAGUAbABlAG0AZQBuAHQAIABuAG8AZABl
ACAAdAB5AHAAZQAgAG4AYQBtAGUAIAAqAC8ACi0AIgBFAGwAZQBtAGUAbgB0ACIAIAA9ACAAIgBF
AGwAZQBtAGUAbgB0ACIAOwAKLQAKLQAvACoAIABlAG4AdABpAHQAeQAgAG4AbwBkAGUAIAB0AHkA
cABlACAAbgBhAG0AZQAgACoALwAKLQAiAEUAbgB0AGkAdAB5ACIAIAA9ACAAIgBFAG4AdABpAHQA
eQAiADsACi0ACi0ALwAqACAAZQBuAHQAaQB0AHkAIAByAGUAZgBlAHIAZQBuAGMAZQAgAG4AbwBk
AGUAIAB0AHkAcABlACAAbgBhAG0AZQAgACoALwAKLQAiAEUAbgB0AGkAdAB5ACAAUgBlAGYAZQBy
AGUAbgBjAGUAIgAgAD0AIAAiAEUAbgB0AGkAdAB5ACAAUgBlAGYAZQByAGUAbgBjAGUAIgA7AAot
AAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AIABuAGEAbQBl
ACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAA
KgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYAaQBuAGQAZQByACIAOwAKIAAKQEAgLTE0
NSw5ICsxMDYsNiBAQAogAC8AKgAgAEwAYQBiAGUAbAAgAGYAbwByACAAbwBuAGwAeQAgAGkAdABl
AG0AIABpAG4AIABtAGUAbgB1ACAAdABoAGEAdAAgAGEAcABwAGUAYQByAHMAIAB3AGgAZQBuACAA
YwBsAGkAYwBrAGkAbgBnACAAbwBuACAAdABoAGUAIABzAGUAYQByAGMAaAAgAGYAaQBlAGwAZAAg
AGkAbQBhAGcAZQAsACAAdwBoAGUAbgAgAG4AbwAgAHMAZQBhAHIAYwBoAGUAcwAgAGgAYQB2AGUA
IABiAGUAZQBuACAAcABlAHIAZgBvAHIAbQBlAGQAIAAqAC8ACiAAIgBOAG8AIAByAGUAYwBlAG4A
dAAgAHMAZQBhAHIAYwBoAGUAcwAiACAAPQAgACIATgBvACAAcgBlAGMAZQBuAHQAIABzAGUAYQBy
AGMAaABlAHMAIgA7AAogAAotAC8AKgAgAG4AbwB0AGEAdABpAG8AbgAgAG4AbwBkAGUAIAB0AHkA
cABlACAAbgBhAG0AZQAgACoALwAKLQAiAE4AbwB0AGEAdABpAG8AbgAiACAAPQAgACIATgBvAHQA
YQB0AGkAbwBuACIAOwAKLQAKIAAvACoAIABPAHAAZQBuACAARgByAGEAbQBlACAAaQBuACAATgBl
AHcAIABXAGkAbgBkAG8AdwAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAgACoA
LwAKIAAiAE8AcABlAG4AIABGAHIAYQBtAGUAIABpAG4AIABOAGUAdwAgAFcAaQBuAGQAbwB3ACIA
IAA9ACAAIgBPAHAAZQBuACAARgByAGEAbQBlACAAaQBuACAATgBlAHcAIABXAGkAbgBkAG8AdwAi
ADsACiAACkBAIC0xODEsOSArMTM5LDYgQEAKIAAvACoAIABXAGUAYgBLAGkAdABFAHIAcgBvAHIA
UABsAHUAZwBJAG4AVwBpAGwAbABIAGEAbgBkAGwAZQBMAG8AYQBkACAAZABlAHMAYwByAGkAcAB0
AGkAbwBuACAAKgAvAAogACIAUABsAHUAZwAtAGkAbgAgAGgAYQBuAGQAbABlAGQAIABsAG8AYQBk
ACIAIAA9ACAAIgBQAGwAdQBnAC0AaQBuACAAaABhAG4AZABsAGUAZAAgAGwAbwBhAGQAIgA7AAog
AAotAC8AKgAgAHAAcgBvAGMAZQBzAHMAaQBuAGcAIABpAG4AcwB0AHIAdQBjAHQAaQBvAG4AIABu
AG8AZABlACAAdAB5AHAAZQAgAG4AYQBtAGUAIAAqAC8ACi0AIgBQAHIAbwBjAGUAcwBzAGkAbgBn
ACAASQBuAHMAdAByAHUAYwB0AGkAbwBuACIAIAA9ACAAIgBQAHIAbwBjAGUAcwBzAGkAbgBnACAA
SQBuAHMAdAByAHUAYwB0AGkAbwBuACIAOwAKLQAKIAAvACoAIABVAG4AZABvACAAYQBjAHQAaQBv
AG4AIABuAGEAbQBlACAAKgAvAAogACIAUgBhAGkAcwBlACAAQgBhAHMAZQBsAGkAbgBlACAAKABV
AG4AZABvACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACkAIgAgAD0AIAAiAFIAYQBpAHMAZQAgAEIA
YQBzAGUAbABpAG4AZQAiADsACiAACkBAIC0yMjYsOSArMTgxLDYgQEAKIAAvACoAIABVAG4AZABv
ACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACAAKgAvAAogACIAUwB1AHAAZQByAHMAYwByAGkAcAB0
ACAAKABVAG4AZABvACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACkAIgAgAD0AIAAiAFMAdQBwAGUA
cgBzAGMAcgBpAHAAdAAiADsACiAACi0ALwAqACAAdABlAHgAdAAgAG4AbwBkAGUAIAB0AHkAcABl
ACAAbgBhAG0AZQAgACoALwAKLQAiAFQAZQB4AHQAIgAgAD0AIAAiAFQAZQB4AHQAIgA7AAotAAog
AC8AKgAgAHAAcgBvAG0AcAB0ACAAcwB0AHIAaQBuAGcAIABpAG4AIABhAHUAdABoAGUAbgB0AGkA
YwBhAHQAaQBvAG4AIABwAGEAbgBlAGwAIAAqAC8ACiAAIgBUAGgAZQAgAG4AYQBtAGUAIABvAHIA
IABwAGEAcwBzAHcAbwByAGQAIABlAG4AdABlAHIAZQBkACAAZgBvAHIAIABhAHIAZQBhACAgHAAl
AEAgHQAgAG8AbgAgACUAQAAgAHcAYQBzACAAaQBuAGMAbwByAHIAZQBjAHQALgAgAFAAbABlAGEA
cwBlACAAdAByAHkAIABhAGcAYQBpAG4ALgAiACAAPQAgACIAVABoAGUAIABuAGEAbQBlACAAbwBy
ACAAcABhAHMAcwB3AG8AcgBkACAAZQBuAHQAZQByAGUAZAAgAGYAbwByACAAYQByAGUAYQAgIBwA
JQBAIB0AIABvAG4AIAAlAEAAIAB3AGEAcwAgAGkAbgBjAG8AcgByAGUAYwB0AC4AIABQAGwAZQBh
AHMAZQAgAHQAcgB5ACAAYQBnAGEAaQBuAC4AIgA7AAogAApAQCAtMjc3LDkgKzIyOSw2IEBACiAA
LwAqACAAbQBlAHMAcwBhAGcAZQAgAGkAbgAgAGEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgAg
AHAAYQBuAGUAbAAgACoALwAKIAAiAFkAbwB1AHIAIABwAGEAcwBzAHcAbwByAGQAIAB3AGkAbABs
ACAAYgBlACAAcwBlAG4AdAAgAGkAbgAgAHQAaABlACAAYwBsAGUAYQByAC4AIgAgAD0AIAAiAFkA
bwB1AHIAIABwAGEAcwBzAHcAbwByAGQAIAB3AGkAbABsACAAYgBlACAAcwBlAG4AdAAgAGkAbgAg
AHQAaABlACAAYwBsAGUAYQByAC4AIgA7AAogAAotAC8AKgAgAHQAZQB4AHQAIABuAG8AZABlACAA
bgBhAG0AZQAgAHcAaQB0AGgAIAB0AGUAeAB0ACAAaQBuAGMAbAB1AGQAZQBkACAAKgAvAAotACIA
XAAiACUAQABcACIAIgAgAD0AIAAiAFwAIgAlAEAAXAAiACIAOwAKLQAKIAAvACoAIAB0AGUAeAB0
ACAAdABvACAAZABpAHMAcABsAGEAeQAgAGkAbgAgAGYAaQBsAGUAIABiAHUAdAB0AG8AbgAgAHUA
cwBlAGQAIABpAG4AIABIAFQATQBMACAAZgBvAHIAbQBzACAAdwBoAGUAbgAgAG4AbwAgAGYAaQBs
AGUAIABpAHMAIABzAGUAbABlAGMAdABlAGQAIAAqAC8ACiAAIgBuAG8AIABmAGkAbABlACAAcwBl
AGwAZQBjAHQAZQBkACIAIAA9ACAAIgBuAG8AIABmAGkAbABlACAAcwBlAGwAZQBjAHQAZQBkACIA
OwAKIAAK
</data>
<flag name="review"
          id="1756"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>