<?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>61972</bug_id>
          
          <creation_ts>2011-06-02 15:07:57 -0700</creation_ts>
          <short_desc>[GTK] Clean up unecessary boilerplate from WebKitWebSettings and make private members meet WebKit style guidelines</short_desc>
          <delta_ts>2011-06-20 14:19:14 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62424</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>414488</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-02 15:07:57 -0700</bug_when>
    <thetext>WebKitWebSettings could use a quick cleanup to remove unecessary boilerplate from and make private members meet WebKit style guidelines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414512</commentid>
    <comment_count>1</comment_count>
      <attachid>95825</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-02 15:51:30 -0700</bug_when>
    <thetext>Created attachment 95825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418338</commentid>
    <comment_count>2</comment_count>
      <attachid>95825</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-09 15:10:20 -0700</bug_when>
    <thetext>Comment on attachment 95825
Patch

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

&gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:1234
&gt; -    return WEBKIT_WEB_SETTINGS(g_object_new(WEBKIT_TYPE_WEB_SETTINGS, NULL));
&gt; +    return WEBKIT_WEB_SETTINGS(g_object_new(WEBKIT_TYPE_WEB_SETTINGS, 0));

This change is incorrect. When landing I will convert this back to NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418378</commentid>
    <comment_count>3</comment_count>
      <attachid>95825</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-06-09 16:20:42 -0700</bug_when>
    <thetext>Comment on attachment 95825
Patch

I honestly don&apos;t like assigning the private data instead of just creating the objects normally. Just because you can now do it without writing more code does not mean that you should...

Everything else seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418442</commentid>
    <comment_count>4</comment_count>
      <attachid>96678</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-09 17:56:12 -0700</bug_when>
    <thetext>Created attachment 96678
Patch that does not use assign private data members in the copy constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418473</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-09 19:37:52 -0700</bug_when>
    <thetext>Created this followup bug to address problems with webkit_web_settings_copy: https://bugs.webkit.org/show_bug.cgi?id=62424</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422400</commentid>
    <comment_count>6</comment_count>
      <attachid>96678</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-16 21:20:31 -0700</bug_when>
    <thetext>Comment on attachment 96678
Patch that does not use assign private data members in the copy constructor

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

Looks reasonable to me.  If you need a real gtk reviewer you should ask one of your gtk folks though. :)

&gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:906
&gt; +    delete WEBKIT_WEB_SETTINGS(object)-&gt;priv;

Manual delete?  So sad!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423857</commentid>
    <comment_count>7</comment_count>
      <attachid>96678</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-20 12:27:02 -0700</bug_when>
    <thetext>Comment on attachment 96678
Patch that does not use assign private data members in the copy constructor

Rejecting attachment 96678 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-01&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
ttingsprivate.h
patching file Source/WebKit/gtk/webkit/webkitwebview.cpp
Hunk #1 FAILED at 142.
Hunk #2 succeeded at 1306 (offset 1 line).
Hunk #3 succeeded at 1395 (offset 1 line).
Hunk #4 succeeded at 3175 (offset -7 lines).
Hunk #5 succeeded at 3474 (offset -7 lines).
1 out of 5 hunks FAILED -- saving rejects to file Source/WebKit/gtk/webkit/webkitwebview.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8907682</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423895</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-20 13:13:09 -0700</bug_when>
    <thetext>Committed r89282: &lt;http://trac.webkit.org/changeset/89282&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423941</commentid>
    <comment_count>9</comment_count>
      <attachid>96678</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-20 14:19:14 -0700</bug_when>
    <thetext>Comment on attachment 96678
Patch that does not use assign private data members in the copy constructor

Clearing flags after landing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95825</attachid>
            <date>2011-06-02 15:51:30 -0700</date>
            <delta_ts>2011-06-09 17:56:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61972-20110602155129.patch</filename>
            <type>text/plain</type>
            <size>49455</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3NjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBmOTQxYjQyMDJi
