<?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>209787</bug_id>
          
          <creation_ts>2020-03-30 15:59:49 -0700</creation_ts>
          <short_desc>[Cocoa] UTI from MIME type cache can be removed after r258915</short_desc>
          <delta_ts>2020-04-01 17:20:00 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1635794</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-30 15:59:49 -0700</bug_when>
    <thetext>In &lt;https://trac.webkit.org/changeset/257828&gt;, a UTI from MIME type cache was added to avoid connecting to a launch services daemon in the WebContent process, but after &lt;https://trac.webkit.org/changeset/258915&gt; this cache is not strictly needed anymore, since &lt;https://trac.webkit.org/changeset/258915&gt; solves the problem of avoiding to connect to the daemon in a general way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635795</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-30 16:00:37 -0700</bug_when>
    <thetext>rdar://problem/60714318</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635813</commentid>
    <comment_count>2</comment_count>
      <attachid>394981</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-30 16:23:00 -0700</bug_when>
    <thetext>Created attachment 394981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635815</commentid>
    <comment_count>3</comment_count>
      <attachid>394981</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-03-30 16:28:44 -0700</bug_when>
    <thetext>Comment on attachment 394981
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        using this cache could possibly be a performance progression if it&apos;s done the right way. This investigation
&gt; +        will be done at a later time.

Instead of this, let&apos;s just delete the code. It will always live in SVN history if at a later time we want to revive it for the performance progression. We don&apos;t tend to keep code in WebKit that is not compiled on any port, because it just rots and causes confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635840</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-30 16:39:43 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #3)
&gt; Comment on attachment 394981 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394981&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:14
&gt; &gt; +        using this cache could possibly be a performance progression if it&apos;s done the right way. This investigation
&gt; &gt; +        will be done at a later time.
&gt; 
&gt; Instead of this, let&apos;s just delete the code. It will always live in SVN
&gt; history if at a later time we want to revive it for the performance
&gt; progression. We don&apos;t tend to keep code in WebKit that is not compiled on
&gt; any port, because it just rots and causes confusion.

Sounds good! I will delete the code in the upcoming patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636465</commentid>
    <comment_count>5</comment_count>
      <attachid>395160</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-01 06:36:08 -0700</bug_when>
    <thetext>Created attachment 395160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636618</commentid>
    <comment_count>6</comment_count>
      <attachid>395195</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-01 13:04:49 -0700</bug_when>
    <thetext>Created attachment 395195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636735</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-01 16:31:06 -0700</bug_when>
    <thetext>Attachment 395195 does not apply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636741</commentid>
    <comment_count>8</comment_count>
      <attachid>395227</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-01 16:54:16 -0700</bug_when>
    <thetext>Created attachment 395227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636746</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-01 17:20:00 -0700</bug_when>
    <thetext>Committed r259374: &lt;https://trac.webkit.org/changeset/259374&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395227.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394981</attachid>
            <date>2020-03-30 16:23:00 -0700</date>
            <delta_ts>2020-04-01 06:36:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209787-20200330162259.patch</filename>
            <type>text/plain</type>
            <size>9164</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTkyMTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAzLTMwICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBtYWNybyBmb3IgdXNpbmcg
VVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlLCBhbmQgZGlzYWJsZSBpdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Nzg3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1Vc2UuaDoKKwog
MjAyMC0wMy0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCAiRGVhZCBuZXN0ZWQgYXNzaWdubWVudCIgc3RhdGljIGFuYWx5emVyIHdhcm5pbmcgaW4g
bW9udGhGcm9tRGF5SW5ZZWFyKCkKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAkocmV2aXNpb24gMjU5
MjE4KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MzIyLDMgKzMyMiw1IEBACiAjZW5kaWYKIAogI2RlZmluZSBVU0VfVVRUWVBFX1NXSVpaTEVSIDAK
KworI2RlZmluZSBVU0VfVVRJX0ZST01fTUlNRVRZUEVfQ0FDSEUgMApJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjU5MjE5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDMtMzAgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xs
YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQWRkIG1hY3JvIGZvciB1c2luZyBVVEkg
ZnJvbSBNSU1FIHR5cGUgY2FjaGUsIGFuZCBkaXNhYmxlIGl0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYwNzE0MzE4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU3ODI4PiwgYSBV
VEkgZnJvbSBNSU1FIHR5cGUgY2FjaGUgd2FzIGFkZGVkIHRvIGF2b2lkIGNvbm5lY3RpbmcKKyAg
ICAgICAgdG8gYSBsYXVuY2ggc2VydmljZXMgZGFlbW9uIGluIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MsIGJ1dCBhZnRlciA8aHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1ODkxNT4K
KyAgICAgICAgdGhpcyBjYWNoZSBpcyBub3Qgc3RyaWN0bHkgbmVlZGVkIGFueW1vcmUsIHNpbmNl
IDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4OTE1PiBzb2x2ZXMgdGhlCisg
ICAgICAgIHByb2JsZW0gb2YgYXZvaWRpbmcgdG8gY29ubmVjdCB0byB0aGUgZGFlbW9uIGluIGEg
Z2VuZXJhbCB3YXkuIFRoaXMgcGF0Y2ggZG9lcyBub3QgZGVsZXRlIHRoZSBjb2RlIHNpbmNlCisg
ICAgICAgIHVzaW5nIHRoaXMgY2FjaGUgY291bGQgcG9zc2libHkgYmUgYSBwZXJmb3JtYW5jZSBw
cm9ncmVzc2lvbiBpZiBpdCdzIGRvbmUgdGhlIHJpZ2h0IHdheS4gVGhpcyBpbnZlc3RpZ2F0aW9u
CisgICAgICAgIHdpbGwgYmUgZG9uZSBhdCBhIGxhdGVyIHRpbWUuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvVVRJVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2Fj
aGVQb2xpY3k6OmNyZWF0ZVZhbHVlRm9yS2V5KToKKwogMjAyMC0wMy0zMCAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBTbGVlcCBkaXNhYmxp
bmcgc2hvdWxkIGJlIHBlcmZvcm1lZCBpbiB0aGUgVUkgcHJvY2VzcwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlz
aW9uIDI1OTIxOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0
aWxpdGllcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw4IEBAIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBVVElGcm9tTUlNRVR5cGUoY28KIGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJp
bmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBVVElGcm9tVGFnKGNvbnN0IFN0cmluZyYgdGFn
Q2xhc3MsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGNvbmZvcm1pbmdUb1VUSSk7
CiAKKyNpZiBVU0UoVVRJX0ZST01fTUlNRVRZUEVfQ0FDSEUpCiBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYmKTsKIFdFQkNP
UkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVhdGVVVElGcm9tTUlN
RVR5cGVNYXAoKTsKKyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkocmV2aXNpb24gMjU5MjE4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw3ICs0Miw5IEBACiAjZGVmaW5lIEFERElUSU9OQUxfVVRJX01BUFBJ
TkdTCiAjZW5kaWYKIAorI2lmIFVTRShVVElfRlJPTV9NSU1FVFlQRV9DQUNIRSkKICNkZWZpbmUg
RU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworI2VuZGlmCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMTE3LDE2ICsxMTksMTkgQEAgc3RhdGljIFN0cmluZyBVVElG
cm9tVW5rbm93bk1JTUVUeXBlKGNvbgogICAgIHJldHVybiBtYXBFbnRyeS0+dmFsdWU7CiB9CiAK
KyNpZiBVU0UoVVRJX0ZST01fTUlNRVRZUEVfQ0FDSEUpCiBzdGF0aWMgT3B0aW9uYWw8SGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQogewogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4+IG1hcDsKICAg
ICByZXR1cm4gbWFwOwogfQorI2VuZGlmCiAKIHN0cnVjdCBVVElGcm9tTUlNRVR5cGVDYWNoZVBv
bGljeSA6IFRpbnlMUlVDYWNoZVBvbGljeTxTdHJpbmcsIFN0cmluZz4gewogcHVibGljOgogICAg
IHN0YXRpYyBTdHJpbmcgY3JlYXRlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkK
ICAgICB7CisjaWYgVVNFKFVUSV9GUk9NX01JTUVUWVBFX0NBQ0hFKQogICAgICAgICBTdHJpbmcg
a2V5ID0gbWltZVR5cGU7CiAgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1
ZSgpKSB7CiAgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKQEAgLTEzNywxMCArMTQyLDEx
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiVVRJIGZvciBNSU1FIHR5cGUg
JXMgbm90IGZvdW5kLiIsIGtleS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgICAgIHJldHVybiBV
VElGcm9tVW5rbm93bk1JTUVUeXBlKGtleSk7CiAgICAgICAgIH0KLSAgICAgICAgYXV0byB0eXBl
ID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0Ns
YXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CisjZW5kaWYKKyAg
ICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVy
Rm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIG1pbWVUeXBlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIDApKTsKICAgICAgICAgaWYgKHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQo
KTsKLSAgICAgICAgcmV0dXJuIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoa2V5KTsKKyAgICAgICAg
cmV0dXJuIFVUSUZyb21Vbmtub3duTUlNRVR5cGUobWltZVR5cGUpOwogICAgIH0KIH07CiAKQEAg
LTE2Nyw2ICsxNzMsNyBAQCBTdHJpbmcgVVRJRnJvbVRhZyhjb25zdCBTdHJpbmcmIHRhZ0NsYXNz
CiAgICAgcmV0dXJuIFN0cmluZyh1LmdldCgpKTsKIH0KIAorI2lmIFVTRShVVElfRlJPTV9NSU1F
VFlQRV9DQUNIRSkKIHN0YXRpYyBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYWRkaXRpb25hbE1JTUVU
eXBlcygpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBtaW1l
VHlwZXMgPSBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U3RyaW5nPiB7CkBAIC0yMDEsNSArMjA4LDYg
QEAgdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbgogewogICAgIG1hcFVU
SUZyb21NSU1FVHlwZSgpID0gV1RGTW92ZShtYXApOwogfQorI2VuZGlmCiAKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNTkyNDApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTMwICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBtYWNybyBmb3IgdXNpbmcg
VVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlLCBhbmQgZGlzYWJsZSBpdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Nzg3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJQcm9jZXNzKToKKwogMjAyMC0wMy0zMCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBLbm93biBhcHAtYm91bmQgZG9tYWluIHByb3RvY29s
cyBzaG91bGQgbm90IGNoZWNrIHRoZSBhcHAtYm91bmQgZG9tYWluIGxpc3QKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCShyZXZpc2lvbiAyNTkyMTgpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDggKzE3MiwxMCBA
QCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAgICAgZW5jb2RlciA8
PCBtYXBEQkV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7
CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNNYXA7CisjaWYgVVNFKFVUSV9GUk9NX01JTUVUWVBF
X0NBQ0hFKQogICAgIGVuY29kZXIgPDwgbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCisjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNQYWQ7CkBAIC00NzYsMTIgKzQ3OCwxNCBAQCBib29sIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBw
YXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9IFdURk1vdmUoKm1pbWVUeXBlc01hcCk7CiAKKyNpZiBV
U0UoVVRJX0ZST01fTUlNRVRZUEVfQ0FDSEUpCiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4+IG1hcFVUSUZyb21NSU1FVHlwZTsKICAgICBkZWNvZGVyID4+IG1hcFVUSUZyb21N
SU1FVHlwZTsKICAgICBpZiAoIW1hcFVUSUZyb21NSU1FVHlwZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlID0gV1RGTW92ZSgqbWFwVVRJ
RnJvbU1JTUVUeXBlKTsKICNlbmRpZgorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5jdXJyZW50VXNlckludGVyZmFj
ZUlkaW9tSXNQYWQpKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU5MjE4KQorKysgU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMTMsOCArMjEzLDEwIEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG1hcERCRXh0ZW5zaW9u
SGFuZGxlOwogICAgIGJvb2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9u
YWw8SGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+PiBtaW1lVHlwZXNNYXA7CisjaWYgVVNFKFVUSV9GUk9NX01JTUVUWVBFX0NBQ0hFKQogICAg
IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgorI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJvb2wgY3VycmVudFVzZXJJbnRl
cmZhY2VJZGlvbUlzUGFkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU5MjE4
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDA1LDggKzQwNSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgfQogICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFzQmF0
dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9
IGNvbW1vbk1pbWVUeXBlc01hcCgpOworI2lmIFVTRShVVElfRlJPTV9NSU1FVFlQRV9DQUNIRSkK
ICAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVUSUZyb21NSU1FVHlw
ZU1hcCgpOwogI2VuZGlmCisjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYg
KFtnZXRXZWJGaWx0ZXJFdmFsdWF0b3JDbGFzcygpIGlzTWFuYWdlZFNlc3Npb25dKSB7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDI1OTIxOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4OCw4ICsyODgsMTAgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogICAgIGlmIChwYXJhbWV0ZXJz
Lm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0gV1RGTW92
ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CiAKKyNpZiBVU0UoVVRJX0ZST01fTUlNRVRZUEVf
Q0FDSEUpCiAgICAgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKFdURk1vdmUocGFyYW1ldGVycy5tYXBV
VElGcm9tTUlNRVR5cGUpKTsKICNlbmRpZgorI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIFJlbmRlclRoZW1lSU9TOjpzZXRDU1NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoV1RG
TW92ZShwYXJhbWV0ZXJzLmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395160</attachid>
            <date>2020-04-01 06:36:08 -0700</date>
            <delta_ts>2020-04-01 13:04:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209787-20200401063607.patch</filename>
            <type>text/plain</type>
            <size>18445</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTI5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA0LTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFVUSSBmcm9t
