<?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>187680</bug_id>
          
          <creation_ts>2018-07-14 16:12:03 -0700</creation_ts>
          <short_desc>Shrink some style-related classes and enums</short_desc>
          <delta_ts>2018-07-14 17:30:30 -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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1442244</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-14 16:12:03 -0700</bug_when>
    <thetext>Shrink some style-related classes and enums</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442245</commentid>
    <comment_count>1</comment_count>
      <attachid>345040</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-14 16:17:42 -0700</bug_when>
    <thetext>Created attachment 345040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442246</commentid>
    <comment_count>2</comment_count>
      <attachid>345040</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-07-14 16:31:22 -0700</bug_when>
    <thetext>Comment on attachment 345040
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        Shrink DocumentRuleSet from 384 to 368 bytes by re-ordering, which also helps shrink
&gt; +        StyleResolver from 1024 to 952 bytes.

Micro-optimizing low volume objects like DocumentRuleSet does not produce meaningful gain. Still, cleanups are nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442257</commentid>
    <comment_count>3</comment_count>
      <attachid>345040</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-14 17:29:35 -0700</bug_when>
    <thetext>Comment on attachment 345040
Patch

Clearing flags on attachment: 345040

Committed r233838: &lt;https://trac.webkit.org/changeset/233838&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442258</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-14 17:29:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1442260</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-14 17:30:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/42207689&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345040</attachid>
            <date>2018-07-14 16:17:42 -0700</date>
            <delta_ts>2018-07-14 17:29:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187680-20180714161741.patch</filename>
            <type>text/plain</type>
            <size>35266</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzODMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU1YTQ1NzIzMzdhNTA2