MWI1MDllZDZkOWYyMzRhYzcyZmJhZjMyYzhiNTFkLi5hOGUxMWViOGZlOGU4M2ZiOTAwMjJiMDY5
OGExMjE4NzdjNjJjNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEt
MDYtMDIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIENsZWFuIHVwIHVu
ZWNlc3NhcnkgYm9pbGVycGxhdGUgZnJvbSBXZWJLaXRXZWJTZXR0aW5ncyBhbmQgbWFrZSBwcml2
YXRlIG1lbWJlcnMgbWVldCBXZWJLaXQgc3R5bGUgZ3VpZGVsaW5lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzIKKworICAgICAgICBSZW5hbWUg
YWxsIHByaXZhdGUgbWVtYmVycyBvZiBXZWJLaXRXZWJTZXR0aW5ncyB0byBtZWV0IFdlYktpdCBz
dHlsZSBndWlkZWxpbmVzIGFuZAorICAgICAgICBwdXQgdGhlIHByaXZhdGUgc3RydWN0IGRlZmlu
aXRpb24gaW4gd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmggc28gaXQgY2FuIGJlCisgICAgICAg
IGFjY2Vzc2VkIGZyb20gd2Via2l0d2Vidmlldy5jcHAuIFRoaXMgY3V0cyBkb3duIG9uIHRoZSBi
b2lsZXJwbGF0ZSBpbW1lbnNlbHkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwOiBSZW5hbWUgcHJpdmF0ZSBtZW1iZXJzIHRvIG1lZXQgV2ViS2l0IHN0eWxlIGd1aWRl
bGluZXMKKyAgICAgICAgYW5kIGFsbG9jYXRlIHRoZSBwcml2YXRlIHNlY3Rpb24gd2l0aCBuZXcv
ZGVsZXRlLiBUaGlzIGFsbG93cyBmb3IgdXNpbmcgQ1N0cmluZyBhbmQgcmVtb3ZlcworICAgICAg
ICB0aGUgbmVlZCBmb3IgbWFudWFsIHN0cmluZyBtZW1vcnkgbWFuYWdlbWVudC4KKyAgICAgICAg
KiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmg6IE1vdmUgdGhlIHByaXZhdGUgc3Ry
dWN0IGRlZmluaXRpb24gaGVyZS4KKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6
IFVwZGF0ZSB0byByZWZsZWN0IG5ldyBzdHJ1Y3QgbmFtZXMuIFJlbW92ZSBib2lsZXJwbGF0ZQor
ICAgICAgICBhbmQgb3RoZXIgdmVyeSBzbWFsbCBjb2RlIGNsZWFudXBzLgorCiAyMDExLTA1LTMx
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBN
YXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vic2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNl
dHRpbmdzLmNwcAppbmRleCBlODMzZGU5NGVmZDhiNWI0N2RkNWNlOTk0MjI2YTUyZTllZmRlNjRi
Li4xODFmNjEwMjZmMTBjNzZkODdhNjNjYjVhZDhlMmUxNmQwM2MyOWU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKQEAgLTY1LDU5ICs2NSw2
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBHX0RFRklORV9UWVBFKFdlYktpdFdlYlNl
dHRpbmdzLCB3ZWJraXRfd2ViX3NldHRpbmdzLCBHX1RZUEVfT0JKRUNUKQogCi1zdHJ1Y3QgX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZSB7Ci0gICAgZ2NoYXIqIGRlZmF1bHRfZW5jb2Rpbmc7Ci0g
ICAgZ2NoYXIqIGN1cnNpdmVfZm9udF9mYW1pbHk7Ci0gICAgZ2NoYXIqIGRlZmF1bHRfZm9udF9m
YW1pbHk7Ci0gICAgZ2NoYXIqIGZhbnRhc3lfZm9udF9mYW1pbHk7Ci0gICAgZ2NoYXIqIG1vbm9z
cGFjZV9mb250X2ZhbWlseTsKLSAgICBnY2hhciogc2Fuc19zZXJpZl9mb250X2ZhbWlseTsKLSAg
ICBnY2hhciogc2VyaWZfZm9udF9mYW1pbHk7Ci0gICAgZ3VpbnQgZGVmYXVsdF9mb250X3NpemU7
Ci0gICAgZ3VpbnQgZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplOwotICAgIGd1aW50IG1pbmlt
dW1fZm9udF9zaXplOwotICAgIGd1aW50IG1pbmltdW1fbG9naWNhbF9mb250X3NpemU7Ci0gICAg
Z2Jvb2xlYW4gZW5mb3JjZV85Nl9kcGk7Ci0gICAgZ2Jvb2xlYW4gYXV0b19sb2FkX2ltYWdlczsK
LSAgICBnYm9vbGVhbiBhdXRvX3Nocmlua19pbWFnZXM7Ci0gICAgZ2Jvb2xlYW4gcHJpbnRfYmFj
a2dyb3VuZHM7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX3NjcmlwdHM7Ci0gICAgZ2Jvb2xlYW4gZW5h
YmxlX3BsdWdpbnM7Ci0gICAgZ2Jvb2xlYW4gcmVzaXphYmxlX3RleHRfYXJlYXM7Ci0gICAgZ2No
YXIqIHVzZXJfc3R5bGVzaGVldF91cmk7Ci0gICAgZ2Zsb2F0IHpvb21fc3RlcDsKLSAgICBnYm9v
bGVhbiBlbmFibGVfZGV2ZWxvcGVyX2V4dHJhczsKLSAgICBnYm9vbGVhbiBlbmFibGVfcHJpdmF0
ZV9icm93c2luZzsKLSAgICBnYm9vbGVhbiBlbmFibGVfc3BlbGxfY2hlY2tpbmc7Ci0gICAgZ2No
YXIqIHNwZWxsX2NoZWNraW5nX2xhbmd1YWdlczsKLSAgICBnYm9vbGVhbiBlbmFibGVfY2FyZXRf
YnJvd3Npbmc7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX2h0bWw1X2RhdGFiYXNlOwotICAgIGdib29s
ZWFuIGVuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlOwotICAgIGdib29sZWFuIGVuYWJsZV94c3Nf
YXVkaXRvcjsKLSAgICBnYm9vbGVhbiBlbmFibGVfc3BhdGlhbF9uYXZpZ2F0aW9uOwotICAgIGdi
b29sZWFuIGVuYWJsZV9mcmFtZV9mbGF0dGVuaW5nOwotICAgIGdjaGFyKiB1c2VyX2FnZW50Owot
ICAgIGdib29sZWFuIGphdmFzY3JpcHRfY2FuX29wZW5fd2luZG93c19hdXRvbWF0aWNhbGx5Owot
ICAgIGdib29sZWFuIGphdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQ7Ci0gICAgZ2Jvb2xl
YW4gZW5hYmxlX29mZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2NhY2hlOwotICAgIFdlYktpdEVkaXRp
bmdCZWhhdmlvciBlZGl0aW5nX2JlaGF2aW9yOwotICAgIGdib29sZWFuIGVuYWJsZV91bml2ZXJz
YWxfYWNjZXNzX2Zyb21fZmlsZV91cmlzOwotICAgIGdib29sZWFuIGVuYWJsZV9maWxlX2FjY2Vz
c19mcm9tX2ZpbGVfdXJpczsKLSAgICBnYm9vbGVhbiBlbmFibGVfZG9tX3Bhc3RlOwotICAgIGdi
b29sZWFuIHRhYl9rZXlfY3ljbGVzX3Rocm91Z2hfZWxlbWVudHM7Ci0gICAgZ2Jvb2xlYW4gZW5h
YmxlX2RlZmF1bHRfY29udGV4dF9tZW51OwotICAgIGdib29sZWFuIGVuYWJsZV9zaXRlX3NwZWNp
ZmljX3F1aXJrczsKLSAgICBnYm9vbGVhbiBlbmFibGVfcGFnZV9jYWNoZTsKLSAgICBnYm9vbGVh
biBhdXRvX3Jlc2l6ZV93aW5kb3c7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX2phdmFfYXBwbGV0Owot
ICAgIGdib29sZWFuIGVuYWJsZV9oeXBlcmxpbmtfYXVkaXRpbmc7Ci0gICAgZ2Jvb2xlYW4gZW5h
YmxlX2Z1bGxzY3JlZW47Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX2Ruc19wcmVmZXRjaGluZzsKLSAg
ICBnYm9vbGVhbiBlbmFibGVfd2ViZ2w7Ci19OwotCi0jZGVmaW5lIFdFQktJVF9XRUJfU0VUVElO
R1NfR0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpCi0KIGVu
dW0gewogICAgIFBST1BfMCwKIApAQCAtOTQ2LDMyICs4OTMsMTYgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xhc3MqIGtsYXNz
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXygiV2hldGhlciBXZWJLaXQgcHJlZmV0Y2hlcyBkb21haW4gbmFtZXMiKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bGFncykpOwotCi0gICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoV2Vi
S2l0V2ViU2V0dGluZ3NQcml2YXRlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0
dGluZ3NfaW5pdChXZWJLaXRXZWJTZXR0aW5ncyogd2ViX3NldHRpbmdzKQogewotICAgIHdlYl9z
ZXR0aW5ncy0+cHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSh3ZWJfc2V0dGluZ3Ms
IFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKTsKKyAg
ICB3ZWJfc2V0dGluZ3MtPnByaXYgPSBuZXcgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOwogfQog
CiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVj
dCkKIHsKLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogd2ViX3NldHRpbmdzID0gV0VCS0lUX1dFQl9T
RVRUSU5HUyhvYmplY3QpOwotICAgIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHdl
Yl9zZXR0aW5ncy0+cHJpdjsKLQotICAgIGdfZnJlZShwcml2LT5kZWZhdWx0X2VuY29kaW5nKTsK
LSAgICBnX2ZyZWUocHJpdi0+Y3Vyc2l2ZV9mb250X2ZhbWlseSk7Ci0gICAgZ19mcmVlKHByaXYt
PmRlZmF1bHRfZm9udF9mYW1pbHkpOwotICAgIGdfZnJlZShwcml2LT5mYW50YXN5X2ZvbnRfZmFt
aWx5KTsKLSAgICBnX2ZyZWUocHJpdi0+bW9ub3NwYWNlX2ZvbnRfZmFtaWx5KTsKLSAgICBnX2Zy
ZWUocHJpdi0+c2Fuc19zZXJpZl9mb250X2ZhbWlseSk7Ci0gICAgZ19mcmVlKHByaXYtPnNlcmlm
X2ZvbnRfZmFtaWx5KTsKLSAgICBnX2ZyZWUocHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSk7Ci0g
ICAgZ19mcmVlKHByaXYtPnNwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7Ci0KLSAgICBnX2ZyZWUo
cHJpdi0+dXNlcl9hZ2VudCk7Ci0KKyAgICBkZWxldGUgV0VCS0lUX1dFQl9TRVRUSU5HUyhvYmpl
Y3QpLT5wcml2OwogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF93ZWJfc2V0dGluZ3NfcGFyZW50
X2NsYXNzKS0+ZmluYWxpemUob2JqZWN0KTsKIH0KIApAQCAtOTgyLDE2MSArOTEzLDE1MSBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmpl
Y3QsIGd1aW50IHByb3BfaWQsIGNvbgogCiAgICAgc3dpdGNoKHByb3BfaWQpIHsKICAgICBjYXNl
IFBST1BfREVGQVVMVF9FTkNPRElORzoKLSAgICAgICAgZ19mcmVlKHByaXYtPmRlZmF1bHRfZW5j
b2RpbmcpOwotICAgICAgICBwcml2LT5kZWZhdWx0X2VuY29kaW5nID0gZ19zdHJkdXAoZ192YWx1
ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByaXYtPmRlZmF1bHRFbmNvZGluZyA9IGdf
dmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9D
VVJTSVZFX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX2ZyZWUocHJpdi0+Y3Vyc2l2ZV9mb250X2Zh
bWlseSk7Ci0gICAgICAgIHByaXYtPmN1cnNpdmVfZm9udF9mYW1pbHkgPSBnX3N0cmR1cChnX3Zh
bHVlX2dldF9zdHJpbmcodmFsdWUpKTsKKyAgICAgICAgcHJpdi0+Y3Vyc2l2ZUZvbnRGYW1pbHkg
PSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfREVGQVVMVF9GT05UX0ZBTUlMWToKLSAgICAgICAgZ19mcmVlKHByaXYtPmRlZmF1bHRfZm9u
dF9mYW1pbHkpOwotICAgICAgICBwcml2LT5kZWZhdWx0X2ZvbnRfZmFtaWx5ID0gZ19zdHJkdXAo
Z192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByaXYtPmRlZmF1bHRGb250RmFt
aWx5ID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0ZBTlRBU1lfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfZnJlZShwcml2LT5mYW50YXN5
X2ZvbnRfZmFtaWx5KTsKLSAgICAgICAgcHJpdi0+ZmFudGFzeV9mb250X2ZhbWlseSA9IGdfc3Ry
ZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOworICAgICAgICBwcml2LT5mYW50YXN5Rm9u
dEZhbWlseSA9IGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgUFJPUF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfZnJlZShwcml2LT5t
b25vc3BhY2VfZm9udF9mYW1pbHkpOwotICAgICAgICBwcml2LT5tb25vc3BhY2VfZm9udF9mYW1p
bHkgPSBnX3N0cmR1cChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsKKyAgICAgICAgcHJpdi0+
bW9ub3NwYWNlRm9udEZhbWlseSA9IGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgUFJPUF9TQU5TX1NFUklGX0ZPTlRfRkFNSUxZOgotICAgICAgICBn
X2ZyZWUocHJpdi0+c2Fuc19zZXJpZl9mb250X2ZhbWlseSk7Ci0gICAgICAgIHByaXYtPnNhbnNf
c2VyaWZfZm9udF9mYW1pbHkgPSBnX3N0cmR1cChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsK
KyAgICAgICAgcHJpdi0+c2Fuc1NlcmlmRm9udEZhbWlseSA9IGdfdmFsdWVfZ2V0X3N0cmluZyh2
YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9TRVJJRl9GT05UX0ZBTUlMWToK
LSAgICAgICAgZ19mcmVlKHByaXYtPnNlcmlmX2ZvbnRfZmFtaWx5KTsKLSAgICAgICAgcHJpdi0+
c2VyaWZfZm9udF9mYW1pbHkgPSBnX3N0cmR1cChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsK
KyAgICAgICAgcHJpdi0+c2VyaWZGb250RmFtaWx5ID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVl
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0RFRkFVTFRfRk9OVF9TSVpFOgotICAg
ICAgICBwcml2LT5kZWZhdWx0X2ZvbnRfc2l6ZSA9IGdfdmFsdWVfZ2V0X2ludCh2YWx1ZSk7Cisg
ICAgICAgIHByaXYtPmRlZmF1bHRGb250U2l6ZSA9IGdfdmFsdWVfZ2V0X2ludCh2YWx1ZSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9ERUZBVUxUX01PTk9TUEFDRV9GT05UX1NJWkU6
Ci0gICAgICAgIHByaXYtPmRlZmF1bHRfbW9ub3NwYWNlX2ZvbnRfc2l6ZSA9IGdfdmFsdWVfZ2V0
X2ludCh2YWx1ZSk7CisgICAgICAgIHByaXYtPmRlZmF1bHRNb25vc3BhY2VGb250U2l6ZSA9IGdf
dmFsdWVfZ2V0X2ludCh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9NSU5J
TVVNX0ZPTlRfU0laRToKLSAgICAgICAgcHJpdi0+bWluaW11bV9mb250X3NpemUgPSBnX3ZhbHVl
X2dldF9pbnQodmFsdWUpOworICAgICAgICBwcml2LT5taW5pbXVtRm9udFNpemUgPSBnX3ZhbHVl
X2dldF9pbnQodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfTUlOSU1VTV9M
T0dJQ0FMX0ZPTlRfU0laRToKLSAgICAgICAgcHJpdi0+bWluaW11bV9sb2dpY2FsX2ZvbnRfc2l6
ZSA9IGdfdmFsdWVfZ2V0X2ludCh2YWx1ZSk7CisgICAgICAgIHByaXYtPm1pbmltdW1Mb2dpY2Fs
Rm9udFNpemUgPSBnX3ZhbHVlX2dldF9pbnQodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBST1BfRU5GT1JDRV85Nl9EUEk6Ci0gICAgICAgIHByaXYtPmVuZm9yY2VfOTZfZHBpID0g
Z192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuZm9yY2U5NkRQSSA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfQVVUT19MT0FEX0lNQUdFUzoKLSAgICAgICAgcHJpdi0+YXV0b19sb2FkX2ltYWdlcyA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5hdXRvTG9hZEltYWdlcyA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfQVVUT19TSFJJTktfSU1BR0VTOgotICAgICAgICBwcml2LT5hdXRvX3Nocmlua19pbWFnZXMg
PSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+YXV0b1Nocmlua0lt
YWdlcyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBST1BfUFJJTlRfQkFDS0dST1VORFM6Ci0gICAgICAgIHByaXYtPnByaW50X2JhY2tncm91
bmRzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPnByaW50QmFj
a2dyb3VuZHMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0VOQUJMRV9TQ1JJUFRTOgotICAgICAgICBwcml2LT5lbmFibGVfc2NyaXB0
cyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVTY3Jp
cHRzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUFJPUF9FTkFCTEVfUExVR0lOUzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX3BsdWdpbnMgPSBn
X3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlUGx1Z2lucyA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfUkVTSVpBQkxFX1RFWFRfQVJFQVM6Ci0gICAgICAgIHByaXYtPnJlc2l6YWJsZV90ZXh0X2Fy
ZWFzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPnJlc2l6YWJs
ZVRleHRBcmVhcyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBST1BfVVNFUl9TVFlMRVNIRUVUX1VSSToKLSAgICAgICAgZ19mcmVlKHByaXYt
PnVzZXJfc3R5bGVzaGVldF91cmkpOwotICAgICAgICBwcml2LT51c2VyX3N0eWxlc2hlZXRfdXJp
ID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByaXYtPnVz
ZXJTdHlsZXNoZWV0VVJJID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQUk9QX1pPT01fU1RFUDoKLSAgICAgICAgcHJpdi0+em9vbV9zdGVwID0g
Z192YWx1ZV9nZXRfZmxvYXQodmFsdWUpOworICAgICAgICBwcml2LT56b29tU3RlcCA9IGdfdmFs
dWVfZ2V0X2Zsb2F0KHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJM
RV9ERVZFTE9QRVJfRVhUUkFTOgotICAgICAgICBwcml2LT5lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
cyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVEZXZl
bG9wZXJFeHRyYXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HOgotICAgICAgICBwcml2LT5l
bmFibGVfcHJpdmF0ZV9icm93c2luZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAg
ICAgICBwcml2LT5lbmFibGVQcml2YXRlQnJvd3NpbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9DQVJFVF9CUk9XU0lO
RzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2NhcmV0X2Jyb3dzaW5nID0gZ192YWx1ZV9nZXRfYm9v
bGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZUNhcmV0QnJvd3NpbmcgPSBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJM
RV9IVE1MNV9EQVRBQkFTRToKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2h0bWw1X2RhdGFiYXNlID0g
Z192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZUhUTUw1RGF0
YWJhc2UgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQUk9QX0VOQUJMRV9IVE1MNV9MT0NBTF9TVE9SQUdFOgotICAgICAgICBwcml2LT5lbmFi
bGVfaHRtbDVfbG9jYWxfc3RvcmFnZSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAg
ICAgICBwcml2LT5lbmFibGVIVE1MNUxvY2FsU3RvcmFnZSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4o
dmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NQRUxMX0NIRUNL
SU5HOgotICAgICAgICBwcml2LT5lbmFibGVfc3BlbGxfY2hlY2tpbmcgPSBnX3ZhbHVlX2dldF9i
b29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlU3BlbGxDaGVja2luZyA9IGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfU1BF
TExfQ0hFQ0tJTkdfTEFOR1VBR0VTOgotICAgICAgICBnX2ZyZWUocHJpdi0+c3BlbGxfY2hlY2tp
bmdfbGFuZ3VhZ2VzKTsKLSAgICAgICAgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzID0g
Z19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByaXYtPnNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1hTU19BVURJVE9SOgotICAgICAgICBwcml2LT5l
bmFibGVfeHNzX2F1ZGl0b3IgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAg
cHJpdi0+ZW5hYmxlWFNTQXVkaXRvciA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NQQVRJQUxfTkFWSUdBVElPTjoKLSAg
ICAgICAgcHJpdi0+ZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbiA9IGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVTcGF0aWFsTmF2aWdhdGlvbiA9IGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5B
QkxFX0ZSQU1FX0ZMQVRURU5JTkc6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9mcmFtZV9mbGF0dGVu
aW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZUZy
YW1lRmxhdHRlbmluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBST1BfVVNFUl9BR0VOVDoKLSAgICAgICAgZ19mcmVlKHByaXYtPnVzZXJf
YWdlbnQpOwogICAgICAgICBpZiAoIWdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkgfHwgIXN0cmxl
bihnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKSkKLSAgICAgICAgICAgIHByaXYtPnVzZXJfYWdl
bnQgPSBnX3N0cmR1cCh3ZWJraXRVc2VyQWdlbnQoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
ICAgIHByaXYtPnVzZXJBZ2VudCA9IHdlYmtpdFVzZXJBZ2VudCgpLnV0ZjgoKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgcHJpdi0+dXNlcl9hZ2VudCA9IGdfc3RyZHVwKGdfdmFsdWVfZ2V0
X3N0cmluZyh2YWx1ZSkpOworICAgICAgICAgICAgcHJpdi0+dXNlckFnZW50ID0gZ192YWx1ZV9n
ZXRfc3RyaW5nKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0pBVkFTQ1JJ
UFRfQ0FOX09QRU5fV0lORE9XU19BVVRPTUFUSUNBTExZOgotICAgICAgICBwcml2LT5qYXZhc2Ny
aXB0X2Nhbl9vcGVuX3dpbmRvd3NfYXV0b21hdGljYWxseSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4o
dmFsdWUpOworICAgICAgICBwcml2LT5qYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNh
bGx5ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUFJPUF9KQVZBU0NSSVBUX0NBTl9BQ0NFU1NfQ0xJUEJPQVJEOgotICAgICAgICBwcml2LT5q
YXZhc2NyaXB0X2Nhbl9hY2Nlc3NfY2xpcGJvYXJkID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1
ZSk7CisgICAgICAgIHByaXYtPmphdmFzY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQgPSBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTl9DQUNIRToKLSAgICAgICAgcHJpdi0+ZW5hYmxlX29m
ZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2NhY2hlID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7
CisgICAgICAgIHByaXYtPmVuYWJsZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlID0gZ192YWx1
ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FRElU
SU5HX0JFSEFWSU9SOgotICAgICAgICBwcml2LT5lZGl0aW5nX2JlaGF2aW9yID0gc3RhdGljX2Nh
c3Q8V2ViS2l0RWRpdGluZ0JlaGF2aW9yPihnX3ZhbHVlX2dldF9lbnVtKHZhbHVlKSk7CisgICAg
ICAgIHByaXYtPmVkaXRpbmdCZWhhdmlvciA9IHN0YXRpY19jYXN0PFdlYktpdEVkaXRpbmdCZWhh
dmlvcj4oZ192YWx1ZV9nZXRfZW51bSh2YWx1ZSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFBST1BfRU5BQkxFX1VOSVZFUlNBTF9BQ0NFU1NfRlJPTV9GSUxFX1VSSVM6Ci0gICAgICAgIHBy
aXYtPmVuYWJsZV91bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmlzID0gZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJJcyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBST1BfRU5BQkxFX0ZJTEVfQUNDRVNTX0ZST01fRklMRV9VUklTOgotICAgICAgICBw
cml2LT5lbmFibGVfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VyaXMgPSBnX3ZhbHVlX2dldF9ib29s
ZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlRmlsZUFjY2Vzc0Zyb21GaWxlVVJJcyA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfRU5BQkxFX0RPTV9QQVNURToKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2RvbV9wYXN0ZSA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVET01QYXN0ZSA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUzoKLSAgICAgICAgcHJpdi0+dGFiX2tl
eV9jeWNsZXNfdGhyb3VnaF9lbGVtZW50cyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwor
ICAgICAgICBwcml2LT50YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMgPSBnX3ZhbHVlX2dldF9i
b29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9ERUZB
VUxUX0NPTlRFWFRfTUVOVToKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2RlZmF1bHRfY29udGV4dF9t
ZW51ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZURl
ZmF1bHRDb250ZXh0TWVudSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NJVEVfU1BFQ0lGSUNfUVVJUktTOgotICAgICAg
ICBwcml2LT5lbmFibGVfc2l0ZV9zcGVjaWZpY19xdWlya3MgPSBnX3ZhbHVlX2dldF9ib29sZWFu
KHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzID0gZ192YWx1
ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFC
TEVfUEFHRV9DQUNIRToKLSAgICAgICAgcHJpdi0+ZW5hYmxlX3BhZ2VfY2FjaGUgPSBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlUGFnZUNhY2hlID0gZ192
YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9B
VVRPX1JFU0laRV9XSU5ET1c6Ci0gICAgICAgIHByaXYtPmF1dG9fcmVzaXplX3dpbmRvdyA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5hdXRvUmVzaXplV2luZG93
ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfSkFWQV9BUFBMRVQ6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9qYXZhX2FwcGxl
dCA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVKYXZh
QXBwbGV0ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgUFJPUF9FTkFCTEVfSFlQRVJMSU5LX0FVRElUSU5HOgotICAgICAgICBwcml2LT5lbmFi
bGVfaHlwZXJsaW5rX2F1ZGl0aW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAg
ICAgIHByaXYtPmVuYWJsZUh5cGVybGlua0F1ZGl0aW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2
YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfRlVMTFNDUkVFTjoK
LSAgICAgICAgcHJpdi0+ZW5hYmxlX2Z1bGxzY3JlZW4gPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlRnVsbHNjcmVlbiA9IGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX0ROU19QUkVG
RVRDSElORzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2Ruc19wcmVmZXRjaGluZyA9IGdfdmFsdWVf
Z2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVETlNQcmVmZXRjaGluZyA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfRU5BQkxFX1dFQkdMOgotICAgICAgICBwcml2LT5lbmFibGVfd2ViZ2wgPSBnX3ZhbHVlX2dl
dF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlV2ViZ2wgPSBnX3ZhbHVlX2dl
dF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
R19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMp
OwpAQCAtMTE1MSwxNDggKzEwNzIsMTQ4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGlu
Z3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhCiAKICAg
ICBzd2l0Y2ggKHByb3BfaWQpIHsKICAgICBjYXNlIFBST1BfREVGQVVMVF9FTkNPRElORzoKLSAg
ICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5kZWZhdWx0X2VuY29kaW5nKTsK
KyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5kZWZhdWx0RW5jb2Rpbmcu
ZGF0YSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0NVUlNJVkVfRk9OVF9GQU1J
TFk6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+Y3Vyc2l2ZV9mb250
X2ZhbWlseSk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+Y3Vyc2l2
ZUZvbnRGYW1pbHkuZGF0YSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0RFRkFV
TFRfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+
ZGVmYXVsdF9mb250X2ZhbWlseSk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwg
cHJpdi0+ZGVmYXVsdEZvbnRGYW1pbHkuZGF0YSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0ZBTlRBU1lfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2
YWx1ZSwgcHJpdi0+ZmFudGFzeV9mb250X2ZhbWlseSk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgcHJpdi0+ZmFudGFzeUZvbnRGYW1pbHkuZGF0YSgpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQUk9QX01PTk9TUEFDRV9GT05UX0ZBTUlMWToKLSAgICAgICAgZ192YWx1
ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5tb25vc3BhY2VfZm9udF9mYW1pbHkpOworICAgICAg
ICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPm1vbm9zcGFjZUZvbnRGYW1pbHkuZGF0
YSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1NBTlNfU0VSSUZfRk9OVF9GQU1J
TFk6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+c2Fuc19zZXJpZl9m
b250X2ZhbWlseSk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+c2Fu
c1NlcmlmRm9udEZhbWlseS5kYXRhKCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1Bf
U0VSSUZfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJp
di0+c2VyaWZfZm9udF9mYW1pbHkpOworICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUs
IHByaXYtPnNlcmlmRm9udEZhbWlseS5kYXRhKCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFBST1BfREVGQVVMVF9GT05UX1NJWkU6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2ludCh2YWx1ZSwg
cHJpdi0+ZGVmYXVsdF9mb250X3NpemUpOworICAgICAgICBnX3ZhbHVlX3NldF9pbnQodmFsdWUs
IHByaXYtPmRlZmF1bHRGb250U2l6ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9E
RUZBVUxUX01PTk9TUEFDRV9GT05UX1NJWkU6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2ludCh2YWx1
ZSwgcHJpdi0+ZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplKTsKKyAgICAgICAgZ192YWx1ZV9z
ZXRfaW50KHZhbHVlLCBwcml2LT5kZWZhdWx0TW9ub3NwYWNlRm9udFNpemUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFBST1BfTUlOSU1VTV9GT05UX1NJWkU6Ci0gICAgICAgIGdfdmFsdWVf
c2V0X2ludCh2YWx1ZSwgcHJpdi0+bWluaW11bV9mb250X3NpemUpOworICAgICAgICBnX3ZhbHVl
X3NldF9pbnQodmFsdWUsIHByaXYtPm1pbmltdW1Gb250U2l6ZSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUFJPUF9NSU5JTVVNX0xPR0lDQUxfRk9OVF9TSVpFOgotICAgICAgICBnX3ZhbHVl
X3NldF9pbnQodmFsdWUsIHByaXYtPm1pbmltdW1fbG9naWNhbF9mb250X3NpemUpOworICAgICAg
ICBnX3ZhbHVlX3NldF9pbnQodmFsdWUsIHByaXYtPm1pbmltdW1Mb2dpY2FsRm9udFNpemUpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5GT1JDRV85Nl9EUEk6Ci0gICAgICAgIGdf
dmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuZm9yY2VfOTZfZHBpKTsKKyAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5mb3JjZTk2RFBJKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBQUk9QX0FVVE9fTE9BRF9JTUFHRVM6Ci0gICAgICAgIGdfdmFsdWVf
c2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmF1dG9fbG9hZF9pbWFnZXMpOworICAgICAgICBnX3Zh
bHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvTG9hZEltYWdlcyk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgUFJPUF9BVVRPX1NIUklOS19JTUFHRVM6Ci0gICAgICAgIGdfdmFsdWVf
c2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmF1dG9fc2hyaW5rX2ltYWdlcyk7CisgICAgICAgIGdf
dmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmF1dG9TaHJpbmtJbWFnZXMpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFBST1BfUFJJTlRfQkFDS0dST1VORFM6Ci0gICAgICAgIGdfdmFs
dWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPnByaW50X2JhY2tncm91bmRzKTsKKyAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+cHJpbnRCYWNrZ3JvdW5kcyk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfU0NSSVBUUzoKLSAgICAgICAgZ192YWx1
ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3NjcmlwdHMpOworICAgICAgICBnX3Zh
bHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVTY3JpcHRzKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QTFVHSU5TOgotICAgICAgICBnX3ZhbHVlX3NldF9i
b29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfcGx1Z2lucyk7CisgICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVBsdWdpbnMpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBST1BfUkVTSVpBQkxFX1RFWFRfQVJFQVM6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jv
b2xlYW4odmFsdWUsIHByaXYtPnJlc2l6YWJsZV90ZXh0X2FyZWFzKTsKKyAgICAgICAgZ192YWx1
ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+cmVzaXphYmxlVGV4dEFyZWFzKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBQUk9QX1VTRVJfU1RZTEVTSEVFVF9VUkk6Ci0gICAgICAgIGdfdmFs
dWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSk7CisgICAgICAg
IGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+dXNlclN0eWxlc2hlZXRVUkkuZGF0YSgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1pPT01fU1RFUDoKLSAgICAgICAgZ192
YWx1ZV9zZXRfZmxvYXQodmFsdWUsIHByaXYtPnpvb21fc3RlcCk7CisgICAgICAgIGdfdmFsdWVf
c2V0X2Zsb2F0KHZhbHVlLCBwcml2LT56b29tU3RlcCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9v
bGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMpOworICAgICAgICBnX3Zh
bHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVEZXZlbG9wZXJFeHRyYXMpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1BSSVZBVEVfQlJPV1NJTkc6Ci0gICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9wcml2YXRlX2Jyb3dz
aW5nKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlUHJp
dmF0ZUJyb3dzaW5nKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9DQVJF
VF9CUk9XU0lORzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5h
YmxlX2NhcmV0X2Jyb3dzaW5nKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwg
cHJpdi0+ZW5hYmxlQ2FyZXRCcm93c2luZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJP
UF9FTkFCTEVfSFRNTDVfREFUQUJBU0U6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFs
dWUsIHByaXYtPmVuYWJsZV9odG1sNV9kYXRhYmFzZSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jv
b2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZUhUTUw1RGF0YWJhc2UpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBST1BfRU5BQkxFX0hUTUw1X0xPQ0FMX1NUT1JBR0U6Ci0gICAgICAgIGdfdmFs
dWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlKTsK
KyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlSFRNTDVMb2Nh
bFN0b3JhZ2UpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NQRUxMX0NI
RUNLSU5HOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVf
c3BlbGxfY2hlY2tpbmcpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2
LT5lbmFibGVTcGVsbENoZWNraW5nKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1NQ
RUxMX0NIRUNLSU5HX0xBTkdVQUdFUzoKLSAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVl
LCBwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpOworICAgICAgICBnX3ZhbHVlX3NldF9z
dHJpbmcodmFsdWUsIHByaXYtPnNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMuZGF0YSgpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9YU1NfQVVESVRPUjoKLSAgICAgICAgZ192
YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3hzc19hdWRpdG9yKTsKKyAgICAg
ICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlWFNTQXVkaXRvcik7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfU1BBVElBTF9OQVZJR0FUSU9OOgot
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfc3BhdGlhbF9u
YXZpZ2F0aW9uKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5h
YmxlU3BhdGlhbE5hdmlnYXRpb24pOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5B
QkxFX0ZSQU1FX0ZMQVRURU5JTkc6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUs
IHByaXYtPmVuYWJsZV9mcmFtZV9mbGF0dGVuaW5nKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9v
bGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlRnJhbWVGbGF0dGVuaW5nKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQUk9QX1VTRVJfQUdFTlQ6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2
YWx1ZSwgcHJpdi0+dXNlcl9hZ2VudCk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1
ZSwgcHJpdi0+dXNlckFnZW50LmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJP
UF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVUT01BVElDQUxMWToKLSAgICAgICAgZ192
YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+amF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dz
X2F1dG9tYXRpY2FsbHkpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2
LT5qYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQUk9QX0pBVkFTQ1JJUFRfQ0FOX0FDQ0VTU19DTElQQk9BUkQ6Ci0gICAgICAg
IGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmphdmFzY3JpcHRfY2FuX2FjY2Vzc19j
bGlwYm9hcmQpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5qYXZh
c2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTl9DQUNIRToKLSAgICAgICAgZ192YWx1ZV9z
ZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX29mZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2Nh
Y2hlKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlT2Zm
bGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1Bf
RURJVElOR19CRUhBVklPUjoKLSAgICAgICAgZ192YWx1ZV9zZXRfZW51bSh2YWx1ZSwgcHJpdi0+
ZWRpdGluZ19iZWhhdmlvcik7CisgICAgICAgIGdfdmFsdWVfc2V0X2VudW0odmFsdWUsIHByaXYt
PmVkaXRpbmdCZWhhdmlvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVf
VU5JVkVSU0FMX0FDQ0VTU19GUk9NX0ZJTEVfVVJJUzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9v
bGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3VuaXZlcnNhbF9hY2Nlc3NfZnJvbV9maWxlX3VyaXMp
OworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVVbml2ZXJz
YWxBY2Nlc3NGcm9tRmlsZVVSSXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5B
QkxFX0ZJTEVfQUNDRVNTX0ZST01fRklMRV9VUklTOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29s
ZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VyaXMpOworICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVGaWxlQWNjZXNzRnJv
bUZpbGVVUklzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9ET01fUEFT
VEU6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9kb21f
cGFzdGUpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVE
T01QYXN0ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9UQUJfS0VZX0NZQ0xFU19U
SFJPVUdIX0VMRU1FTlRTOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2
LT50YWJfa2V5X2N5Y2xlc190aHJvdWdoX2VsZW1lbnRzKTsKKyAgICAgICAgZ192YWx1ZV9zZXRf
Ym9vbGVhbih2YWx1ZSwgcHJpdi0+dGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9ERUZBVUxUX0NPTlRFWFRfTUVOVToKLSAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX2RlZmF1bHRfY29u
dGV4dF9tZW51KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5h
YmxlRGVmYXVsdENvbnRleHRNZW51KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VO
QUJMRV9TSVRFX1NQRUNJRklDX1FVSVJLUzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2
YWx1ZSwgcHJpdi0+ZW5hYmxlX3NpdGVfc3BlY2lmaWNfcXVpcmtzKTsKKyAgICAgICAgZ192YWx1
ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QQUdFX0NBQ0hFOgotICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfcGFnZV9jYWNoZSk7CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVBhZ2VDYWNoZSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9BVVRPX1JFU0laRV9XSU5ET1c6Ci0gICAgICAg
IGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmF1dG9fcmVzaXplX3dpbmRvdyk7Cisg
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmF1dG9SZXNpemVXaW5kb3cp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX0pBVkFfQVBQTEVUOgotICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfamF2YV9hcHBsZXQp
OworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVKYXZhQXBw
bGV0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9IWVBFUkxJTktfQVVE
SVRJTkc6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9o
eXBlcmxpbmtfYXVkaXRpbmcpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBw
cml2LT5lbmFibGVIeXBlcmxpbmtBdWRpdGluZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfRlVMTFNDUkVFTjoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgcHJpdi0+ZW5hYmxlX2Z1bGxzY3JlZW4pOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFu
KHZhbHVlLCBwcml2LT5lbmFibGVGdWxsc2NyZWVuKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9ETlNfUFJFRkVUQ0hJTkc6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xl
YW4odmFsdWUsIHByaXYtPmVuYWJsZV9kbnNfcHJlZmV0Y2hpbmcpOworICAgICAgICBnX3ZhbHVl
X3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVETlNQcmVmZXRjaGluZyk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfV0VCR0w6Ci0gICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV93ZWJnbCk7CisgICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVdlYmdsKTsKICAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVj
dCwgcHJvcF9pZCwgcHNwZWMpOwpAQCAtMTMxMCw3ICsxMjMxLDcgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9w
X2lkLCBHVmEKICAqKi8KIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX25l
dygpCiB7Ci0gICAgcmV0dXJuIFdFQktJVF9XRUJfU0VUVElOR1MoZ19vYmplY3RfbmV3KFdFQktJ
VF9UWVBFX1dFQl9TRVRUSU5HUywgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfV0VCX1NFVFRJ
TkdTKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIDApKTsKIH0KIAogLyoq
CkBAIC0xMzIwLDU5ICsxMjQxLDYwIEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3Nl
dHRpbmdzX25ldygpCiAgKgogICogUmV0dXJuczogKHRyYW5zZmVyIGZ1bGwpOiBhIG5ldyAjV2Vi
S2l0V2ViU2V0dGluZ3MgaW5zdGFuY2UKICAqKi8KLVdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRf
d2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncykKK1dlYktp
dFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3Mq
IG9yaWdpbmFsKQogewotICAgIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHdlYl9z
ZXR0aW5ncy0+cHJpdjsKLQotICAgIFdlYktpdFdlYlNldHRpbmdzKiBjb3B5ID0gV0VCS0lUX1dF
Ql9TRVRUSU5HUyhnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfV0VCX1NFVFRJTkdTLAotICAgICAg
ICAgICAgICAgICAiZGVmYXVsdC1lbmNvZGluZyIsIHByaXYtPmRlZmF1bHRfZW5jb2RpbmcsCi0g
ICAgICAgICAgICAgICAgICJjdXJzaXZlLWZvbnQtZmFtaWx5IiwgcHJpdi0+Y3Vyc2l2ZV9mb250
X2ZhbWlseSwKLSAgICAgICAgICAgICAgICAgImRlZmF1bHQtZm9udC1mYW1pbHkiLCBwcml2LT5k
ZWZhdWx0X2ZvbnRfZmFtaWx5LAotICAgICAgICAgICAgICAgICAiZmFudGFzeS1mb250LWZhbWls
eSIsIHByaXYtPmZhbnRhc3lfZm9udF9mYW1pbHksCi0gICAgICAgICAgICAgICAgICJtb25vc3Bh
Y2UtZm9udC1mYW1pbHkiLCBwcml2LT5tb25vc3BhY2VfZm9udF9mYW1pbHksCi0gICAgICAgICAg
ICAgICAgICJzYW5zLXNlcmlmLWZvbnQtZmFtaWx5IiwgcHJpdi0+c2Fuc19zZXJpZl9mb250X2Zh
bWlseSwKLSAgICAgICAgICAgICAgICAgInNlcmlmLWZvbnQtZmFtaWx5IiwgcHJpdi0+c2VyaWZf
Zm9udF9mYW1pbHksCi0gICAgICAgICAgICAgICAgICJkZWZhdWx0LWZvbnQtc2l6ZSIsIHByaXYt
PmRlZmF1bHRfZm9udF9zaXplLAotICAgICAgICAgICAgICAgICAiZGVmYXVsdC1tb25vc3BhY2Ut
Zm9udC1zaXplIiwgcHJpdi0+ZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplLAotICAgICAgICAg
ICAgICAgICAibWluaW11bS1mb250LXNpemUiLCBwcml2LT5taW5pbXVtX2ZvbnRfc2l6ZSwKLSAg
ICAgICAgICAgICAgICAgIm1pbmltdW0tbG9naWNhbC1mb250LXNpemUiLCBwcml2LT5taW5pbXVt
X2xvZ2ljYWxfZm9udF9zaXplLAotICAgICAgICAgICAgICAgICAiYXV0by1sb2FkLWltYWdlcyIs
IHByaXYtPmF1dG9fbG9hZF9pbWFnZXMsCi0gICAgICAgICAgICAgICAgICJhdXRvLXNocmluay1p
bWFnZXMiLCBwcml2LT5hdXRvX3Nocmlua19pbWFnZXMsCi0gICAgICAgICAgICAgICAgICJwcmlu
dC1iYWNrZ3JvdW5kcyIsIHByaXYtPnByaW50X2JhY2tncm91bmRzLAotICAgICAgICAgICAgICAg
ICAiZW5hYmxlLXNjcmlwdHMiLCBwcml2LT5lbmFibGVfc2NyaXB0cywKLSAgICAgICAgICAgICAg
ICAgImVuYWJsZS1wbHVnaW5zIiwgcHJpdi0+ZW5hYmxlX3BsdWdpbnMsCi0gICAgICAgICAgICAg
ICAgICJyZXNpemFibGUtdGV4dC1hcmVhcyIsIHByaXYtPnJlc2l6YWJsZV90ZXh0X2FyZWFzLAot
ICAgICAgICAgICAgICAgICAidXNlci1zdHlsZXNoZWV0LXVyaSIsIHByaXYtPnVzZXJfc3R5bGVz
aGVldF91cmksCi0gICAgICAgICAgICAgICAgICJ6b29tLXN0ZXAiLCBwcml2LT56b29tX3N0ZXAs
Ci0gICAgICAgICAgICAgICAgICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsIHByaXYtPmVuYWJs
ZV9kZXZlbG9wZXJfZXh0cmFzLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXByaXZhdGUtYnJv
d3NpbmciLCBwcml2LT5lbmFibGVfcHJpdmF0ZV9icm93c2luZywKLSAgICAgICAgICAgICAgICAg
ImVuYWJsZS1zcGVsbC1jaGVja2luZyIsIHByaXYtPmVuYWJsZV9zcGVsbF9jaGVja2luZywKLSAg
ICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5nLWxhbmd1YWdlcyIsIHByaXYtPnNwZWxsX2No
ZWNraW5nX2xhbmd1YWdlcywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1jYXJldC1icm93c2lu
ZyIsIHByaXYtPmVuYWJsZV9jYXJldF9icm93c2luZywKLSAgICAgICAgICAgICAgICAgImVuYWJs
ZS1odG1sNS1kYXRhYmFzZSIsIHByaXYtPmVuYWJsZV9odG1sNV9kYXRhYmFzZSwKLSAgICAgICAg
ICAgICAgICAgImVuYWJsZS1odG1sNS1sb2NhbC1zdG9yYWdlIiwgcHJpdi0+ZW5hYmxlX2h0bWw1
X2xvY2FsX3N0b3JhZ2UsCi0gICAgICAgICAgICAgICAgICJlbmFibGUteHNzLWF1ZGl0b3IiLCBw
cml2LT5lbmFibGVfeHNzX2F1ZGl0b3IsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtc3BhdGlh
bC1uYXZpZ2F0aW9uIiwgcHJpdi0+ZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbiwKLSAgICAgICAg
ICAgICAgICAgImVuYWJsZS1mcmFtZS1mbGF0dGVuaW5nIiwgcHJpdi0+ZW5hYmxlX2ZyYW1lX2Zs
YXR0ZW5pbmcsCi0gICAgICAgICAgICAgICAgICJ1c2VyLWFnZW50Iiwgd2Via2l0X3dlYl9zZXR0
aW5nc19nZXRfdXNlcl9hZ2VudCh3ZWJfc2V0dGluZ3MpLAotICAgICAgICAgICAgICAgICAiamF2
YXNjcmlwdC1jYW4tb3Blbi13aW5kb3dzLWF1dG9tYXRpY2FsbHkiLCBwcml2LT5qYXZhc2NyaXB0
X2Nhbl9vcGVuX3dpbmRvd3NfYXV0b21hdGljYWxseSwKLSAgICAgICAgICAgICAgICAgImphdmFz
Y3JpcHQtY2FuLWFjY2Vzcy1jbGlwYm9hcmQiLCBwcml2LT5qYXZhc2NyaXB0X2Nhbl9hY2Nlc3Nf
Y2xpcGJvYXJkLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0
aW9uLWNhY2hlIiwgcHJpdi0+ZW5hYmxlX29mZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2NhY2hlLAot
ICAgICAgICAgICAgICAgICAiZWRpdGluZy1iZWhhdmlvciIsIHByaXYtPmVkaXRpbmdfYmVoYXZp
b3IsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtdW5pdmVyc2FsLWFjY2Vzcy1mcm9tLWZpbGUt
dXJpcyIsIHByaXYtPmVuYWJsZV91bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmlzLAotICAg
ICAgICAgICAgICAgICAiZW5hYmxlLWZpbGUtYWNjZXNzLWZyb20tZmlsZS11cmlzIiwgcHJpdi0+
ZW5hYmxlX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmlzLAotICAgICAgICAgICAgICAgICAiZW5h
YmxlLWRvbS1wYXN0ZSIsIHByaXYtPmVuYWJsZV9kb21fcGFzdGUsCi0gICAgICAgICAgICAgICAg
ICJ0YWIta2V5LWN5Y2xlcy10aHJvdWdoLWVsZW1lbnRzIiwgcHJpdi0+dGFiX2tleV9jeWNsZXNf
dGhyb3VnaF9lbGVtZW50cywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1kZWZhdWx0LWNvbnRl
eHQtbWVudSIsIHByaXYtPmVuYWJsZV9kZWZhdWx0X2NvbnRleHRfbWVudSwKLSAgICAgICAgICAg
ICAgICAgImVuYWJsZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIsIHByaXYtPmVuYWJsZV9zaXRlX3Nw
ZWNpZmljX3F1aXJrcywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgcHJp
di0+ZW5hYmxlX3BhZ2VfY2FjaGUsCi0gICAgICAgICAgICAgICAgICJhdXRvLXJlc2l6ZS13aW5k
b3ciLCBwcml2LT5hdXRvX3Jlc2l6ZV93aW5kb3csCi0gICAgICAgICAgICAgICAgICJlbmFibGUt
amF2YS1hcHBsZXQiLCBwcml2LT5lbmFibGVfamF2YV9hcHBsZXQsCi0gICAgICAgICAgICAgICAg
ICJlbmFibGUtaHlwZXJsaW5rLWF1ZGl0aW5nIiwgcHJpdi0+ZW5hYmxlX2h5cGVybGlua19hdWRp
dGluZywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1mdWxsc2NyZWVuIiwgcHJpdi0+ZW5hYmxl
X2Z1bGxzY3JlZW4sCi0gICAgICAgICAgICAgICAgICJlbmFibGUtZG5zLXByZWZldGNoaW5nIiwg
cHJpdi0+ZW5hYmxlX2Ruc19wcmVmZXRjaGluZywKLSAgICAgICAgICAgICAgICAgTlVMTCkpOwot
CisgICAgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKiBvcmlnaW5hbFByaXZhdGUgPSBvcmlnaW5h
bC0+cHJpdjsKKyAgICBXZWJLaXRXZWJTZXR0aW5ncyogY29weSA9IHdlYmtpdF93ZWJfc2V0dGlu
Z3NfbmV3KCk7CisgICAgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKiBjb3B5UHJpdmF0ZSA9IGNv
cHktPnByaXY7CisKKyAgICBjb3B5UHJpdmF0ZS0+ZGVmYXVsdEVuY29kaW5nID0gb3JpZ2luYWxQ
cml2YXRlLT5kZWZhdWx0RW5jb2Rpbmc7CisgICAgY29weVByaXZhdGUtPmN1cnNpdmVGb250RmFt
aWx5ID0gb3JpZ2luYWxQcml2YXRlLT5jdXJzaXZlRm9udEZhbWlseTsKKyAgICBjb3B5UHJpdmF0
ZS0+ZGVmYXVsdEZvbnRGYW1pbHkgPSBvcmlnaW5hbFByaXZhdGUtPmRlZmF1bHRGb250RmFtaWx5
OworICAgIGNvcHlQcml2YXRlLT5mYW50YXN5Rm9udEZhbWlseSA9IG9yaWdpbmFsUHJpdmF0ZS0+
ZmFudGFzeUZvbnRGYW1pbHk7CisgICAgY29weVByaXZhdGUtPm1vbm9zcGFjZUZvbnRGYW1pbHkg
PSBvcmlnaW5hbFByaXZhdGUtPm1vbm9zcGFjZUZvbnRGYW1pbHk7CisgICAgY29weVByaXZhdGUt
PnNhbnNTZXJpZkZvbnRGYW1pbHkgPSBvcmlnaW5hbFByaXZhdGUtPnNhbnNTZXJpZkZvbnRGYW1p
bHk7CisgICAgY29weVByaXZhdGUtPnNlcmlmRm9udEZhbWlseSA9IG9yaWdpbmFsUHJpdmF0ZS0+
c2VyaWZGb250RmFtaWx5OworICAgIGNvcHlQcml2YXRlLT5kZWZhdWx0Rm9udFNpemUgPSBvcmln
aW5hbFByaXZhdGUtPmRlZmF1bHRGb250U2l6ZTsKKyAgICBjb3B5UHJpdmF0ZS0+ZGVmYXVsdE1v
bm9zcGFjZUZvbnRTaXplID0gb3JpZ2luYWxQcml2YXRlLT5kZWZhdWx0TW9ub3NwYWNlRm9udFNp
emU7CisgICAgY29weVByaXZhdGUtPm1pbmltdW1Gb250U2l6ZSA9IG9yaWdpbmFsUHJpdmF0ZS0+
bWluaW11bUZvbnRTaXplOworICAgIGNvcHlQcml2YXRlLT5taW5pbXVtTG9naWNhbEZvbnRTaXpl
ID0gb3JpZ2luYWxQcml2YXRlLT5taW5pbXVtTG9naWNhbEZvbnRTaXplOworICAgIGNvcHlQcml2
YXRlLT5lbmZvcmNlOTZEUEkgPSBvcmlnaW5hbFByaXZhdGUtPmVuZm9yY2U5NkRQSTsKKyAgICBj
b3B5UHJpdmF0ZS0+YXV0b0xvYWRJbWFnZXMgPSBvcmlnaW5hbFByaXZhdGUtPmF1dG9Mb2FkSW1h
Z2VzOworICAgIGNvcHlQcml2YXRlLT5hdXRvU2hyaW5rSW1hZ2VzID0gb3JpZ2luYWxQcml2YXRl
LT5hdXRvU2hyaW5rSW1hZ2VzOworICAgIGNvcHlQcml2YXRlLT5wcmludEJhY2tncm91bmRzID0g
b3JpZ2luYWxQcml2YXRlLT5wcmludEJhY2tncm91bmRzOworICAgIGNvcHlQcml2YXRlLT5lbmFi
bGVTY3JpcHRzID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVTY3JpcHRzOworICAgIGNvcHlQcml2
YXRlLT5lbmFibGVQbHVnaW5zID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVQbHVnaW5zOworICAg
IGNvcHlQcml2YXRlLT5yZXNpemFibGVUZXh0QXJlYXMgPSBvcmlnaW5hbFByaXZhdGUtPnJlc2l6
YWJsZVRleHRBcmVhczsKKyAgICBjb3B5UHJpdmF0ZS0+dXNlclN0eWxlc2hlZXRVUkkgPSBvcmln
aW5hbFByaXZhdGUtPnVzZXJTdHlsZXNoZWV0VVJJOworICAgIGNvcHlQcml2YXRlLT56b29tU3Rl
cCA9IG9yaWdpbmFsUHJpdmF0ZS0+em9vbVN0ZXA7CisgICAgY29weVByaXZhdGUtPmVuYWJsZURl
dmVsb3BlckV4dHJhcyA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOwor
ICAgIGNvcHlQcml2YXRlLT5lbmFibGVQcml2YXRlQnJvd3NpbmcgPSBvcmlnaW5hbFByaXZhdGUt
PmVuYWJsZVByaXZhdGVCcm93c2luZzsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlU3BlbGxDaGVj
a2luZyA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlU3BlbGxDaGVja2luZzsKKyAgICBjb3B5UHJp
dmF0ZS0+c3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IG9yaWdpbmFsUHJpdmF0ZS0+c3BlbGxDaGVj
a2luZ0xhbmd1YWdlczsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlQ2FyZXRCcm93c2luZyA9IG9y
aWdpbmFsUHJpdmF0ZS0+ZW5hYmxlQ2FyZXRCcm93c2luZzsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5h
YmxlSFRNTDVEYXRhYmFzZSA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlSFRNTDVEYXRhYmFzZTsK
KyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2UgPSBvcmlnaW5hbFByaXZh
dGUtPmVuYWJsZUhUTUw1TG9jYWxTdG9yYWdlOworICAgIGNvcHlQcml2YXRlLT5lbmFibGVYU1NB
dWRpdG9yID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVYU1NBdWRpdG9yOworICAgIGNvcHlQcml2
YXRlLT5lbmFibGVTcGF0aWFsTmF2aWdhdGlvbiA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlU3Bh
dGlhbE5hdmlnYXRpb247CisgICAgY29weVByaXZhdGUtPmVuYWJsZUZyYW1lRmxhdHRlbmluZyA9
IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlRnJhbWVGbGF0dGVuaW5nOworICAgIGNvcHlQcml2YXRl
LT51c2VyQWdlbnQgPSBvcmlnaW5hbFByaXZhdGUtPnVzZXJBZ2VudDsKKyAgICBjb3B5UHJpdmF0
ZS0+amF2YXNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSA9IG9yaWdpbmFsUHJpdmF0
ZS0+amF2YXNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseTsKKyAgICBjb3B5UHJpdmF0
ZS0+amF2YXNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCA9IG9yaWdpbmFsUHJpdmF0ZS0+amF2YXNj
cmlwdENhbkFjY2Vzc0NsaXBib2FyZDsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlT2ZmbGluZVdl
YkFwcGxpY2F0aW9uQ2FjaGUgPSBvcmlnaW5hbFByaXZhdGUtPmVuYWJsZU9mZmxpbmVXZWJBcHBs
aWNhdGlvbkNhY2hlOworICAgIGNvcHlQcml2YXRlLT5lZGl0aW5nQmVoYXZpb3IgPSBvcmlnaW5h
bFByaXZhdGUtPmVkaXRpbmdCZWhhdmlvcjsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlVW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUklzID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVVbml2ZXJzYWxB
Y2Nlc3NGcm9tRmlsZVVSSXM7CisgICAgY29weVByaXZhdGUtPmVuYWJsZUZpbGVBY2Nlc3NGcm9t
RmlsZVVSSXMgPSBvcmlnaW5hbFByaXZhdGUtPmVuYWJsZUZpbGVBY2Nlc3NGcm9tRmlsZVVSSXM7
CisgICAgY29weVByaXZhdGUtPmVuYWJsZURPTVBhc3RlID0gb3JpZ2luYWxQcml2YXRlLT5lbmFi
bGVET01QYXN0ZTsKKyAgICBjb3B5UHJpdmF0ZS0+dGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRz
ID0gb3JpZ2luYWxQcml2YXRlLT50YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHM7CisgICAgY29w
eVByaXZhdGUtPmVuYWJsZURlZmF1bHRDb250ZXh0TWVudSA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5h
YmxlRGVmYXVsdENvbnRleHRNZW51OworICAgIGNvcHlQcml2YXRlLT5lbmFibGVTaXRlU3BlY2lm
aWNRdWlya3MgPSBvcmlnaW5hbFByaXZhdGUtPmVuYWJsZVNpdGVTcGVjaWZpY1F1aXJrczsKKyAg
ICBjb3B5UHJpdmF0ZS0+ZW5hYmxlUGFnZUNhY2hlID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVQ
YWdlQ2FjaGU7CisgICAgY29weVByaXZhdGUtPmF1dG9SZXNpemVXaW5kb3cgPSBvcmlnaW5hbFBy
aXZhdGUtPmF1dG9SZXNpemVXaW5kb3c7CisgICAgY29weVByaXZhdGUtPmVuYWJsZUphdmFBcHBs
ZXQgPSBvcmlnaW5hbFByaXZhdGUtPmVuYWJsZUphdmFBcHBsZXQ7CisgICAgY29weVByaXZhdGUt
PmVuYWJsZUh5cGVybGlua0F1ZGl0aW5nID0gb3JpZ2luYWxQcml2YXRlLT5lbmFibGVIeXBlcmxp
bmtBdWRpdGluZzsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlRnVsbHNjcmVlbiA9IG9yaWdpbmFs
UHJpdmF0ZS0+ZW5hYmxlRnVsbHNjcmVlbjsKKyAgICBjb3B5UHJpdmF0ZS0+ZW5hYmxlRE5TUHJl
ZmV0Y2hpbmcgPSBvcmlnaW5hbFByaXZhdGUtPmVuYWJsZUROU1ByZWZldGNoaW5nOworICAgIGNv
cHlQcml2YXRlLT5lbmFibGVXZWJnbCA9IG9yaWdpbmFsUHJpdmF0ZS0+ZW5hYmxlV2ViZ2w7CiAg
ICAgcmV0dXJuIGNvcHk7CiB9CiAKQEAgLTEzODgsNyArMTMxMCw2IEBAIFdlYktpdFdlYlNldHRp
bmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0
aW5ncykKIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19hZGRfZXh0cmFfcGx1Z2luX2RpcmVjdG9y
eShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciogZGlyZWN0b3J5KQogewogICAg
IGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKLQogICAgIFBs
dWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPmFkZEV4dHJhUGx1Z2luRGlyZWN0b3J5
KGZpbGVuYW1lVG9TdHJpbmcoZGlyZWN0b3J5KSk7CiB9CiAKQEAgLTE0MDMsMTggKzEzMjQsMTUg
QEAgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5KFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnMKICAqLwogR19DT05TVF9SRVRVUk4gZ2NoYXIqIHdl
YmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3VzZXJfYWdlbnQoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYlNl
dHRpbmdzKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfU0VUVElO
R1Mod2ViU2V0dGluZ3MpLCBOVUxMKTsKLQotICAgIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSog
cHJpdiA9IHdlYlNldHRpbmdzLT5wcml2OwotCi0gICAgcmV0dXJuIHByaXYtPnVzZXJfYWdlbnQ7
CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9TRVRUSU5HUyh3ZWJTZXR0
aW5ncyksIDApOworICAgIHJldHVybiB3ZWJTZXR0aW5ncy0+cHJpdi0+dXNlckFnZW50LmRhdGEo
KTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYkNvcmU6OkVkaXRpbmdCZWhhdmlvclR5
cGUgY29yZShXZWJLaXRFZGl0aW5nQmVoYXZpb3IgdHlwZSkKIHsKLSAgICByZXR1cm4gKFdlYkNv
cmU6OkVkaXRpbmdCZWhhdmlvclR5cGUpdHlwZTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vi
Q29yZTo6RWRpdGluZ0JlaGF2aW9yVHlwZT4odHlwZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUuaAppbmRleCA5NzAw
YmE1MzdmZjRlZmM0OGM5YjZmZTgyYzQ3MmM0MjAzZGY2MzIxLi45ZmVhMTU3NTk1MDYxZTBjODBk
ZGNjYmViM2MyNTNlNzIwNzMxYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCkBAIC0yMywxMCArMjMsNjIgQEAKICNpZm5k
ZWYgd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlX2gKICNkZWZpbmUgd2Via2l0d2Vic2V0dGluZ3Nw
cml2YXRlX2gKIAorI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJzZXR0
aW5ncy5oIgogCiBleHRlcm4gIkMiIHsKIAorc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUgeworICAgIENTdHJpbmcgZGVmYXVsdEVuY29kaW5nOworICAgIENTdHJpbmcgY3Vyc2l2ZUZv
bnRGYW1pbHk7CisgICAgQ1N0cmluZyBkZWZhdWx0Rm9udEZhbWlseTsKKyAgICBDU3RyaW5nIGZh
bnRhc3lGb250RmFtaWx5OworICAgIENTdHJpbmcgbW9ub3NwYWNlRm9udEZhbWlseTsKKyAgICBD
U3RyaW5nIHNhbnNTZXJpZkZvbnRGYW1pbHk7CisgICAgQ1N0cmluZyBzZXJpZkZvbnRGYW1pbHk7
CisgICAgZ3VpbnQgZGVmYXVsdEZvbnRTaXplOworICAgIGd1aW50IGRlZmF1bHRNb25vc3BhY2VG
b250U2l6ZTsKKyAgICBndWludCBtaW5pbXVtRm9udFNpemU7CisgICAgZ3VpbnQgbWluaW11bUxv
Z2ljYWxGb250U2l6ZTsKKyAgICBnYm9vbGVhbiBlbmZvcmNlOTZEUEk7CisgICAgZ2Jvb2xlYW4g
YXV0b0xvYWRJbWFnZXM7CisgICAgZ2Jvb2xlYW4gYXV0b1Nocmlua0ltYWdlczsKKyAgICBnYm9v
bGVhbiBwcmludEJhY2tncm91bmRzOworICAgIGdib29sZWFuIGVuYWJsZVNjcmlwdHM7CisgICAg
Z2Jvb2xlYW4gZW5hYmxlUGx1Z2luczsKKyAgICBnYm9vbGVhbiByZXNpemFibGVUZXh0QXJlYXM7
CisgICAgQ1N0cmluZyB1c2VyU3R5bGVzaGVldFVSSTsKKyAgICBnZmxvYXQgem9vbVN0ZXA7Cisg
ICAgZ2Jvb2xlYW4gZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOworICAgIGdib29sZWFuIGVuYWJsZVBy
aXZhdGVCcm93c2luZzsKKyAgICBnYm9vbGVhbiBlbmFibGVTcGVsbENoZWNraW5nOworICAgIENT
dHJpbmcgc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKKyAgICBnYm9vbGVhbiBlbmFibGVDYXJldEJy
b3dzaW5nOworICAgIGdib29sZWFuIGVuYWJsZUhUTUw1RGF0YWJhc2U7CisgICAgZ2Jvb2xlYW4g
ZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2U7CisgICAgZ2Jvb2xlYW4gZW5hYmxlWFNTQXVkaXRvcjsK
KyAgICBnYm9vbGVhbiBlbmFibGVTcGF0aWFsTmF2aWdhdGlvbjsKKyAgICBnYm9vbGVhbiBlbmFi
bGVGcmFtZUZsYXR0ZW5pbmc7CisgICAgQ1N0cmluZyB1c2VyQWdlbnQ7CisgICAgZ2Jvb2xlYW4g
amF2YXNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseTsKKyAgICBnYm9vbGVhbiBqYXZh
c2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkOworICAgIGdib29sZWFuIGVuYWJsZU9mZmxpbmVXZWJB
cHBsaWNhdGlvbkNhY2hlOworICAgIFdlYktpdEVkaXRpbmdCZWhhdmlvciBlZGl0aW5nQmVoYXZp
b3I7CisgICAgZ2Jvb2xlYW4gZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUklzOworICAg
IGdib29sZWFuIGVuYWJsZUZpbGVBY2Nlc3NGcm9tRmlsZVVSSXM7CisgICAgZ2Jvb2xlYW4gZW5h
YmxlRE9NUGFzdGU7CisgICAgZ2Jvb2xlYW4gdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzOwor
ICAgIGdib29sZWFuIGVuYWJsZURlZmF1bHRDb250ZXh0TWVudTsKKyAgICBnYm9vbGVhbiBlbmFi
bGVTaXRlU3BlY2lmaWNRdWlya3M7CisgICAgZ2Jvb2xlYW4gZW5hYmxlUGFnZUNhY2hlOworICAg
IGdib29sZWFuIGF1dG9SZXNpemVXaW5kb3c7CisgICAgZ2Jvb2xlYW4gZW5hYmxlSmF2YUFwcGxl
dDsKKyAgICBnYm9vbGVhbiBlbmFibGVIeXBlcmxpbmtBdWRpdGluZzsKKyAgICBnYm9vbGVhbiBl
bmFibGVGdWxsc2NyZWVuOworICAgIGdib29sZWFuIGVuYWJsZUROU1ByZWZldGNoaW5nOworICAg
IGdib29sZWFuIGVuYWJsZVdlYmdsOworfTsKKwogV0VCS0lUX0FQSSB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2ViS2l0V2ViVmlldyosIGNvbnN0
IGdjaGFyKiBkaXJlY3RvcnkpOwogCiBHU0xpc3QqIHdlYmtpdFdlYlZpZXdHZXRFbmNoYW50RGlj
dHMoV2ViS2l0V2ViVmlldyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCmluZGV4IDUxYzI4MjdkNjgxOTUzZmE3NThkODhlZWQ3NjY0OWFmOWE0MTJkYmQuLjcw
YzZmN2MwMTNjYjk2MGE3NTU1NmY1Yjg4OGI3NjAzMTdmNTAwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTE0MCw3ICsxNDAsNiBAQAogICogPC9w
cm9ncmFtbGlzdGluZz4KICAqLwogCi1zdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5
Ni4wOwogc3RhdGljIEludFBvaW50IGdsb2JhbFBvaW50Rm9yQ2xpZW50UG9pbnQoR2RrV2luZG93
KiB3aW5kb3csIGNvbnN0IEludFBvaW50JiBjbGllbnRQb2ludCk7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CkBAIC0xMzA1LDcgKzEzMDQsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfZGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAgICAgfQogCiAgICAgaWYgKHByaXYtPndlYlNl
dHRpbmdzKSB7Ci0gICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhw
cml2LT53ZWJTZXR0aW5ncy5nZXQoKSwgKGdwb2ludGVyKXdlYmtpdF93ZWJfdmlld19zZXR0aW5n
c19ub3RpZnksIHdlYlZpZXcpOworICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0
X2J5X2Z1bmMocHJpdi0+d2ViU2V0dGluZ3MuZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpLCB3ZWJWaWV3KTsKICAgICAgICAgcHJp
di0+d2ViU2V0dGluZ3MuY2xlYXIoKTsKICAgICB9CiAKQEAgLTEzOTQsMjMgKzEzOTMsMTcgQEAg
c3RhdGljIEF0a09iamVjdCogd2Via2l0X3dlYl92aWV3X2dldF9hY2Nlc3NpYmxlKEd0a1dpZGdl
dCogd2lkZ2V0KQogCiBzdGF0aWMgZ2RvdWJsZSB3ZWJWaWV3R2V0RFBJKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiB7Ci0gICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5w
cml2OwotICAgIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5ncyA9IHByaXYtPndlYlNldHRp
bmdzLmdldCgpOwotICAgIGdib29sZWFuIGVuZm9yY2U5NkRQSTsKLSAgICBnX29iamVjdF9nZXQo
d2ViU2V0dGluZ3MsICJlbmZvcmNlLTk2LWRwaSIsICZlbmZvcmNlOTZEUEksIE5VTEwpOwotICAg
IGlmIChlbmZvcmNlOTZEUEkpCi0gICAgICAgIHJldHVybiA5Ni4wOworICAgIGlmICh3ZWJWaWV3
LT5wcml2LT53ZWJTZXR0aW5ncy0+cHJpdi0+ZW5mb3JjZTk2RFBJKQorICAgICAgICByZXR1cm4g
OTY7CiAKLSAgICBnZG91YmxlIERQSSA9IGRlZmF1bHREUEk7CisgICAgc3RhdGljIGNvbnN0IGRv
dWJsZSBkZWZhdWx0RFBJID0gOTY7CiAgICAgR2RrU2NyZWVuKiBzY3JlZW4gPSBndGtfd2lkZ2V0
X2hhc19zY3JlZW4oR1RLX1dJREdFVCh3ZWJWaWV3KSkgPyBndGtfd2lkZ2V0X2dldF9zY3JlZW4o
R1RLX1dJREdFVCh3ZWJWaWV3KSkgOiBnZGtfc2NyZWVuX2dldF9kZWZhdWx0KCk7Ci0gICAgaWYg
KHNjcmVlbikgewotICAgICAgICBEUEkgPSBnZGtfc2NyZWVuX2dldF9yZXNvbHV0aW9uKHNjcmVl
bik7Ci0gICAgICAgIC8vIGdka19zY3JlZW5fZ2V0X3Jlc29sdXRpb24oKSByZXR1cm5zIC0xIHdo
ZW4gbm8gRFBJIGlzIHNldC4KLSAgICAgICAgaWYgKERQSSA9PSAtMSkKLSAgICAgICAgICAgIERQ
SSA9IGRlZmF1bHREUEk7Ci0gICAgfQotICAgIEFTU0VSVChEUEkgPiAwKTsKLSAgICByZXR1cm4g
RFBJOworICAgIGlmICghc2NyZWVuKSAKKyAgICAgICAgcmV0dXJuIGRlZmF1bHREUEk7CisKKyAg
ICAvLyBnZGtfc2NyZWVuX2dldF9yZXNvbHV0aW9uKCkgcmV0dXJucyAtMSB3aGVuIG5vIERQSSBp
cyBzZXQuCisgICAgZ2RvdWJsZSBEUEkgPSBnZGtfc2NyZWVuX2dldF9yZXNvbHV0aW9uKHNjcmVl
bik7CisgICAgcmV0dXJuIERQSSAhPSAtMSA/IERQSSA6IGRlZmF1bHREUEk7CiB9CiAKIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld19zY3JlZW5fY2hhbmdlZChHdGtXaWRnZXQqIHdpZGdldCwg
R2RrU2NyZWVuKiBwcmV2aW91c1NjcmVlbikKQEAgLTMxODgsMTM0ICszMTgxLDcwIEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2Vi
Vmlld0NsYXNzKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdz
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7Ci0gICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHBy
aXYgPSB3ZWJWaWV3LT5wcml2OwotICAgIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5ncyA9
IHByaXYtPndlYlNldHRpbmdzLmdldCgpOwotICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGNvcmUo
d2ViVmlldyktPnNldHRpbmdzKCk7Ci0KLSAgICBnY2hhciogZGVmYXVsdEVuY29kaW5nLCAqY3Vy
c2l2ZUZvbnRGYW1pbHksICpkZWZhdWx0Rm9udEZhbWlseSwgKmZhbnRhc3lGb250RmFtaWx5LCAq
bW9ub3NwYWNlRm9udEZhbWlseSwgKnNhbnNTZXJpZkZvbnRGYW1pbHksICpzZXJpZkZvbnRGYW1p
bHksICp1c2VyU3R5bGVzaGVldFVyaSwgKmRlZmF1bHRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzOwot
ICAgIGdib29sZWFuIGF1dG9Mb2FkSW1hZ2VzLCBhdXRvU2hyaW5rSW1hZ2VzLCBwcmludEJhY2tn
cm91bmRzLAotICAgICAgICBlbmFibGVTY3JpcHRzLCBlbmFibGVQbHVnaW5zLCBlbmFibGVEZXZl
bG9wZXJFeHRyYXMsIHJlc2l6YWJsZVRleHRBcmVhcywKLSAgICAgICAgZW5hYmxlUHJpdmF0ZUJy
b3dzaW5nLCBlbmFibGVDYXJldEJyb3dzaW5nLCBlbmFibGVIVE1MNURhdGFiYXNlLCBlbmFibGVI
VE1MNUxvY2FsU3RvcmFnZSwKLSAgICAgICAgZW5hYmxlWFNTQXVkaXRvciwgZW5hYmxlU3BhdGlh
bE5hdmlnYXRpb24sIGVuYWJsZUZyYW1lRmxhdHRlbmluZywgamF2YXNjcmlwdENhbk9wZW5XaW5k
b3dzLAotICAgICAgICBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLCBlbmFibGVPZmZsaW5l
V2ViQXBwQ2FjaGUsCi0gICAgICAgIGVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJLCBl
bmFibGVGaWxlQWNjZXNzRnJvbUZpbGVVUkksCi0gICAgICAgIGVuYWJsZURPTVBhc3RlLCB0YWJL
ZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMsIGVuYWJsZVdlYkdMLAotICAgICAgICBlbmFibGVTaXRl
U3BlY2lmaWNRdWlya3MsIHVzZVBhZ2VDYWNoZSwgZW5hYmxlSmF2YUFwcGxldCwKLSAgICAgICAg
ZW5hYmxlSHlwZXJsaW5rQXVkaXRpbmcsIGVuYWJsZUZ1bGxzY3JlZW4sIGVuYWJsZUROU1ByZWZl
dGNoaW5nOwotCi0gICAgV2ViS2l0RWRpdGluZ0JlaGF2aW9yIGVkaXRpbmdCZWhhdmlvcjsKKyAg
ICBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUqIHNldHRpbmdzUHJpdmF0ZSA9IHdlYlZpZXctPnBy
aXYtPndlYlNldHRpbmdzLT5wcml2OworICAgIFNldHRpbmdzKiBjb3JlU2V0dGluZ3MgPSBjb3Jl
KHdlYlZpZXcpLT5zZXR0aW5ncygpOworCisgICAgY29yZVNldHRpbmdzLT5zZXREZWZhdWx0VGV4
dEVuY29kaW5nTmFtZShzZXR0aW5nc1ByaXZhdGUtPmRlZmF1bHRFbmNvZGluZy5kYXRhKCkpOwor
ICAgIGNvcmVTZXR0aW5ncy0+c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoc2V0dGluZ3NQcml2YXRlLT5j
dXJzaXZlRm9udEZhbWlseS5kYXRhKCkpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0U3RhbmRhcmRG
b250RmFtaWx5KHNldHRpbmdzUHJpdmF0ZS0+ZGVmYXVsdEZvbnRGYW1pbHkuZGF0YSgpKTsKKyAg
ICBjb3JlU2V0dGluZ3MtPnNldEZhbnRhc3lGb250RmFtaWx5KHNldHRpbmdzUHJpdmF0ZS0+ZmFu
dGFzeUZvbnRGYW1pbHkuZGF0YSgpKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldEZpeGVkRm9udEZh
bWlseShzZXR0aW5nc1ByaXZhdGUtPm1vbm9zcGFjZUZvbnRGYW1pbHkuZGF0YSgpKTsKKyAgICBj
b3JlU2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoc2V0dGluZ3NQcml2YXRlLT5zYW5z
U2VyaWZGb250RmFtaWx5LmRhdGEoKSk7CisgICAgY29yZVNldHRpbmdzLT5zZXRTZXJpZkZvbnRG
YW1pbHkoc2V0dGluZ3NQcml2YXRlLT5zZXJpZkZvbnRGYW1pbHkuZGF0YSgpKTsKKyAgICBjb3Jl
U2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShzZXR0aW5nc1ByaXZhdGUtPmF1
dG9Mb2FkSW1hZ2VzKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFNocmlua3NTdGFuZGFsb25lSW1h
Z2VzVG9GaXQoc2V0dGluZ3NQcml2YXRlLT5hdXRvU2hyaW5rSW1hZ2VzKTsKKyAgICBjb3JlU2V0
dGluZ3MtPnNldFNob3VsZFByaW50QmFja2dyb3VuZHMoc2V0dGluZ3NQcml2YXRlLT5wcmludEJh
Y2tncm91bmRzKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHNldHRp
bmdzUHJpdmF0ZS0+ZW5hYmxlU2NyaXB0cyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRQbHVnaW5z
RW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZVBsdWdpbnMpOworICAgIGNvcmVTZXR0aW5n
cy0+c2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHNldHRpbmdzUHJpdmF0ZS0+cmVzaXphYmxlVGV4
dEFyZWFzKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oS1VS
TChLVVJMKCksIHNldHRpbmdzUHJpdmF0ZS0+dXNlclN0eWxlc2hlZXRVUkkuZGF0YSgpKSk7Cisg
ICAgY29yZVNldHRpbmdzLT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHNldHRpbmdzUHJpdmF0
ZS0+ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVQcml2YXRlQnJvd3NpbmcpOwor
ICAgIGNvcmVTZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRl
LT5lbmFibGVDYXJldEJyb3dzaW5nKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldExvY2FsU3RvcmFn
ZUVuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVIVE1MNUxvY2FsU3RvcmFnZSk7CisgICAg
Y29yZVNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJs
ZVhTU0F1ZGl0b3IpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlU3BhdGlhbE5hdmlnYXRpb24pOworICAgIGNvcmVT
ZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJs
ZUZyYW1lRmxhdHRlbmluZyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3Bl
bldpbmRvd3NBdXRvbWF0aWNhbGx5KHNldHRpbmdzUHJpdmF0ZS0+amF2YXNjcmlwdENhbk9wZW5X
aW5kb3dzQXV0b21hdGljYWxseSk7CisgICAgY29yZVNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2Fu
QWNjZXNzQ2xpcGJvYXJkKHNldHRpbmdzUHJpdmF0ZS0+amF2YXNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZCk7CisgICAgY29yZVNldHRpbmdzLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVu
YWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZSk7
CisgICAgY29yZVNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKHN0YXRpY19jYXN0PFdl
YkNvcmU6OkVkaXRpbmdCZWhhdmlvclR5cGU+KHNldHRpbmdzUHJpdmF0ZS0+ZWRpdGluZ0JlaGF2
aW9yKSk7CisgICAgY29yZVNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMcyhzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJcyk7
CisgICAgY29yZVNldHRpbmdzLT5zZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoc2V0dGlu
Z3NQcml2YXRlLT5lbmFibGVGaWxlQWNjZXNzRnJvbUZpbGVVUklzKTsKKyAgICBjb3JlU2V0dGlu
Z3MtPnNldERPTVBhc3RlQWxsb3dlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZURPTVBhc3RlKTsK
KyAgICBjb3JlU2V0dGluZ3MtPnNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKHNldHRpbmdzUHJp
dmF0ZS0+ZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFVz
ZXNQYWdlQ2FjaGUoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVQYWdlQ2FjaGUpOworICAgIGNvcmVT
ZXR0aW5ncy0+c2V0SmF2YUVuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVKYXZhQXBwbGV0
KTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChzZXR0aW5n
c1ByaXZhdGUtPmVuYWJsZUh5cGVybGlua0F1ZGl0aW5nKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNl
dEROU1ByZWZldGNoaW5nRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUROU1ByZWZldGNo
aW5nKTsKIAotICAgIGdfb2JqZWN0X2dldCh3ZWJTZXR0aW5ncywKLSAgICAgICAgICAgICAgICAg
ImRlZmF1bHQtZW5jb2RpbmciLCAmZGVmYXVsdEVuY29kaW5nLAotICAgICAgICAgICAgICAgICAi
Y3Vyc2l2ZS1mb250LWZhbWlseSIsICZjdXJzaXZlRm9udEZhbWlseSwKLSAgICAgICAgICAgICAg
ICAgImRlZmF1bHQtZm9udC1mYW1pbHkiLCAmZGVmYXVsdEZvbnRGYW1pbHksCi0gICAgICAgICAg
ICAgICAgICJmYW50YXN5LWZvbnQtZmFtaWx5IiwgJmZhbnRhc3lGb250RmFtaWx5LAotICAgICAg
ICAgICAgICAgICAibW9ub3NwYWNlLWZvbnQtZmFtaWx5IiwgJm1vbm9zcGFjZUZvbnRGYW1pbHks
Ci0gICAgICAgICAgICAgICAgICJzYW5zLXNlcmlmLWZvbnQtZmFtaWx5IiwgJnNhbnNTZXJpZkZv
bnRGYW1pbHksCi0gICAgICAgICAgICAgICAgICJzZXJpZi1mb250LWZhbWlseSIsICZzZXJpZkZv
bnRGYW1pbHksCi0gICAgICAgICAgICAgICAgICJhdXRvLWxvYWQtaW1hZ2VzIiwgJmF1dG9Mb2Fk
SW1hZ2VzLAotICAgICAgICAgICAgICAgICAiYXV0by1zaHJpbmstaW1hZ2VzIiwgJmF1dG9TaHJp
bmtJbWFnZXMsCi0gICAgICAgICAgICAgICAgICJwcmludC1iYWNrZ3JvdW5kcyIsICZwcmludEJh
Y2tncm91bmRzLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXNjcmlwdHMiLCAmZW5hYmxlU2Ny
aXB0cywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1wbHVnaW5zIiwgJmVuYWJsZVBsdWdpbnMs
Ci0gICAgICAgICAgICAgICAgICJyZXNpemFibGUtdGV4dC1hcmVhcyIsICZyZXNpemFibGVUZXh0
QXJlYXMsCi0gICAgICAgICAgICAgICAgICJ1c2VyLXN0eWxlc2hlZXQtdXJpIiwgJnVzZXJTdHls
ZXNoZWV0VXJpLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCAm
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXByaXZhdGUt
YnJvd3NpbmciLCAmZW5hYmxlUHJpdmF0ZUJyb3dzaW5nLAotICAgICAgICAgICAgICAgICAiZW5h
YmxlLWNhcmV0LWJyb3dzaW5nIiwgJmVuYWJsZUNhcmV0QnJvd3NpbmcsCi0gICAgICAgICAgICAg
ICAgICJlbmFibGUtaHRtbDUtZGF0YWJhc2UiLCAmZW5hYmxlSFRNTDVEYXRhYmFzZSwKLSAgICAg
ICAgICAgICAgICAgImVuYWJsZS1odG1sNS1sb2NhbC1zdG9yYWdlIiwgJmVuYWJsZUhUTUw1TG9j
YWxTdG9yYWdlLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXhzcy1hdWRpdG9yIiwgJmVuYWJs
ZVhTU0F1ZGl0b3IsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtc3BhdGlhbC1uYXZpZ2F0aW9u
IiwgJmVuYWJsZVNwYXRpYWxOYXZpZ2F0aW9uLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWZy
YW1lLWZsYXR0ZW5pbmciLCAmZW5hYmxlRnJhbWVGbGF0dGVuaW5nLAotICAgICAgICAgICAgICAg
ICAiamF2YXNjcmlwdC1jYW4tb3Blbi13aW5kb3dzLWF1dG9tYXRpY2FsbHkiLCAmamF2YXNjcmlw
dENhbk9wZW5XaW5kb3dzLAotICAgICAgICAgICAgICAgICAiamF2YXNjcmlwdC1jYW4tYWNjZXNz
LWNsaXBib2FyZCIsICZqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLAotICAgICAgICAgICAg
ICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgJmVuYWJsZU9mZmxp
bmVXZWJBcHBDYWNoZSwKLSAgICAgICAgICAgICAgICAgImVkaXRpbmctYmVoYXZpb3IiLCAmZWRp
dGluZ0JlaGF2aW9yLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXVuaXZlcnNhbC1hY2Nlc3Mt
ZnJvbS1maWxlLXVyaXMiLCAmZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkksCi0gICAg
ICAgICAgICAgICAgICJlbmFibGUtZmlsZS1hY2Nlc3MtZnJvbS1maWxlLXVyaXMiLCAmZW5hYmxl
RmlsZUFjY2Vzc0Zyb21GaWxlVVJJLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWRvbS1wYXN0
ZSIsICZlbmFibGVET01QYXN0ZSwKLSAgICAgICAgICAgICAgICAgInRhYi1rZXktY3ljbGVzLXRo
cm91Z2gtZWxlbWVudHMiLCAmdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzLAotICAgICAgICAg
ICAgICAgICAiZW5hYmxlLXNpdGUtc3BlY2lmaWMtcXVpcmtzIiwgJmVuYWJsZVNpdGVTcGVjaWZp
Y1F1aXJrcywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgJnVzZVBhZ2VD
YWNoZSwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1qYXZhLWFwcGxldCIsICZlbmFibGVKYXZh
QXBwbGV0LAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWh5cGVybGluay1hdWRpdGluZyIsICZl
bmFibGVIeXBlcmxpbmtBdWRpdGluZywKLSAgICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5n
LWxhbmd1YWdlcyIsICZkZWZhdWx0U3BlbGxDaGVja2luZ0xhbmd1YWdlcywKLSAgICAgICAgICAg
ICAgICAgImVuYWJsZS1mdWxsc2NyZWVuIiwgJmVuYWJsZUZ1bGxzY3JlZW4sCi0gICAgICAgICAg
ICAgICAgICJlbmFibGUtZG5zLXByZWZldGNoaW5nIiwgJmVuYWJsZUROU1ByZWZldGNoaW5nLAot
ICAgICAgICAgICAgICAgICAiZW5hYmxlLXdlYmdsIiwgJmVuYWJsZVdlYkdMLAotICAgICAgICAg
ICAgICAgICBOVUxMKTsKLQotICAgIHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFt
ZShkZWZhdWx0RW5jb2RpbmcpOwotICAgIHNldHRpbmdzLT5zZXRDdXJzaXZlRm9udEZhbWlseShj
dXJzaXZlRm9udEZhbWlseSk7Ci0gICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseShk
ZWZhdWx0Rm9udEZhbWlseSk7Ci0gICAgc2V0dGluZ3MtPnNldEZhbnRhc3lGb250RmFtaWx5KGZh
bnRhc3lGb250RmFtaWx5KTsKLSAgICBzZXR0aW5ncy0+c2V0Rml4ZWRGb250RmFtaWx5KG1vbm9z
cGFjZUZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KHNh
bnNTZXJpZkZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRTZXJpZkZvbnRGYW1pbHkoc2Vy
aWZGb250RmFtaWx5KTsKLSAgICBzZXR0aW5ncy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KGF1dG9Mb2FkSW1hZ2VzKTsKLSAgICBzZXR0aW5ncy0+c2V0U2hyaW5rc1N0YW5kYWxvbmVJbWFn
ZXNUb0ZpdChhdXRvU2hyaW5rSW1hZ2VzKTsKLSAgICBzZXR0aW5ncy0+c2V0U2hvdWxkUHJpbnRC
YWNrZ3JvdW5kcyhwcmludEJhY2tncm91bmRzKTsKLSAgICBzZXR0aW5ncy0+c2V0SmF2YVNjcmlw
dEVuYWJsZWQoZW5hYmxlU2NyaXB0cyk7Ci0gICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVk
KGVuYWJsZVBsdWdpbnMpOwotICAgIHNldHRpbmdzLT5zZXRUZXh0QXJlYXNBcmVSZXNpemFibGUo
cmVzaXphYmxlVGV4dEFyZWFzKTsKLSAgICBzZXR0aW5ncy0+c2V0VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbihLVVJMKEtVUkwoKSwgdXNlclN0eWxlc2hlZXRVcmkpKTsKLSAgICBzZXR0aW5ncy0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGVEZXZlbG9wZXJFeHRyYXMpOwotICAgIHNldHRp
bmdzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGVuYWJsZVByaXZhdGVCcm93c2luZyk7Ci0g
ICAgc2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGVuYWJsZUNhcmV0QnJvd3Npbmcp
OwogI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWls
YWJsZShlbmFibGVIVE1MNURhdGFiYXNlKTsKKyAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2
YWlsYWJsZShzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUhUTUw1RGF0YWJhc2UpOwogI2VuZGlmCi0g
ICAgc2V0dGluZ3MtPnNldExvY2FsU3RvcmFnZUVuYWJsZWQoZW5hYmxlSFRNTDVMb2NhbFN0b3Jh
Z2UpOwotICAgIHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVYU1NBdWRpdG9y
KTsKLSAgICBzZXR0aW5ncy0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZVNwYXRp
YWxOYXZpZ2F0aW9uKTsKLSAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChl
bmFibGVGcmFtZUZsYXR0ZW5pbmcpOwotICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3Bl
bldpbmRvd3NBdXRvbWF0aWNhbGx5KGphdmFzY3JpcHRDYW5PcGVuV2luZG93cyk7Ci0gICAgc2V0
dGluZ3MtPnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoamF2YVNjcmlwdENhbkFjY2Vz
c0NsaXBib2FyZCk7Ci0gICAgc2V0dGluZ3MtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZChlbmFibGVPZmZsaW5lV2ViQXBwQ2FjaGUpOwotICAgIHNldHRpbmdzLT5zZXRFZGl0
aW5nQmVoYXZpb3JUeXBlKHN0YXRpY19jYXN0PFdlYkNvcmU6OkVkaXRpbmdCZWhhdmlvclR5cGU+
KGVkaXRpbmdCZWhhdmlvcikpOwotICAgIHNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMcyhlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSk7Ci0gICAgc2V0
dGluZ3MtPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhlbmFibGVGaWxlQWNjZXNzRnJv
bUZpbGVVUkkpOwotICAgIHNldHRpbmdzLT5zZXRET01QYXN0ZUFsbG93ZWQoZW5hYmxlRE9NUGFz
dGUpOwotICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhlbmFibGVTaXRl
U3BlY2lmaWNRdWlya3MpOwotICAgIHNldHRpbmdzLT5zZXRVc2VzUGFnZUNhY2hlKHVzZVBhZ2VD
YWNoZSk7Ci0gICAgc2V0dGluZ3MtPnNldEphdmFFbmFibGVkKGVuYWJsZUphdmFBcHBsZXQpOwot
ICAgIHNldHRpbmdzLT5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoZW5hYmxlSHlwZXJsaW5r
QXVkaXRpbmcpOwotICAgIHNldHRpbmdzLT5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoZW5hYmxl
RE5TUHJlZmV0Y2hpbmcpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHNldHRp
bmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChlbmFibGVGdWxsc2NyZWVuKTsKKyAgICBjb3JlU2V0
dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlRnVsbHNj
cmVlbik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTUEVMTENIRUNLKQogICAgIFdlYktpdDo6RWRp
dG9yQ2xpZW50KiBjbGllbnQgPSBzdGF0aWNfY2FzdDxXZWJLaXQ6OkVkaXRvckNsaWVudCo+KGNv
cmUod2ViVmlldyktPmVkaXRvckNsaWVudCgpKTsKLSAgICBzdGF0aWNfY2FzdDxXZWJLaXQ6OlRl
eHRDaGVja2VyQ2xpZW50RW5jaGFudCo+KGNsaWVudC0+dGV4dENoZWNrZXIoKSktPnVwZGF0ZVNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZShkZWZhdWx0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyk7CisgICAg
V2ViS2l0OjpUZXh0Q2hlY2tlckNsaWVudEVuY2hhbnQqIGNoZWNrZXIgPSBzdGF0aWNfY2FzdDxX
ZWJLaXQ6OlRleHRDaGVja2VyQ2xpZW50RW5jaGFudCo+KGNsaWVudC0+dGV4dENoZWNrZXIoKSk7
CisgICAgY2hlY2tlci0+dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlKHNldHRpbmdzUHJpdmF0
ZS0+c3BlbGxDaGVja2luZ0xhbmd1YWdlcy5kYXRhKCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUo
V0VCR0wpCi0gICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChlbmFibGVXZWJHTCk7CisgICAg
Y29yZVNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVXZWJH
TCk7CiAjZW5kaWYKIAotICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKHdlYlZpZXcpOwotICAgIGlmIChw
YWdlKQotICAgICAgICBwYWdlLT5zZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHModGFiS2V5
Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKTsKLQotICAgIGdfZnJlZShkZWZhdWx0RW5jb2RpbmcpOwot
ICAgIGdfZnJlZShjdXJzaXZlRm9udEZhbWlseSk7Ci0gICAgZ19mcmVlKGRlZmF1bHRGb250RmFt
aWx5KTsKLSAgICBnX2ZyZWUoZmFudGFzeUZvbnRGYW1pbHkpOwotICAgIGdfZnJlZShtb25vc3Bh
Y2VGb250RmFtaWx5KTsKLSAgICBnX2ZyZWUoc2Fuc1NlcmlmRm9udEZhbWlseSk7Ci0gICAgZ19m
cmVlKHNlcmlmRm9udEZhbWlseSk7Ci0gICAgZ19mcmVlKHVzZXJTdHlsZXNoZWV0VXJpKTsKKyAg
ICBpZiAoUGFnZSogcGFnZSA9IGNvcmUod2ViVmlldykpCisgICAgICAgIHBhZ2UtPnNldFRhYktl
eUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhzZXR0aW5nc1ByaXZhdGUtPnRhYktleUN5Y2xlc1Rocm91
Z2hFbGVtZW50cyk7CiAKICAgICB3ZWJraXRfd2ViX3ZpZXdfc2NyZWVuX2NoYW5nZWQoR1RLX1dJ
REdFVCh3ZWJWaWV3KSwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgZ2ludCBwaXhlbHNGcm9t
U2l6ZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBnaW50IHNpemUpCiB7Ci0gICAgZ2RvdWJsZSBE
UEkgPSB3ZWJWaWV3R2V0RFBJKHdlYlZpZXcpOwotICAgIHJldHVybiBzaXplIC8gNzIuMCAqIERQ
STsKKyAgICByZXR1cm4gc2l6ZSAvIDcyLjAgKiB3ZWJWaWV3R2V0RFBJKHdlYlZpZXcpOwogfQog
CiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNl
dHRpbmdzKiB3ZWJTZXR0aW5ncywgR1BhcmFtU3BlYyogcHNwZWMsIFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcpCkBAIC0zNTUxLDcgKzM0ODAsOCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfc2V0
dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYgogICAg
IGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9TRVRUSU5HUyh3ZWJTZXR0aW5ncykpOwog
CiAgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5wcml2OwotICAgIGdf
c2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhwcml2LT53ZWJTZXR0aW5ncy5nZXQo
KSwgKGdwb2ludGVyKXdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnksIHdlYlZpZXcpOwor
ICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhwcml2LT53ZWJTZXR0aW5n
cy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4od2Via2l0X3dlYl92aWV3X3NldHRpbmdz
X25vdGlmeSksIHdlYlZpZXcpOworCiAgICAgcHJpdi0+d2ViU2V0dGluZ3MgPSB3ZWJTZXR0aW5n
czsKICAgICB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKHdlYlZpZXcpOwogICAgIGdf
c2lnbmFsX2Nvbm5lY3Qod2ViU2V0dGluZ3MsICJub3RpZnkiLCBHX0NBTExCQUNLKHdlYmtpdF93
ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpLCB3ZWJWaWV3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96678</attachid>
            <date>2011-06-09 17:56:12 -0700</date>
            <delta_ts>2011-06-20 14:19:13 -0700</delta_ts>
            <desc>Patch that does not use assign private data members in the copy constructor</desc>
            <filename>bug-61972-20110609175611.patch</filename>
            <type>text/plain</type>
            <size>48976</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBjMDA0OTQ0NDU2