IE1JTUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKworICAgICAgICBV
bnJldmlld2VkIHJvbGxvdXQgb2YgcjI1NzgyOC4KKworICAgICAgICBJbiByMjU3ODI4LCBhIFVU
SSBmcm9tIE1JTUUgdHlwZSBjYWNoZSB3YXMgYWRkZWQgdG8gYXZvaWQgY29ubmVjdGluZyB0byBh
IGxhdW5jaCBzZXJ2aWNlcyBkYWVtb24gaW4gdGhlCisgICAgICAgIFdlYkNvbnRlbnQgcHJvY2Vz
cywgYnV0IGFmdGVyIDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4OTE1PiB0
aGlzIGNhY2hlIGlzIG5vdCBzdHJpY3RseSBuZWVkZWQKKyAgICAgICAgYW55bW9yZSwgc2luY2Ug
cjI1ODkxNSBzb2x2ZXMgdGhlIHByb2JsZW0gb2YgYXZvaWRpbmcgdG8gY29ubmVjdCB0byB0aGUg
ZGFlbW9uIGluIGEgZ2VuZXJhbCB3YXkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGls
aXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6
Y3JlYXRlVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6bWFwVVRJRnJvbU1JTUVUeXBl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFkZGl0aW9uYWxNSU1FVHlwZXMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6IERlbGV0ZWQuCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpnZXRVVElGcm9tTUlNRVR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLm1tOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOiBEZWxldGVkLgorCiAyMDIwLTAzLTMxICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggU0RQIGZpbHRlcmluZyBhZnRlciBodHRwczov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4NTQ1CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAkocmV2aXNpb24gMjU5
Mjk0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsNyArMzQsNCBAQCBTdHJpbmcgTUlNRVR5cGVG
cm9tVVRJVHJlZShjb25zdCBTdHJpbmcmCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgVVRJRnJvbU1J
TUVUeXBlKGNvbnN0IFN0cmluZyYpOwogYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYp
OwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiB0YWdDbGFz
cywgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgY29uZm9ybWluZ1RvVVRJKTsKLQot
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4mJik7Ci1XRUJDT1JFX0VYUE9SVCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYgY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCShyZXZpc2lvbiAy
NTkyOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRp
ZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAKLSNpbXBvcnQgIk1JTUVUeXBlUmVnaXN0cnku
aCIKICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvVGlueUxSVUNhY2hl
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CkBAIC00Miw4ICs0MSw2IEBACiAj
ZGVmaW5lIEFERElUSU9OQUxfVVRJX01BUFBJTkdTCiAjZW5kaWYKIAotI2RlZmluZSBFTVBUWV9N
SU1FX1RZUEVfU1RSSU5HICJlbXB0eU1pbWVUeXBlIl9zCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmIHV0aSkKQEAgLTExNywzMCAr
MTE0LDE0IEBAIHN0YXRpYyBTdHJpbmcgVVRJRnJvbVVua25vd25NSU1FVHlwZShjb24KICAgICBy
ZXR1cm4gbWFwRW50cnktPnZhbHVlOwogfQogCi1zdGF0aWMgT3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQotewotICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4+IG1hcDsKLSAgICByZXR1
cm4gbWFwOwotfQotCiBzdHJ1Y3QgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3kgOiBUaW55TFJV
Q2FjaGVQb2xpY3k8U3RyaW5nLCBTdHJpbmc+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5n
IGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgewotICAgICAg
ICBTdHJpbmcga2V5ID0gbWltZVR5cGU7Ci0gICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUo
KS5oYXNWYWx1ZSgpKSB7Ci0gICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOwotICAgICAgICAgICAgY29uc3Qg
YXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOwotICAgICAgICAgICAg
aWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gaXQtPnZhbHVlOwotICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUg
dHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgcmV0
dXJuIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoa2V5KTsKLSAgICAgICAgfQotICAgICAgICBhdXRv
IHR5cGUgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VU
VGFnQ2xhc3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKKyAgICAg
ICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9y
VGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIG1pbWVUeXBlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCks
IDApKTsKICAgICAgICAgaWYgKHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsK
LSAgICAgICAgcmV0dXJuIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoa2V5KTsKKyAgICAgICAgcmV0
dXJuIFVUSUZyb21Vbmtub3duTUlNRVR5cGUobWltZVR5cGUpOwogICAgIH0KIH07CiAKQEAgLTE2
NywzOSArMTQ4LDQgQEAgU3RyaW5nIFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiB0YWdDbGFzcwog
ICAgIHJldHVybiBTdHJpbmcodS5nZXQoKSk7CiB9CiAKLXN0YXRpYyBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgYWRkaXRpb25hbE1JTUVUeXBlcygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFZlY3RvcjxTdHJpbmc+PiBtaW1lVHlwZXMgPSBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U3RyaW5n
PiB7Ci0gICAgICAgICJhcHBsaWNhdGlvbi96aXAiX3MsCi0gICAgfTsKLSAgICByZXR1cm4gbWlt
ZVR5cGVzOwotfQotCi1jb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJv
bU1JTUVUeXBlTWFwKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKLSAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4g
Y2FjaGU7Ci0gICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCi0gICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUs
IFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOwotICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUg
OiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlcygpKQotICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAg
ICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6dW5zdXBwb3J0ZWRU
ZXh0TUlNRVR5cGVzKCkpCi0gICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21N
SU1FVHlwZShtaW1lVHlwZSkpOwotICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlw
ZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRNZWRpYU1JTUVUeXBlcygpKQotICAgICAgICAgICAgY2FjaGUu
YWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAgICAgICAgZm9yIChh
dXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6cGRmTUlNRVR5cGVzKCkpCi0gICAgICAg
ICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOwotICAg
ICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBhZGRpdGlvbmFsTUlNRVR5cGVzKCkpCi0gICAgICAg
ICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOwotICAg
ICAgICBjYWNoZS5hZGQoRU1QVFlfTUlNRV9UWVBFX1NUUklORywgVVRJRnJvbU1JTUVUeXBlKGVt
cHR5U3RyaW5nKCkpKTsKLSAgICAgICAgcmV0dXJuIGNhY2hlOwotICAgIH0oKTsKLSAgICByZXR1
cm4gbWFwOwotfQotCi12b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywg
U3RyaW5nPiYmIG1hcCkKLXsKLSAgICBtYXBVVElGcm9tTUlNRVR5cGUoKSA9IFdURk1vdmUobWFw
KTsKLX0KLQogfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNp
b24gMjU5Mjk0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTMyLDExICs1NTMyLDYgQEAgU3RyaW5nIEludGVybmFsczo6ZW5jb2Rl
ZFByZWZlcmVuY2VWYWx1ZQogICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogfQogCi1TdHJpbmcg
SW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJikKLXsKLSAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKLX0KLQogU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbVRhZyhj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQogewogICAgIHJldHVy
biBlbXB0eVN0cmluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCShyZXZp
c2lvbiAyNTkyOTQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NTIsNyArOTUyLDYgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIG1lZGlh
TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pOwogCi0gICAgU3Ry
aW5nIGdldFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKICAgICBTdHJp
bmcgZ2V0VVRJRnJvbVRhZyhjb25zdCBTdHJpbmcmIHRhZ0NsYXNzLCBjb25zdCBTdHJpbmcmIHRh
ZywgY29uc3QgU3RyaW5nJiBjb25mb3JtaW5nVG9VVEkpOwogCiAgICAgYm9vbCBzdXBwb3J0c1Bp
Y3R1cmVJblBpY3R1cmUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJ
KHJldmlzaW9uIDI1OTI5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtODU2LDcgKzg1Niw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xp
Y3kgewogCiAgICAgRE9NU3RyaW5nIG1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oRE9NU3RyaW5n
IGV4dGVuc2lvbik7CiAKLSAgICBET01TdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKERPTVN0cmlu
ZyBtaW1lVHlwZSk7CiAgICAgRE9NU3RyaW5nIGdldFVUSUZyb21UYWcoRE9NU3RyaW5nIHRhZ0Ns
YXNzLCBET01TdHJpbmcgdGFnLCBET01TdHJpbmcgY29uZm9ybWluZ1RvVVRJKTsKIAogICAgIGJv
b2xlYW4gc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5tbQkocmV2aXNpb24gMjU5Mjk0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMiwxMSArMTAyLDYgQEAgU3RyaW5n
IEludGVybmFsczo6ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZQogICAgIHJldHVybiBlbmNvZGVkU3Ry
aW5nOwogfQogCi1TdHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSkKLXsKLSAgICByZXR1cm4gVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKTsK
LX0KLQogU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbVRhZyhjb25zdCBTdHJpbmcmIHRhZ0Ns
YXNzLCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBjb25mb3JtaW5nVG9VVEkpCiB7
CiAgICAgcmV0dXJuIFVUSUZyb21UYWcodGFnQ2xhc3MsIHRhZywgY29uZm9ybWluZ1RvVVRJKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTkzMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTAxICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFVUSSBmcm9tIE1J
TUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKworICAgICAgICBVbnJl
dmlld2VkIHJvbGxvdXQgb2YgcjI1NzgyOC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIwLTAzLTMxICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFNQSSBXS1dlYnBhZ2VQcmVmZXJl
bmNlcy5fdXNlckNvbnRlbnRDb250cm9sbGVyCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjU5
Mjk0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Miw3ICsxNzIsNiBAQCB2b2lkIFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAgICAgZW5jb2RlciA8PCBtYXBEQkV4dGVuc2lvbkhh
bmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBt
aW1lVHlwZXNNYXA7Ci0gICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NzUsMTIgKzQ3NCw2IEBAIGJvb2wgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RG
TW92ZSgqbWltZVR5cGVzTWFwKTsKLQotICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJp
bmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7Ci0gICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5
cGU7Ci0gICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21N
SU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CShyZXZpc2lvbiAyNTkyOTQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw3ICsyMTMsNiBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlPiBtYXBEQkV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHN5c3RlbUhh
c0JhdHRlcnkgeyBmYWxzZSB9OwogICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8
U3RyaW5nPiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPj4gbWltZVR5cGVzTWFwOwotICAgIEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU5Mjk0KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29y
a2luZyBjb3B5KQpAQCAtNDA1LDcgKzQwNSw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRm
b3JtSW5pdGlhbGl6ZVcKICAgICB9CiAgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0g
c3lzdGVtSGFzQmF0dGVyeSgpOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9u
TWltZVR5cGVzTWFwKCk7Ci0gICAgcGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPUykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbQkocmV2aXNpb24gMjU5Mjk0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjg3LDggKzI4Nyw2IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJh
bWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0g
V1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7Ci0KLSAgICBzZXRVVElGcm9tTUlNRVR5
cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MzQwKQorKysgVG9vbHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDQtMDEgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gVVRJIGZyb20g
TUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5MTUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTc4NworCisgICAgICAgIFVu
cmV2aWV3ZWQgcm9sbG91dCBvZiByMjU3ODI4LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tOiBSZW1vdmVkLgorCiAyMDIw
LTA0LTAxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBNaW5pQnJvd3NlcjogdmFsZ3JpbmQgY2xhaW1zICdJbnZhbGlkIHdyaXRlIG9m
IHNpemUgOCcgb24gY2xvc2UKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
NTkyOTQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODg3LDcgKzg4Nyw2IEBACiAJCUMxNUNC
QjMwMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNUNCQjJGMjNGMUZG
MUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLzsgfTsKIAkJQzE1
Q0JCM0YyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCM0UyM0ZCMTc3QTAwMzAw
Q0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovOyB9OwogCQlDMTY5MkRDQTIzRDEwREFFMDA2
RTg4RjcgLyogQmF0dGVyeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMxNjkyREM5MjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovOyB9Owot
CQlDMTk0RTMxRDI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE5NEUzMUMyNDA5REY0MzAw
MjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLzsgfTsKIAkJQzIwRjg4QTcyMjk1Qjk2NzAw
RDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4
dC5mcmFtZXdvcmsgKi87IH07CiAJCUMyMkZBMzJCMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lk
dGgubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJG
QTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovOyB9OwogCQlDMjJGQTMyRDIy
OEY4QUVCMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkMyMjhGODc3QTAwOUQ3OTg4IC8q
IFRleHRXaWR0aC5odG1sICovOyB9OwpAQCAtMjQ2Myw3ICsyNDYyLDYgQEAKIAkJQzE1Q0JCMkYy
M0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNl
Q2hhbmdlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZl
cmVuY2VDaGFuZ2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTY5MkRDOTIz
RDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhdHRl
cnkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMxOTRFMzFDMjQwOURGNDMwMDI5
MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVVElGcm9t
TUlNRVR5cGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4
RTMwMDhFQjE0MSAvKiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBT
REtST09UOyB9OwogCQlDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjkyNCw3ICsyOTIyLDYgQEAKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0Ig
LyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAw
MzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAogCQkJCUMxNDlENTRGMjQyRTk4NDQw
MDNFQkIxMiAvKiBTbGVlcERpc2FibGVyLm1tICovLAotCQkJCUMxOTRFMzFDMjQwOURGNDMwMDI5
MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi8sCiAJCQkJRTNDQUFBNEIyNDE1NTA1MTAwQ0VE
MkUyIC8qIFVUSUZyb21UYWcubW0gKi8sCiAJCQkJMEYxMzlFNzUxQTQyM0E1MzAwRjU5MEY1IC8q
IFdlYWtPYmpDUHRyLm1tICovLAogCQkJKTsKQEAgLTUxMzAsNyArNTEyNyw2IEBACiAJCQkJMDdG
NEU5MkUyMEFGNTlFMjAwMkUzODAzIC8qIFVzZXJNZWRpYVNpbXVsYXRlRmFpbGVkU2FuZGJveC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjE4MUE0MTFBRTYwMDQ0N0M0QyAvKiBVc2VyTWVz
c2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRUIyNDJCODIxRDQxNDBCMDA1NUMxQzAgLyog
VXNlU2VsZWN0aW9uQXNGaW5kU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQzE5NEUzMUQy
NDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUUzQ0FBQTRDMjQxNTUwNTEwMENFRDJFMiAvKiBVVElGcm9tVGFnLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0M4M0UwM0ExRDBBNjAyNzAwRkVCQ0YzIC8qIFV0aWxpdGllc0NvY29hLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M4M0UwQzYxRDBBNjU0RTAwRkVCQ0YzIC8qIFZpZGVvQ29udHJvbHNN
YW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCShyZXZpc2lvbiAyNTkyOTQpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0JKG5v
bmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaWYgV0tfSEFWRV9DX1NQSQotCi0jaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgotI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgotI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJl
Z2lzdHJ5Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgotCi1URVNUKFdlYktp
dCwgVVRJRnJvbU1JTUVUeXBlKQotewotICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0gICAgV0tSZXRhaW5QdHI8
V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVh
dGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRl
c3QiKSk7Ci0gICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQ
b29sICopY29udGV4dC5nZXQoKTsKLSAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7Ci0KLSAg
ICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9y
dGVkSW1hZ2VNSU1FVHlwZXMoKSkgewotICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmlu
Z1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZyb21NSU1FVHlwZShcIiVzXCIp
IiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07Ci0KLSAgICAgICAgYXV0byB1dGkgPSBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKLQotICAgICAgICBBU1NFUlRfVFJV
RShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpID09IFN0cmluZyh1dGkpKTsKLSAg
ICB9Ci19Ci0KLSNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395195</attachid>
            <date>2020-04-01 13:04:49 -0700</date>
            <delta_ts>2020-04-01 16:54:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209787-20200401130448.patch</filename>
            <type>text/plain</type>
            <size>18492</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA0LTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFVUSSBmcm9t