NjljMmYyM2NhNzU0NDdjYTQ4Nzc3YzA4Yi4uY2U2MjBmNGUzMzUxNGZhMTQ2YzAzNzZhNTdjYTQx
MDAxNTk4ZDI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE4LTA3LTE0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFNocmluayBzb21l
IHN0eWxlLXJlbGF0ZWQgY2xhc3NlcyBhbmQgZW51bXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzY4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgTWFrZSBhbGwgdGhlIGVudW0gY2xhc3Nl
cyBpbiBSZW5kZXJTdHlsZUNvbnN0YW50cyBiZSBvbmUgYnl0ZSBiaWcgKGFsbCBoYXZlIGxlc3MK
KyAgICAgICAgdGhhbiAyNTYgdmFsdWVzKS4KKyAgICAgICAgCisgICAgICAgIFNocmluayBEb2N1
bWVudFJ1bGVTZXQgZnJvbSAzODQgdG8gMzY4IGJ5dGVzIGJ5IHJlLW9yZGVyaW5nLCB3aGljaCBh
bHNvIGhlbHBzIHNocmluaworICAgICAgICBTdHlsZVJlc29sdmVyIGZyb20gMTAyNCB0byA5NTIg
Ynl0ZXMuCisgICAgICAgIAorICAgICAgICBTaHJpbmsgQm9yZGVyVmFsdWUgYnkgcmUtb3JkZXJp
bmcgKG5vdyB0aGF0IHRoZSBsYXlvdXQgb2YgQ29sb3IgaGFzIGNoYW5nZWQpIHdoaWNoCisgICAg
ICAgIHNocmlua3MgQm9yZGVyRGF0YSBmcm9tIDE2OCB0byAxMzYgYnl0ZXMuCisgICAgICAgIAor
ICAgICAgICBDb252ZXJ0IGEgY291cGxlIG9mIG90aGVyIGVudW1zIHRvIGVudW0gY2xhc3Mgc28g
dGhhdCB0aGV5IGNhbiBoYXZlIGV4cGxpY2l0IHNpemUuCisKKyAgICAgICAgKiBjc3MvRG9jdW1l
bnRSdWxlU2V0cy5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZG9jdW1lbnRFbGVtZW50VXNlckFnZW50
U3R5bGUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZU1lZGlhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlTWVkaWE6Om1hdGNoTWVkaXVtIGNvbnN0KToKKyAgICAgICAgKiBjc3MvU3R5
bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpTdHlsZVJl
c29sdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OlN0YXRlOjpTdGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y2FzY2FkZWRQcm9wZXJ0aWVzRm9yUm9sbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6Cisg
ICAgICAgIChXZWJDb3JlOjpjYXNjYWRlTGV2ZWxGb3JJbmRleCk6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvQm9yZGVyVmFsdWUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHN0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2
ZXI6OnN0eWxlRm9yRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudFJhcmVEYXRhOjpvdmVycmlkZUNvbXB1dGVk
U3R5bGUpOgorCiAyMDE4LTA3LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEF2b2lkIGZldGNoaW5nIHZpc2l0ZWREZXBlbmRlbnRDb2xvcigpIHNv
IG1hbnkgdGltZXMgaW4gZWRpdGluZyBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRG9jdW1lbnRSdWxlU2V0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNl
dHMuaAppbmRleCBiMzhlNzQ1OWU2NTBjMjI0NGY3M2Q4YzI5YmZhNDkzNTNhZTIxY2RkLi45NDE0
YjhjYmQ0ODA5MGEzN2ZjOTAzOTE3ZWI1NDRmOTY3OWMzZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9E
b2N1bWVudFJ1bGVTZXRzLmgKQEAgLTgxLDIyICs4MSwyNSBAQCBwcml2YXRlOgogICAgIHZvaWQg
Y29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0
eWxlU2hlZXQ+PiYsIFJ1bGVTZXQmIHVzZXJTdHlsZSwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRv
ciYsIFN0eWxlUmVzb2x2ZXImKTsKICAgICB2b2lkIHVwZGF0ZVVzZXJBZ2VudE1lZGlhUXVlcnlT
dHlsZUlmTmVlZGVkKCkgY29uc3Q7CiAKLSAgICBib29sIG1faXNGb3JTaGFkb3dTY29wZSB7IGZh
bHNlIH07Ci0gICAgYm9vbCBtX2lzQXV0aG9yU3R5bGVEZWZpbmVkIHsgZmFsc2UgfTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UnVsZVNldD4gbV9hdXRob3JTdHlsZTsKICAgICBtdXRhYmxlIHN0ZDo6
dW5pcXVlX3B0cjxSdWxlU2V0PiBtX3VzZXJBZ2VudE1lZGlhUXVlcnlTdHlsZTsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UnVsZVNldD4gbV91c2VyU3R5bGU7Ci0gICAgYm9vbCBtX3VzZXNTaGFyZWRV
c2VyU3R5bGUgeyBmYWxzZSB9OwogCiAgICAgU3R5bGVSZXNvbHZlciYgbV9zdHlsZVJlc29sdmVy
OwogICAgIG11dGFibGUgUnVsZUZlYXR1cmVTZXQgbV9mZWF0dXJlczsKLSAgICBtdXRhYmxlIHVu
c2lnbmVkIG1fZGVmYXVsdFN0eWxlVmVyc2lvbk9uRmVhdHVyZUNvbGxlY3Rpb24geyAwIH07Ci0g
ICAgbXV0YWJsZSB1bnNpZ25lZCBtX3VzZXJBZ2VudE1lZGlhUXVlcnlSdWxlQ291bnRPblVwZGF0
ZSB7IDAgfTsKICAgICBtdXRhYmxlIHN0ZDo6dW5pcXVlX3B0cjxSdWxlU2V0PiBtX3NpYmxpbmdS
dWxlU2V0OwogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPFJ1bGVTZXQ+IG1fdW5jb21tb25B
dHRyaWJ1dGVSdWxlU2V0OwogICAgIG11dGFibGUgSGFzaE1hcDxBdG9taWNTdHJpbmcsIHN0ZDo6
dW5pcXVlX3B0cjxWZWN0b3I8SW52YWxpZGF0aW9uUnVsZVNldD4+PiBtX2NsYXNzSW52YWxpZGF0
aW9uUnVsZVNldHM7CiAgICAgbXV0YWJsZSBIYXNoTWFwPEF0b21pY1N0cmluZywgc3RkOjp1bmlx
dWVfcHRyPFZlY3RvcjxJbnZhbGlkYXRpb25SdWxlU2V0Pj4+IG1fYXR0cmlidXRlSW52YWxpZGF0
aW9uUnVsZVNldHM7CisKICAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9jYWNoZWRI
YXNDb21wbGV4U2VsZWN0b3JzRm9yU3R5bGVBdHRyaWJ1dGU7CisKKyAgICBtdXRhYmxlIHVuc2ln
bmVkIG1fZGVmYXVsdFN0eWxlVmVyc2lvbk9uRmVhdHVyZUNvbGxlY3Rpb24geyAwIH07CisgICAg
bXV0YWJsZSB1bnNpZ25lZCBtX3VzZXJBZ2VudE1lZGlhUXVlcnlSdWxlQ291bnRPblVwZGF0ZSB7
IDAgfTsKKworICAgIGJvb2wgbV91c2VzU2hhcmVkVXNlclN0eWxlIHsgZmFsc2UgfTsKKyAgICBi
b29sIG1faXNGb3JTaGFkb3dTY29wZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzQXV0aG9yU3R5
bGVEZWZpbmVkIHsgZmFsc2UgfTsKIH07CiAKIGlubGluZSBjb25zdCBSdWxlRmVhdHVyZVNldCYg
RG9jdW1lbnRSdWxlU2V0czo6ZmVhdHVyZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TWF0Y2hlci5jcHAKaW5kZXggNzhlYTM1N2EzMjg4OTJiZGJiNzNkMzcyMmQ5M2UwMTI1
M2QzY2M0OS4uYTYwMzQ0YzA4ZDk4ZmQ5ZDIwMjc0MjE3NGYyNmQ3YjIzOWM2N2YzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHN0
ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gTWVkaWFRdWVyeU1hdGNoZXI6OmRvY3VtZW50RWxl
bWVudFVzZXJBZ2VudFN0eWxlKCkKICAgICBpZiAoIWRvY3VtZW50RWxlbWVudCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gbV9kb2N1bWVudC0+c3R5bGVTY29wZSgpLnJl
c29sdmVyKCkuc3R5bGVGb3JFbGVtZW50KCpkb2N1bWVudEVsZW1lbnQsIG1fZG9jdW1lbnQtPnJl
bmRlclN0eWxlKCksIG51bGxwdHIsIE1hdGNoT25seVVzZXJBZ2VudFJ1bGVzKS5yZW5kZXJTdHls
ZTsKKyAgICByZXR1cm4gbV9kb2N1bWVudC0+c3R5bGVTY29wZSgpLnJlc29sdmVyKCkuc3R5bGVG
b3JFbGVtZW50KCpkb2N1bWVudEVsZW1lbnQsIG1fZG9jdW1lbnQtPnJlbmRlclN0eWxlKCksIG51
bGxwdHIsIFJ1bGVNYXRjaGluZ0JlaGF2aW9yOjpNYXRjaE9ubHlVc2VyQWdlbnRSdWxlcykucmVu
ZGVyU3R5bGU7CiB9CiAKIGJvb2wgTWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlKGNvbnN0IE1l
ZGlhUXVlcnlTZXQmIG1lZGlhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
TWVkaWEuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlTWVkaWEuY3BwCmluZGV4IGFkNjQ3
YTBjNThkZWQwNjdmM2I5OWEwNmNjMjE5NzA4OGU4OGQwODIuLmJlNjRkMTRjMzYzODBlZDRmZDNi
ZGE3MzQ4NTJlYjY3NWIzZjY5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZU1lZGlhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5jcHAKQEAgLTY0
LDcgKzY0LDcgQEAgYm9vbCBTdHlsZU1lZGlhOjptYXRjaE1lZGl1bShjb25zdCBTdHJpbmcmIHF1
ZXJ5KSBjb25zdAogICAgIGlmICghZG9jdW1lbnRFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBhdXRvIHJvb3RTdHlsZSA9IGRvY3VtZW50LT5zdHlsZVNjb3BlKCkucmVzb2x2
ZXIoKS5zdHlsZUZvckVsZW1lbnQoKmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQtPnJlbmRlclN0
eWxlKCksIG51bGxwdHIsIE1hdGNoT25seVVzZXJBZ2VudFJ1bGVzKS5yZW5kZXJTdHlsZTsKKyAg
ICBhdXRvIHJvb3RTdHlsZSA9IGRvY3VtZW50LT5zdHlsZVNjb3BlKCkucmVzb2x2ZXIoKS5zdHls
ZUZvckVsZW1lbnQoKmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQtPnJlbmRlclN0eWxlKCksIG51
bGxwdHIsIFJ1bGVNYXRjaGluZ0JlaGF2aW9yOjpNYXRjaE9ubHlVc2VyQWdlbnRSdWxlcykucmVu
ZGVyU3R5bGU7CiAKICAgICBhdXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1ZXJ5
LCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCgqZG9jdW1lbnQpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDRkYTUwOTI1MWFhYTdmODY2OTc2YTdhZTYyMDZmMmNiZjE3
NTgzOTcuLjFiYTY3MzA0NGRkMjlkZmEzZjQ3ZTUxODVjYzBiNGVmMjBiZTQ5NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE5MywxNCArMTkzLDEzIEBAIHZvaWQgU3R5
bGVSZXNvbHZlcjo6TWF0Y2hSZXN1bHQ6OmFkZE1hdGNoZWRQcm9wZXJ0aWVzKGNvbnN0IFN0eWxl
UHJvcGVydGllcyYgcHJvCiAKIFN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVzb2x2ZXIoRG9jdW1lbnQm
IGRvY3VtZW50KQogICAgIDogbV9ydWxlU2V0cygqdGhpcykKLSAgICAsIG1fbWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwKDApCiAgICAgLCBtX21hdGNoZWRQcm9w
ZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyKCp0aGlzLCAmU3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVk
UHJvcGVydGllc0NhY2hlKQogICAgICwgbV9kb2N1bWVudChkb2N1bWVudCkKLSAgICAsIG1fbWF0
Y2hBdXRob3JBbmRVc2VyU3R5bGVzKG1fZG9jdW1lbnQuc2V0dGluZ3MoKS5hdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZCgpKQogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAg
LCBtX3ZpZXdwb3J0U3R5bGVSZXNvbHZlcihWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZSgm
ZG9jdW1lbnQpKQogI2VuZGlmCiAgICAgLCBtX3N0eWxlTWFwKHRoaXMpCisgICAgLCBtX21hdGNo
QXV0aG9yQW5kVXNlclN0eWxlcyhtX2RvY3VtZW50LnNldHRpbmdzKCkuYXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQoKSkKIHsKICAgICBFbGVtZW50KiByb290ID0gbV9kb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQoKTsKIApAQCAtMjE5LDcgKzIxOCw3IEBAIFN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVz
b2x2ZXIoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgICAgICBtX21lZGlhUXVlcnlFdmFsdWF0b3Ig
PSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgImFsbCIgfTsKIAogICAgIGlmIChyb290KSB7Ci0gICAg
ICAgIG1fcm9vdERlZmF1bHRTdHlsZSA9IHN0eWxlRm9yRWxlbWVudCgqcm9vdCwgbV9kb2N1bWVu
dC5yZW5kZXJTdHlsZSgpLCBudWxscHRyLCBNYXRjaE9ubHlVc2VyQWdlbnRSdWxlcykucmVuZGVy
U3R5bGU7CisgICAgICAgIG1fcm9vdERlZmF1bHRTdHlsZSA9IHN0eWxlRm9yRWxlbWVudCgqcm9v
dCwgbV9kb2N1bWVudC5yZW5kZXJTdHlsZSgpLCBudWxscHRyLCBSdWxlTWF0Y2hpbmdCZWhhdmlv
cjo6TWF0Y2hPbmx5VXNlckFnZW50UnVsZXMpLnJlbmRlclN0eWxlOwogICAgICAgICAvLyBUdXJu
IG9mZiBhc3NlcnRpb24gYWdhaW5zdCBmb250IGxvb2t1cHMgZHVyaW5nIHN0eWxlIHJlc29sdmVy
IGluaXRpYWxpemF0aW9uLiBXZSBtYXkgbmVlZCByb290IHN0eWxlIGZvbnQgZm9yIG1lZGlhIHF1
ZXJpZXMuCiAgICAgICAgIG1fZG9jdW1lbnQuZm9udFNlbGVjdG9yKCkuaW5jcmVtZW50SXNDb21w
dXRpbmdSb290U3R5bGVGb250KCk7CiAgICAgICAgIG1fcm9vdERlZmF1bHRTdHlsZS0+Zm9udENh
c2NhZGUoKS51cGRhdGUoJm1fZG9jdW1lbnQuZm9udFNlbGVjdG9yKCkpOwpAQCAtMzAwLDggKzI5
OSw4IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKCkK
IFN0eWxlUmVzb2x2ZXI6OlN0YXRlOjpTdGF0ZShjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiBkb2N1bWVudEVs
ZW1lbnRTdHlsZSwgY29uc3QgU2VsZWN0b3JGaWx0ZXIqIHNlbGVjdG9yRmlsdGVyKQogICAgIDog
bV9lbGVtZW50KCZlbGVtZW50KQogICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkKLSAg
ICAsIG1fZWxlbWVudExpbmtTdGF0ZShlbGVtZW50LmRvY3VtZW50KCkudmlzaXRlZExpbmtTdGF0
ZSgpLmRldGVybWluZUxpbmtTdGF0ZShlbGVtZW50KSkKICAgICAsIG1fc2VsZWN0b3JGaWx0ZXIo
c2VsZWN0b3JGaWx0ZXIpCisgICAgLCBtX2VsZW1lbnRMaW5rU3RhdGUoZWxlbWVudC5kb2N1bWVu
dCgpLnZpc2l0ZWRMaW5rU3RhdGUoKS5kZXRlcm1pbmVMaW5rU3RhdGUoZWxlbWVudCkpCiB7CiAg
ICAgYm9vbCByZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBoYXNTaGFkb3dSb290UGFyZW50KGVsZW1l
bnQpICYmIGRvd25jYXN0PFNoYWRvd1Jvb3Q+KGVsZW1lbnQucGFyZW50Tm9kZSgpKS0+cmVzZXRT
dHlsZUluaGVyaXRhbmNlKCk7CiAgICAgaWYgKHJlc2V0U3R5bGVJbmhlcml0YW5jZSkKQEAgLTM3
OSwxMCArMzc4LDEwIEBAIEVsZW1lbnRTdHlsZSBTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1l
bnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUmVuZGVyCiAgICAgRWxlbWVudFJ1bGVD
b2xsZWN0b3IgY29sbGVjdG9yKGVsZW1lbnQsIG1fcnVsZVNldHMsIG1fc3RhdGUuc2VsZWN0b3JG
aWx0ZXIoKSk7CiAgICAgY29sbGVjdG9yLnNldE1lZGl1bSgmbV9tZWRpYVF1ZXJ5RXZhbHVhdG9y
KTsKIAotICAgIGlmIChtYXRjaGluZ0JlaGF2aW9yID09IE1hdGNoT25seVVzZXJBZ2VudFJ1bGVz
KQorICAgIGlmIChtYXRjaGluZ0JlaGF2aW9yID09IFJ1bGVNYXRjaGluZ0JlaGF2aW9yOjpNYXRj
aE9ubHlVc2VyQWdlbnRSdWxlcykKICAgICAgICAgY29sbGVjdG9yLm1hdGNoVUFSdWxlcygpOwog
ICAgIGVsc2UKLSAgICAgICAgY29sbGVjdG9yLm1hdGNoQWxsUnVsZXMobV9tYXRjaEF1dGhvckFu
ZFVzZXJTdHlsZXMsIG1hdGNoaW5nQmVoYXZpb3IgIT0gTWF0Y2hBbGxSdWxlc0V4Y2x1ZGluZ1NN
SUwpOworICAgICAgICBjb2xsZWN0b3IubWF0Y2hBbGxSdWxlcyhtX21hdGNoQXV0aG9yQW5kVXNl
clN0eWxlcywgbWF0Y2hpbmdCZWhhdmlvciAhPSBSdWxlTWF0Y2hpbmdCZWhhdmlvcjo6TWF0Y2hB
bGxSdWxlc0V4Y2x1ZGluZ1NNSUwpOwogCiAgICAgaWYgKGNvbGxlY3Rvci5tYXRjaGVkUHNldWRv
RWxlbWVudElkcygpKQogICAgICAgICBzdHlsZS5zZXRIYXNQc2V1ZG9TdHlsZXMoY29sbGVjdG9y
Lm1hdGNoZWRQc2V1ZG9FbGVtZW50SWRzKCkpOwpAQCAtMTU2NCwxMyArMTU2MywxMyBAQCBib29s
IFN0eWxlUmVzb2x2ZXI6OnVzZVNWR1pvb21SdWxlc0Zvckxlbmd0aCgpCiAKIFN0eWxlUmVzb2x2
ZXI6OkNhc2NhZGVkUHJvcGVydGllcyogU3R5bGVSZXNvbHZlcjo6Y2FzY2FkZWRQcm9wZXJ0aWVz
Rm9yUm9sbGJhY2soY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0KQogewotICAgIEFTU0VS
VChjYXNjYWRlTGV2ZWwoKSAhPSBVc2VyQWdlbnRMZXZlbCk7CisgICAgQVNTRVJUKGNhc2NhZGVM
ZXZlbCgpICE9IENhc2NhZGVMZXZlbDo6VXNlckFnZW50TGV2ZWwpOwogCiAgICAgVGV4dERpcmVj
dGlvbiBkaXJlY3Rpb247CiAgICAgV3JpdGluZ01vZGUgd3JpdGluZ01vZGU7CiAgICAgZXh0cmFj
dERpcmVjdGlvbkFuZFdyaXRpbmdNb2RlKCpzdGF0ZSgpLnN0eWxlKCksIG1hdGNoUmVzdWx0LCBk
aXJlY3Rpb24sIHdyaXRpbmdNb2RlKTsKIAotICAgIGlmIChjYXNjYWRlTGV2ZWwoKSA9PSBBdXRo
b3JMZXZlbCkgeworICAgIGlmIChjYXNjYWRlTGV2ZWwoKSA9PSBDYXNjYWRlTGV2ZWw6OkF1dGhv
ckxldmVsKSB7CiAgICAgICAgIENhc2NhZGVkUHJvcGVydGllcyogYXV0aG9yUm9sbGJhY2sgPSBz
dGF0ZSgpLmF1dGhvclJvbGxiYWNrKCk7CiAgICAgICAgIGlmIChhdXRob3JSb2xsYmFjaykKICAg
ICAgICAgICAgIHJldHVybiBhdXRob3JSb2xsYmFjazsKQEAgLTE1ODcsNyArMTU4Niw3IEBAIFN0
eWxlUmVzb2x2ZXI6OkNhc2NhZGVkUHJvcGVydGllcyogU3R5bGVSZXNvbHZlcjo6Y2FzY2FkZWRQ
cm9wZXJ0aWVzRm9yUm9sbGJhY2soCiAgICAgICAgIHJldHVybiBzdGF0ZSgpLmF1dGhvclJvbGxi
YWNrKCk7CiAgICAgfQogCi0gICAgaWYgKGNhc2NhZGVMZXZlbCgpID09IFVzZXJMZXZlbCkgewor
ICAgIGlmIChjYXNjYWRlTGV2ZWwoKSA9PSBDYXNjYWRlTGV2ZWw6OlVzZXJMZXZlbCkgewogICAg
ICAgICBDYXNjYWRlZFByb3BlcnRpZXMqIHVzZXJSb2xsYmFjayA9IHN0YXRlKCkudXNlclJvbGxi
YWNrKCk7CiAgICAgICAgIGlmICh1c2VyUm9sbGJhY2spCiAgICAgICAgICAgICByZXR1cm4gdXNl
clJvbGxiYWNrOwpAQCAtMTY0NCw3ICsxNjQzLDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBs
eVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSwgU2VsZWN0b3JDaGUK
ICAgICBib29sIGlzUmV2ZXJ0ID0gdmFsdWVUb0NoZWNrRm9ySW5oZXJpdEluaXRpYWwtPmlzUmV2
ZXJ0VmFsdWUoKSB8fCBjdXN0b21Qcm9wZXJ0eVZhbHVlSUQgPT0gQ1NTVmFsdWVSZXZlcnQ7CiAK
ICAgICBpZiAoaXNSZXZlcnQpIHsKLSAgICAgICAgaWYgKGNhc2NhZGVMZXZlbCgpID09IFVzZXJB
Z2VudExldmVsIHx8ICFtYXRjaFJlc3VsdCkKKyAgICAgICAgaWYgKGNhc2NhZGVMZXZlbCgpID09
IENhc2NhZGVMZXZlbDo6VXNlckFnZW50TGV2ZWwgfHwgIW1hdGNoUmVzdWx0KQogICAgICAgICAg
ICAgaXNVbnNldCA9IHRydWU7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgLy8gRmV0Y2gg
dGhlIGNvcnJlY3Qgcm9sbGJhY2sgb2JqZWN0IGZyb20gdGhlIHN0YXRlLCBidWlsZGluZyBpdCBp
ZiBuZWNlc3NhcnkuCkBAIC0yMTI0LDEwICsyMTIzLDEwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6
Q2FzY2FkZWRQcm9wZXJ0aWVzOjpzZXREZWZlcnJlZChDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1
ZSYKIHN0YXRpYyBDYXNjYWRlTGV2ZWwgY2FzY2FkZUxldmVsRm9ySW5kZXgoY29uc3QgU3R5bGVS
ZXNvbHZlcjo6TWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0LCBpbnQgaW5kZXgpCiB7CiAgICAgaWYg
KGluZGV4ID49IG1hdGNoUmVzdWx0LnJhbmdlcy5maXJzdFVBUnVsZSAmJiBpbmRleCA8PSBtYXRj
aFJlc3VsdC5yYW5nZXMubGFzdFVBUnVsZSkKLSAgICAgICAgcmV0dXJuIFVzZXJBZ2VudExldmVs
OworICAgICAgICByZXR1cm4gQ2FzY2FkZUxldmVsOjpVc2VyQWdlbnRMZXZlbDsKICAgICBpZiAo
aW5kZXggPj0gbWF0Y2hSZXN1bHQucmFuZ2VzLmZpcnN0VXNlclJ1bGUgJiYgaW5kZXggPD0gbWF0
Y2hSZXN1bHQucmFuZ2VzLmxhc3RVc2VyUnVsZSkKLSAgICAgICAgcmV0dXJuIFVzZXJMZXZlbDsK
LSAgICByZXR1cm4gQXV0aG9yTGV2ZWw7CisgICAgICAgIHJldHVybiBDYXNjYWRlTGV2ZWw6OlVz
ZXJMZXZlbDsKKyAgICByZXR1cm4gQ2FzY2FkZUxldmVsOjpBdXRob3JMZXZlbDsKIH0KIAogdm9p
ZCBTdHlsZVJlc29sdmVyOjpDYXNjYWRlZFByb3BlcnRpZXM6OmFkZE1hdGNoKGNvbnN0IE1hdGNo
UmVzdWx0JiBtYXRjaFJlc3VsdCwgdW5zaWduZWQgaW5kZXgsIGJvb2wgaXNJbXBvcnRhbnQsIGJv
b2wgaW5oZXJpdGVkT25seSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDBlODNj
MGViMDJhN2Q4YTZjZDZmMDM4MzBjMmM1MmExOTUxMWJlYWIuLmVjZGU2NGExYjAxMTA5ZGQyMWYw
Zjk1NGQwNjU3Njk1ZTVhNzU3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAt
ODYsMTMgKzg2LDEzIEBAIHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnM7CiAvLyBhcmUgaW50
ZXJwcmV0ZWQgYWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudCByb290IGVsZW1lbnQgc3R5bGUsIGFu
ZCBzdHlsZWQgb25seQogLy8gZnJvbSB0aGUgVXNlciBBZ2VudCBTdHlsZXNoZWV0IHJ1bGVzLgog
Ci1lbnVtIFJ1bGVNYXRjaGluZ0JlaGF2aW9yIHsKK2VudW0gY2xhc3MgUnVsZU1hdGNoaW5nQmVo
YXZpb3I6IHVpbnQ4X3QgewogICAgIE1hdGNoQWxsUnVsZXMsCiAgICAgTWF0Y2hBbGxSdWxlc0V4
Y2x1ZGluZ1NNSUwsCiAgICAgTWF0Y2hPbmx5VXNlckFnZW50UnVsZXMsCiB9OwogCi1lbnVtIENh
c2NhZGVMZXZlbCB7CitlbnVtIGNsYXNzIENhc2NhZGVMZXZlbDogdWludDhfdCB7CiAgICAgVXNl
ckFnZW50TGV2ZWwsCiAgICAgQXV0aG9yTGV2ZWwsCiAgICAgVXNlckxldmVsCkBAIC0xMjksNyAr
MTI5LDcgQEAgcHVibGljOgogICAgIFN0eWxlUmVzb2x2ZXIoRG9jdW1lbnQmKTsKICAgICB+U3R5
bGVSZXNvbHZlcigpOwogCi0gICAgRWxlbWVudFN0eWxlIHN0eWxlRm9yRWxlbWVudChjb25zdCBF
bGVtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHls
ZSogcGFyZW50Qm94U3R5bGUgPSBudWxscHRyLCBSdWxlTWF0Y2hpbmdCZWhhdmlvciA9IE1hdGNo
QWxsUnVsZXMsIGNvbnN0IFNlbGVjdG9yRmlsdGVyKiA9IG51bGxwdHIpOworICAgIEVsZW1lbnRT
dHlsZSBzdHlsZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiBw
YXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudEJveFN0eWxlID0gbnVsbHB0ciwg
UnVsZU1hdGNoaW5nQmVoYXZpb3IgPSBSdWxlTWF0Y2hpbmdCZWhhdmlvcjo6TWF0Y2hBbGxSdWxl
cywgY29uc3QgU2VsZWN0b3JGaWx0ZXIqID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGtleWZyYW1l
U3R5bGVzRm9yQW5pbWF0aW9uKGNvbnN0IEVsZW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSosIEtl
eWZyYW1lTGlzdCYpOwogCkBAIC00MDgsMjcgKzQwOCwyNyBAQCBwdWJsaWM6CiAgICAgICAgIGNv
bnN0IFJlbmRlclN0eWxlKiBtX3BhcmVudFN0eWxlIHsgbnVsbHB0ciB9OwogICAgICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IG1fb3duZWRQYXJlbnRTdHlsZTsKICAgICAgICAgY29u
c3QgUmVuZGVyU3R5bGUqIG1fcm9vdEVsZW1lbnRTdHlsZSB7IG51bGxwdHIgfTsKKyAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPENhc2NhZGVkUHJvcGVydGllcz4gbV9hdXRob3JSb2xsYmFjazsKKyAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPENhc2NhZGVkUHJvcGVydGllcz4gbV91c2VyUm9sbGJhY2s7
CiAKLSAgICAgICAgSW5zaWRlTGluayBtX2VsZW1lbnRMaW5rU3RhdGUgeyBJbnNpZGVMaW5rOjpO
b3RJbnNpZGUgfTsKLQotICAgICAgICBib29sIG1fYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxl
IHsgdHJ1ZSB9OwotICAgICAgICBib29sIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHls
ZSB7IGZhbHNlIH07Ci0gICAgICAgIGJvb2wgbV9mb250RGlydHkgeyBmYWxzZSB9OwotICAgICAg
ICBib29sIG1fZm9udFNpemVIYXNWaWV3cG9ydFVuaXRzIHsgZmFsc2UgfTsKLSAgICAgICAgYm9v
bCBtX2hhc1VBQXBwZWFyYW5jZSB7IGZhbHNlIH07CisgICAgICAgIGNvbnN0IFNlbGVjdG9yRmls
dGVyKiBtX3NlbGVjdG9yRmlsdGVyIHsgbnVsbHB0ciB9OwogCiAgICAgICAgIEJvcmRlckRhdGEg
bV9ib3JkZXJEYXRhOwogICAgICAgICBGaWxsTGF5ZXIgbV9iYWNrZ3JvdW5kRGF0YSB7IEZpbGxM
YXllclR5cGU6OkJhY2tncm91bmQgfTsKICAgICAgICAgQ29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7
CiAKICAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBtX2Nzc1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGE7Ci0gICAgICAgIAotICAgICAgICBDYXNjYWRlTGV2ZWwgbV9jYXNjYWRlTGV2ZWwg
eyBVc2VyQWdlbnRMZXZlbCB9OworCiAgICAgICAgIFN0eWxlOjpTY29wZU9yZGluYWwgbV9zdHls
ZVNjb3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVsZW1lbnQgfTsKLSAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPENhc2NhZGVkUHJvcGVydGllcz4gbV9hdXRob3JSb2xsYmFjazsKLSAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPENhc2NhZGVkUHJvcGVydGllcz4gbV91c2VyUm9sbGJhY2s7
CiAKLSAgICAgICAgY29uc3QgU2VsZWN0b3JGaWx0ZXIqIG1fc2VsZWN0b3JGaWx0ZXIgeyBudWxs
cHRyIH07CisgICAgICAgIEluc2lkZUxpbmsgbV9lbGVtZW50TGlua1N0YXRlIHsgSW5zaWRlTGlu
azo6Tm90SW5zaWRlIH07CisgICAgICAgIENhc2NhZGVMZXZlbCBtX2Nhc2NhZGVMZXZlbCB7IENh
c2NhZGVMZXZlbDo6VXNlckFnZW50TGV2ZWwgfTsKKworICAgICAgICBib29sIG1fYXBwbHlQcm9w
ZXJ0eVRvUmVndWxhclN0eWxlIHsgdHJ1ZSB9OworICAgICAgICBib29sIG1fYXBwbHlQcm9wZXJ0
eVRvVmlzaXRlZExpbmtTdHlsZSB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbV9mb250RGlydHkg
eyBmYWxzZSB9OworICAgICAgICBib29sIG1fZm9udFNpemVIYXNWaWV3cG9ydFVuaXRzIHsgZmFs
c2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc1VBQXBwZWFyYW5jZSB7IGZhbHNlIH07CiAgICAgfTsK
IAogICAgIFN0YXRlJiBzdGF0ZSgpIHsgcmV0dXJuIG1fc3RhdGU7IH0KQEAgLTQ4Niw4ICs0ODYs
NiBAQCBwcml2YXRlOgogICAgIC8vIHRoZSBsYXN0IHJlZmVyZW5jZSB0byBhIHN0eWxlIGRlY2xh
cmF0aW9uIGFyZSBnYXJiYWdlIGNvbGxlY3RlZC4KICAgICB2b2lkIHN3ZWVwTWF0Y2hlZFByb3Bl
cnRpZXNDYWNoZSgpOwogCi0gICAgdW5zaWduZWQgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlQWRk
aXRpb25zU2luY2VMYXN0U3dlZXA7Ci0KICAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIE1h
dGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtPiBNYXRjaGVkUHJvcGVydGllc0NhY2hlOwogICAgIE1h
dGNoZWRQcm9wZXJ0aWVzQ2FjaGUgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlOwogCkBAIC00OTgs
OCArNDk2LDYgQEAgcHJpdmF0ZToKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogCi0gICAg
Ym9vbCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxlczsKLQogICAgIFJlbmRlclN0eWxlKiBtX292
ZXJyaWRlRG9jdW1lbnRFbGVtZW50U3R5bGUgeyBudWxscHRyIH07CiAKICAgICBWZWN0b3I8TWVk
aWFRdWVyeVJlc3VsdD4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwpAQCAt
NTE0LDYgKzUxMCw5IEBAIHByaXZhdGU6CiAKICAgICBTdGF0ZSBtX3N0YXRlOwogCisgICAgdW5z
aWduZWQgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgeyAw
IH07CisKKyAgICBib29sIG1fbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzIHsgdHJ1ZSB9OwogICAg
IC8vIFNlZSBpZiB3ZSBzdGlsbCBoYXZlIGNyYXNoZXMgd2hlcmUgU3R5bGVSZXNvbHZlciBnZXRz
IGRlbGV0ZWQgZWFybHkuCiAgICAgYm9vbCBtX2lzRGVsZXRlZCB7IGZhbHNlIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Cb3JkZXJWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0JvcmRlclZhbHVlLmgKaW5kZXggNmY3ZjgyMWVh
NjI2NjA1ZTg0Yzk5NTYwMjkwYzg3YjJlNDI3ZjAxMC4uYmZlOWExMmRlN2YyMDdkMzhlNjJhNmM1
ZjcyZjVhZWI2NDI4MTI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0JvcmRlclZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jv
cmRlclZhbHVlLmgKQEAgLTc2LDkgKzc2LDEwIEBAIHB1YmxpYzoKICAgICBmbG9hdCBib3hNb2Rl
bFdpZHRoKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBmbG9hdCBtX3dpZHRoIHsgMyB9Owog
ICAgIENvbG9yIG1fY29sb3I7CiAKKyAgICBmbG9hdCBtX3dpZHRoIHsgMyB9OworCiAgICAgdW5z
aWduZWQgbV9zdHlsZSA6IDQ7IC8vIEJvcmRlclN0eWxlCiAKICAgICAvLyBUaGlzIGlzIG9ubHkg
dXNlZCBieSBPdXRsaW5lVmFsdWUgYnV0IG1vdmVkIGhlcmUgdG8ga2VlcCB0aGUgYml0cyBwYWNr
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApp
bmRleCA3NzliMGY0YjcxMDY5N2M1OGEwODJjZjc3NDRlNmQ1MWNlYmEzNzMxLi5mZjQzZTNiYzNl
ZDAzZDlmZDliZGMzZWE3ODdhMGEyM2YyMWFjMmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTU4LDggKzU4LDggQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RydWN0IFNhbWVTaXplQXNCb3JkZXJWYWx1ZSB7Ci0gICAgZmxvYXQg
bV93aWR0aDsKICAgICBDb2xvciBtX2NvbG9yOworICAgIGZsb2F0IG1fd2lkdGg7CiAgICAgaW50
IG1fcmVzdEJpdHM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGM1ZTdhOWNhNjllNzE2MGEzOTExNWUw
ZDFlMzQ5NTI2Zjg3NDI1MzQuLjUzMzQ5YzI3NDA0NGMwZWY5NzE1MWEyMDNhNzEyNGI5MzhjNDJh
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZUNvbnN0YW50cy5oCkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIFRleHRTdHJlYW07CiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgUHJpbnRDb2xvckFkanVzdEJp
dHMgPSAxOwotZW51bSBjbGFzcyBQcmludENvbG9yQWRqdXN0IHsKK2VudW0gY2xhc3MgUHJpbnRD
b2xvckFkanVzdCA6IHVpbnQ4X3QgewogICAgIEVjb25vbXksCiAgICAgRXhhY3QKIH07CkBAIC03
Nyw3ICs3Nyw3IEBAIGVudW0gY2xhc3MgU3R5bGVEaWZmZXJlbmNlQ29udGV4dFNlbnNpdGl2ZVBy
b3BlcnR5IHsKIH07CiAKIC8vIFN0YXRpYyBwc2V1ZG8gc3R5bGVzLiBEeW5hbWljIG9uZXMgYXJl
IHByb2R1Y2VkIG9uIHRoZSBmbHkuCi1lbnVtIGNsYXNzIFBzZXVkb0lkIDogdW5zaWduZWQgY2hh
ciB7CitlbnVtIGNsYXNzIFBzZXVkb0lkIDogdWludDhfdCB7CiAgICAgLy8gVGhlIG9yZGVyIG11
c3QgYmUgTm9uZSwgcHVibGljIElEcywgYW5kIHRoZW4gaW50ZXJuYWwgSURzLgogICAgIE5vbmUs
CiAKQEAgLTE2OSwyNCArMTY5LDI0IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9kYXRhOwog
fTsKIAotZW51bSBjbGFzcyBDb2x1bW5GaWxsIHsKK2VudW0gY2xhc3MgQ29sdW1uRmlsbCA6IHVp
bnQ4X3QgewogICAgIEJhbGFuY2UsCiAgICAgQXV0bwogfTsKIAotZW51bSBjbGFzcyBDb2x1bW5T
cGFuIHsKK2VudW0gY2xhc3MgQ29sdW1uU3BhbiA6IHVpbnQ4X3QgewogICAgIE5vbmUgPSAwLAog
ICAgIEFsbAogfTsKIAotZW51bSBjbGFzcyBCb3JkZXJDb2xsYXBzZSB7CitlbnVtIGNsYXNzIEJv
cmRlckNvbGxhcHNlIDogdWludDhfdCB7CiAgICAgU2VwYXJhdGUgPSAwLAogICAgIENvbGxhcHNl
CiB9OwogCiAvLyBUaGVzZSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgb3JkZXIgb2YgdGhlaXIg
cHJlY2VkZW5jZSBmb3IgYm9yZGVyLWNvbGxhcHNpbmcuIERvCiAvLyBub3QgY2hhbmdlIHRoaXMg
b3JkZXIhIFRoaXMgb3JkZXIgYWxzbyBtdXN0IG1hdGNoIHRoZSBvcmRlciBpbiBDU1NWYWx1ZUtl
eXdvcmRzLmluLgotZW51bSBjbGFzcyBCb3JkZXJTdHlsZSB7CitlbnVtIGNsYXNzIEJvcmRlclN0
eWxlIDogdWludDhfdCB7CiAgICAgTm9uZSwKICAgICBIaWRkZW4sCiAgICAgSW5zZXQsCkBAIC0x
OTksNyArMTk5LDcgQEAgZW51bSBjbGFzcyBCb3JkZXJTdHlsZSB7CiAgICAgRG91YmxlCiB9Owog
Ci1lbnVtIGNsYXNzIEJvcmRlclByZWNlZGVuY2UgeworZW51bSBjbGFzcyBCb3JkZXJQcmVjZWRl
bmNlIDogdWludDhfdCB7CiAgICAgT2ZmLAogICAgIFRhYmxlLAogICAgIENvbHVtbkdyb3VwLApA
QCAtMjA5LDEyICsyMDksMTIgQEAgZW51bSBjbGFzcyBCb3JkZXJQcmVjZWRlbmNlIHsKICAgICBD
ZWxsCiB9OwogCi1lbnVtIGNsYXNzIE91dGxpbmVJc0F1dG8geworZW51bSBjbGFzcyBPdXRsaW5l
SXNBdXRvIDogdWludDhfdCB7CiAgICAgT2ZmID0gMCwKICAgICBPbgogfTsKIAotZW51bSBjbGFz
cyBQb3NpdGlvblR5cGUgeworZW51bSBjbGFzcyBQb3NpdGlvblR5cGUgOiB1aW50OF90IHsKICAg
ICBTdGF0aWMgPSAwLAogICAgIFJlbGF0aXZlID0gMSwKICAgICBBYnNvbHV0ZSA9IDIsCkBAIC0y
MjMsMTMgKzIyMywxMyBAQCBlbnVtIGNsYXNzIFBvc2l0aW9uVHlwZSB7CiAgICAgRml4ZWQgPSA2
CiB9OwogCi1lbnVtIGNsYXNzIEZsb2F0IHsKK2VudW0gY2xhc3MgRmxvYXQgOiB1aW50OF90IHsK
ICAgICBObywKICAgICBMZWZ0LAogICAgIFJpZ2h0CiB9OwogCi1lbnVtIGNsYXNzIE1hcmdpbkNv
bGxhcHNlIHsKK2VudW0gY2xhc3MgTWFyZ2luQ29sbGFwc2UgOiB1aW50OF90IHsKICAgICBDb2xs
YXBzZSwKICAgICBTZXBhcmF0ZSwKICAgICBEaXNjYXJkCkBAIC0yMzcsMjEgKzIzNywyMSBAQCBl
bnVtIGNsYXNzIE1hcmdpbkNvbGxhcHNlIHsKIAogLy8gQm94IGRlY29yYXRpb24gYXR0cmlidXRl
cy4gTm90IGluaGVyaXRlZC4KIAotZW51bSBjbGFzcyBCb3hEZWNvcmF0aW9uQnJlYWsgeworZW51
bSBjbGFzcyBCb3hEZWNvcmF0aW9uQnJlYWsgOiB1aW50OF90IHsKICAgICBTbGljZSwKICAgICBD
bG9uZQogfTsKIAogLy8gQm94IGF0dHJpYnV0ZXMuIE5vdCBpbmhlcml0ZWQuCiAKLWVudW0gY2xh
c3MgQm94U2l6aW5nIHsKK2VudW0gY2xhc3MgQm94U2l6aW5nIDogdWludDhfdCB7CiAgICAgQ29u
dGVudEJveCwKICAgICBCb3JkZXJCb3gKIH07CiAKIC8vIFJhbmRvbSB2aXN1YWwgcmVuZGVyaW5n
IG1vZGVsIGF0dHJpYnV0ZXMuIE5vdCBpbmhlcml0ZWQuCiAKLWVudW0gY2xhc3MgT3ZlcmZsb3cg
eworZW51bSBjbGFzcyBPdmVyZmxvdyA6IHVpbnQ4X3QgewogICAgIFZpc2libGUsCiAgICAgSGlk
ZGVuLAogICAgIFNjcm9sbCwKQEAgLTI2MSw3ICsyNjEsNyBAQCBlbnVtIGNsYXNzIE92ZXJmbG93
IHsKICAgICBQYWdlZFkKIH07CiAKLWVudW0gY2xhc3MgVmVydGljYWxBbGlnbiB7CitlbnVtIGNs
YXNzIFZlcnRpY2FsQWxpZ24gOiB1aW50OF90IHsKICAgICBCYXNlbGluZSwKICAgICBNaWRkbGUs
CiAgICAgU3ViLApAQCAtMjc0LDUwICsyNzQsNTAgQEAgZW51bSBjbGFzcyBWZXJ0aWNhbEFsaWdu
IHsKICAgICBMZW5ndGgKIH07CiAKLWVudW0gY2xhc3MgQ2xlYXIgeworZW51bSBjbGFzcyBDbGVh
ciA6IHVpbnQ4X3QgewogICAgIE5vbmUgPSAwLAogICAgIExlZnQgPSAxLAogICAgIFJpZ2h0ID0g
MiwKICAgICBCb3RoID0gMwogfTsKIAotZW51bSBjbGFzcyBUYWJsZUxheW91dFR5cGUgeworZW51
bSBjbGFzcyBUYWJsZUxheW91dFR5cGUgOiB1aW50OF90IHsKICAgICBBdXRvLAogICAgIEZpeGVk
CiB9OwogCi1lbnVtIGNsYXNzIFRleHRDb21iaW5lIHsKK2VudW0gY2xhc3MgVGV4dENvbWJpbmUg
OiB1aW50OF90IHsKICAgICBOb25lLAogICAgIEhvcml6b250YWwKIH07CiAKLWVudW0gY2xhc3Mg
RmlsbEF0dGFjaG1lbnQgeworZW51bSBjbGFzcyBGaWxsQXR0YWNobWVudCA6IHVpbnQ4X3Qgewog
ICAgIFNjcm9sbEJhY2tncm91bmQsCiAgICAgTG9jYWxCYWNrZ3JvdW5kLAogICAgIEZpeGVkQmFj
a2dyb3VuZAogfTsKIAotZW51bSBjbGFzcyBGaWxsQm94IHsKK2VudW0gY2xhc3MgRmlsbEJveCA6
IHVpbnQ4X3QgewogICAgIEJvcmRlciwKICAgICBQYWRkaW5nLAogICAgIENvbnRlbnQsCiAgICAg
VGV4dAogfTsKIAotZW51bSBjbGFzcyBGaWxsUmVwZWF0IHsKK2VudW0gY2xhc3MgRmlsbFJlcGVh
dCA6IHVpbnQ4X3QgewogICAgIFJlcGVhdCwKICAgICBOb1JlcGVhdCwKICAgICBSb3VuZCwKICAg
ICBTcGFjZQogfTsKIAotZW51bSBjbGFzcyBGaWxsTGF5ZXJUeXBlIHsKK2VudW0gY2xhc3MgRmls
bExheWVyVHlwZSA6IHVpbnQ4X3QgewogICAgIEJhY2tncm91bmQsCiAgICAgTWFzawogfTsKIAog
Ly8gQ1NTMyBCYWNrZ3JvdW5kIFZhbHVlcwotZW51bSBjbGFzcyBGaWxsU2l6ZVR5cGUgeworZW51
bSBjbGFzcyBGaWxsU2l6ZVR5cGUgOiB1aW50OF90IHsKICAgICBDb250YWluLAogICAgIENvdmVy
LAogICAgIFNpemUsCkBAIC0zMjUsNyArMzI1LDcgQEAgZW51bSBjbGFzcyBGaWxsU2l6ZVR5cGUg
ewogfTsKIAogLy8gQ1NTMyA8cG9zaXRpb24+Ci1lbnVtIGNsYXNzIEVkZ2UgeworZW51bSBjbGFz
cyBFZGdlIDogdWludDhfdCB7CiAgICAgVG9wLAogICAgIFJpZ2h0LAogICAgIEJvdHRvbSwKQEAg
LTMzNCwyMSArMzM0LDIxIEBAIGVudW0gY2xhc3MgRWRnZSB7CiAKIC8vIENTUzMgTWFzayBTb3Vy
Y2UgVHlwZXMKIAotZW51bSBjbGFzcyBNYXNrU291cmNlVHlwZSB7CitlbnVtIGNsYXNzIE1hc2tT
b3VyY2VUeXBlIDogdWludDhfdCB7CiAgICAgQWxwaGEsCiAgICAgTHVtaW5hbmNlCiB9OwogCiAv
LyBDU1MzIE1hcnF1ZWUgUHJvcGVydGllcwogCi1lbnVtIGNsYXNzIE1hcnF1ZWVCZWhhdmlvciB7
CitlbnVtIGNsYXNzIE1hcnF1ZWVCZWhhdmlvciA6IHVpbnQ4X3QgewogICAgIE5vbmUsCiAgICAg
U2Nyb2xsLAogICAgIFNsaWRlLAogICAgIEFsdGVybmF0ZQogfTsKIAotZW51bSBjbGFzcyBNYXJx
dWVlRGlyZWN0aW9uIHsKK2VudW0gY2xhc3MgTWFycXVlZURpcmVjdGlvbiA6IHVpbnQ4X3Qgewog
ICAgIEF1dG8sCiAgICAgTGVmdCwKICAgICBSaWdodCwKQEAgLTM2MCwxNCArMzYwLDE0IEBAIGVu
dW0gY2xhc3MgTWFycXVlZURpcmVjdGlvbiB7CiAKIC8vIERlcHJlY2F0ZWQgRmxleGlibGUgQm94
IFByb3BlcnRpZXMKIAotZW51bSBjbGFzcyBCb3hQYWNrIHsKK2VudW0gY2xhc3MgQm94UGFjayA6
IHVpbnQ4X3QgewogICAgIFN0YXJ0LAogICAgIENlbnRlciwKICAgICBFbmQsCiAgICAgSnVzdGlm
eQogfTsKIAotZW51bSBjbGFzcyBCb3hBbGlnbm1lbnQgeworZW51bSBjbGFzcyBCb3hBbGlnbm1l
bnQgOiB1aW50OF90IHsKICAgICBTdHJldGNoLAogICAgIFN0YXJ0LAogICAgIENlbnRlciwKQEAg
LTM3NSwyNCArMzc1LDI0IEBAIGVudW0gY2xhc3MgQm94QWxpZ25tZW50IHsKICAgICBCYXNlbGlu
ZQogfTsKIAotZW51bSBjbGFzcyBCb3hPcmllbnQgeworZW51bSBjbGFzcyBCb3hPcmllbnQgOiB1
aW50OF90IHsKICAgICBIb3Jpem9udGFsLAogICAgIFZlcnRpY2FsCiB9OwogCi1lbnVtIGNsYXNz
IEJveExpbmVzIHsKK2VudW0gY2xhc3MgQm94TGluZXMgOiB1aW50OF90IHsKICAgICBTaW5nbGUs
CiAgICAgTXVsdGlwbGUKIH07CiAKLWVudW0gY2xhc3MgQm94RGlyZWN0aW9uIHsKK2VudW0gY2xh
c3MgQm94RGlyZWN0aW9uIDogdWludDhfdCB7CiAgICAgTm9ybWFsLAogICAgIFJldmVyc2UKIH07
CiAKIC8vIENTUzMgRmxleGJveCBQcm9wZXJ0aWVzCiAKLWVudW0gY2xhc3MgQWxpZ25Db250ZW50
IHsKK2VudW0gY2xhc3MgQWxpZ25Db250ZW50IDogdWludDhfdCB7CiAgICAgRmxleFN0YXJ0LAog
ICAgIEZsZXhFbmQsCiAgICAgQ2VudGVyLApAQCAtNDAxLDIwICs0MDEsMjAgQEAgZW51bSBjbGFz
cyBBbGlnbkNvbnRlbnQgewogICAgIFN0cmV0Y2gKIH07CiAKLWVudW0gY2xhc3MgRmxleERpcmVj
dGlvbiB7CitlbnVtIGNsYXNzIEZsZXhEaXJlY3Rpb24gOiB1aW50OF90IHsKICAgICBSb3csCiAg
ICAgUm93UmV2ZXJzZSwKICAgICBDb2x1bW4sCiAgICAgQ29sdW1uUmV2ZXJzZQogfTsKIAotZW51
bSBjbGFzcyBGbGV4V3JhcCB7CitlbnVtIGNsYXNzIEZsZXhXcmFwIDogdWludDhfdCB7CiAgICAg
Tm9XcmFwLAogICAgIFdyYXAsCiAgICAgUmV2ZXJzZQogfTsKIAotZW51bSBjbGFzcyBJdGVtUG9z
aXRpb24geworZW51bSBjbGFzcyBJdGVtUG9zaXRpb24gOiB1aW50OF90IHsKICAgICBMZWdhY3ks
CiAgICAgQXV0bywKICAgICBOb3JtYWwsCkBAIC00MzIsMTggKzQzMiwxOCBAQCBlbnVtIGNsYXNz
IEl0ZW1Qb3NpdGlvbiB7CiAgICAgUmlnaHQKIH07CiAKLWVudW0gY2xhc3MgT3ZlcmZsb3dBbGln
bm1lbnQgeworZW51bSBjbGFzcyBPdmVyZmxvd0FsaWdubWVudCA6IHVpbnQ4X3QgewogICAgIERl
ZmF1bHQsCiAgICAgVW5zYWZlLAogICAgIFNhZmUKIH07CiAKLWVudW0gY2xhc3MgSXRlbVBvc2l0
aW9uVHlwZSB7CitlbnVtIGNsYXNzIEl0ZW1Qb3NpdGlvblR5cGUgOiB1aW50OF90IHsKICAgICBO
b25MZWdhY3ksCiAgICAgTGVnYWN5CiB9OwogCi1lbnVtIGNsYXNzIENvbnRlbnRQb3NpdGlvbiB7
CitlbnVtIGNsYXNzIENvbnRlbnRQb3NpdGlvbiA6IHVpbnQ4X3QgewogICAgIE5vcm1hbCwKICAg
ICBCYXNlbGluZSwKICAgICBMYXN0QmFzZWxpbmUsCkBAIC00NTYsNyArNDU2LDcgQEAgZW51bSBj
bGFzcyBDb250ZW50UG9zaXRpb24gewogICAgIFJpZ2h0CiB9OwogCi1lbnVtIGNsYXNzIENvbnRl
bnREaXN0cmlidXRpb24geworZW51bSBjbGFzcyBDb250ZW50RGlzdHJpYnV0aW9uIDogdWludDhf
dCB7CiAgICAgRGVmYXVsdCwKICAgICBTcGFjZUJldHdlZW4sCiAgICAgU3BhY2VBcm91bmQsCkBA
IC00NjUsNyArNDY1LDcgQEAgZW51bSBjbGFzcyBDb250ZW50RGlzdHJpYnV0aW9uIHsKIH07CiAK
IAotZW51bSBjbGFzcyBUZXh0U2VjdXJpdHkgeworZW51bSBjbGFzcyBUZXh0U2VjdXJpdHkgOiB1
aW50OF90IHsKICAgICBOb25lLAogICAgIERpc2MsCiAgICAgQ2lyY2xlLApAQCAtNDc0LDcgKzQ3
NCw3IEBAIGVudW0gY2xhc3MgVGV4dFNlY3VyaXR5IHsKIAogLy8gQ1NTMyBVc2VyIE1vZGlmeSBQ
cm9wZXJ0aWVzCiAKLWVudW0gY2xhc3MgVXNlck1vZGlmeSB7CitlbnVtIGNsYXNzIFVzZXJNb2Rp
ZnkgOiB1aW50OF90IHsKICAgICBSZWFkT25seSwKICAgICBSZWFkV3JpdGUsCiAgICAgUmVhZFdy
aXRlUGxhaW50ZXh0T25seQpAQCAtNDgyLDcgKzQ4Miw3IEBAIGVudW0gY2xhc3MgVXNlck1vZGlm
eSB7CiAKIC8vIENTUzMgVXNlciBEcmFnIFZhbHVlcwogCi1lbnVtIGNsYXNzIFVzZXJEcmFnIHsK
K2VudW0gY2xhc3MgVXNlckRyYWcgOiB1aW50OF90IHsKICAgICBBdXRvLAogICAgIE5vbmUsCiAg
ICAgRWxlbWVudApAQCAtNDkwLDE0ICs0OTAsMTQgQEAgZW51bSBjbGFzcyBVc2VyRHJhZyB7CiAK
IC8vIENTUzMgVXNlciBTZWxlY3QgVmFsdWVzCiAKLWVudW0gY2xhc3MgVXNlclNlbGVjdCB7Citl
bnVtIGNsYXNzIFVzZXJTZWxlY3QgOiB1aW50OF90IHsKICAgICBOb25lLAogICAgIFRleHQsCiAg
ICAgQWxsCiB9OwogCiAvLyBDU1MzIEltYWdlIFZhbHVlcwotZW51bSBjbGFzcyBPYmplY3RGaXQg
eworZW51bSBjbGFzcyBPYmplY3RGaXQgOiB1aW50OF90IHsKICAgICBGaWxsLAogICAgIENvbnRh
aW4sCiAgICAgQ292ZXIsCkBAIC01MDUsMzEgKzUwNSwzMSBAQCBlbnVtIGNsYXNzIE9iamVjdEZp
dCB7CiAgICAgU2NhbGVEb3duCiB9OwogCi1lbnVtIGNsYXNzIEFzcGVjdFJhdGlvVHlwZSB7Citl
bnVtIGNsYXNzIEFzcGVjdFJhdGlvVHlwZSA6IHVpbnQ4X3QgewogICAgIEF1dG8sCiAgICAgRnJv
bUludHJpbnNpYywKICAgICBGcm9tRGltZW5zaW9ucywKICAgICBTcGVjaWZpZWQKIH07CiAKLWVu
dW0gY2xhc3MgV29yZEJyZWFrIHsKK2VudW0gY2xhc3MgV29yZEJyZWFrIDogdWludDhfdCB7CiAg
ICAgTm9ybWFsLAogICAgIEJyZWFrQWxsLAogICAgIEtlZXBBbGwsCiAgICAgQnJlYWsKIH07CiAK
LWVudW0gY2xhc3MgT3ZlcmZsb3dXcmFwIHsKK2VudW0gY2xhc3MgT3ZlcmZsb3dXcmFwIDogdWlu
dDhfdCB7CiAgICAgTm9ybWFsLAogICAgIEJyZWFrCiB9OwogCi1lbnVtIGNsYXNzIE5CU1BNb2Rl
IHsKK2VudW0gY2xhc3MgTkJTUE1vZGUgOiB1aW50OF90IHsKICAgICBOb3JtYWwsCiAgICAgU3Bh
Y2UKIH07CiAKLWVudW0gY2xhc3MgTGluZUJyZWFrIHsKK2VudW0gY2xhc3MgTGluZUJyZWFrIDog
dWludDhfdCB7CiAgICAgQXV0bywKICAgICBMb29zZSwKICAgICBOb3JtYWwsCkBAIC01MzcsNyAr
NTM3LDcgQEAgZW51bSBjbGFzcyBMaW5lQnJlYWsgewogICAgIEFmdGVyV2hpdGVTcGFjZQogfTsK
IAotZW51bSBjbGFzcyBSZXNpemUgeworZW51bSBjbGFzcyBSZXNpemUgOiB1aW50OF90IHsKICAg
ICBOb25lLAogICAgIEJvdGgsCiAgICAgSG9yaXpvbnRhbCwKQEAgLTU0NSw3ICs1NDUsNyBAQCBl
bnVtIGNsYXNzIFJlc2l6ZSB7CiB9OwogCiAvLyBUaGUgb3JkZXIgb2YgdGhpcyBlbnVtIG11c3Qg
bWF0Y2ggdGhlIG9yZGVyIG9mIHRoZSBsaXN0IHN0eWxlIHR5cGVzIGluIENTU1ZhbHVlS2V5d29y
ZHMuaW4uCi1lbnVtIGNsYXNzIExpc3RTdHlsZVR5cGUgeworZW51bSBjbGFzcyBMaXN0U3R5bGVU
eXBlIDogdWludDhfdCB7CiAgICAgRGlzYywKICAgICBDaXJjbGUsCiAgICAgU3F1YXJlLApAQCAt
NjI5LDMxICs2MjksMzEgQEAgZW51bSBjbGFzcyBMaXN0U3R5bGVUeXBlIHsKICAgICBOb25lCiB9
OwogCi1lbnVtIGNsYXNzIFF1b3RlVHlwZSB7CitlbnVtIGNsYXNzIFF1b3RlVHlwZSA6IHVpbnQ4
X3QgewogICAgIE9wZW5RdW90ZSwKICAgICBDbG9zZVF1b3RlLAogICAgIE5vT3BlblF1b3RlLAog
ICAgIE5vQ2xvc2VRdW90ZQogfTsKIAotZW51bSBjbGFzcyBCb3JkZXJGaXQgeworZW51bSBjbGFz
cyBCb3JkZXJGaXQgOiB1aW50OF90IHsKICAgICBCb3JkZXIsCiAgICAgTGluZXMKIH07CiAKLWVu
dW0gY2xhc3MgQW5pbWF0aW9uRmlsbE1vZGUgeworZW51bSBjbGFzcyBBbmltYXRpb25GaWxsTW9k
ZSA6IHVpbnQ4X3QgewogICAgIE5vbmUsCiAgICAgRm9yd2FyZHMsCiAgICAgQmFja3dhcmRzLAog
ICAgIEJvdGgKIH07CiAKLWVudW0gY2xhc3MgQW5pbWF0aW9uUGxheVN0YXRlIHsKK2VudW0gY2xh
c3MgQW5pbWF0aW9uUGxheVN0YXRlIDogdWludDhfdCB7CiAgICAgUGxheWluZyA9IDB4MCwKICAg
ICBQYXVzZWQgPSAweDEKIH07CiAKLWVudW0gY2xhc3MgV2hpdGVTcGFjZSB7CitlbnVtIGNsYXNz
IFdoaXRlU3BhY2UgOiB1aW50OF90IHsKICAgICBOb3JtYWwsCiAgICAgUHJlLAogICAgIFByZVdy
YXAsCkBAIC02NjMsNyArNjYzLDcgQEAgZW51bSBjbGFzcyBXaGl0ZVNwYWNlIHsKIH07CiAKIC8v
IFRoZSBvcmRlciBvZiB0aGlzIGVudW0gbXVzdCBtYXRjaCB0aGUgb3JkZXIgb2YgdGhlIHRleHQg
YWxpZ24gdmFsdWVzIGluIENTU1ZhbHVlS2V5d29yZHMuaW4uCi1lbnVtIGNsYXNzIFRleHRBbGln
bk1vZGUgeworZW51bSBjbGFzcyBUZXh0QWxpZ25Nb2RlIDogdWludDhfdCB7CiAgICAgTGVmdCwK
ICAgICBSaWdodCwKICAgICBDZW50ZXIsCkBAIC02NzUsNyArNjc1LDcgQEAgZW51bSBjbGFzcyBU
ZXh0QWxpZ25Nb2RlIHsKICAgICBFbmQsCiB9OwogCi1lbnVtIGNsYXNzIFRleHRUcmFuc2Zvcm0g
eworZW51bSBjbGFzcyBUZXh0VHJhbnNmb3JtIDogdWludDhfdCB7CiAgICAgQ2FwaXRhbGl6ZSwK
ICAgICBVcHBlcmNhc2UsCiAgICAgTG93ZXJjYXNlLApAQCAtNjg3LDcgKzY4Nyw3IEBAIHN0YXRp
YyBjb25zdCBzaXplX3QgVGV4dERlY29yYXRpb25CaXRzID0gNTsKICNlbHNlCiBzdGF0aWMgY29u
c3Qgc2l6ZV90IFRleHREZWNvcmF0aW9uQml0cyA9IDQ7CiAjZW5kaWYKLWVudW0gY2xhc3MgVGV4
dERlY29yYXRpb24geworZW51bSBjbGFzcyBUZXh0RGVjb3JhdGlvbiA6IHVpbnQ4X3QgewogICAg
IE5vbmUgICAgICAgICAgPSAwLAogICAgIFVuZGVybGluZSAgICAgPSAxIDw8IDAsCiAgICAgT3Zl
cmxpbmUgICAgICA9IDEgPDwgMSwKQEAgLTY5OCw3ICs2OTgsNyBAQCBlbnVtIGNsYXNzIFRleHRE
ZWNvcmF0aW9uIHsKICNlbmRpZgogfTsKIAotZW51bSBjbGFzcyBUZXh0RGVjb3JhdGlvblN0eWxl
IHsKK2VudW0gY2xhc3MgVGV4dERlY29yYXRpb25TdHlsZSA6IHVpbnQ4X3QgewogICAgIFNvbGlk
LAogICAgIERvdWJsZSwKICAgICBEb3R0ZWQsCkBAIC03MDcsNyArNzA3LDcgQEAgZW51bSBjbGFz
cyBUZXh0RGVjb3JhdGlvblN0eWxlIHsKIH07CiAKICNpZiBFTkFCTEUoQ1NTM19URVhUKQotZW51
bSBjbGFzcyBUZXh0QWxpZ25MYXN0IHsKK2VudW0gY2xhc3MgVGV4dEFsaWduTGFzdCA6IHVpbnQ4
X3QgewogICAgIEF1dG8sCiAgICAgU3RhcnQsCiAgICAgRW5kLApAQCAtNzE3LDcgKzcxNyw3IEBA
IGVudW0gY2xhc3MgVGV4dEFsaWduTGFzdCB7CiAgICAgSnVzdGlmeQogfTsKIAotZW51bSBjbGFz
cyBUZXh0SnVzdGlmeSB7CitlbnVtIGNsYXNzIFRleHRKdXN0aWZ5IDogdWludDhfdCB7CiAgICAg
QXV0bywKICAgICBOb25lLAogICAgIEludGVyV29yZCwKQEAgLTcyNSw3ICs3MjUsNyBAQCBlbnVt
IGNsYXNzIFRleHRKdXN0aWZ5IHsKIH07CiAjZW5kaWYgLy8gQ1NTM19URVhUCiAKLWVudW0gY2xh
c3MgVGV4dERlY29yYXRpb25Ta2lwIHsKK2VudW0gY2xhc3MgVGV4dERlY29yYXRpb25Ta2lwIDog
dWludDhfdCB7CiAgICAgTm9uZSAgICAgID0gMCwKICAgICBJbmsgICAgICAgPSAxIDw8IDAsCiAg
ICAgT2JqZWN0cyAgID0gMSA8PCAxLApAQCAtNzMzLDE5ICs3MzMsMTkgQEAgZW51bSBjbGFzcyBU
ZXh0RGVjb3JhdGlvblNraXAgewogfTsKIAogLy8gRklYTUU6IFRoZXJlIGlzIG5vIHJlYXNvbiBm
b3IgdGhlIHZhbHVlcyBpbiB0aGUgZW51bSB0byBiZSBwb3dlcnMgb2YgdHdvLgotZW51bSBjbGFz
cyBUZXh0VW5kZXJsaW5lUG9zaXRpb24geworZW51bSBjbGFzcyBUZXh0VW5kZXJsaW5lUG9zaXRp
b24gOiB1aW50OF90IHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHN1cHBvcnQgZm9yICd1bmRl
ciBsZWZ0JyBhbmQgJ3VuZGVyIHJpZ2h0JyB2YWx1ZXMuCiAgICAgQXV0byAgICAgICA9IDEgPDwg
MCwKICAgICBBbHBoYWJldGljID0gMSA8PCAxLAogICAgIFVuZGVyICAgICAgPSAxIDw8IDIKIH07
CiAKLWVudW0gY2xhc3MgVGV4dFpvb20geworZW51bSBjbGFzcyBUZXh0Wm9vbSA6IHVpbnQ4X3Qg
ewogICAgIE5vcm1hbCwKICAgICBSZXNldAogfTsKIAotZW51bSBjbGFzcyBCcmVha0JldHdlZW4g
eworZW51bSBjbGFzcyBCcmVha0JldHdlZW4gOiB1aW50OF90IHsKICAgICBBdXRvLAogICAgIEF2
b2lkLAogICAgIEF2b2lkQ29sdW1uLApAQCAtNzU5LDE0ICs3NTksMTQgQEAgZW51bSBjbGFzcyBC
cmVha0JldHdlZW4gewogfTsKIGJvb2wgYWx3YXlzUGFnZUJyZWFrKEJyZWFrQmV0d2Vlbik7CiAg
ICAgCi1lbnVtIGNsYXNzIEJyZWFrSW5zaWRlIHsKK2VudW0gY2xhc3MgQnJlYWtJbnNpZGUgOiB1
aW50OF90IHsKICAgICBBdXRvLAogICAgIEF2b2lkLAogICAgIEF2b2lkQ29sdW1uLAogICAgIEF2
b2lkUGFnZQogfTsKIAotZW51bSBjbGFzcyBIYW5naW5nUHVuY3R1YXRpb24geworZW51bSBjbGFz
cyBIYW5naW5nUHVuY3R1YXRpb24gOiB1aW50OF90IHsKICAgICBOb25lICAgICAgPSAwLAogICAg
IEZpcnN0ICAgICA9IDEgPDwgMCwKICAgICBMYXN0ICAgICAgPSAxIDw8IDEsCkBAIC03NzQsMjQg
Kzc3NCwyNCBAQCBlbnVtIGNsYXNzIEhhbmdpbmdQdW5jdHVhdGlvbiB7CiAgICAgRm9yY2VFbmQg
ID0gMSA8PCAzCiB9OwogCi1lbnVtIGNsYXNzIEVtcHR5Q2VsbCB7CitlbnVtIGNsYXNzIEVtcHR5
Q2VsbCA6IHVpbnQ4X3QgewogICAgIFNob3csCiAgICAgSGlkZQogfTsKIAotZW51bSBjbGFzcyBD
YXB0aW9uU2lkZSB7CitlbnVtIGNsYXNzIENhcHRpb25TaWRlIDogdWludDhfdCB7CiAgICAgVG9w
LAogICAgIEJvdHRvbSwKICAgICBMZWZ0LAogICAgIFJpZ2h0CiB9OwogCi1lbnVtIGNsYXNzIExp
c3RTdHlsZVBvc2l0aW9uIHsKK2VudW0gY2xhc3MgTGlzdFN0eWxlUG9zaXRpb24gOiB1aW50OF90
IHsKICAgICBPdXRzaWRlLAogICAgIEluc2lkZQogfTsKIAotZW51bSBjbGFzcyBWaXNpYmlsaXR5
IHsKK2VudW0gY2xhc3MgVmlzaWJpbGl0eSA6IHVpbnQ4X3QgewogICAgIFZpc2libGUsCiAgICAg
SGlkZGVuLAogICAgIENvbGxhcHNlCkBAIC03OTksNyArNzk5LDcgQEAgZW51bSBjbGFzcyBWaXNp
YmlsaXR5IHsKIAogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IFZpc2liaWxpdHkpOwogCi1lbnVtIGNsYXNzIEN1cnNvclR5cGUgeworZW51bSBjbGFzcyBDdXJz
b3JUeXBlIDogdWludDhfdCB7CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtdXN0IG1hdGNoIHRoZSBv
cmRlciBpbiBDU1NWYWx1ZUtleXdvcmRzLmluLgogICAgIEF1dG8sCiAgICAgRGVmYXVsdCwKQEAg
LTg0NCwxNCArODQ0LDE0IEBAIGVudW0gY2xhc3MgQ3Vyc29yVHlwZSB7CiB9OwogCiAjaWYgRU5B
QkxFKENVUlNPUl9WSVNJQklMSVRZKQotZW51bSBjbGFzcyBDdXJzb3JWaXNpYmlsaXR5IHsKK2Vu
dW0gY2xhc3MgQ3Vyc29yVmlzaWJpbGl0eSA6IHVpbnQ4X3QgewogICAgIEF1dG8sCiAgICAgQXV0
b0hpZGUsCiB9OwogI2VuZGlmCiAKIC8vIFRoZSBvcmRlciBvZiB0aGlzIGVudW0gbXVzdCBtYXRj
aCB0aGUgb3JkZXIgb2YgdGhlIGRpc3BsYXkgdmFsdWVzIGluIENTU1ZhbHVlS2V5d29yZHMuaW4u
Ci1lbnVtIGNsYXNzIERpc3BsYXlUeXBlIHsKK2VudW0gY2xhc3MgRGlzcGxheVR5cGUgOiB1aW50
OF90IHsKICAgICBJbmxpbmUsCiAgICAgQmxvY2ssCiAgICAgTGlzdEl0ZW0sCkBAIC04NzksMTMg
Kzg3OSwxMyBAQCBlbnVtIGNsYXNzIERpc3BsYXlUeXBlIHsKICAgICBOb25lCiB9OwogCi1lbnVt
IGNsYXNzIEluc2lkZUxpbmsgeworZW51bSBjbGFzcyBJbnNpZGVMaW5rIDogdWludDhfdCB7CiAg
ICAgTm90SW5zaWRlLAogICAgIEluc2lkZVVudmlzaXRlZCwKICAgICBJbnNpZGVWaXNpdGVkCiB9
OwogICAgIAotZW51bSBjbGFzcyBQb2ludGVyRXZlbnRzIHsKK2VudW0gY2xhc3MgUG9pbnRlckV2
ZW50cyA6IHVpbnQ4X3QgewogICAgIE5vbmUsCiAgICAgQXV0bywKICAgICBTdHJva2UsCkBAIC04
OTgsMzQgKzg5OCwzNCBAQCBlbnVtIGNsYXNzIFBvaW50ZXJFdmVudHMgewogICAgIEFsbAogfTsK
IAotZW51bSBjbGFzcyBUcmFuc2Zvcm1TdHlsZTNEIHsKK2VudW0gY2xhc3MgVHJhbnNmb3JtU3R5
bGUzRCA6IHVpbnQ4X3QgewogICAgIEZsYXQsCiAgICAgUHJlc2VydmUzRAogfTsKIAotZW51bSBj
bGFzcyBCYWNrZmFjZVZpc2liaWxpdHkgeworZW51bSBjbGFzcyBCYWNrZmFjZVZpc2liaWxpdHkg
OiB1aW50OF90IHsKICAgICBWaXNpYmxlLAogICAgIEhpZGRlbgogfTsKIAotZW51bSBjbGFzcyBU
cmFuc2Zvcm1Cb3ggeworZW51bSBjbGFzcyBUcmFuc2Zvcm1Cb3ggOiB1aW50OF90IHsKICAgICBC
b3JkZXJCb3gsCiAgICAgRmlsbEJveCwKICAgICBWaWV3Qm94CiB9OwogCi1lbnVtIGNsYXNzIExp
bmVDbGFtcCB7CitlbnVtIGNsYXNzIExpbmVDbGFtcCA6IHVpbnQ4X3QgewogICAgIExpbmVDb3Vu
dCwKICAgICBQZXJjZW50YWdlCiB9OwogCi1lbnVtIGNsYXNzIEh5cGhlbnMgeworZW51bSBjbGFz
cyBIeXBoZW5zIDogdWludDhfdCB7CiAgICAgTm9uZSwKICAgICBNYW51YWwsCiAgICAgQXV0bwog
fTsKIAotZW51bSBjbGFzcyBTcGVha0FzIHsKK2VudW0gY2xhc3MgU3BlYWtBcyA6IHVpbnQ4X3Qg
ewogICAgIE5vcm1hbCAgICAgICAgICAgICA9IDAsCiAgICAgU3BlbGxPdXQgICAgICAgICAgID0g
MSA8PCAwLAogICAgIERpZ2l0cyAgICAgICAgICAgICA9IDEgPDwgMSwKQEAgLTkzMywxMiArOTMz
LDEyIEBAIGVudW0gY2xhc3MgU3BlYWtBcyB7CiAgICAgTm9QdW5jdHVhdGlvbiAgICAgID0gMSA8
PCAzCiB9OwogCi1lbnVtIGNsYXNzIFRleHRFbXBoYXNpc0ZpbGwgeworZW51bSBjbGFzcyBUZXh0
RW1waGFzaXNGaWxsIDogdWludDhfdCB7CiAgICAgRmlsbGVkLAogICAgIE9wZW4KIH07CiAKLWVu
dW0gY2xhc3MgVGV4dEVtcGhhc2lzTWFyayB7CitlbnVtIGNsYXNzIFRleHRFbXBoYXNpc01hcmsg
OiB1aW50OF90IHsKICAgICBOb25lLAogICAgIEF1dG8sCiAgICAgRG90LApAQCAtOTQ5LDI1ICs5
NDksMjUgQEAgZW51bSBjbGFzcyBUZXh0RW1waGFzaXNNYXJrIHsKICAgICBDdXN0b20KIH07CiAK
LWVudW0gY2xhc3MgVGV4dEVtcGhhc2lzUG9zaXRpb24geworZW51bSBjbGFzcyBUZXh0RW1waGFz
aXNQb3NpdGlvbiA6IHVpbnQ4X3QgewogICAgIE92ZXIgID0gMSA8PCAwLAogICAgIFVuZGVyID0g
MSA8PCAxLAogICAgIExlZnQgID0gMSA8PCAyLAogICAgIFJpZ2h0ID0gMSA8PCAzCiB9OwogCi1l
bnVtIGNsYXNzIFRleHRPcmllbnRhdGlvbiB7CitlbnVtIGNsYXNzIFRleHRPcmllbnRhdGlvbiA6
IHVpbnQ4X3QgewogICAgIE1peGVkLAogICAgIFVwcmlnaHQsCiAgICAgU2lkZXdheXMKIH07CiAK
LWVudW0gY2xhc3MgVGV4dE92ZXJmbG93IHsKK2VudW0gY2xhc3MgVGV4dE92ZXJmbG93IDogdWlu
dDhfdCB7CiAgICAgQ2xpcCA9IDAsCiAgICAgRWxsaXBzaXMKIH07CiAKLWVudW0gY2xhc3MgSW1h
Z2VSZW5kZXJpbmcgeworZW51bSBjbGFzcyBJbWFnZVJlbmRlcmluZyA6IHVpbnQ4X3QgewogICAg
IEF1dG8gPSAwLAogICAgIE9wdGltaXplU3BlZWQsCiAgICAgT3B0aW1pemVRdWFsaXR5LApAQCAt
OTc3LDQ0ICs5NzcsNDQgQEAgZW51bSBjbGFzcyBJbWFnZVJlbmRlcmluZyB7CiAKIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBJbWFnZVJlbmRlcmluZyk7CiAK
LWVudW0gY2xhc3MgSW1hZ2VSZXNvbHV0aW9uU291cmNlIHsKK2VudW0gY2xhc3MgSW1hZ2VSZXNv
bHV0aW9uU291cmNlIDogdWludDhfdCB7CiAgICAgU3BlY2lmaWVkID0gMCwKICAgICBGcm9tSW1h
Z2UKIH07CiAKLWVudW0gY2xhc3MgSW1hZ2VSZXNvbHV0aW9uU25hcCB7CitlbnVtIGNsYXNzIElt
YWdlUmVzb2x1dGlvblNuYXAgOiB1aW50OF90IHsKICAgICBOb25lID0gMCwKICAgICBQaXhlbHMK
IH07CiAKLWVudW0gY2xhc3MgT3JkZXIgeworZW51bSBjbGFzcyBPcmRlciA6IHVpbnQ4X3Qgewog
ICAgIExvZ2ljYWwgPSAwLAogICAgIFZpc3VhbAogfTsKIAotZW51bSBjbGFzcyBDb2x1bW5BeGlz
IHsKK2VudW0gY2xhc3MgQ29sdW1uQXhpcyA6IHVpbnQ4X3QgewogICAgIEhvcml6b250YWwsCiAg
ICAgVmVydGljYWwsCiAgICAgQXV0bwogfTsKIAotZW51bSBjbGFzcyBDb2x1bW5Qcm9ncmVzc2lv
biB7CitlbnVtIGNsYXNzIENvbHVtblByb2dyZXNzaW9uIDogdWludDhfdCB7CiAgICAgTm9ybWFs
LAogICAgIFJldmVyc2UKIH07CiAKLWVudW0gY2xhc3MgTGluZVNuYXAgeworZW51bSBjbGFzcyBM
aW5lU25hcCA6IHVpbnQ4X3QgewogICAgIE5vbmUsCiAgICAgQmFzZWxpbmUsCiAgICAgQ29udGFp
bgogfTsKIAotZW51bSBjbGFzcyBMaW5lQWxpZ24geworZW51bSBjbGFzcyBMaW5lQWxpZ24gOiB1
aW50OF90IHsKICAgICBOb25lLAogICAgIEVkZ2VzCiB9OwogCi1lbnVtIGNsYXNzIFJ1YnlQb3Np
dGlvbiB7CitlbnVtIGNsYXNzIFJ1YnlQb3NpdGlvbiA6IHVpbnQ4X3QgewogICAgIEJlZm9yZSwK
ICAgICBBZnRlciwKICAgICBJbnRlckNoYXJhY3RlcgpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgZW51
bSBHcmlkQXV0b0Zsb3cgewogICAgIEF1dG9GbG93Q29sdW1uRGVuc2UgPSBJbnRlcm5hbEF1dG9G
bG93QWxnb3JpdGhtRGVuc2UgfCBJbnRlcm5hbEF1dG9GbG93RGlyZWN0aW9uQ29sdW1uCiB9Owog
Ci1lbnVtIGNsYXNzIEF1dG9SZXBlYXRUeXBlIHsKK2VudW0gY2xhc3MgQXV0b1JlcGVhdFR5cGUg
OiB1aW50OF90IHsKICAgICBOb25lLAogICAgIEZpbGwsCiAgICAgRml0CkBAIC0xMDQ5LDI1ICsx
MDQ5LDI1IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBtYXhpbXVtQWxsb3dlZEZvbnRTaXplID0gMTAw
MDAwMC4wZjsKIAogI2lmIEVOQUJMRShDU1MzX1RFWFQpCiAKLWVudW0gY2xhc3MgVGV4dEluZGVu
dExpbmUgeworZW51bSBjbGFzcyBUZXh0SW5kZW50TGluZSA6IHVpbnQ4X3QgewogICAgIEZpcnN0
TGluZSwKICAgICBFYWNoTGluZQogfTsKIAotZW51bSBjbGFzcyBUZXh0SW5kZW50VHlwZSB7Citl
bnVtIGNsYXNzIFRleHRJbmRlbnRUeXBlIDogdWludDhfdCB7CiAgICAgTm9ybWFsLAogICAgIEhh
bmdpbmcKIH07CiAKICNlbmRpZgogCi1lbnVtIGNsYXNzIElzb2xhdGlvbiB7CitlbnVtIGNsYXNz
IElzb2xhdGlvbiA6IHVpbnQ4X3QgewogICAgIEF1dG8sCiAgICAgSXNvbGF0ZQogfTsKIAogLy8g
RmlsbCwgU3Ryb2tlLCBWaWV3Qm94IGFyZSBqdXN0IHVzZWQgZm9yIFNWRy4KLWVudW0gY2xhc3Mg
Q1NTQm94VHlwZSB7CitlbnVtIGNsYXNzIENTU0JveFR5cGUgOiB1aW50OF90IHsKICAgICBCb3hN
aXNzaW5nID0gMCwKICAgICBNYXJnaW5Cb3gsCiAgICAgQm9yZGVyQm94LApAQCAtMTA3OSwyMCAr
MTA3OSwyMCBAQCBlbnVtIGNsYXNzIENTU0JveFR5cGUgewogfTsKIAogI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCi1lbnVtIGNsYXNzIFRvdWNoQWN0aW9uIHsKK2VudW0gY2xhc3MgVG91Y2hBY3Rp
b24gOiB1aW50OF90IHsKICAgICBBdXRvLAogICAgIE1hbmlwdWxhdGlvbgogfTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLWVudW0gY2xhc3MgU2Nyb2xsU25hcFN0cmlj
dG5lc3MgeworZW51bSBjbGFzcyBTY3JvbGxTbmFwU3RyaWN0bmVzcyA6IHVpbnQ4X3QgewogICAg
IE5vbmUsCiAgICAgUHJveGltaXR5LAogICAgIE1hbmRhdG9yeQogfTsKIAotZW51bSBjbGFzcyBT
Y3JvbGxTbmFwQXhpcyB7CitlbnVtIGNsYXNzIFNjcm9sbFNuYXBBeGlzIDogdWludDhfdCB7CiAg
ICAgWEF4aXMsCiAgICAgWUF4aXMsCiAgICAgQmxvY2ssCkBAIC0xMTAwLDcgKzExMDAsNyBAQCBl
bnVtIGNsYXNzIFNjcm9sbFNuYXBBeGlzIHsKICAgICBCb3RoCiB9OwogCi1lbnVtIGNsYXNzIFNj
cm9sbFNuYXBBeGlzQWxpZ25UeXBlIHsKK2VudW0gY2xhc3MgU2Nyb2xsU25hcEF4aXNBbGlnblR5
cGUgOiB1aW50OF90IHsKICAgICBOb25lLAogICAgIFN0YXJ0LAogICAgIENlbnRlciwKQEAgLTEx
MDksMjAgKzExMDksMjAgQEAgZW51bSBjbGFzcyBTY3JvbGxTbmFwQXhpc0FsaWduVHlwZSB7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfVFJBSUxJTkdfV09SRCkKLWVudW0gY2xhc3MgVHJhaWxp
bmdXb3JkIHsKK2VudW0gY2xhc3MgVHJhaWxpbmdXb3JkIDogdWludDhfdCB7CiAgICAgQXV0bywK
ICAgICBQYXJ0aWFsbHlCYWxhbmNlZAogfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKLWVudW0gY2xhc3MgQXBwbGVQYXlCdXR0b25TdHlsZSB7CitlbnVtIGNsYXNzIEFwcGxlUGF5
QnV0dG9uU3R5bGUgOiB1aW50OF90IHsKICAgICBXaGl0ZSwKICAgICBXaGl0ZU91dGxpbmUsCiAg
ICAgQmxhY2ssCiB9OwogCi1lbnVtIGNsYXNzIEFwcGxlUGF5QnV0dG9uVHlwZSB7CitlbnVtIGNs
YXNzIEFwcGxlUGF5QnV0dG9uVHlwZSA6IHVpbnQ4X3QgewogICAgIFBsYWluLAogICAgIEJ1eSwK
ICAgICBTZXRVcCwKQEAgLTExMzgsNyArMTEzOCw3IEBAIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChXVEY6OlRleHRTdHJlYW0mLCBNYXNrU291cmNlVHlwZSk7CiBXVEY6OlRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgRWRnZSk7CiAKIC8vIFRoZXNlIGFyZSBhbGwg
bWluaW1pemVkIGNvbWJpbmF0aW9ucyBvZiBwYWludC1vcmRlci4KLWVudW0gY2xhc3MgUGFpbnRP
cmRlciB7CitlbnVtIGNsYXNzIFBhaW50T3JkZXIgOiB1aW50OF90IHsKICAgICBOb3JtYWwsCiAg
ICAgRmlsbCwKICAgICBGaWxsTWFya2VycywKQEAgLTExNDgsNyArMTE0OCw3IEBAIGVudW0gY2xh
c3MgUGFpbnRPcmRlciB7CiAgICAgTWFya2Vyc1N0cm9rZQogfTsKIAotZW51bSBjbGFzcyBQYWlu
dFR5cGUgeworZW51bSBjbGFzcyBQYWludFR5cGUgOiB1aW50OF90IHsKICAgICBGaWxsLAogICAg
IFN0cm9rZSwKICAgICBNYXJrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVRyZWVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHAKaW5kZXggNWRmNTYzN2Y0ZDAxODY2YzcwYWY4ZWNkYWMxYzdhMDAyMjQxM2IxZi4u
ZjRjNWM3YzFkY2U2ZTZjZDkxMGFmZDgxMTI2YjU2NzNkYWE5NDNmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtMTI4LDcgKzEyOCw3IEBAIHN0ZDo6
dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gVHJlZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQoRWxl
bWVudCYgZWxlbWVudCwgY29uCiAgICAgaWYgKGF1dG8gc3R5bGUgPSBzY29wZSgpLnNoYXJpbmdS
ZXNvbHZlci5yZXNvbHZlKGVsZW1lbnQsICptX3VwZGF0ZSkpCiAgICAgICAgIHJldHVybiBzdHls
ZTsKIAotICAgIGF1dG8gZWxlbWVudFN0eWxlID0gc2NvcGUoKS5zdHlsZVJlc29sdmVyLnN0eWxl
Rm9yRWxlbWVudChlbGVtZW50LCAmaW5oZXJpdGVkU3R5bGUsIHBhcmVudEJveFN0eWxlKCksIE1h
dGNoQWxsUnVsZXMsICZzY29wZSgpLnNlbGVjdG9yRmlsdGVyKTsKKyAgICBhdXRvIGVsZW1lbnRT
dHlsZSA9IHNjb3BlKCkuc3R5bGVSZXNvbHZlci5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgJmlu
aGVyaXRlZFN0eWxlLCBwYXJlbnRCb3hTdHlsZSgpLCBSdWxlTWF0Y2hpbmdCZWhhdmlvcjo6TWF0
Y2hBbGxSdWxlcywgJnNjb3BlKCkuc2VsZWN0b3JGaWx0ZXIpOwogCiAgICAgaWYgKGVsZW1lbnRT
dHlsZS5yZWxhdGlvbnMpCiAgICAgICAgIGNvbW1pdFJlbGF0aW9ucyhXVEZNb3ZlKGVsZW1lbnRT
dHlsZS5yZWxhdGlvbnMpLCAqbV91cGRhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRS
YXJlRGF0YS5oCmluZGV4IDYwZGM1MzhkNWNkOTljNGYwYzUzODY2ZjllODllMDNlZjQ5ZWFkODMu
LmU0NjFjZDIyYTVhOWJhMTIxNjZkYjk0YzZmYWJhYTgzM2JjMDJmNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIGlmICghbV9vdmVycmlkZUNvbXB1dGVk
U3R5bGUgfHwgbV9uZWVkc092ZXJyaWRlQ29tcHV0ZWRTdHlsZVVwZGF0ZSkgewogICAgICAgICAg
ICAgLy8gVGhlIHN0eWxlIGNvbXB1dGVkIGhlcmUgY29udGFpbnMgbm8gQ1NTIEFuaW1hdGlvbnMv
VHJhbnNpdGlvbnMgb3IgU01JTCBpbmR1Y2VkIHJ1bGVzIC0gdGhpcyBpcyBuZWVkZWQgdG8gY29t
cHV0ZSB0aGUgImJhc2UgdmFsdWUiIGZvciB0aGUgU01JTCBhbmltYXRpb24gc2FuZHdoaWNoIG1v
ZGVsLgotICAgICAgICAgICAgbV9vdmVycmlkZUNvbXB1dGVkU3R5bGUgPSBlbGVtZW50LnN0eWxl
UmVzb2x2ZXIoKS5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgcGFyZW50U3R5bGUsIG51bGxwdHIs
IE1hdGNoQWxsUnVsZXNFeGNsdWRpbmdTTUlMKS5yZW5kZXJTdHlsZTsKKyAgICAgICAgICAgIG1f
b3ZlcnJpZGVDb21wdXRlZFN0eWxlID0gZWxlbWVudC5zdHlsZVJlc29sdmVyKCkuc3R5bGVGb3JF
bGVtZW50KGVsZW1lbnQsIHBhcmVudFN0eWxlLCBudWxscHRyLCBSdWxlTWF0Y2hpbmdCZWhhdmlv
cjo6TWF0Y2hBbGxSdWxlc0V4Y2x1ZGluZ1NNSUwpLnJlbmRlclN0eWxlOwogICAgICAgICAgICAg
bV9uZWVkc092ZXJyaWRlQ29tcHV0ZWRTdHlsZVVwZGF0ZSA9IGZhbHNlOwogICAgICAgICB9CiAg
ICAgICAgIEFTU0VSVChtX292ZXJyaWRlQ29tcHV0ZWRTdHlsZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>