MWM5ZjM3OGY0ZjU4MjJjNWJhNDczN2ZjNzUwNTc5Li40MTFkZWUxZTU0Y2I2MTViOTAxZDhhZjI5
MGJiN2EyN2U2ZDRkNzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTEt
MDYtMDkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIENsZWFuIHVwIHVu
ZWNlc3NhcnkgYm9pbGVycGxhdGUgZnJvbSBXZWJLaXRXZWJTZXR0aW5ncyBhbmQgbWFrZSBwcml2
YXRlIG1lbWJlcnMgbWVldCBXZWJLaXQgc3R5bGUgZ3VpZGVsaW5lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzIKKworICAgICAgICBSZW5hbWUg
YWxsIHByaXZhdGUgbWVtYmVycyBvZiBXZWJLaXRXZWJTZXR0aW5ncyB0byBtZWV0IFdlYktpdCBz
dHlsZSBndWlkZWxpbmVzIGFuZAorICAgICAgICBwdXQgdGhlIHByaXZhdGUgc3RydWN0IGRlZmlu
aXRpb24gaW4gd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmggc28gaXQgY2FuIGJlCisgICAgICAg
IGFjY2Vzc2VkIGZyb20gd2Via2l0d2Vidmlldy5jcHAuIFRoaXMgY3V0cyBkb3duIG9uIHRoZSBi
b2lsZXJwbGF0ZSBpbW1lbnNlbHkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwOiBSZW5hbWUgcHJpdmF0ZSBtZW1iZXJzIHRvIG1lZXQgV2ViS2l0IHN0eWxlIGd1aWRl
bGluZXMKKyAgICAgICAgYW5kIGFsbG9jYXRlIHRoZSBwcml2YXRlIHNlY3Rpb24gd2l0aCBuZXcv
ZGVsZXRlLiBUaGlzIGFsbG93cyBmb3IgdXNpbmcgQ1N0cmluZyBhbmQgcmVtb3ZlcworICAgICAg
ICB0aGUgbmVlZCBmb3IgbWFudWFsIHN0cmluZyBtZW1vcnkgbWFuYWdlbWVudC4KKyAgICAgICAg
KiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmg6IE1vdmUgdGhlIHByaXZhdGUgc3Ry
dWN0IGRlZmluaXRpb24gaGVyZS4KKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6
IFVwZGF0ZSB0byByZWZsZWN0IG5ldyBzdHJ1Y3QgbmFtZXMuIFJlbW92ZSBib2lsZXJwbGF0ZQor
ICAgICAgICBhbmQgb3RoZXIgdmVyeSBzbWFsbCBjb2RlIGNsZWFudXBzLgorCisyMDExLTA2LTA5
ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KIAogICAgICAgICBbR1RLXSBJbXBsZW1lbnQgdGhlIG5leHQg
Yml0IG9mIHRoZSBUZXh0SW5wdXRDb250cm9sbGVyIChoYXNNYXJrZWRUZXh0IGFuZCBtYXJrZWRS
YW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3Bw
CmluZGV4IGU4MzNkZTk0ZWZkOGI1YjQ3ZGQ1Y2U5OTQyMjZhNTJlOWVmZGU2NGIuLjZiYmM3Yzk4
MGNkY2E1NjZkYWVlNWMyMzRmYjFmNzU3MmM1ZjhiMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5j
bHVkZSAiRWRpdGluZ0JlaGF2aW9yLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1
ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIndl
YmtpdGVudW10eXBlcy5oIgogI2luY2x1ZGUgIndlYmtpdGdsb2JhbHNwcml2YXRlLmgiCkBAIC02
NSw1OSArNjYsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogR19ERUZJTkVfVFlQRShX
ZWJLaXRXZWJTZXR0aW5ncywgd2Via2l0X3dlYl9zZXR0aW5ncywgR19UWVBFX09CSkVDVCkKIAot
c3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUgewotICAgIGdjaGFyKiBkZWZhdWx0X2Vu
Y29kaW5nOwotICAgIGdjaGFyKiBjdXJzaXZlX2ZvbnRfZmFtaWx5OwotICAgIGdjaGFyKiBkZWZh
dWx0X2ZvbnRfZmFtaWx5OwotICAgIGdjaGFyKiBmYW50YXN5X2ZvbnRfZmFtaWx5OwotICAgIGdj
aGFyKiBtb25vc3BhY2VfZm9udF9mYW1pbHk7Ci0gICAgZ2NoYXIqIHNhbnNfc2VyaWZfZm9udF9m
YW1pbHk7Ci0gICAgZ2NoYXIqIHNlcmlmX2ZvbnRfZmFtaWx5OwotICAgIGd1aW50IGRlZmF1bHRf
Zm9udF9zaXplOwotICAgIGd1aW50IGRlZmF1bHRfbW9ub3NwYWNlX2ZvbnRfc2l6ZTsKLSAgICBn
dWludCBtaW5pbXVtX2ZvbnRfc2l6ZTsKLSAgICBndWludCBtaW5pbXVtX2xvZ2ljYWxfZm9udF9z
aXplOwotICAgIGdib29sZWFuIGVuZm9yY2VfOTZfZHBpOwotICAgIGdib29sZWFuIGF1dG9fbG9h
ZF9pbWFnZXM7Ci0gICAgZ2Jvb2xlYW4gYXV0b19zaHJpbmtfaW1hZ2VzOwotICAgIGdib29sZWFu
IHByaW50X2JhY2tncm91bmRzOwotICAgIGdib29sZWFuIGVuYWJsZV9zY3JpcHRzOwotICAgIGdi
b29sZWFuIGVuYWJsZV9wbHVnaW5zOwotICAgIGdib29sZWFuIHJlc2l6YWJsZV90ZXh0X2FyZWFz
OwotICAgIGdjaGFyKiB1c2VyX3N0eWxlc2hlZXRfdXJpOwotICAgIGdmbG9hdCB6b29tX3N0ZXA7
Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX2RldmVsb3Blcl9leHRyYXM7Ci0gICAgZ2Jvb2xlYW4gZW5h
YmxlX3ByaXZhdGVfYnJvd3Npbmc7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX3NwZWxsX2NoZWNraW5n
OwotICAgIGdjaGFyKiBzcGVsbF9jaGVja2luZ19sYW5ndWFnZXM7Ci0gICAgZ2Jvb2xlYW4gZW5h
YmxlX2NhcmV0X2Jyb3dzaW5nOwotICAgIGdib29sZWFuIGVuYWJsZV9odG1sNV9kYXRhYmFzZTsK
LSAgICBnYm9vbGVhbiBlbmFibGVfaHRtbDVfbG9jYWxfc3RvcmFnZTsKLSAgICBnYm9vbGVhbiBl
bmFibGVfeHNzX2F1ZGl0b3I7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlv
bjsKLSAgICBnYm9vbGVhbiBlbmFibGVfZnJhbWVfZmxhdHRlbmluZzsKLSAgICBnY2hhciogdXNl
cl9hZ2VudDsKLSAgICBnYm9vbGVhbiBqYXZhc2NyaXB0X2Nhbl9vcGVuX3dpbmRvd3NfYXV0b21h
dGljYWxseTsKLSAgICBnYm9vbGVhbiBqYXZhc2NyaXB0X2Nhbl9hY2Nlc3NfY2xpcGJvYXJkOwot
ICAgIGdib29sZWFuIGVuYWJsZV9vZmZsaW5lX3dlYl9hcHBsaWNhdGlvbl9jYWNoZTsKLSAgICBX
ZWJLaXRFZGl0aW5nQmVoYXZpb3IgZWRpdGluZ19iZWhhdmlvcjsKLSAgICBnYm9vbGVhbiBlbmFi
bGVfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJpczsKLSAgICBnYm9vbGVhbiBlbmFibGVf
ZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VyaXM7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX2RvbV9wYXN0
ZTsKLSAgICBnYm9vbGVhbiB0YWJfa2V5X2N5Y2xlc190aHJvdWdoX2VsZW1lbnRzOwotICAgIGdi
b29sZWFuIGVuYWJsZV9kZWZhdWx0X2NvbnRleHRfbWVudTsKLSAgICBnYm9vbGVhbiBlbmFibGVf
c2l0ZV9zcGVjaWZpY19xdWlya3M7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX3BhZ2VfY2FjaGU7Ci0g
ICAgZ2Jvb2xlYW4gYXV0b19yZXNpemVfd2luZG93OwotICAgIGdib29sZWFuIGVuYWJsZV9qYXZh
X2FwcGxldDsKLSAgICBnYm9vbGVhbiBlbmFibGVfaHlwZXJsaW5rX2F1ZGl0aW5nOwotICAgIGdi
b29sZWFuIGVuYWJsZV9mdWxsc2NyZWVuOwotICAgIGdib29sZWFuIGVuYWJsZV9kbnNfcHJlZmV0
Y2hpbmc7Ci0gICAgZ2Jvb2xlYW4gZW5hYmxlX3dlYmdsOwotfTsKLQotI2RlZmluZSBXRUJLSVRf
V0VCX1NFVFRJTkdTX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFU
RSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUpKQotCiBlbnVtIHsKICAgICBQUk9QXzAsCiAKQEAgLTk0NiwzMiArODk0LDE2IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRXZWJTZXR0aW5nc0Ns
YXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF8oIldoZXRoZXIgV2ViS2l0IHByZWZldGNoZXMgZG9tYWluIG5hbWVzIiks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxhZ3MpKTsKLQotICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywg
c2l6ZW9mKFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3NldHRpbmdzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncykKIHsK
LSAgICB3ZWJfc2V0dGluZ3MtPnByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUod2Vi
X3NldHRpbmdzLCBXRUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIFdlYktpdFdlYlNldHRpbmdzUHJp
dmF0ZSk7CisgICAgd2ViX3NldHRpbmdzLT5wcml2ID0gbmV3IFdlYktpdFdlYlNldHRpbmdzUHJp
dmF0ZTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19maW5hbGl6ZShHT2Jq
ZWN0KiBvYmplY3QpCiB7Ci0gICAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncyA9IFdF
QktJVF9XRUJfU0VUVElOR1Mob2JqZWN0KTsKLSAgICBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUq
IHByaXYgPSB3ZWJfc2V0dGluZ3MtPnByaXY7Ci0KLSAgICBnX2ZyZWUocHJpdi0+ZGVmYXVsdF9l
bmNvZGluZyk7Ci0gICAgZ19mcmVlKHByaXYtPmN1cnNpdmVfZm9udF9mYW1pbHkpOwotICAgIGdf
ZnJlZShwcml2LT5kZWZhdWx0X2ZvbnRfZmFtaWx5KTsKLSAgICBnX2ZyZWUocHJpdi0+ZmFudGFz
eV9mb250X2ZhbWlseSk7Ci0gICAgZ19mcmVlKHByaXYtPm1vbm9zcGFjZV9mb250X2ZhbWlseSk7
Ci0gICAgZ19mcmVlKHByaXYtPnNhbnNfc2VyaWZfZm9udF9mYW1pbHkpOwotICAgIGdfZnJlZShw
cml2LT5zZXJpZl9mb250X2ZhbWlseSk7Ci0gICAgZ19mcmVlKHByaXYtPnVzZXJfc3R5bGVzaGVl
dF91cmkpOwotICAgIGdfZnJlZShwcml2LT5zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpOwotCi0g
ICAgZ19mcmVlKHByaXYtPnVzZXJfYWdlbnQpOwotCisgICAgZGVsZXRlIFdFQktJVF9XRUJfU0VU
VElOR1Mob2JqZWN0KS0+cHJpdjsKICAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRfd2ViX3NldHRp
bmdzX3BhcmVudF9jbGFzcyktPmZpbmFsaXplKG9iamVjdCk7CiB9CiAKQEAgLTk4MiwxNjEgKzkx
NCwxNTEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09i
amVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KIAogICAgIHN3aXRjaChwcm9wX2lkKSB7
CiAgICAgY2FzZSBQUk9QX0RFRkFVTFRfRU5DT0RJTkc6Ci0gICAgICAgIGdfZnJlZShwcml2LT5k
ZWZhdWx0X2VuY29kaW5nKTsKLSAgICAgICAgcHJpdi0+ZGVmYXVsdF9lbmNvZGluZyA9IGdfc3Ry
ZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOworICAgICAgICBwcml2LT5kZWZhdWx0RW5j
b2RpbmcgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBST1BfQ1VSU0lWRV9GT05UX0ZBTUlMWToKLSAgICAgICAgZ19mcmVlKHByaXYtPmN1cnNp
dmVfZm9udF9mYW1pbHkpOwotICAgICAgICBwcml2LT5jdXJzaXZlX2ZvbnRfZmFtaWx5ID0gZ19z
dHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByaXYtPmN1cnNpdmVG
b250RmFtaWx5ID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0RFRkFVTFRfRk9OVF9GQU1JTFk6Ci0gICAgICAgIGdfZnJlZShwcml2LT5k
ZWZhdWx0X2ZvbnRfZmFtaWx5KTsKLSAgICAgICAgcHJpdi0+ZGVmYXVsdF9mb250X2ZhbWlseSA9
IGdfc3RyZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOworICAgICAgICBwcml2LT5kZWZh
dWx0Rm9udEZhbWlseSA9IGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUFJPUF9GQU5UQVNZX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX2ZyZWUocHJp
di0+ZmFudGFzeV9mb250X2ZhbWlseSk7Ci0gICAgICAgIHByaXYtPmZhbnRhc3lfZm9udF9mYW1p
bHkgPSBnX3N0cmR1cChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsKKyAgICAgICAgcHJpdi0+
ZmFudGFzeUZvbnRGYW1pbHkgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFBST1BfTU9OT1NQQUNFX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX2Zy
ZWUocHJpdi0+bW9ub3NwYWNlX2ZvbnRfZmFtaWx5KTsKLSAgICAgICAgcHJpdi0+bW9ub3NwYWNl
X2ZvbnRfZmFtaWx5ID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7CisgICAg
ICAgIHByaXYtPm1vbm9zcGFjZUZvbnRGYW1pbHkgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfU0FOU19TRVJJRl9GT05UX0ZBTUlMWToK
LSAgICAgICAgZ19mcmVlKHByaXYtPnNhbnNfc2VyaWZfZm9udF9mYW1pbHkpOwotICAgICAgICBw
cml2LT5zYW5zX3NlcmlmX2ZvbnRfZmFtaWx5ID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5n
KHZhbHVlKSk7CisgICAgICAgIHByaXYtPnNhbnNTZXJpZkZvbnRGYW1pbHkgPSBnX3ZhbHVlX2dl
dF9zdHJpbmcodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfU0VSSUZfRk9O
VF9GQU1JTFk6Ci0gICAgICAgIGdfZnJlZShwcml2LT5zZXJpZl9mb250X2ZhbWlseSk7Ci0gICAg
ICAgIHByaXYtPnNlcmlmX2ZvbnRfZmFtaWx5ID0gZ19zdHJkdXAoZ192YWx1ZV9nZXRfc3RyaW5n
KHZhbHVlKSk7CisgICAgICAgIHByaXYtPnNlcmlmRm9udEZhbWlseSA9IGdfdmFsdWVfZ2V0X3N0
cmluZyh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9ERUZBVUxUX0ZPTlRf
U0laRToKLSAgICAgICAgcHJpdi0+ZGVmYXVsdF9mb250X3NpemUgPSBnX3ZhbHVlX2dldF9pbnQo
dmFsdWUpOworICAgICAgICBwcml2LT5kZWZhdWx0Rm9udFNpemUgPSBnX3ZhbHVlX2dldF9pbnQo
dmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfREVGQVVMVF9NT05PU1BBQ0Vf
Rk9OVF9TSVpFOgotICAgICAgICBwcml2LT5kZWZhdWx0X21vbm9zcGFjZV9mb250X3NpemUgPSBn
X3ZhbHVlX2dldF9pbnQodmFsdWUpOworICAgICAgICBwcml2LT5kZWZhdWx0TW9ub3NwYWNlRm9u
dFNpemUgPSBnX3ZhbHVlX2dldF9pbnQodmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFBST1BfTUlOSU1VTV9GT05UX1NJWkU6Ci0gICAgICAgIHByaXYtPm1pbmltdW1fZm9udF9zaXpl
ID0gZ192YWx1ZV9nZXRfaW50KHZhbHVlKTsKKyAgICAgICAgcHJpdi0+bWluaW11bUZvbnRTaXpl
ID0gZ192YWx1ZV9nZXRfaW50KHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X01JTklNVU1fTE9HSUNBTF9GT05UX1NJWkU6Ci0gICAgICAgIHByaXYtPm1pbmltdW1fbG9naWNh
bF9mb250X3NpemUgPSBnX3ZhbHVlX2dldF9pbnQodmFsdWUpOworICAgICAgICBwcml2LT5taW5p
bXVtTG9naWNhbEZvbnRTaXplID0gZ192YWx1ZV9nZXRfaW50KHZhbHVlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQUk9QX0VORk9SQ0VfOTZfRFBJOgotICAgICAgICBwcml2LT5lbmZvcmNl
Xzk2X2RwaSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmZv
cmNlOTZEUEkgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0FVVE9fTE9BRF9JTUFHRVM6Ci0gICAgICAgIHByaXYtPmF1dG9fbG9hZF9p
bWFnZXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+YXV0b0xv
YWRJbWFnZXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0FVVE9fU0hSSU5LX0lNQUdFUzoKLSAgICAgICAgcHJpdi0+YXV0b19zaHJp
bmtfaW1hZ2VzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmF1
dG9TaHJpbmtJbWFnZXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBQUk9QX1BSSU5UX0JBQ0tHUk9VTkRTOgotICAgICAgICBwcml2LT5wcmlu
dF9iYWNrZ3JvdW5kcyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2
LT5wcmludEJhY2tncm91bmRzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfU0NSSVBUUzoKLSAgICAgICAgcHJpdi0+ZW5h
YmxlX3NjcmlwdHMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+
ZW5hYmxlU2NyaXB0cyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBST1BfRU5BQkxFX1BMVUdJTlM6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9w
bHVnaW5zID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJs
ZVBsdWdpbnMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX1JFU0laQUJMRV9URVhUX0FSRUFTOgotICAgICAgICBwcml2LT5yZXNpemFi
bGVfdGV4dF9hcmVhcyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2
LT5yZXNpemFibGVUZXh0QXJlYXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1VTRVJfU1RZTEVTSEVFVF9VUkk6Ci0gICAgICAgIGdf
ZnJlZShwcml2LT51c2VyX3N0eWxlc2hlZXRfdXJpKTsKLSAgICAgICAgcHJpdi0+dXNlcl9zdHls
ZXNoZWV0X3VyaSA9IGdfc3RyZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOworICAgICAg
ICBwcml2LT51c2VyU3R5bGVzaGVldFVSSSA9IGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9aT09NX1NURVA6Ci0gICAgICAgIHByaXYtPnpv
b21fc3RlcCA9IGdfdmFsdWVfZ2V0X2Zsb2F0KHZhbHVlKTsKKyAgICAgICAgcHJpdi0+em9vbVN0
ZXAgPSBnX3ZhbHVlX2dldF9mbG9hdCh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX2RldmVs
b3Blcl9leHRyYXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+
ZW5hYmxlRGV2ZWxvcGVyRXh0cmFzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORzoKLSAgICAg
ICAgcHJpdi0+ZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlUHJpdmF0ZUJyb3dzaW5nID0gZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfQ0FS
RVRfQlJPV1NJTkc6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9jYXJldF9icm93c2luZyA9IGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVDYXJldEJyb3dzaW5n
ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfSFRNTDVfREFUQUJBU0U6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9odG1sNV9k
YXRhYmFzZSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFi
bGVIVE1MNURhdGFiYXNlID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfSFRNTDVfTE9DQUxfU1RPUkFHRToKLSAgICAgICAg
cHJpdi0+ZW5hYmxlX2h0bWw1X2xvY2FsX3N0b3JhZ2UgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2UgPSBnX3ZhbHVlX2dl
dF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9T
UEVMTF9DSEVDS0lORzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nID0gZ192
YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZVNwZWxsQ2hlY2tp
bmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX1NQRUxMX0NIRUNLSU5HX0xBTkdVQUdFUzoKLSAgICAgICAgZ19mcmVlKHByaXYtPnNw
ZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk7Ci0gICAgICAgIHByaXYtPnNwZWxsX2NoZWNraW5nX2xh
bmd1YWdlcyA9IGdfc3RyZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOworICAgICAgICBw
cml2LT5zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9YU1NfQVVESVRPUjoKLSAgICAg
ICAgcHJpdi0+ZW5hYmxlX3hzc19hdWRpdG9yID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7
CisgICAgICAgIHByaXYtPmVuYWJsZVhTU0F1ZGl0b3IgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TUEFUSUFMX05BVklH
QVRJT046Ci0gICAgICAgIHByaXYtPmVuYWJsZV9zcGF0aWFsX25hdmlnYXRpb24gPSBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlU3BhdGlhbE5hdmlnYXRp
b24gPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9GUkFNRV9GTEFUVEVOSU5HOgotICAgICAgICBwcml2LT5lbmFibGVfZnJh
bWVfZmxhdHRlbmluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2
LT5lbmFibGVGcmFtZUZsYXR0ZW5pbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1VTRVJfQUdFTlQ6Ci0gICAgICAgIGdfZnJlZShw
cml2LT51c2VyX2FnZW50KTsKICAgICAgICAgaWYgKCFnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUp
IHx8ICFzdHJsZW4oZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSkpCi0gICAgICAgICAgICBwcml2
LT51c2VyX2FnZW50ID0gZ19zdHJkdXAod2Via2l0VXNlckFnZW50KCkudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgICAgICBwcml2LT51c2VyQWdlbnQgPSB3ZWJraXRVc2VyQWdlbnQoKS51dGY4KCk7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByaXYtPnVzZXJfYWdlbnQgPSBnX3N0cmR1cChn
X3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsKKyAgICAgICAgICAgIHByaXYtPnVzZXJBZ2VudCA9
IGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJP
UF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVUT01BVElDQUxMWToKLSAgICAgICAgcHJp
di0+amF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkgPSBnX3ZhbHVlX2dl
dF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+amF2YXNjcmlwdENhbk9wZW5XaW5kb3dz
QXV0b21hdGljYWxseSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBST1BfSkFWQVNDUklQVF9DQU5fQUNDRVNTX0NMSVBCT0FSRDoKLSAgICAg
ICAgcHJpdi0+amF2YXNjcmlwdF9jYW5fYWNjZXNzX2NsaXBib2FyZCA9IGdfdmFsdWVfZ2V0X2Jv
b2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5qYXZhc2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJk
ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05fQ0FDSEU6Ci0gICAgICAgIHByaXYt
PmVuYWJsZV9vZmZsaW5lX3dlYl9hcHBsaWNhdGlvbl9jYWNoZSA9IGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFBST1BfRURJVElOR19CRUhBVklPUjoKLSAgICAgICAgcHJpdi0+ZWRpdGluZ19iZWhhdmlvciA9
IHN0YXRpY19jYXN0PFdlYktpdEVkaXRpbmdCZWhhdmlvcj4oZ192YWx1ZV9nZXRfZW51bSh2YWx1
ZSkpOworICAgICAgICBwcml2LT5lZGl0aW5nQmVoYXZpb3IgPSBzdGF0aWNfY2FzdDxXZWJLaXRF
ZGl0aW5nQmVoYXZpb3I+KGdfdmFsdWVfZ2V0X2VudW0odmFsdWUpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9VTklWRVJTQUxfQUNDRVNTX0ZST01fRklMRV9VUklTOgot
ICAgICAgICBwcml2LT5lbmFibGVfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJpcyA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2LT5lbmFibGVVbml2ZXJzYWxB
Y2Nlc3NGcm9tRmlsZVVSSXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9GSUxFX0FDQ0VTU19GUk9NX0ZJTEVfVVJJUzoK
LSAgICAgICAgcHJpdi0+ZW5hYmxlX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmlzID0gZ192YWx1
ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZUZpbGVBY2Nlc3NGcm9t
RmlsZVVSSXMgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0VOQUJMRV9ET01fUEFTVEU6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9kb21f
cGFzdGUgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxl
RE9NUGFzdGUgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX1RBQl9LRVlfQ1lDTEVTX1RIUk9VR0hfRUxFTUVOVFM6Ci0gICAgICAgIHBy
aXYtPnRhYl9rZXlfY3ljbGVzX3Rocm91Z2hfZWxlbWVudHMgPSBnX3ZhbHVlX2dldF9ib29sZWFu
KHZhbHVlKTsKKyAgICAgICAgcHJpdi0+dGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzID0gZ192
YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfREVGQVVMVF9DT05URVhUX01FTlU6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9kZWZhdWx0
X2NvbnRleHRfbWVudSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBwcml2
LT5lbmFibGVEZWZhdWx0Q29udGV4dE1lbnUgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TSVRFX1NQRUNJRklDX1FVSVJL
UzoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX3NpdGVfc3BlY2lmaWNfcXVpcmtzID0gZ192YWx1ZV9n
ZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZVNpdGVTcGVjaWZpY1F1aXJr
cyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFBST1BfRU5BQkxFX1BBR0VfQ0FDSEU6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9wYWdlX2NhY2hl
ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZVBhZ2VD
YWNoZSA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBST1BfQVVUT19SRVNJWkVfV0lORE9XOgotICAgICAgICBwcml2LT5hdXRvX3Jlc2l6ZV93
aW5kb3cgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+YXV0b1Jl
c2l6ZVdpbmRvdyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBST1BfRU5BQkxFX0pBVkFfQVBQTEVUOgotICAgICAgICBwcml2LT5lbmFibGVf
amF2YV9hcHBsZXQgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+
ZW5hYmxlSmF2YUFwcGxldCA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX0hZUEVSTElOS19BVURJVElORzoKLSAgICAgICAg
cHJpdi0+ZW5hYmxlX2h5cGVybGlua19hdWRpdGluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFs
dWUpOworICAgICAgICBwcml2LT5lbmFibGVIeXBlcmxpbmtBdWRpdGluZyA9IGdfdmFsdWVfZ2V0
X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX0ZV
TExTQ1JFRU46Ci0gICAgICAgIHByaXYtPmVuYWJsZV9mdWxsc2NyZWVuID0gZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZUZ1bGxzY3JlZW4gPSBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJM
RV9ETlNfUFJFRkVUQ0hJTkc6Ci0gICAgICAgIHByaXYtPmVuYWJsZV9kbnNfcHJlZmV0Y2hpbmcg
PSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgcHJpdi0+ZW5hYmxlRE5TUHJl
ZmV0Y2hpbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQUk9QX0VOQUJMRV9XRUJHTDoKLSAgICAgICAgcHJpdi0+ZW5hYmxlX3dlYmdsID0g
Z192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CisgICAgICAgIHByaXYtPmVuYWJsZVdlYmdsID0g
Z192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3Bf
aWQsIHBzcGVjKTsKQEAgLTExNTEsMTQ4ICsxMDczLDE0OCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQs
IEdWYQogCiAgICAgc3dpdGNoIChwcm9wX2lkKSB7CiAgICAgY2FzZSBQUk9QX0RFRkFVTFRfRU5D
T0RJTkc6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+ZGVmYXVsdF9l
bmNvZGluZyk7CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+ZGVmYXVs
dEVuY29kaW5nLmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9DVVJTSVZF
X0ZPTlRfRkFNSUxZOgotICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPmN1
cnNpdmVfZm9udF9mYW1pbHkpOworICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHBy
aXYtPmN1cnNpdmVGb250RmFtaWx5LmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UFJPUF9ERUZBVUxUX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFs
dWUsIHByaXYtPmRlZmF1bHRfZm9udF9mYW1pbHkpOworICAgICAgICBnX3ZhbHVlX3NldF9zdHJp
bmcodmFsdWUsIHByaXYtPmRlZmF1bHRGb250RmFtaWx5LmRhdGEoKSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUFJPUF9GQU5UQVNZX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX3ZhbHVlX3Nl
dF9zdHJpbmcodmFsdWUsIHByaXYtPmZhbnRhc3lfZm9udF9mYW1pbHkpOworICAgICAgICBnX3Zh
bHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPmZhbnRhc3lGb250RmFtaWx5LmRhdGEoKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6Ci0gICAg
ICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+bW9ub3NwYWNlX2ZvbnRfZmFtaWx5
KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5tb25vc3BhY2VGb250
RmFtaWx5LmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9TQU5TX1NFUklG
X0ZPTlRfRkFNSUxZOgotICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPnNh
bnNfc2VyaWZfZm9udF9mYW1pbHkpOworICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUs
IHByaXYtPnNhbnNTZXJpZkZvbnRGYW1pbHkuZGF0YSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQUk9QX1NFUklGX0ZPTlRfRkFNSUxZOgotICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmco
dmFsdWUsIHByaXYtPnNlcmlmX2ZvbnRfZmFtaWx5KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfc3Ry
aW5nKHZhbHVlLCBwcml2LT5zZXJpZkZvbnRGYW1pbHkuZGF0YSgpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQUk9QX0RFRkFVTFRfRk9OVF9TSVpFOgotICAgICAgICBnX3ZhbHVlX3NldF9p
bnQodmFsdWUsIHByaXYtPmRlZmF1bHRfZm9udF9zaXplKTsKKyAgICAgICAgZ192YWx1ZV9zZXRf
aW50KHZhbHVlLCBwcml2LT5kZWZhdWx0Rm9udFNpemUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBST1BfREVGQVVMVF9NT05PU1BBQ0VfRk9OVF9TSVpFOgotICAgICAgICBnX3ZhbHVlX3Nl
dF9pbnQodmFsdWUsIHByaXYtPmRlZmF1bHRfbW9ub3NwYWNlX2ZvbnRfc2l6ZSk7CisgICAgICAg
IGdfdmFsdWVfc2V0X2ludCh2YWx1ZSwgcHJpdi0+ZGVmYXVsdE1vbm9zcGFjZUZvbnRTaXplKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX01JTklNVU1fRk9OVF9TSVpFOgotICAgICAg
ICBnX3ZhbHVlX3NldF9pbnQodmFsdWUsIHByaXYtPm1pbmltdW1fZm9udF9zaXplKTsKKyAgICAg
ICAgZ192YWx1ZV9zZXRfaW50KHZhbHVlLCBwcml2LT5taW5pbXVtRm9udFNpemUpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFBST1BfTUlOSU1VTV9MT0dJQ0FMX0ZPTlRfU0laRToKLSAgICAg
ICAgZ192YWx1ZV9zZXRfaW50KHZhbHVlLCBwcml2LT5taW5pbXVtX2xvZ2ljYWxfZm9udF9zaXpl
KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfaW50KHZhbHVlLCBwcml2LT5taW5pbXVtTG9naWNhbEZv
bnRTaXplKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VORk9SQ0VfOTZfRFBJOgot
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmZvcmNlXzk2X2RwaSk7
CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuZm9yY2U5NkRQSSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9BVVRPX0xPQURfSU1BR0VTOgotICAgICAg
ICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvX2xvYWRfaW1hZ2VzKTsKKyAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+YXV0b0xvYWRJbWFnZXMpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfQVVUT19TSFJJTktfSU1BR0VTOgotICAgICAg
ICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvX3Nocmlua19pbWFnZXMpOwor
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvU2hyaW5rSW1hZ2Vz
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1BSSU5UX0JBQ0tHUk9VTkRTOgotICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5wcmludF9iYWNrZ3JvdW5kcyk7
CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPnByaW50QmFja2dyb3Vu
ZHMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NDUklQVFM6Ci0gICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9zY3JpcHRzKTsKKyAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlU2NyaXB0cyk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfUExVR0lOUzoKLSAgICAgICAgZ192
YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3BsdWdpbnMpOworICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVQbHVnaW5zKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBQUk9QX1JFU0laQUJMRV9URVhUX0FSRUFTOgotICAgICAgICBnX3Zh
bHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5yZXNpemFibGVfdGV4dF9hcmVhcyk7CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPnJlc2l6YWJsZVRleHRBcmVhcyk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9VU0VSX1NUWUxFU0hFRVRfVVJJOgotICAg
ICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPnVzZXJfc3R5bGVzaGVldF91cmkp
OworICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHByaXYtPnVzZXJTdHlsZXNoZWV0
VVJJLmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9aT09NX1NURVA6Ci0g
ICAgICAgIGdfdmFsdWVfc2V0X2Zsb2F0KHZhbHVlLCBwcml2LT56b29tX3N0ZXApOworICAgICAg
ICBnX3ZhbHVlX3NldF9mbG9hdCh2YWx1ZSwgcHJpdi0+em9vbVN0ZXApOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6Ci0gICAgICAgIGdfdmFs
dWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKTsKKyAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlRGV2ZWxvcGVyRXh0
cmFzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dT
SU5HOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfcHJp
dmF0ZV9icm93c2luZyk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYt
PmVuYWJsZVByaXZhdGVCcm93c2luZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfQ0FSRVRfQlJPV1NJTkc6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUs
IHByaXYtPmVuYWJsZV9jYXJldF9icm93c2luZyk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xl
YW4odmFsdWUsIHByaXYtPmVuYWJsZUNhcmV0QnJvd3NpbmcpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBST1BfRU5BQkxFX0hUTUw1X0RBVEFCQVNFOgotICAgICAgICBnX3ZhbHVlX3NldF9i
b29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfaHRtbDVfZGF0YWJhc2UpOworICAgICAgICBnX3Zh
bHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVIVE1MNURhdGFiYXNlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9IVE1MNV9MT0NBTF9TVE9SQUdFOgotICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfaHRtbDVfbG9jYWxf
c3RvcmFnZSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJs
ZUhUTUw1TG9jYWxTdG9yYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJM
RV9TUEVMTF9DSEVDS0lORzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJp
di0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2
YWx1ZSwgcHJpdi0+ZW5hYmxlU3BlbGxDaGVja2luZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUFJPUF9TUEVMTF9DSEVDS0lOR19MQU5HVUFHRVM6Ci0gICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKTsKKyAgICAgICAgZ192
YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCBwcml2LT5zcGVsbENoZWNraW5nTGFuZ3VhZ2VzLmRhdGEo
KSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfWFNTX0FVRElUT1I6Ci0g
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV94c3NfYXVkaXRv
cik7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVhTU0F1
ZGl0b3IpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1NQQVRJQUxfTkFW
SUdBVElPTjoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxl
X3NwYXRpYWxfbmF2aWdhdGlvbik7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUs
IHByaXYtPmVuYWJsZVNwYXRpYWxOYXZpZ2F0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9GUkFNRV9GTEFUVEVOSU5HOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29s
ZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfZnJhbWVfZmxhdHRlbmluZyk7CisgICAgICAgIGdfdmFs
dWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZUZyYW1lRmxhdHRlbmluZyk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9VU0VSX0FHRU5UOgotICAgICAgICBnX3ZhbHVlX3Nl
dF9zdHJpbmcodmFsdWUsIHByaXYtPnVzZXJfYWdlbnQpOworICAgICAgICBnX3ZhbHVlX3NldF9z
dHJpbmcodmFsdWUsIHByaXYtPnVzZXJBZ2VudC5kYXRhKCkpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFBST1BfSkFWQVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFk6Ci0g
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmphdmFzY3JpcHRfY2FuX29w
ZW5fd2luZG93c19hdXRvbWF0aWNhbGx5KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2
YWx1ZSwgcHJpdi0+amF2YXNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9KQVZBU0NSSVBUX0NBTl9BQ0NFU1NfQ0xJUEJPQVJE
OgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5qYXZhc2NyaXB0X2Nh
bl9hY2Nlc3NfY2xpcGJvYXJkKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwg
cHJpdi0+amF2YXNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgUFJPUF9FTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05fQ0FDSEU6Ci0gICAgICAg
IGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9vZmZsaW5lX3dlYl9hcHBs
aWNhdGlvbl9jYWNoZSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYt
PmVuYWJsZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQUk9QX0VESVRJTkdfQkVIQVZJT1I6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2VudW0odmFs
dWUsIHByaXYtPmVkaXRpbmdfYmVoYXZpb3IpOworICAgICAgICBnX3ZhbHVlX3NldF9lbnVtKHZh
bHVlLCBwcml2LT5lZGl0aW5nQmVoYXZpb3IpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBS
T1BfRU5BQkxFX1VOSVZFUlNBTF9BQ0NFU1NfRlJPTV9GSUxFX1VSSVM6Ci0gICAgICAgIGdfdmFs
dWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV91bml2ZXJzYWxfYWNjZXNzX2Zyb21f
ZmlsZV91cmlzKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5h
YmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUklzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9GSUxFX0FDQ0VTU19GUk9NX0ZJTEVfVVJJUzoKLSAgICAgICAgZ192YWx1
ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91
cmlzKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlRmls
ZUFjY2Vzc0Zyb21GaWxlVVJJcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFC
TEVfRE9NX1BBU1RFOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5l
bmFibGVfZG9tX3Bhc3RlKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJp
di0+ZW5hYmxlRE9NUGFzdGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfVEFCX0tF
WV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUzoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2
YWx1ZSwgcHJpdi0+dGFiX2tleV9jeWNsZXNfdGhyb3VnaF9lbGVtZW50cyk7CisgICAgICAgIGdf
dmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPnRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50
cyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfREVGQVVMVF9DT05URVhU
X01FTlU6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9k
ZWZhdWx0X2NvbnRleHRfbWVudSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUs
IHByaXYtPmVuYWJsZURlZmF1bHRDb250ZXh0TWVudSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUFJPUF9FTkFCTEVfU0lURV9TUEVDSUZJQ19RVUlSS1M6Ci0gICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcyk7CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVNpdGVTcGVjaWZpY1F1
aXJrcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRToK
LSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX3BhZ2VfY2Fj
aGUpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVQYWdl
Q2FjaGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfQVVUT19SRVNJWkVfV0lORE9X
OgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvX3Jlc2l6ZV93
aW5kb3cpOworICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hdXRvUmVz
aXplV2luZG93KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9KQVZBX0FQ
UExFVDoKLSAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlX2ph
dmFfYXBwbGV0KTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5h
YmxlSmF2YUFwcGxldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9FTkFCTEVfSFlQ
RVJMSU5LX0FVRElUSU5HOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2
LT5lbmFibGVfaHlwZXJsaW5rX2F1ZGl0aW5nKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVh
bih2YWx1ZSwgcHJpdi0+ZW5hYmxlSHlwZXJsaW5rQXVkaXRpbmcpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBST1BfRU5BQkxFX0ZVTExTQ1JFRU46Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jv
b2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZV9mdWxsc2NyZWVuKTsKKyAgICAgICAgZ192YWx1ZV9z
ZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlRnVsbHNjcmVlbik7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUFJPUF9FTkFCTEVfRE5TX1BSRUZFVENISU5HOgotICAgICAgICBnX3ZhbHVl
X3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfZG5zX3ByZWZldGNoaW5nKTsKKyAgICAg
ICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlRE5TUHJlZmV0Y2hpbmcp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRU5BQkxFX1dFQkdMOgotICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfd2ViZ2wpOworICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVXZWJnbCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJU
WV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKQEAgLTEzMjAsNjAgKzEyNDIsNTUgQEAgV2Vi
S2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93ZWJfc2V0dGluZ3NfbmV3KCkKICAqCiAgKiBSZXR1cm5z
OiAodHJhbnNmZXIgZnVsbCk6IGEgbmV3ICNXZWJLaXRXZWJTZXR0aW5ncyBpbnN0YW5jZQogICoq
LwotV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93ZWJfc2V0dGluZ3NfY29weShXZWJLaXRXZWJT
ZXR0aW5ncyogd2ViX3NldHRpbmdzKQorV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93ZWJfc2V0
dGluZ3NfY29weShXZWJLaXRXZWJTZXR0aW5ncyogb3JpZ2luYWwpCiB7Ci0gICAgV2ViS2l0V2Vi
U2V0dGluZ3NQcml2YXRlKiBwcml2ID0gd2ViX3NldHRpbmdzLT5wcml2OwotCi0gICAgV2ViS2l0
V2ViU2V0dGluZ3MqIGNvcHkgPSBXRUJLSVRfV0VCX1NFVFRJTkdTKGdfb2JqZWN0X25ldyhXRUJL
SVRfVFlQRV9XRUJfU0VUVElOR1MsCi0gICAgICAgICAgICAgICAgICJkZWZhdWx0LWVuY29kaW5n
IiwgcHJpdi0+ZGVmYXVsdF9lbmNvZGluZywKLSAgICAgICAgICAgICAgICAgImN1cnNpdmUtZm9u
dC1mYW1pbHkiLCBwcml2LT5jdXJzaXZlX2ZvbnRfZmFtaWx5LAotICAgICAgICAgICAgICAgICAi
ZGVmYXVsdC1mb250LWZhbWlseSIsIHByaXYtPmRlZmF1bHRfZm9udF9mYW1pbHksCi0gICAgICAg
ICAgICAgICAgICJmYW50YXN5LWZvbnQtZmFtaWx5IiwgcHJpdi0+ZmFudGFzeV9mb250X2ZhbWls
eSwKLSAgICAgICAgICAgICAgICAgIm1vbm9zcGFjZS1mb250LWZhbWlseSIsIHByaXYtPm1vbm9z
cGFjZV9mb250X2ZhbWlseSwKLSAgICAgICAgICAgICAgICAgInNhbnMtc2VyaWYtZm9udC1mYW1p
bHkiLCBwcml2LT5zYW5zX3NlcmlmX2ZvbnRfZmFtaWx5LAotICAgICAgICAgICAgICAgICAic2Vy
aWYtZm9udC1mYW1pbHkiLCBwcml2LT5zZXJpZl9mb250X2ZhbWlseSwKLSAgICAgICAgICAgICAg
ICAgImRlZmF1bHQtZm9udC1zaXplIiwgcHJpdi0+ZGVmYXVsdF9mb250X3NpemUsCi0gICAgICAg
ICAgICAgICAgICJkZWZhdWx0LW1vbm9zcGFjZS1mb250LXNpemUiLCBwcml2LT5kZWZhdWx0X21v
bm9zcGFjZV9mb250X3NpemUsCi0gICAgICAgICAgICAgICAgICJtaW5pbXVtLWZvbnQtc2l6ZSIs
IHByaXYtPm1pbmltdW1fZm9udF9zaXplLAotICAgICAgICAgICAgICAgICAibWluaW11bS1sb2dp
Y2FsLWZvbnQtc2l6ZSIsIHByaXYtPm1pbmltdW1fbG9naWNhbF9mb250X3NpemUsCi0gICAgICAg
ICAgICAgICAgICJhdXRvLWxvYWQtaW1hZ2VzIiwgcHJpdi0+YXV0b19sb2FkX2ltYWdlcywKLSAg
ICAgICAgICAgICAgICAgImF1dG8tc2hyaW5rLWltYWdlcyIsIHByaXYtPmF1dG9fc2hyaW5rX2lt
YWdlcywKLSAgICAgICAgICAgICAgICAgInByaW50LWJhY2tncm91bmRzIiwgcHJpdi0+cHJpbnRf
YmFja2dyb3VuZHMsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtc2NyaXB0cyIsIHByaXYtPmVu
YWJsZV9zY3JpcHRzLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXBsdWdpbnMiLCBwcml2LT5l
bmFibGVfcGx1Z2lucywKLSAgICAgICAgICAgICAgICAgInJlc2l6YWJsZS10ZXh0LWFyZWFzIiwg
cHJpdi0+cmVzaXphYmxlX3RleHRfYXJlYXMsCi0gICAgICAgICAgICAgICAgICJ1c2VyLXN0eWxl
c2hlZXQtdXJpIiwgcHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSwKLSAgICAgICAgICAgICAgICAg
Inpvb20tc3RlcCIsIHByaXYtPnpvb21fc3RlcCwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1k
ZXZlbG9wZXItZXh0cmFzIiwgcHJpdi0+ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMsCi0gICAgICAg
ICAgICAgICAgICJlbmFibGUtcHJpdmF0ZS1icm93c2luZyIsIHByaXYtPmVuYWJsZV9wcml2YXRl
X2Jyb3dzaW5nLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXNwZWxsLWNoZWNraW5nIiwgcHJp
di0+ZW5hYmxlX3NwZWxsX2NoZWNraW5nLAotICAgICAgICAgICAgICAgICAic3BlbGwtY2hlY2tp
bmctbGFuZ3VhZ2VzIiwgcHJpdi0+c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzLAotICAgICAgICAg
ICAgICAgICAiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIiwgcHJpdi0+ZW5hYmxlX2NhcmV0X2Jyb3dz
aW5nLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWh0bWw1LWRhdGFiYXNlIiwgcHJpdi0+ZW5h
YmxlX2h0bWw1X2RhdGFiYXNlLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWh0bWw1LWxvY2Fs
LXN0b3JhZ2UiLCBwcml2LT5lbmFibGVfaHRtbDVfbG9jYWxfc3RvcmFnZSwKLSAgICAgICAgICAg
ICAgICAgImVuYWJsZS14c3MtYXVkaXRvciIsIHByaXYtPmVuYWJsZV94c3NfYXVkaXRvciwKLSAg
ICAgICAgICAgICAgICAgImVuYWJsZS1zcGF0aWFsLW5hdmlnYXRpb24iLCBwcml2LT5lbmFibGVf
c3BhdGlhbF9uYXZpZ2F0aW9uLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWZyYW1lLWZsYXR0
ZW5pbmciLCBwcml2LT5lbmFibGVfZnJhbWVfZmxhdHRlbmluZywKLSAgICAgICAgICAgICAgICAg
InVzZXItYWdlbnQiLCB3ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHdlYl9zZXR0
aW5ncyksCi0gICAgICAgICAgICAgICAgICJqYXZhc2NyaXB0LWNhbi1vcGVuLXdpbmRvd3MtYXV0
b21hdGljYWxseSIsIHByaXYtPmphdmFzY3JpcHRfY2FuX29wZW5fd2luZG93c19hdXRvbWF0aWNh
bGx5LAotICAgICAgICAgICAgICAgICAiamF2YXNjcmlwdC1jYW4tYWNjZXNzLWNsaXBib2FyZCIs
IHByaXYtPmphdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQsCi0gICAgICAgICAgICAgICAg
ICJlbmFibGUtb2ZmbGluZS13ZWItYXBwbGljYXRpb24tY2FjaGUiLCBwcml2LT5lbmFibGVfb2Zm
bGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUsCi0gICAgICAgICAgICAgICAgICJlZGl0aW5nLWJl
aGF2aW9yIiwgcHJpdi0+ZWRpdGluZ19iZWhhdmlvciwKLSAgICAgICAgICAgICAgICAgImVuYWJs
ZS11bml2ZXJzYWwtYWNjZXNzLWZyb20tZmlsZS11cmlzIiwgcHJpdi0+ZW5hYmxlX3VuaXZlcnNh
bF9hY2Nlc3NfZnJvbV9maWxlX3VyaXMsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtZmlsZS1h
Y2Nlc3MtZnJvbS1maWxlLXVyaXMiLCBwcml2LT5lbmFibGVfZmlsZV9hY2Nlc3NfZnJvbV9maWxl
X3VyaXMsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtZG9tLXBhc3RlIiwgcHJpdi0+ZW5hYmxl
X2RvbV9wYXN0ZSwKLSAgICAgICAgICAgICAgICAgInRhYi1rZXktY3ljbGVzLXRocm91Z2gtZWxl
bWVudHMiLCBwcml2LT50YWJfa2V5X2N5Y2xlc190aHJvdWdoX2VsZW1lbnRzLAotICAgICAgICAg
ICAgICAgICAiZW5hYmxlLWRlZmF1bHQtY29udGV4dC1tZW51IiwgcHJpdi0+ZW5hYmxlX2RlZmF1
bHRfY29udGV4dF9tZW51LAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXNpdGUtc3BlY2lmaWMt
cXVpcmtzIiwgcHJpdi0+ZW5hYmxlX3NpdGVfc3BlY2lmaWNfcXVpcmtzLAotICAgICAgICAgICAg
ICAgICAiZW5hYmxlLXBhZ2UtY2FjaGUiLCBwcml2LT5lbmFibGVfcGFnZV9jYWNoZSwKLSAgICAg
ICAgICAgICAgICAgImF1dG8tcmVzaXplLXdpbmRvdyIsIHByaXYtPmF1dG9fcmVzaXplX3dpbmRv
dywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1qYXZhLWFwcGxldCIsIHByaXYtPmVuYWJsZV9q
YXZhX2FwcGxldCwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1oeXBlcmxpbmstYXVkaXRpbmci
LCBwcml2LT5lbmFibGVfaHlwZXJsaW5rX2F1ZGl0aW5nLAotICAgICAgICAgICAgICAgICAiZW5h
YmxlLWZ1bGxzY3JlZW4iLCBwcml2LT5lbmFibGVfZnVsbHNjcmVlbiwKLSAgICAgICAgICAgICAg
ICAgImVuYWJsZS1kbnMtcHJlZmV0Y2hpbmciLCBwcml2LT5lbmFibGVfZG5zX3ByZWZldGNoaW5n
LAorICAgIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IG9yaWdpbmFsLT5wcml2Owor
ICAgIHJldHVybiBXRUJLSVRfV0VCX1NFVFRJTkdTKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9X
RUJfU0VUVElOR1MsCisgICAgICAgICAgICAgICAgICJkZWZhdWx0LWVuY29kaW5nIiwgcHJpdi0+
ZGVmYXVsdEVuY29kaW5nLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgImN1cnNpdmUtZm9udC1m
YW1pbHkiLCBwcml2LT5jdXJzaXZlRm9udEZhbWlseS5kYXRhKCksCisgICAgICAgICAgICAgICAg
ICJkZWZhdWx0LWZvbnQtZmFtaWx5IiwgcHJpdi0+ZGVmYXVsdEZvbnRGYW1pbHkuZGF0YSgpLAor
ICAgICAgICAgICAgICAgICAiZmFudGFzeS1mb250LWZhbWlseSIsIHByaXYtPmZhbnRhc3lGb250
RmFtaWx5LmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgIm1vbm9zcGFjZS1mb250LWZhbWlseSIs
IHByaXYtPm1vbm9zcGFjZUZvbnRGYW1pbHkuZGF0YSgpLAorICAgICAgICAgICAgICAgICAic2Fu
cy1zZXJpZi1mb250LWZhbWlseSIsIHByaXYtPnNhbnNTZXJpZkZvbnRGYW1pbHkuZGF0YSgpLAor
ICAgICAgICAgICAgICAgICAic2VyaWYtZm9udC1mYW1pbHkiLCBwcml2LT5zZXJpZkZvbnRGYW1p
bHkuZGF0YSgpLAorICAgICAgICAgICAgICAgICAiZGVmYXVsdC1mb250LXNpemUiLCBwcml2LT5k
ZWZhdWx0Rm9udFNpemUsCisgICAgICAgICAgICAgICAgICJkZWZhdWx0LW1vbm9zcGFjZS1mb250
LXNpemUiLCBwcml2LT5kZWZhdWx0TW9ub3NwYWNlRm9udFNpemUsCisgICAgICAgICAgICAgICAg
ICJtaW5pbXVtLWZvbnQtc2l6ZSIsIHByaXYtPm1pbmltdW1Gb250U2l6ZSwKKyAgICAgICAgICAg
ICAgICAgIm1pbmltdW0tbG9naWNhbC1mb250LXNpemUiLCBwcml2LT5taW5pbXVtTG9naWNhbEZv
bnRTaXplLAorICAgICAgICAgICAgICAgICAiYXV0by1sb2FkLWltYWdlcyIsIHByaXYtPmF1dG9M
b2FkSW1hZ2VzLAorICAgICAgICAgICAgICAgICAiYXV0by1zaHJpbmstaW1hZ2VzIiwgcHJpdi0+
YXV0b1Nocmlua0ltYWdlcywKKyAgICAgICAgICAgICAgICAgInByaW50LWJhY2tncm91bmRzIiwg
cHJpdi0+cHJpbnRCYWNrZ3JvdW5kcywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1zY3JpcHRz
IiwgcHJpdi0+ZW5hYmxlU2NyaXB0cywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1wbHVnaW5z
IiwgcHJpdi0+ZW5hYmxlUGx1Z2lucywKKyAgICAgICAgICAgICAgICAgInJlc2l6YWJsZS10ZXh0
LWFyZWFzIiwgcHJpdi0+cmVzaXphYmxlVGV4dEFyZWFzLAorICAgICAgICAgICAgICAgICAidXNl
ci1zdHlsZXNoZWV0LXVyaSIsIHByaXYtPnVzZXJTdHlsZXNoZWV0VVJJLmRhdGEoKSwKKyAgICAg
ICAgICAgICAgICAgInpvb20tc3RlcCIsIHByaXYtPnpvb21TdGVwLAorICAgICAgICAgICAgICAg
ICAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLCBwcml2LT5lbmFibGVEZXZlbG9wZXJFeHRyYXMs
CisgICAgICAgICAgICAgICAgICJzcGVsbC1jaGVja2luZy1sYW5ndWFnZXMiLCBwcml2LT5zcGVs
bENoZWNraW5nTGFuZ3VhZ2VzLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1jYXJl
dC1icm93c2luZyIsIHByaXYtPmVuYWJsZUNhcmV0QnJvd3NpbmcsCisgICAgICAgICAgICAgICAg
ICJlbmFibGUtaHRtbDUtZGF0YWJhc2UiLCBwcml2LT5lbmFibGVIVE1MNURhdGFiYXNlLAorICAg
ICAgICAgICAgICAgICAiZW5hYmxlLWh0bWw1LWxvY2FsLXN0b3JhZ2UiLCBwcml2LT5lbmFibGVI
VE1MNUxvY2FsU3RvcmFnZSwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS14c3MtYXVkaXRvciIs
IHByaXYtPmVuYWJsZVhTU0F1ZGl0b3IsCisgICAgICAgICAgICAgICAgICJlbmFibGUtc3BhdGlh
bC1uYXZpZ2F0aW9uIiwgcHJpdi0+ZW5hYmxlU3BhdGlhbE5hdmlnYXRpb24sCisgICAgICAgICAg
ICAgICAgICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIHByaXYtPmVuYWJsZUZyYW1lRmxhdHRl
bmluZywKKyAgICAgICAgICAgICAgICAgInVzZXItYWdlbnQiLCB3ZWJraXRfd2ViX3NldHRpbmdz
X2dldF91c2VyX2FnZW50KG9yaWdpbmFsKSwKKyAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQt
Y2FuLW9wZW4td2luZG93cy1hdXRvbWF0aWNhbGx5IiwgcHJpdi0+amF2YXNjcmlwdENhbk9wZW5X
aW5kb3dzQXV0b21hdGljYWxseSwKKyAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2FuLWFj
Y2Vzcy1jbGlwYm9hcmQiLCBwcml2LT5qYXZhc2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLAorICAg
ICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgcHJp
di0+ZW5hYmxlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUsCisgICAgICAgICAgICAgICAgICJl
ZGl0aW5nLWJlaGF2aW9yIiwgcHJpdi0+ZWRpdGluZ0JlaGF2aW9yLAorICAgICAgICAgICAgICAg
ICAiZW5hYmxlLXVuaXZlcnNhbC1hY2Nlc3MtZnJvbS1maWxlLXVyaXMiLCBwcml2LT5lbmFibGVV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSXMsCisgICAgICAgICAgICAgICAgICJlbmFibGUtZmls
ZS1hY2Nlc3MtZnJvbS1maWxlLXVyaXMiLCBwcml2LT5lbmFibGVGaWxlQWNjZXNzRnJvbUZpbGVV
UklzLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLWRvbS1wYXN0ZSIsIHByaXYtPmVuYWJsZURP
TVBhc3RlLAorICAgICAgICAgICAgICAgICAidGFiLWtleS1jeWNsZXMtdGhyb3VnaC1lbGVtZW50
cyIsIHByaXYtPnRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cywKKyAgICAgICAgICAgICAgICAg
ImVuYWJsZS1kZWZhdWx0LWNvbnRleHQtbWVudSIsIHByaXYtPmVuYWJsZURlZmF1bHRDb250ZXh0
TWVudSwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIsIHBy
aXYtPmVuYWJsZVNpdGVTcGVjaWZpY1F1aXJrcywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1w
YWdlLWNhY2hlIiwgcHJpdi0+ZW5hYmxlUGFnZUNhY2hlLAorICAgICAgICAgICAgICAgICAiYXV0
by1yZXNpemUtd2luZG93IiwgcHJpdi0+YXV0b1Jlc2l6ZVdpbmRvdywKKyAgICAgICAgICAgICAg
ICAgImVuYWJsZS1qYXZhLWFwcGxldCIsIHByaXYtPmVuYWJsZUphdmFBcHBsZXQsCisgICAgICAg
ICAgICAgICAgICJlbmFibGUtaHlwZXJsaW5rLWF1ZGl0aW5nIiwgcHJpdi0+ZW5hYmxlSHlwZXJs
aW5rQXVkaXRpbmcsCisgICAgICAgICAgICAgICAgICJlbmFibGUtZnVsbHNjcmVlbiIsIHByaXYt
PmVuYWJsZUZ1bGxzY3JlZW4sCisgICAgICAgICAgICAgICAgICJlbmFibGUtZG5zLXByZWZldGNo
aW5nIiwgcHJpdi0+ZW5hYmxlRE5TUHJlZmV0Y2hpbmcsCiAgICAgICAgICAgICAgICAgIE5VTEwp
KTsKLQotICAgIHJldHVybiBjb3B5OwogfQogCiAvKioKQEAgLTEzODgsNyArMTMwNSw2IEBAIFdl
YktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGlu
Z3MqIHdlYl9zZXR0aW5ncykKIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19hZGRfZXh0cmFfcGx1
Z2luX2RpcmVjdG9yeShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciogZGlyZWN0
b3J5KQogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcp
KTsKLQogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPmFkZEV4dHJhUGx1
Z2luRGlyZWN0b3J5KGZpbGVuYW1lVG9TdHJpbmcoZGlyZWN0b3J5KSk7CiB9CiAKQEAgLTE0MDMs
MTggKzEzMTksMTUgQEAgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5f
ZGlyZWN0b3J5KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnMKICAqLwogR19DT05TVF9SRVRV
Uk4gZ2NoYXIqIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3VzZXJfYWdlbnQoV2ViS2l0V2ViU2V0
dGluZ3MqIHdlYlNldHRpbmdzKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9J
U19XRUJfU0VUVElOR1Mod2ViU2V0dGluZ3MpLCBOVUxMKTsKLQotICAgIFdlYktpdFdlYlNldHRp
bmdzUHJpdmF0ZSogcHJpdiA9IHdlYlNldHRpbmdzLT5wcml2OwotCi0gICAgcmV0dXJuIHByaXYt
PnVzZXJfYWdlbnQ7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9TRVRU
SU5HUyh3ZWJTZXR0aW5ncyksIDApOworICAgIHJldHVybiB3ZWJTZXR0aW5ncy0+cHJpdi0+dXNl
ckFnZW50LmRhdGEoKTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYkNvcmU6OkVkaXRp
bmdCZWhhdmlvclR5cGUgY29yZShXZWJLaXRFZGl0aW5nQmVoYXZpb3IgdHlwZSkKIHsKLSAgICBy
ZXR1cm4gKFdlYkNvcmU6OkVkaXRpbmdCZWhhdmlvclR5cGUpdHlwZTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yVHlwZT4odHlwZSk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUu
aAppbmRleCA5NzAwYmE1MzdmZjRlZmM0OGM5YjZmZTgyYzQ3MmM0MjAzZGY2MzIxLi45ZmVhMTU3
NTk1MDYxZTBjODBkZGNjYmViM2MyNTNlNzIwNzMxYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCkBAIC0yMywxMCArMjMs
NjIgQEAKICNpZm5kZWYgd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlX2gKICNkZWZpbmUgd2Via2l0
d2Vic2V0dGluZ3Nwcml2YXRlX2gKIAorI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJ3
ZWJraXR3ZWJzZXR0aW5ncy5oIgogCiBleHRlcm4gIkMiIHsKIAorc3RydWN0IF9XZWJLaXRXZWJT
ZXR0aW5nc1ByaXZhdGUgeworICAgIENTdHJpbmcgZGVmYXVsdEVuY29kaW5nOworICAgIENTdHJp
bmcgY3Vyc2l2ZUZvbnRGYW1pbHk7CisgICAgQ1N0cmluZyBkZWZhdWx0Rm9udEZhbWlseTsKKyAg
ICBDU3RyaW5nIGZhbnRhc3lGb250RmFtaWx5OworICAgIENTdHJpbmcgbW9ub3NwYWNlRm9udEZh
bWlseTsKKyAgICBDU3RyaW5nIHNhbnNTZXJpZkZvbnRGYW1pbHk7CisgICAgQ1N0cmluZyBzZXJp
ZkZvbnRGYW1pbHk7CisgICAgZ3VpbnQgZGVmYXVsdEZvbnRTaXplOworICAgIGd1aW50IGRlZmF1
bHRNb25vc3BhY2VGb250U2l6ZTsKKyAgICBndWludCBtaW5pbXVtRm9udFNpemU7CisgICAgZ3Vp
bnQgbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKKyAgICBnYm9vbGVhbiBlbmZvcmNlOTZEUEk7Cisg
ICAgZ2Jvb2xlYW4gYXV0b0xvYWRJbWFnZXM7CisgICAgZ2Jvb2xlYW4gYXV0b1Nocmlua0ltYWdl
czsKKyAgICBnYm9vbGVhbiBwcmludEJhY2tncm91bmRzOworICAgIGdib29sZWFuIGVuYWJsZVNj
cmlwdHM7CisgICAgZ2Jvb2xlYW4gZW5hYmxlUGx1Z2luczsKKyAgICBnYm9vbGVhbiByZXNpemFi
bGVUZXh0QXJlYXM7CisgICAgQ1N0cmluZyB1c2VyU3R5bGVzaGVldFVSSTsKKyAgICBnZmxvYXQg
em9vbVN0ZXA7CisgICAgZ2Jvb2xlYW4gZW5hYmxlRGV2ZWxvcGVyRXh0cmFzOworICAgIGdib29s
ZWFuIGVuYWJsZVByaXZhdGVCcm93c2luZzsKKyAgICBnYm9vbGVhbiBlbmFibGVTcGVsbENoZWNr
aW5nOworICAgIENTdHJpbmcgc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKKyAgICBnYm9vbGVhbiBl
bmFibGVDYXJldEJyb3dzaW5nOworICAgIGdib29sZWFuIGVuYWJsZUhUTUw1RGF0YWJhc2U7Cisg
ICAgZ2Jvb2xlYW4gZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2U7CisgICAgZ2Jvb2xlYW4gZW5hYmxl
WFNTQXVkaXRvcjsKKyAgICBnYm9vbGVhbiBlbmFibGVTcGF0aWFsTmF2aWdhdGlvbjsKKyAgICBn
Ym9vbGVhbiBlbmFibGVGcmFtZUZsYXR0ZW5pbmc7CisgICAgQ1N0cmluZyB1c2VyQWdlbnQ7Cisg
ICAgZ2Jvb2xlYW4gamF2YXNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseTsKKyAgICBn
Ym9vbGVhbiBqYXZhc2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkOworICAgIGdib29sZWFuIGVuYWJs
ZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlOworICAgIFdlYktpdEVkaXRpbmdCZWhhdmlvciBl
ZGl0aW5nQmVoYXZpb3I7CisgICAgZ2Jvb2xlYW4gZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZp
bGVVUklzOworICAgIGdib29sZWFuIGVuYWJsZUZpbGVBY2Nlc3NGcm9tRmlsZVVSSXM7CisgICAg
Z2Jvb2xlYW4gZW5hYmxlRE9NUGFzdGU7CisgICAgZ2Jvb2xlYW4gdGFiS2V5Q3ljbGVzVGhyb3Vn
aEVsZW1lbnRzOworICAgIGdib29sZWFuIGVuYWJsZURlZmF1bHRDb250ZXh0TWVudTsKKyAgICBn
Ym9vbGVhbiBlbmFibGVTaXRlU3BlY2lmaWNRdWlya3M7CisgICAgZ2Jvb2xlYW4gZW5hYmxlUGFn
ZUNhY2hlOworICAgIGdib29sZWFuIGF1dG9SZXNpemVXaW5kb3c7CisgICAgZ2Jvb2xlYW4gZW5h
YmxlSmF2YUFwcGxldDsKKyAgICBnYm9vbGVhbiBlbmFibGVIeXBlcmxpbmtBdWRpdGluZzsKKyAg
ICBnYm9vbGVhbiBlbmFibGVGdWxsc2NyZWVuOworICAgIGdib29sZWFuIGVuYWJsZUROU1ByZWZl
dGNoaW5nOworICAgIGdib29sZWFuIGVuYWJsZVdlYmdsOworfTsKKwogV0VCS0lUX0FQSSB2b2lk
IHdlYmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2ViS2l0V2Vi
VmlldyosIGNvbnN0IGdjaGFyKiBkaXJlY3RvcnkpOwogCiBHU0xpc3QqIHdlYmtpdFdlYlZpZXdH
ZXRFbmNoYW50RGljdHMoV2ViS2l0V2ViVmlldyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGVhNjliMDJkODA4ZjJkNWE0OGUwMzNjMTI1ZjFkNGZm
MDViYWM0NTQuLmU0ODczZTRkMDRmZTkwMjYzZWQyZmU1YjViYzM5NmE1ZTI2YjNlZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTE0Miw3ICsxNDIs
NiBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
Ci1zdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5Ni4wOwogc3RhdGljIEludFBvaW50
IGdsb2JhbFBvaW50Rm9yQ2xpZW50UG9pbnQoR2RrV2luZG93KiB3aW5kb3csIGNvbnN0IEludFBv
aW50JiBjbGllbnRQb2ludCk7CiAKIGVudW0gewpAQCAtMTMwNSw3ICsxMzA0LDcgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl92aWV3X2Rpc3Bvc2UoR09iamVjdCogb2JqZWN0KQogICAgIH0KIAog
ICAgIGlmIChwcml2LT53ZWJTZXR0aW5ncykgewotICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19k
aXNjb25uZWN0X2J5X2Z1bmMocHJpdi0+d2ViU2V0dGluZ3MuZ2V0KCksIChncG9pbnRlcil3ZWJr
aXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5LCB3ZWJWaWV3KTsKKyAgICAgICAgZ19zaWduYWxf
aGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKHByaXYtPndlYlNldHRpbmdzLmdldCgpLCByZWlu
dGVycHJldF9jYXN0PHZvaWQqPih3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KSwgd2Vi
Vmlldyk7CiAgICAgICAgIHByaXYtPndlYlNldHRpbmdzLmNsZWFyKCk7CiAgICAgfQogCkBAIC0x
Mzk0LDIzICsxMzkzLDE3IEBAIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtpdF93ZWJfdmlld19nZXRf
YWNjZXNzaWJsZShHdGtXaWRnZXQqIHdpZGdldCkKIAogc3RhdGljIGdkb3VibGUgd2ViVmlld0dl
dERQSShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewotICAgIFdlYktpdFdlYlZpZXdQcml2YXRl
KiBwcml2ID0gd2ViVmlldy0+cHJpdjsKLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGlu
Z3MgPSBwcml2LT53ZWJTZXR0aW5ncy5nZXQoKTsKLSAgICBnYm9vbGVhbiBlbmZvcmNlOTZEUEk7
Ci0gICAgZ19vYmplY3RfZ2V0KHdlYlNldHRpbmdzLCAiZW5mb3JjZS05Ni1kcGkiLCAmZW5mb3Jj
ZTk2RFBJLCBOVUxMKTsKLSAgICBpZiAoZW5mb3JjZTk2RFBJKQotICAgICAgICByZXR1cm4gOTYu
MDsKKyAgICBpZiAod2ViVmlldy0+cHJpdi0+d2ViU2V0dGluZ3MtPnByaXYtPmVuZm9yY2U5NkRQ
SSkKKyAgICAgICAgcmV0dXJuIDk2OwogCi0gICAgZ2RvdWJsZSBEUEkgPSBkZWZhdWx0RFBJOwor
ICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdERQSSA9IDk2OwogICAgIEdka1NjcmVlbiog
c2NyZWVuID0gZ3RrX3dpZGdldF9oYXNfc2NyZWVuKEdUS19XSURHRVQod2ViVmlldykpID8gZ3Rr
X3dpZGdldF9nZXRfc2NyZWVuKEdUS19XSURHRVQod2ViVmlldykpIDogZ2RrX3NjcmVlbl9nZXRf
ZGVmYXVsdCgpOwotICAgIGlmIChzY3JlZW4pIHsKLSAgICAgICAgRFBJID0gZ2RrX3NjcmVlbl9n
ZXRfcmVzb2x1dGlvbihzY3JlZW4pOwotICAgICAgICAvLyBnZGtfc2NyZWVuX2dldF9yZXNvbHV0
aW9uKCkgcmV0dXJucyAtMSB3aGVuIG5vIERQSSBpcyBzZXQuCi0gICAgICAgIGlmIChEUEkgPT0g
LTEpCi0gICAgICAgICAgICBEUEkgPSBkZWZhdWx0RFBJOwotICAgIH0KLSAgICBBU1NFUlQoRFBJ
ID4gMCk7Ci0gICAgcmV0dXJuIERQSTsKKyAgICBpZiAoIXNjcmVlbikgCisgICAgICAgIHJldHVy
biBkZWZhdWx0RFBJOworCisgICAgLy8gZ2RrX3NjcmVlbl9nZXRfcmVzb2x1dGlvbigpIHJldHVy
bnMgLTEgd2hlbiBubyBEUEkgaXMgc2V0LgorICAgIGdkb3VibGUgRFBJID0gZ2RrX3NjcmVlbl9n
ZXRfcmVzb2x1dGlvbihzY3JlZW4pOworICAgIHJldHVybiBEUEkgIT0gLTEgPyBEUEkgOiBkZWZh
dWx0RFBJOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2NyZWVuX2NoYW5nZWQo
R3RrV2lkZ2V0KiB3aWRnZXQsIEdka1NjcmVlbiogcHJldmlvdXNTY3JlZW4pCkBAIC0zMTg4LDEz
OCArMzE4MSw3MSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJL
aXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl92
aWV3X3VwZGF0ZV9zZXR0aW5ncyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewotICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKLSAgICBXZWJLaXRXZWJTZXR0
aW5ncyogd2ViU2V0dGluZ3MgPSBwcml2LT53ZWJTZXR0aW5ncy5nZXQoKTsKLSAgICBTZXR0aW5n
cyogc2V0dGluZ3MgPSBjb3JlKHdlYlZpZXcpLT5zZXR0aW5ncygpOwotCi0gICAgZ2NoYXIqIGRl
ZmF1bHRFbmNvZGluZywgKmN1cnNpdmVGb250RmFtaWx5LCAqZGVmYXVsdEZvbnRGYW1pbHksICpm
YW50YXN5Rm9udEZhbWlseSwgKm1vbm9zcGFjZUZvbnRGYW1pbHksICpzYW5zU2VyaWZGb250RmFt
aWx5LCAqc2VyaWZGb250RmFtaWx5LCAqdXNlclN0eWxlc2hlZXRVcmksICpkZWZhdWx0U3BlbGxD
aGVja2luZ0xhbmd1YWdlczsKLSAgICBnYm9vbGVhbiBhdXRvTG9hZEltYWdlcywgYXV0b1Nocmlu
a0ltYWdlcywgcHJpbnRCYWNrZ3JvdW5kcywKLSAgICAgICAgZW5hYmxlU2NyaXB0cywgZW5hYmxl
UGx1Z2lucywgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLCByZXNpemFibGVUZXh0QXJlYXMsCi0gICAg
ICAgIGVuYWJsZVByaXZhdGVCcm93c2luZywgZW5hYmxlQ2FyZXRCcm93c2luZywgZW5hYmxlSFRN
TDVEYXRhYmFzZSwgZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2UsCi0gICAgICAgIGVuYWJsZVhTU0F1
ZGl0b3IsIGVuYWJsZVNwYXRpYWxOYXZpZ2F0aW9uLCBlbmFibGVGcmFtZUZsYXR0ZW5pbmcsIGph
dmFzY3JpcHRDYW5PcGVuV2luZG93cywKLSAgICAgICAgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZCwgZW5hYmxlT2ZmbGluZVdlYkFwcENhY2hlLAotICAgICAgICBlbmFibGVVbml2ZXJzYWxB
Y2Nlc3NGcm9tRmlsZVVSSSwgZW5hYmxlRmlsZUFjY2Vzc0Zyb21GaWxlVVJJLAotICAgICAgICBl
bmFibGVET01QYXN0ZSwgdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzLCBlbmFibGVXZWJHTCwK
LSAgICAgICAgZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzLCB1c2VQYWdlQ2FjaGUsIGVuYWJsZUph
dmFBcHBsZXQsCi0gICAgICAgIGVuYWJsZUh5cGVybGlua0F1ZGl0aW5nLCBlbmFibGVGdWxsc2Ny
ZWVuLCBlbmFibGVETlNQcmVmZXRjaGluZywKLSAgICAgICAgZW5hYmxlU3BlbGxDaGVja2luZzsK
LQotICAgIFdlYktpdEVkaXRpbmdCZWhhdmlvciBlZGl0aW5nQmVoYXZpb3I7CisgICAgV2ViS2l0
V2ViU2V0dGluZ3NQcml2YXRlKiBzZXR0aW5nc1ByaXZhdGUgPSB3ZWJWaWV3LT5wcml2LT53ZWJT
ZXR0aW5ncy0+cHJpdjsKKyAgICBTZXR0aW5ncyogY29yZVNldHRpbmdzID0gY29yZSh3ZWJWaWV3
KS0+c2V0dGluZ3MoKTsKKworICAgIGNvcmVTZXR0aW5ncy0+c2V0RGVmYXVsdFRleHRFbmNvZGlu
Z05hbWUoc2V0dGluZ3NQcml2YXRlLT5kZWZhdWx0RW5jb2RpbmcuZGF0YSgpKTsKKyAgICBjb3Jl
U2V0dGluZ3MtPnNldEN1cnNpdmVGb250RmFtaWx5KHNldHRpbmdzUHJpdmF0ZS0+Y3Vyc2l2ZUZv
bnRGYW1pbHkuZGF0YSgpKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWls
eShzZXR0aW5nc1ByaXZhdGUtPmRlZmF1bHRGb250RmFtaWx5LmRhdGEoKSk7CisgICAgY29yZVNl
dHRpbmdzLT5zZXRGYW50YXN5Rm9udEZhbWlseShzZXR0aW5nc1ByaXZhdGUtPmZhbnRhc3lGb250
RmFtaWx5LmRhdGEoKSk7CisgICAgY29yZVNldHRpbmdzLT5zZXRGaXhlZEZvbnRGYW1pbHkoc2V0
dGluZ3NQcml2YXRlLT5tb25vc3BhY2VGb250RmFtaWx5LmRhdGEoKSk7CisgICAgY29yZVNldHRp
bmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KHNldHRpbmdzUHJpdmF0ZS0+c2Fuc1NlcmlmRm9u
dEZhbWlseS5kYXRhKCkpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0U2VyaWZGb250RmFtaWx5KHNl
dHRpbmdzUHJpdmF0ZS0+c2VyaWZGb250RmFtaWx5LmRhdGEoKSk7CisgICAgY29yZVNldHRpbmdz
LT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoc2V0dGluZ3NQcml2YXRlLT5hdXRvTG9hZElt
YWdlcyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRTaHJpbmtzU3RhbmRhbG9uZUltYWdlc1RvRml0
KHNldHRpbmdzUHJpdmF0ZS0+YXV0b1Nocmlua0ltYWdlcyk7CisgICAgY29yZVNldHRpbmdzLT5z
ZXRTaG91bGRQcmludEJhY2tncm91bmRzKHNldHRpbmdzUHJpdmF0ZS0+cHJpbnRCYWNrZ3JvdW5k
cyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChzZXR0aW5nc1ByaXZh
dGUtPmVuYWJsZVNjcmlwdHMpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQo
c2V0dGluZ3NQcml2YXRlLT5lbmFibGVQbHVnaW5zKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFRl
eHRBcmVhc0FyZVJlc2l6YWJsZShzZXR0aW5nc1ByaXZhdGUtPnJlc2l6YWJsZVRleHRBcmVhcyk7
CisgICAgY29yZVNldHRpbmdzLT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKEtVUkwoS1VSTCgp
LCBzZXR0aW5nc1ByaXZhdGUtPnVzZXJTdHlsZXNoZWV0VVJJLmRhdGEoKSkpOworICAgIGNvcmVT
ZXR0aW5ncy0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJs
ZURldmVsb3BlckV4dHJhcyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlUHJpdmF0ZUJyb3dzaW5nKTsKKyAgICBjb3Jl
U2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxl
Q2FyZXRCcm93c2luZyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVk
KHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2UpOworICAgIGNvcmVTZXR0
aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVYU1NBdWRp
dG9yKTsKKyAgICBjb3JlU2V0dGluZ3MtPnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChzZXR0
aW5nc1ByaXZhdGUtPmVuYWJsZVNwYXRpYWxOYXZpZ2F0aW9uKTsKKyAgICBjb3JlU2V0dGluZ3Mt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVGcmFtZUZs
YXR0ZW5pbmcpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dz
QXV0b21hdGljYWxseShzZXR0aW5nc1ByaXZhdGUtPmphdmFzY3JpcHRDYW5PcGVuV2luZG93c0F1
dG9tYXRpY2FsbHkpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0Ns
aXBib2FyZChzZXR0aW5nc1ByaXZhdGUtPmphdmFzY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQpOwor
ICAgIGNvcmVTZXR0aW5ncy0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHNl
dHRpbmdzUHJpdmF0ZS0+ZW5hYmxlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUpOworICAgIGNv
cmVTZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yVHlwZShzdGF0aWNfY2FzdDxXZWJDb3JlOjpF
ZGl0aW5nQmVoYXZpb3JUeXBlPihzZXR0aW5nc1ByaXZhdGUtPmVkaXRpbmdCZWhhdmlvcikpOwor
ICAgIGNvcmVTZXR0aW5ncy0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoc2V0
dGluZ3NQcml2YXRlLT5lbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSXMpOworICAgIGNv
cmVTZXR0aW5ncy0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKHNldHRpbmdzUHJpdmF0
ZS0+ZW5hYmxlRmlsZUFjY2Vzc0Zyb21GaWxlVVJJcyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRE
T01QYXN0ZUFsbG93ZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVET01QYXN0ZSk7CisgICAgY29y
ZVNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhzZXR0aW5nc1ByaXZhdGUtPmVu
YWJsZVNpdGVTcGVjaWZpY1F1aXJrcyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRVc2VzUGFnZUNh
Y2hlKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlUGFnZUNhY2hlKTsKKyAgICBjb3JlU2V0dGluZ3Mt
PnNldEphdmFFbmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSmF2YUFwcGxldCk7CisgICAg
Y29yZVNldHRpbmdzLT5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRl
LT5lbmFibGVIeXBlcmxpbmtBdWRpdGluZyk7CisgICAgY29yZVNldHRpbmdzLT5zZXRETlNQcmVm
ZXRjaGluZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVETlNQcmVmZXRjaGluZyk7CiAK
LSAgICBnX29iamVjdF9nZXQod2ViU2V0dGluZ3MsCi0gICAgICAgICAgICAgICAgICJkZWZhdWx0
LWVuY29kaW5nIiwgJmRlZmF1bHRFbmNvZGluZywKLSAgICAgICAgICAgICAgICAgImN1cnNpdmUt
Zm9udC1mYW1pbHkiLCAmY3Vyc2l2ZUZvbnRGYW1pbHksCi0gICAgICAgICAgICAgICAgICJkZWZh
dWx0LWZvbnQtZmFtaWx5IiwgJmRlZmF1bHRGb250RmFtaWx5LAotICAgICAgICAgICAgICAgICAi
ZmFudGFzeS1mb250LWZhbWlseSIsICZmYW50YXN5Rm9udEZhbWlseSwKLSAgICAgICAgICAgICAg
ICAgIm1vbm9zcGFjZS1mb250LWZhbWlseSIsICZtb25vc3BhY2VGb250RmFtaWx5LAotICAgICAg
ICAgICAgICAgICAic2Fucy1zZXJpZi1mb250LWZhbWlseSIsICZzYW5zU2VyaWZGb250RmFtaWx5
LAotICAgICAgICAgICAgICAgICAic2VyaWYtZm9udC1mYW1pbHkiLCAmc2VyaWZGb250RmFtaWx5
LAotICAgICAgICAgICAgICAgICAiYXV0by1sb2FkLWltYWdlcyIsICZhdXRvTG9hZEltYWdlcywK
LSAgICAgICAgICAgICAgICAgImF1dG8tc2hyaW5rLWltYWdlcyIsICZhdXRvU2hyaW5rSW1hZ2Vz
LAotICAgICAgICAgICAgICAgICAicHJpbnQtYmFja2dyb3VuZHMiLCAmcHJpbnRCYWNrZ3JvdW5k
cywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1zY3JpcHRzIiwgJmVuYWJsZVNjcmlwdHMsCi0g
ICAgICAgICAgICAgICAgICJlbmFibGUtcGx1Z2lucyIsICZlbmFibGVQbHVnaW5zLAotICAgICAg
ICAgICAgICAgICAicmVzaXphYmxlLXRleHQtYXJlYXMiLCAmcmVzaXphYmxlVGV4dEFyZWFzLAot
ICAgICAgICAgICAgICAgICAidXNlci1zdHlsZXNoZWV0LXVyaSIsICZ1c2VyU3R5bGVzaGVldFVy
aSwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgJmVuYWJsZURl
dmVsb3BlckV4dHJhcywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5n
IiwgJmVuYWJsZVByaXZhdGVCcm93c2luZywKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1jYXJl
dC1icm93c2luZyIsICZlbmFibGVDYXJldEJyb3dzaW5nLAotICAgICAgICAgICAgICAgICAiZW5h
YmxlLWh0bWw1LWRhdGFiYXNlIiwgJmVuYWJsZUhUTUw1RGF0YWJhc2UsCi0gICAgICAgICAgICAg
ICAgICJlbmFibGUtaHRtbDUtbG9jYWwtc3RvcmFnZSIsICZlbmFibGVIVE1MNUxvY2FsU3RvcmFn
ZSwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS14c3MtYXVkaXRvciIsICZlbmFibGVYU1NBdWRp
dG9yLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLXNwYXRpYWwtbmF2aWdhdGlvbiIsICZlbmFi
bGVTcGF0aWFsTmF2aWdhdGlvbiwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1mcmFtZS1mbGF0
dGVuaW5nIiwgJmVuYWJsZUZyYW1lRmxhdHRlbmluZywKLSAgICAgICAgICAgICAgICAgImphdmFz
Y3JpcHQtY2FuLW9wZW4td2luZG93cy1hdXRvbWF0aWNhbGx5IiwgJmphdmFzY3JpcHRDYW5PcGVu
V2luZG93cywKLSAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2FuLWFjY2Vzcy1jbGlwYm9h
cmQiLCAmamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCwKLSAgICAgICAgICAgICAgICAgImVu
YWJsZS1vZmZsaW5lLXdlYi1hcHBsaWNhdGlvbi1jYWNoZSIsICZlbmFibGVPZmZsaW5lV2ViQXBw
Q2FjaGUsCi0gICAgICAgICAgICAgICAgICJlZGl0aW5nLWJlaGF2aW9yIiwgJmVkaXRpbmdCZWhh
dmlvciwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS11bml2ZXJzYWwtYWNjZXNzLWZyb20tZmls
ZS11cmlzIiwgJmVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJLAotICAgICAgICAgICAg
ICAgICAiZW5hYmxlLWZpbGUtYWNjZXNzLWZyb20tZmlsZS11cmlzIiwgJmVuYWJsZUZpbGVBY2Nl
c3NGcm9tRmlsZVVSSSwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1kb20tcGFzdGUiLCAmZW5h
YmxlRE9NUGFzdGUsCi0gICAgICAgICAgICAgICAgICJ0YWIta2V5LWN5Y2xlcy10aHJvdWdoLWVs
ZW1lbnRzIiwgJnRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cywKLSAgICAgICAgICAgICAgICAg
ImVuYWJsZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIsICZlbmFibGVTaXRlU3BlY2lmaWNRdWlya3Ms
Ci0gICAgICAgICAgICAgICAgICJlbmFibGUtcGFnZS1jYWNoZSIsICZ1c2VQYWdlQ2FjaGUsCi0g
ICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBsZXQiLCAmZW5hYmxlSmF2YUFwcGxldCwK
LSAgICAgICAgICAgICAgICAgImVuYWJsZS1oeXBlcmxpbmstYXVkaXRpbmciLCAmZW5hYmxlSHlw
ZXJsaW5rQXVkaXRpbmcsCi0gICAgICAgICAgICAgICAgICJlbmFibGUtc3BlbGwtY2hlY2tpbmci
LCAmZW5hYmxlU3BlbGxDaGVja2luZywKLSAgICAgICAgICAgICAgICAgInNwZWxsLWNoZWNraW5n
LWxhbmd1YWdlcyIsICZkZWZhdWx0U3BlbGxDaGVja2luZ0xhbmd1YWdlcywKLSAgICAgICAgICAg
ICAgICAgImVuYWJsZS1mdWxsc2NyZWVuIiwgJmVuYWJsZUZ1bGxzY3JlZW4sCi0gICAgICAgICAg
ICAgICAgICJlbmFibGUtZG5zLXByZWZldGNoaW5nIiwgJmVuYWJsZUROU1ByZWZldGNoaW5nLAot
ICAgICAgICAgICAgICAgICAiZW5hYmxlLXdlYmdsIiwgJmVuYWJsZVdlYkdMLAotICAgICAgICAg
ICAgICAgICBOVUxMKTsKLQotICAgIHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFt
ZShkZWZhdWx0RW5jb2RpbmcpOwotICAgIHNldHRpbmdzLT5zZXRDdXJzaXZlRm9udEZhbWlseShj
dXJzaXZlRm9udEZhbWlseSk7Ci0gICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseShk
ZWZhdWx0Rm9udEZhbWlseSk7Ci0gICAgc2V0dGluZ3MtPnNldEZhbnRhc3lGb250RmFtaWx5KGZh
bnRhc3lGb250RmFtaWx5KTsKLSAgICBzZXR0aW5ncy0+c2V0Rml4ZWRGb250RmFtaWx5KG1vbm9z
cGFjZUZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KHNh
bnNTZXJpZkZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRTZXJpZkZvbnRGYW1pbHkoc2Vy
aWZGb250RmFtaWx5KTsKLSAgICBzZXR0aW5ncy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KGF1dG9Mb2FkSW1hZ2VzKTsKLSAgICBzZXR0aW5ncy0+c2V0U2hyaW5rc1N0YW5kYWxvbmVJbWFn
ZXNUb0ZpdChhdXRvU2hyaW5rSW1hZ2VzKTsKLSAgICBzZXR0aW5ncy0+c2V0U2hvdWxkUHJpbnRC
YWNrZ3JvdW5kcyhwcmludEJhY2tncm91bmRzKTsKLSAgICBzZXR0aW5ncy0+c2V0SmF2YVNjcmlw
dEVuYWJsZWQoZW5hYmxlU2NyaXB0cyk7Ci0gICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVk
KGVuYWJsZVBsdWdpbnMpOwotICAgIHNldHRpbmdzLT5zZXRUZXh0QXJlYXNBcmVSZXNpemFibGUo
cmVzaXphYmxlVGV4dEFyZWFzKTsKLSAgICBzZXR0aW5ncy0+c2V0VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbihLVVJMKEtVUkwoKSwgdXNlclN0eWxlc2hlZXRVcmkpKTsKLSAgICBzZXR0aW5ncy0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFibGVEZXZlbG9wZXJFeHRyYXMpOwotICAgIHNldHRp
bmdzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGVuYWJsZVByaXZhdGVCcm93c2luZyk7Ci0g
ICAgc2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGVuYWJsZUNhcmV0QnJvd3Npbmcp
OwogI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWls
YWJsZShlbmFibGVIVE1MNURhdGFiYXNlKTsKKyAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2
YWlsYWJsZShzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUhUTUw1RGF0YWJhc2UpOwogI2VuZGlmCi0g
ICAgc2V0dGluZ3MtPnNldExvY2FsU3RvcmFnZUVuYWJsZWQoZW5hYmxlSFRNTDVMb2NhbFN0b3Jh
Z2UpOwotICAgIHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVYU1NBdWRpdG9y
KTsKLSAgICBzZXR0aW5ncy0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGVuYWJsZVNwYXRp
YWxOYXZpZ2F0aW9uKTsKLSAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChl
bmFibGVGcmFtZUZsYXR0ZW5pbmcpOwotICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3Bl
bldpbmRvd3NBdXRvbWF0aWNhbGx5KGphdmFzY3JpcHRDYW5PcGVuV2luZG93cyk7Ci0gICAgc2V0
dGluZ3MtPnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoamF2YVNjcmlwdENhbkFjY2Vz
c0NsaXBib2FyZCk7Ci0gICAgc2V0dGluZ3MtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZChlbmFibGVPZmZsaW5lV2ViQXBwQ2FjaGUpOwotICAgIHNldHRpbmdzLT5zZXRFZGl0
aW5nQmVoYXZpb3JUeXBlKHN0YXRpY19jYXN0PFdlYkNvcmU6OkVkaXRpbmdCZWhhdmlvclR5cGU+
KGVkaXRpbmdCZWhhdmlvcikpOwotICAgIHNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMcyhlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSk7Ci0gICAgc2V0
dGluZ3MtPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhlbmFibGVGaWxlQWNjZXNzRnJv
bUZpbGVVUkkpOwotICAgIHNldHRpbmdzLT5zZXRET01QYXN0ZUFsbG93ZWQoZW5hYmxlRE9NUGFz
dGUpOwotICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhlbmFibGVTaXRl
U3BlY2lmaWNRdWlya3MpOwotICAgIHNldHRpbmdzLT5zZXRVc2VzUGFnZUNhY2hlKHVzZVBhZ2VD
YWNoZSk7Ci0gICAgc2V0dGluZ3MtPnNldEphdmFFbmFibGVkKGVuYWJsZUphdmFBcHBsZXQpOwot
ICAgIHNldHRpbmdzLT5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoZW5hYmxlSHlwZXJsaW5r
QXVkaXRpbmcpOwotICAgIHNldHRpbmdzLT5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoZW5hYmxl
RE5TUHJlZmV0Y2hpbmcpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHNldHRp
bmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChlbmFibGVGdWxsc2NyZWVuKTsKKyAgICBjb3JlU2V0
dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlRnVsbHNj
cmVlbik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTUEVMTENIRUNLKQotICAgIGlmIChlbmFibGVT
cGVsbENoZWNraW5nKSB7CisgICAgaWYgKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlU3BlbGxDaGVj
a2luZykgewogICAgICAgICBXZWJLaXQ6OkVkaXRvckNsaWVudCogY2xpZW50ID0gc3RhdGljX2Nh
c3Q8V2ViS2l0OjpFZGl0b3JDbGllbnQqPihjb3JlKHdlYlZpZXcpLT5lZGl0b3JDbGllbnQoKSk7
Ci0gICAgICAgIHN0YXRpY19jYXN0PFdlYktpdDo6VGV4dENoZWNrZXJDbGllbnRHdGsqPihjbGll
bnQtPnRleHRDaGVja2VyKCkpLT51cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2UoZGVmYXVsdFNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOworICAgICAgICBzdGF0aWNfY2FzdDxXZWJLaXQ6OlRleHRD
aGVja2VyQ2xpZW50R3RrKj4oY2xpZW50LT50ZXh0Q2hlY2tlcigpKS0+dXBkYXRlU3BlbGxDaGVj
a2luZ0xhbmd1YWdlKHNldHRpbmdzUHJpdmF0ZS0+c3BlbGxDaGVja2luZ0xhbmd1YWdlcy5kYXRh
KCkpOwogICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIHNldHRpbmdzLT5z
ZXRXZWJHTEVuYWJsZWQoZW5hYmxlV2ViR0wpOworICAgIGNvcmVTZXR0aW5ncy0+c2V0V2ViR0xF
bmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlV2ViR0wpOwogI2VuZGlmCiAKLSAgICBQYWdl
KiBwYWdlID0gY29yZSh3ZWJWaWV3KTsKLSAgICBpZiAocGFnZSkKLSAgICAgICAgcGFnZS0+c2V0
VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKHRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyk7
Ci0KLSAgICBnX2ZyZWUoZGVmYXVsdEVuY29kaW5nKTsKLSAgICBnX2ZyZWUoY3Vyc2l2ZUZvbnRG
YW1pbHkpOwotICAgIGdfZnJlZShkZWZhdWx0Rm9udEZhbWlseSk7Ci0gICAgZ19mcmVlKGZhbnRh
c3lGb250RmFtaWx5KTsKLSAgICBnX2ZyZWUobW9ub3NwYWNlRm9udEZhbWlseSk7Ci0gICAgZ19m
cmVlKHNhbnNTZXJpZkZvbnRGYW1pbHkpOwotICAgIGdfZnJlZShzZXJpZkZvbnRGYW1pbHkpOwot
ICAgIGdfZnJlZSh1c2VyU3R5bGVzaGVldFVyaSk7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3Jl
KHdlYlZpZXcpKQorICAgICAgICBwYWdlLT5zZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMo
c2V0dGluZ3NQcml2YXRlLT50YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMpOwogCiAgICAgd2Vi
a2l0X3dlYl92aWV3X3NjcmVlbl9jaGFuZ2VkKEdUS19XSURHRVQod2ViVmlldyksIE5VTEwpOwog
fQogCiBzdGF0aWMgaW5saW5lIGdpbnQgcGl4ZWxzRnJvbVNpemUoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgZ2ludCBzaXplKQogewotICAgIGdkb3VibGUgRFBJID0gd2ViVmlld0dldERQSSh3ZWJW
aWV3KTsKLSAgICByZXR1cm4gc2l6ZSAvIDcyLjAgKiBEUEk7CisgICAgcmV0dXJuIHNpemUgLyA3
Mi4wICogd2ViVmlld0dldERQSSh3ZWJWaWV3KTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dl
Yl92aWV3X3NldHRpbmdzX25vdGlmeShXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQ
YXJhbVNwZWMqIHBzcGVjLCBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQpAQCAtMzU1NCw3ICszNDgw
LDggQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIFdlYktpdFdlYlNldHRpbmdzKiB3ZWIKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9JU19XRUJfU0VUVElOR1Mod2ViU2V0dGluZ3MpKTsKIAogICAgIFdlYktpdFdlYlZpZXdQcml2
YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKLSAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25u
ZWN0X2J5X2Z1bmMocHJpdi0+d2ViU2V0dGluZ3MuZ2V0KCksIChncG9pbnRlcil3ZWJraXRfd2Vi
X3ZpZXdfc2V0dGluZ3Nfbm90aWZ5LCB3ZWJWaWV3KTsKKyAgICBnX3NpZ25hbF9oYW5kbGVyc19k
aXNjb25uZWN0X2J5X2Z1bmMocHJpdi0+d2ViU2V0dGluZ3MuZ2V0KCksIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCo+KHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpLCB3ZWJWaWV3KTsKKwog
ICAgIHByaXYtPndlYlNldHRpbmdzID0gd2ViU2V0dGluZ3M7CiAgICAgd2Via2l0X3dlYl92aWV3
X3VwZGF0ZV9zZXR0aW5ncyh3ZWJWaWV3KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlNldHRp
bmdzLCAibm90aWZ5IiwgR19DQUxMQkFDSyh3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5
KSwgd2ViVmlldyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>