IE1JTUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKworICAgICAgICBV
bnJldmlld2VkIHJvbGxvdXQgb2YgcjI1NzgyOC4KKworICAgICAgICBJbiByMjU3ODI4LCBhIFVU
SSBmcm9tIE1JTUUgdHlwZSBjYWNoZSB3YXMgYWRkZWQgdG8gYXZvaWQgY29ubmVjdGluZyB0byBh
IGxhdW5jaCBzZXJ2aWNlcyBkYWVtb24gaW4gdGhlCisgICAgICAgIFdlYkNvbnRlbnQgcHJvY2Vz
cywgYnV0IGFmdGVyIDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4OTE1PiB0
aGlzIGNhY2hlIGlzIG5vdCBzdHJpY3RseSBuZWVkZWQKKyAgICAgICAgYW55bW9yZSwgc2luY2Ug
cjI1ODkxNSBzb2x2ZXMgdGhlIHByb2JsZW0gb2YgYXZvaWRpbmcgdG8gY29ubmVjdCB0byB0aGUg
ZGFlbW9uIGluIGEgZ2VuZXJhbCB3YXkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGls
aXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6
Y3JlYXRlVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6bWFwVVRJRnJvbU1JTUVUeXBl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFkZGl0aW9uYWxNSU1FVHlwZXMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6IERlbGV0ZWQuCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpnZXRVVElGcm9tTUlNRVR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLm1tOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOiBEZWxldGVkLgorCiAyMDIwLTA0LTAxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV93cmFwcGVyIG9uIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXkuaHRtbApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJ
KHJldmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1VUSVV0aWxpdGllcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW1wb3J0IDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM0LDcgKzM0LDQgQEAgU3Ry
aW5nIE1JTUVUeXBlRnJvbVVUSVRyZWUoY29uc3QgU3RyaW5nJgogV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVUSShj
b25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBVVElGcm9tVGFnKGNvbnN0IFN0
cmluZyYgdGFnQ2xhc3MsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGNvbmZvcm1p
bmdUb1VUSSk7Ci0KLVdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+JiYpOwotV0VCQ09SRV9FWFBPUlQgY29uc3QgSGFzaE1hcDxT
dHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5t
bQkocmV2aXNpb24gMjU5MzU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvVVRJVXRpbGl0aWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogCi0jaW1wb3J0ICJNSU1F
VHlwZVJlZ2lzdHJ5LmgiCiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3Rm
L1RpbnlMUlVDYWNoZS5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDIs
OCArNDEsNiBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKLSNk
ZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcwotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkp
CkBAIC0xMTcsMzAgKzExNCwxNCBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5
cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAotc3RhdGljIE9wdGlvbmFs
PEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKLXsKLSAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBt
YXA7Ci0gICAgcmV0dXJuIG1hcDsKLX0KLQogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9s
aWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQog
ICAgIHsKLSAgICAgICAgU3RyaW5nIGtleSA9IG1pbWVUeXBlOwotICAgICAgICBpZiAobWFwVVRJ
RnJvbU1JTUVUeXBlKCkuaGFzVmFsdWUoKSkgewotICAgICAgICAgICAgaWYgKGtleS5pc0VtcHR5
KCkpCi0gICAgICAgICAgICAgICAga2V5ID0gRU1QVFlfTUlNRV9UWVBFX1NUUklORzsKLSAgICAg
ICAgICAgIGNvbnN0IGF1dG8mIGl0ID0gbWFwVVRJRnJvbU1JTUVUeXBlKCktPmZpbmQoa2V5KTsK
LSAgICAgICAgICAgIGlmIChpdCAhPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZW5kKCkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIGl0LT52YWx1ZTsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygi
VVRJIGZvciBNSU1FIHR5cGUgJXMgbm90IGZvdW5kLiIsIGtleS51dGY4KCkuZGF0YSgpKTsKLSAg
ICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKGtleSk7Ci0gICAgICAgIH0K
LSAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAwKSk7CisgICAgICAgIGF1dG8gdHlwZSA9IGFkb3B0Q0YoVVRUeXBlQ3JlYXRlUHJlZmVycmVk
SWRlbnRpZmllckZvclRhZyhrVVRUYWdDbGFzc01JTUVUeXBlLCBtaW1lVHlwZS5jcmVhdGVDRlN0
cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJu
IHR5cGUuZ2V0KCk7Ci0gICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKGtleSk7
CisgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICB9
CiB9OwogCkBAIC0xNjcsMzkgKzE0OCw0IEBAIFN0cmluZyBVVElGcm9tVGFnKGNvbnN0IFN0cmlu
ZyYgdGFnQ2xhc3MKICAgICByZXR1cm4gU3RyaW5nKHUuZ2V0KCkpOwogfQogCi1zdGF0aWMgY29u
c3QgVmVjdG9yPFN0cmluZz4mIGFkZGl0aW9uYWxNSU1FVHlwZXMoKQotewotICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXpl
cl9saXN0PFN0cmluZz4gewotICAgICAgICAiYXBwbGljYXRpb24vemlwIl9zLAotICAgIH07Ci0g
ICAgcmV0dXJuIG1pbWVUeXBlczsKLX0KLQotY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4m
IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXAgPSBbXSB7Ci0gICAgICAgIEhhc2hNYXA8U3Ry
aW5nLCBTdHJpbmc+IGNhY2hlOwotICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlw
ZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpKQotICAgICAgICAgICAgY2FjaGUu
YWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAgICAgICAgZm9yIChh
dXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlw
ZXMoKSkKLSAgICAgICAgICAgIGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1p
bWVUeXBlKSk7Ci0gICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6
OnVuc3VwcG9ydGVkVGV4dE1JTUVUeXBlcygpKQotICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVU
eXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAgICAgICAgZm9yIChhdXRvIG1pbWVU
eXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKLSAgICAg
ICAgICAgIGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7Ci0g
ICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBl
cygpKQotICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWlt
ZVR5cGUpKTsKLSAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogYWRkaXRpb25hbE1JTUVUeXBl
cygpKQotICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWlt
ZVR5cGUpKTsKLSAgICAgICAgY2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZy
b21NSU1FVHlwZShlbXB0eVN0cmluZygpKSk7Ci0gICAgICAgIHJldHVybiBjYWNoZTsKLSAgICB9
KCk7Ci0gICAgcmV0dXJuIG1hcDsKLX0KLQotdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCi17Ci0gICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkg
PSBXVEZNb3ZlKG1hcCk7Ci19Ci0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHJldmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUzMiwxMSArNTUzMiw2IEBAIFN0cmluZyBJbnRl
cm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
IH0KIAotU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYp
Ci17Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci19Ci0KIFN0cmluZyBJbnRlcm5hbHM6Omdl
dFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikK
IHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAkocmV2aXNpb24gMjU5MzU5KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTUyLDcgKzk1Miw2IEBAIHB1YmxpYzoKIAogICAg
IFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9u
KTsKIAotICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSk7CiAgICAgU3RyaW5nIGdldFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiB0YWdDbGFzcywgY29u
c3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgY29uZm9ybWluZ1RvVVRJKTsKIAogICAgIGJv
b2wgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTkzNTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg1Niw3ICs4NTYsNiBAQCBlbnVtIENv
bXBvc2l0aW5nUG9saWN5IHsKIAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5z
aW9uKERPTVN0cmluZyBleHRlbnNpb24pOwogCi0gICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1F
VHlwZShET01TdHJpbmcgbWltZVR5cGUpOwogICAgIERPTVN0cmluZyBnZXRVVElGcm9tVGFnKERP
TVN0cmluZyB0YWdDbGFzcywgRE9NU3RyaW5nIHRhZywgRE9NU3RyaW5nIGNvbmZvcm1pbmdUb1VU
SSk7CiAKICAgICBib29sZWFuIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHJldmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTEgKzEw
Miw2IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1
cm4gZW5jb2RlZFN0cmluZzsKIH0KIAotU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVU
eXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCi17Ci0gICAgcmV0dXJuIFVUSUZyb21NSU1FVHlw
ZShtaW1lVHlwZSk7Ci19Ci0KIFN0cmluZyBJbnRlcm5hbHM6OmdldFVUSUZyb21UYWcoY29uc3Qg
U3RyaW5nJiB0YWdDbGFzcywgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgY29uZm9y
bWluZ1RvVVRJKQogewogICAgIHJldHVybiBVVElGcm9tVGFnKHRhZ0NsYXNzLCB0YWcsIGNvbmZv
cm1pbmdUb1VUSSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MzU5KQorKysgU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0w
MSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29h
XSBVVEkgZnJvbSBNSU1FIHR5cGUgY2FjaGUgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgcjI1ODkxNQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Nzg3CisK
KyAgICAgICAgVW5yZXZpZXdlZCByb2xsb3V0IG9mIHIyNTc4MjguCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wNC0wMSAgRG9uIE9sbXN0
ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtQbGF5U3RhdGlvbl0gVXNl
IE9CSkVDVCBsaWJyYXJpZXMgZm9yIFdlYkNvcmUgYW5kIFBBTApJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJl
dmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDYgQEAgdm9pZCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbWFwREJF
eHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBzeXN0ZW1IYXNCYXR0ZXJ5OwogICAgIGVu
Y29kZXIgPDwgbWltZVR5cGVzTWFwOwotICAgIGVuY29kZXIgPDwgbWFwVVRJRnJvbU1JTUVUeXBl
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDc1LDEyICs0NzQsNiBA
QCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgaWYgKCFtaW1l
VHlwZXNNYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBl
c01hcCA9IFdURk1vdmUoKm1pbWVUeXBlc01hcCk7Ci0KLSAgICBPcHRpb25hbDxIYXNoTWFwPFN0
cmluZywgU3RyaW5nPj4gbWFwVVRJRnJvbU1JTUVUeXBlOwotICAgIGRlY29kZXIgPj4gbWFwVVRJ
RnJvbU1JTUVUeXBlOwotICAgIGlmICghbWFwVVRJRnJvbU1JTUVUeXBlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBXVEZNb3ZlKCpt
YXBVVElGcm9tTUlNRVR5cGUpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJ
bmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAkocmV2aXNpb24gMjU5MzU5KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNyArMjEz
LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFs
PFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbWFwREJFeHRlbnNpb25IYW5kbGU7CiAgICAgYm9v
bCBzeXN0ZW1IYXNCYXR0ZXJ5IHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxIYXNoTWFwPFN0cmlu
ZywgVmVjdG9yPFN0cmluZz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1pbWVUeXBlc01h
cDsKLSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1
OTM1OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwNSw3ICs0MDUsNiBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgfQogICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFz
QmF0dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01h
cCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOwotICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVU
eXBlID0gY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQTEFU
Rk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1OTM1OSkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4Nyw4
ICsyODcsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICAg
ICBpZiAocGFyYW1ldGVycy5taW1lVHlwZXNNYXApCiAgICAgICAgIG92ZXJyaWRkZW5NaW1lVHlw
ZXNNYXAoKSA9IFdURk1vdmUocGFyYW1ldGVycy5taW1lVHlwZXNNYXApOwotCi0gICAgc2V0VVRJ
RnJvbU1JTUVUeXBlTWFwKFdURk1vdmUocGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUpKTsK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM1OSkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA0LTAx
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IFVUSSBmcm9tIE1JTUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKwor
ICAgICAgICBVbnJldmlld2VkIHJvbGxvdXQgb2YgcjI1NzgyOC4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogUmVtb3Zl
ZC4KKwogMjAyMC0wNC0wMSAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgog
CiAgICAgICAgIFtQbGF5U3RhdGlvbl0gVXNlIE9CSkVDVCBsaWJyYXJpZXMgZm9yIFdlYkNvcmUg
YW5kIFBBTApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1OTM1OSkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODcsNyArODg3LDYgQEAKIAkJQzE1Q0JCMzAyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3
IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIzRjIzRkIx
NzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJl
ZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBC
YXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07Ci0JCUMxOTRFMzFE
MjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyog
VVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEwRkEgLyog
Q29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29y
ayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJBMjI4Rjg3
MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhBRUIwMDlE
Nzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4dFdpZHRo
Lmh0bWwgKi87IH07CkBAIC0yNDY1LDcgKzI0NjQsNiBAQAogCQlDMTVDQkIyRjIzRjFGRjFBMDAz
MDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZUNoYW5n
ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVU
SUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1FVHlwZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQx
IC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5m
cmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07
CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
OTI4LDcgKzI5MjYsNiBAQAogCQkJCUUzMjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyog
UHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJQzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8q
IFNsZWVwRGlzYWJsZXIubW0gKi8sCi0JCQkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVU
SUZyb21NSU1FVHlwZS5tbSAqLywKIAkJCQlFM0NBQUE0QjI0MTU1MDUxMDBDRUQyRTIgLyogVVRJ
RnJvbVRhZy5tbSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQ
dHIubW0gKi8sCiAJCQkpOwpAQCAtNTEzNCw3ICs1MTMxLDYgQEAKIAkJCQkwN0Y0RTkyRTIwQUY1
OUUyMDAyRTM4MDMgLyogVXNlck1lZGlhU2ltdWxhdGVGYWlsZWRTYW5kYm94Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NDRTdGMTgxQTQxMUFFNjAwNDQ3QzRDIC8qIFVzZXJNZXNzYWdlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJFQjI0MkI4MjFENDE0MEIwMDU1QzFDMCAvKiBVc2VTZWxlY3Rp
b25Bc0ZpbmRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKLQkJCQlDMTk0RTMxRDI0MDlERjQzMDAy
OTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTNDQUFBNEMy
NDE1NTA1MTAwQ0VEMkUyIC8qIFVUSUZyb21UYWcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Qzgz
RTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlkZW9Db250cm9sc01hbmFnZXIubW0g
aW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VU
SUZyb21NSU1FVHlwZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0JKHJldmlzaW9uIDI1OTM1OSkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkobm9uZXhpc3RlbnQp
CkBAIC0xLDUxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
ZiBXS19IQVZFX0NfU1BJCi0KLSNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCi0jaW1wb3J0
ICJUZXN0V0tXZWJWaWV3LmgiCi0jaW1wb3J0IDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+Ci0KLVRFU1QoV2ViS2l0LCBVVElGcm9t
TUlNRVR5cGUpCi17Ci0gICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKLSAgICBXS1JldGFpblB0cjxXS0NvbnRleHRS
ZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRG
b3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKLSAg
ICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250
ZXh0LmdldCgpOwotICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRp
b246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKLQotICAgIGZvciAoYXV0
byYgbWltZVR5cGUgOiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRJbWFnZU1J
TUVUeXBlcygpKSB7Ci0gICAgICAgIGF1dG8ganMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1h
dDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJRnJvbU1JTUVUeXBlKFwiJXNcIikiLCBtaW1lVHlw
ZS51dGY4KCkuZGF0YSgpXTsKLQotICAgICAgICBhdXRvIHV0aSA9IFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNdOwotCi0gICAgICAgIEFTU0VSVF9UUlVFKFdlYkNvcmU6
OlVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkgPT0gU3RyaW5nKHV0aSkpOwotICAgIH0KLX0KLQot
I2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395227</attachid>
            <date>2020-04-01 16:54:16 -0700</date>
            <delta_ts>2020-04-01 17:20:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209787-20200401165415.patch</filename>
            <type>text/plain</type>
            <size>18653</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA0LTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFVUSSBmcm9t
IE1JTUUgdHlwZSBjYWNoZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKworICAgICAgICBV
bnJldmlld2VkIHJvbGxvdXQgb2YgcjI1NzgyOC4KKworICAgICAgICBJbiByMjU3ODI4LCBhIFVU
SSBmcm9tIE1JTUUgdHlwZSBjYWNoZSB3YXMgYWRkZWQgdG8gYXZvaWQgY29ubmVjdGluZyB0byBh
IGxhdW5jaCBzZXJ2aWNlcyBkYWVtb24gaW4gdGhlCisgICAgICAgIFdlYkNvbnRlbnQgcHJvY2Vz
cywgYnV0IGFmdGVyIDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4OTE1PiB0
aGlzIGNhY2hlIGlzIG5vdCBzdHJpY3RseSBuZWVkZWQKKyAgICAgICAgYW55bW9yZSwgc2luY2Ug
cjI1ODkxNSBzb2x2ZXMgdGhlIHByb2JsZW0gb2YgYXZvaWRpbmcgdG8gY29ubmVjdCB0byB0aGUg
ZGFlbW9uIGluIGEgZ2VuZXJhbCB3YXkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGls
aXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6
Y3JlYXRlVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6bWFwVVRJRnJvbU1JTUVUeXBl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFkZGl0aW9uYWxNSU1FVHlwZXMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6IERlbGV0ZWQuCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpnZXRVVElGcm9tTUlNRVR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLm1tOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOiBEZWxldGVkLgorCiAyMDIwLTA0LTAxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
Zm9udGZhY2VzZXQuaHRtbCBpcyBmbGFreSBjcmFzaGluZwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1
OTM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGll
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM0LDcgKzM0LDQgQEAgU3RyaW5nIE1JTUVUeXBl
RnJvbVVUSVRyZWUoY29uc3QgU3RyaW5nJgogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIFVUSUZyb21N
SU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcm
KTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBVVElGcm9tVGFnKGNvbnN0IFN0cmluZyYgdGFnQ2xh
c3MsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIGNvbmZvcm1pbmdUb1VUSSk7Ci0K
LVdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKEhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+JiYpOwotV0VCQ09SRV9FWFBPUlQgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkocmV2aXNpb24g
MjU5MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0
aWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogCi0jaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5
LmgiCiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNo
ZS5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDIsOCArNDEsNiBAQAog
I2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKLSNkZWZpbmUgRU1QVFlf
TUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTcsMzAg
KzExNCwxNCBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAg
cmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAotc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3Ry
aW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7Ci0gICAgcmV0
dXJuIG1hcDsKLX0KLQogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxS
VUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmlu
ZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogICAgIHsKLSAgICAg
ICAgU3RyaW5nIGtleSA9IG1pbWVUeXBlOwotICAgICAgICBpZiAobWFwVVRJRnJvbU1JTUVUeXBl
KCkuaGFzVmFsdWUoKSkgewotICAgICAgICAgICAgaWYgKGtleS5pc0VtcHR5KCkpCi0gICAgICAg
ICAgICAgICAga2V5ID0gRU1QVFlfTUlNRV9UWVBFX1NUUklORzsKLSAgICAgICAgICAgIGNvbnN0
IGF1dG8mIGl0ID0gbWFwVVRJRnJvbU1JTUVUeXBlKCktPmZpbmQoa2V5KTsKLSAgICAgICAgICAg
IGlmIChpdCAhPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZW5kKCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGl0LT52YWx1ZTsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiVVRJIGZvciBNSU1F
IHR5cGUgJXMgbm90IGZvdW5kLiIsIGtleS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgICAgIHJl
dHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKGtleSk7Ci0gICAgICAgIH0KLSAgICAgICAgYXV0
byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtV
VFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CisgICAg
ICAgIGF1dG8gdHlwZSA9IGFkb3B0Q0YoVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZv
clRhZyhrVVRUYWdDbGFzc01JTUVUeXBlLCBtaW1lVHlwZS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7
Ci0gICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKGtleSk7CisgICAgICAgIHJl
dHVybiBVVElGcm9tVW5rbm93bk1JTUVUeXBlKG1pbWVUeXBlKTsKICAgICB9CiB9OwogCkBAIC0x
NjcsMzkgKzE0OCw0IEBAIFN0cmluZyBVVElGcm9tVGFnKGNvbnN0IFN0cmluZyYgdGFnQ2xhc3MK
ICAgICByZXR1cm4gU3RyaW5nKHUuZ2V0KCkpOwogfQogCi1zdGF0aWMgY29uc3QgVmVjdG9yPFN0
cmluZz4mIGFkZGl0aW9uYWxNSU1FVHlwZXMoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxWZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmlu
Zz4gewotICAgICAgICAiYXBwbGljYXRpb24vemlwIl9zLAotICAgIH07Ci0gICAgcmV0dXJuIG1p
bWVUeXBlczsKLX0KLQotY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZy
b21NSU1FVHlwZU1hcCgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3Ry
aW5nLCBTdHJpbmc+PiBtYXAgPSBbXSB7Ci0gICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+
IGNhY2hlOwotICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5Ojpz
dXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpKQotICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBl
LCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBl
IDogTUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZXMoKSkKLSAgICAg
ICAgICAgIGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7Ci0g
ICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnVuc3VwcG9ydGVk
VGV4dE1JTUVUeXBlcygpKQotICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9t
TUlNRVR5cGUobWltZVR5cGUpKTsKLSAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5
cGVSZWdpc3RyeTo6c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKLSAgICAgICAgICAgIGNhY2hl
LmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7Ci0gICAgICAgIGZvciAo
YXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQotICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAg
ICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogYWRkaXRpb25hbE1JTUVUeXBlcygpKQotICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKLSAg
ICAgICAgY2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShl
bXB0eVN0cmluZygpKSk7Ci0gICAgICAgIHJldHVybiBjYWNoZTsKLSAgICB9KCk7Ci0gICAgcmV0
dXJuIG1hcDsKLX0KLQotdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4mJiBtYXApCi17Ci0gICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1h
cCk7Ci19Ci0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlz
aW9uIDI1OTM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTUzMiwxMSArNTUzMiw2IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29k
ZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KIAotU3RyaW5n
IEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Ci19Ci0KIFN0cmluZyBJbnRlcm5hbHM6OmdldFVUSUZyb21UYWco
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKIHsKICAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2
aXNpb24gMjU5MzcxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29y
a2luZyBjb3B5KQpAQCAtOTUyLDcgKzk1Miw2IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRp
YU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAotICAgIFN0
cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgU3Ry
aW5nIGdldFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiB0YWdDbGFzcywgY29uc3QgU3RyaW5nJiB0
YWcsIGNvbnN0IFN0cmluZyYgY29uZm9ybWluZ1RvVVRJKTsKIAogICAgIGJvb2wgc3VwcG9ydHNQ
aWN0dXJlSW5QaWN0dXJlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CShyZXZpc2lvbiAyNTkzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTg1Niw3ICs4NTYsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9s
aWN5IHsKIAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmlu
ZyBleHRlbnNpb24pOwogCi0gICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJp
bmcgbWltZVR5cGUpOwogICAgIERPTVN0cmluZyBnZXRVVElGcm9tVGFnKERPTVN0cmluZyB0YWdD
bGFzcywgRE9NU3RyaW5nIHRhZywgRE9NU3RyaW5nIGNvbmZvcm1pbmdUb1VUSSk7CiAKICAgICBi
b29sZWFuIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMubW0JKHJldmlzaW9uIDI1OTM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsMTEgKzEwMiw2IEBAIFN0cmlu
ZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0
cmluZzsKIH0KIAotU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpCi17Ci0gICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7
Ci19Ci0KIFN0cmluZyBJbnRlcm5hbHM6OmdldFVUSUZyb21UYWcoY29uc3QgU3RyaW5nJiB0YWdD
bGFzcywgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgY29uZm9ybWluZ1RvVVRJKQog
ewogICAgIHJldHVybiBVVElGcm9tVGFnKHRhZ0NsYXNzLCB0YWcsIGNvbmZvcm1pbmdUb1VUSSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU5MzcxKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNC0wMSAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBVVEkgZnJvbSBN
SU1FIHR5cGUgY2FjaGUgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgcjI1ODkxNQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Nzg3CisKKyAgICAgICAgVW5y
ZXZpZXdlZCByb2xsb3V0IG9mIHIyNTc4MjguCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wNC0wMSAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBEZW55IG1hY2gtbG9va3VwIGFjY2Vz
cyB0byAiY29tLmFwcGxlLmxzZC5tYXBkYiIgaW4gc2FuZGJveApJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJl
dmlzaW9uIDI1OTM3MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDYgQEAgdm9pZCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbWFwREJF
eHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBzeXN0ZW1IYXNCYXR0ZXJ5OwogICAgIGVu
Y29kZXIgPDwgbWltZVR5cGVzTWFwOwotICAgIGVuY29kZXIgPDwgbWFwVVRJRnJvbU1JTUVUeXBl
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDc1LDEyICs0NzQsNiBA
QCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgaWYgKCFtaW1l
VHlwZXNNYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBl
c01hcCA9IFdURk1vdmUoKm1pbWVUeXBlc01hcCk7Ci0KLSAgICBPcHRpb25hbDxIYXNoTWFwPFN0
cmluZywgU3RyaW5nPj4gbWFwVVRJRnJvbU1JTUVUeXBlOwotICAgIGRlY29kZXIgPj4gbWFwVVRJ
RnJvbU1JTUVUeXBlOwotICAgIGlmICghbWFwVVRJRnJvbU1JTUVUeXBlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBXVEZNb3ZlKCpt
YXBVVElGcm9tTUlNRVR5cGUpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJ
bmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAkocmV2aXNpb24gMjU5MzcxKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNyArMjEz
LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFs
PFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbWFwREJFeHRlbnNpb25IYW5kbGU7CiAgICAgYm9v
bCBzeXN0ZW1IYXNCYXR0ZXJ5IHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxIYXNoTWFwPFN0cmlu
ZywgVmVjdG9yPFN0cmluZz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1pbWVUeXBlc01h
cDsKLSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1
OTM3MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwNSw3ICs0MDUsNiBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgfQogICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFz
QmF0dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01h
cCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOwotICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVU
eXBlID0gY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiAKICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgbWFwREJIYW5kbGU7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
Rm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLmxzZC5tYXBkYiIsIFdURjo6bnVsbG9wdCwgbWFwREJI
YW5kbGUsIFNhbmRib3hFeHRlbnNpb246OkZsYWdzOjpOb1JlcG9ydCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlz
aW9uIDI1OTM3MSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4NSw4ICsyODUsNiBAQCB2b2lkIFdlYlByb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICAgICBpZiAocGFyYW1ldGVycy5taW1lVHlw
ZXNNYXApCiAgICAgICAgIG92ZXJyaWRkZW5NaW1lVHlwZXNNYXAoKSA9IFdURk1vdmUocGFyYW1l
dGVycy5taW1lVHlwZXNNYXApOwotCi0gICAgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKFdURk1vdmUo
cGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUpKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1OTM3MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA0LTAxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFVUSSBmcm9tIE1JTUUgdHlwZSBjYWNo
ZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciByMjU4OTE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk3ODcKKworICAgICAgICBVbnJldmlld2VkIHJvbGxv
dXQgb2YgcjI1NzgyOC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogUmVtb3ZlZC4KKwogMjAyMC0wNC0wMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24ocjI1Nzk2Mykg
ZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiBkZWxlZ2F0ZSBubyBsb25nZXIgZ2V0cyBjYWxs
ZWQgd2hlbiBjYW5jZWxsaW5nIGEgY3Jvc3Mtc2l0ZSBwcm92aXNpb25hbCBuYXZpZ2F0aW9uCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU5MzcxKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTg4Nyw3ICs4ODcsNiBAQAogCQlDMTVDQkIzMDIzRjFGRjFBMDAzMDBDQzcg
LyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xp
Z2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi87IH07CiAJCUMxNUNCQjNGMjNGQjE3N0EwMDMwMEND
NyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hh
bmdlcy5tbSAqLzsgfTsKIAkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIz
RDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLzsgfTsKLQkJQzE5NEUzMUQyNDA5REY0MzAw
MjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMxOTRFMzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlN
RVR5cGUubW0gKi87IH07CiAJCUMyMEY4OEE3MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovOyB9Owog
CQlDMjJGQTMyQjIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4
IC8qIFRleHRXaWR0aC5tbSAqLzsgfTsKIAkJQzIyRkEzMkQyMjhGOEFFQjAwOUQ3OTg4IC8qIFRl
eHRXaWR0aC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyMkZBMzJDMjI4Rjg3N0EwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCAqLzsg
fTsKQEAgLTI0NjUsNyArMjQ2NCw2IEBACiAJCUMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBC
YWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVmZXJlbmNlQ2hhbmdlcy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJh
dHRlcnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVU
eXBlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVRJRnJvbU1JTUVUeXBlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDMUQ4RUUyMTIwMjhFOEUzMDA4RUIxNDEgLyogV2ViUHJv
Y2Vzc1Rlcm1pbmF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYlByb2Nlc3NUZXJtaW5hdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMy
MEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IENvcmVUZXh0LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQ29yZVRleHQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJQzIyRkEz
MkEyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFRleHRXaWR0aC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MjgsNyArMjky
Niw2IEBACiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVT
dXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNl
Q2hhbmdlcy5tbSAqLywKIAkJCQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNh
Ymxlci5tbSAqLywKLQkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVU
eXBlLm1tICovLAogCQkJCUUzQ0FBQTRCMjQxNTUwNTEwMENFRDJFMiAvKiBVVElGcm9tVGFnLm1t
ICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAqLywK
IAkJCSk7CkBAIC01MTM0LDcgKzUxMzEsNiBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgw
MyAvKiBVc2VyTWVkaWFTaW11bGF0ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0YxODFBNDExQUU2MDA0NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0
cmluZy5tbSBpbiBTb3VyY2VzICovLAotCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBV
VElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlFM0NBQUE0QzI0MTU1MDUxMDBD
RUQyRTIgLyogVVRJRnJvbVRhZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNBMUQwQTYw
MjcwMEZFQkNGMyAvKiBVdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNF
MEM2MUQwQTY1NEUwMEZFQkNGMyAvKiBWaWRlb0NvbnRyb2xzTWFuYWdlci5tbSBpbiBTb3VyY2Vz
ICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVU
eXBlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VU
SUZyb21NSU1FVHlwZS5tbQkocmV2aXNpb24gMjU5MzcxKQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKQEAgLTEsNTEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIFdLX0hBVkVf
Q19TUEkKLQotI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKLSNpbXBvcnQgIlRlc3RXS1dl
YlZpZXcuaCIKLSNpbXBvcnQgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgotI2ltcG9ydCA8
V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KLQotVEVTVChXZWJLaXQsIFVUSUZyb21NSU1FVHlwZSkK
LXsKLSAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBhbGxvY10gaW5pdF0pOwotICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4
dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVk
QnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOwotICAgIGNvbmZpZ3Vy
YXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7
Ci0gICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOwotCi0gICAgZm9yIChhdXRvJiBtaW1lVHlw
ZSA6IFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkp
IHsKLSAgICAgICAgYXV0byBqcyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAid2luZG93
LmludGVybmFscy5nZXRVVElGcm9tTUlNRVR5cGUoXCIlc1wiKSIsIG1pbWVUeXBlLnV0ZjgoKS5k
YXRhKCldOwotCi0gICAgICAgIGF1dG8gdXRpID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpqc107Ci0KLSAgICAgICAgQVNTRVJUX1RSVUUoV2ViQ29yZTo6VVRJRnJvbU1J
TUVUeXBlKG1pbWVUeXBlKSA9PSBTdHJpbmcodXRpKSk7Ci0gICAgfQotfQotCi0jZW5kaWYgLy8g
V0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>