<?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>294795</bug_id>
          
          <creation_ts>2025-06-21 07:39:29 -0700</creation_ts>
          <short_desc>[Cleanup] Rename RenderObject::setNeedsLayoutAndPrefWidthsRecalc to setNeedsLayoutAndPreferredWidthsUpdate</short_desc>
          <delta_ts>2025-06-23 05:23:13 -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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2125021</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-06-21 07:39:29 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2125023</commentid>
    <comment_count>1</comment_count>
      <attachid>475618</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-06-21 07:42:23 -0700</bug_when>
    <thetext>Created attachment 475618
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2125184</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-06-23 05:22:12 -0700</bug_when>
    <thetext>Committed 296505@main (ff3ed4b964a5): &lt;https://commits.webkit.org/296505@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 475618.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2125185</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-06-23 05:23:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/154085734&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>475618</attachid>
            <date>2025-06-21 07:42:23 -0700</date>
            <delta_ts>2025-06-23 05:22:13 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-294795-20250621074223.patch</filename>
            <type>text/plain</type>
            <size>33530</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhNjgwYmMzMzcxZTVlZjVlMTMzNDk1Y2ZmZDg1OTRlNDJjZmY3ZWEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMjEgSnVuIDIwMjUgMDc6Mzk6NDIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbQ2xlYW51
cF0gUmVuYW1lCiBSZW5kZXJPYmplY3Q6OnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YyB0bwogc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUKIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTQ3OTUKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKSXQgY2FsbHMgUmVuZGVyT2JqZWN0J3Mgc2V0TmVlZHNQcmVmZXJyZWRXaWR0aHNV
cGRhdGUuCgoqIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXI6CiogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQpOgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVu
dC5jcHA6CihXZWJDb3JlOjpIVE1MVGFibGVDb2xFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKToK
KiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgooV2ViQ29yZTo6
SFRNTFRleHRBcmVhRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CiogU291cmNlL1dlYkNvcmUv
aHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwOgooV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjphdHRy
aWJ1dGVDaGFuZ2VkKToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3LmNwcDoK
KFdlYkNvcmU6OkxvY2FsRnJhbWVWaWV3Ojpmb3JjZUxheW91dFBhcmVudFZpZXdJZk5lZWRlZCk6
CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdpbmF0aW9uKToKKiBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHA6CihXZWJDb3JlOjpTZXR0aW5nc0Jh
c2U6OnNldE5lZWRzUmVsYXlvdXRBbGxGcmFtZXMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojp1cGRhdGVT
dHlsZXNGb3JDb2x1bW5DaGlsZHJlbik6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnVwZGF0
ZUNvbHVtblByb2dyZXNzaW9uRnJvbVN0eWxlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVXaWxsQ2hhbmdlKToKKFdl
YkNvcmU6OlJlbmRlckJveDo6c3R5bGVEaWRDaGFuZ2UpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldE5lZWRz
TGF5b3V0Rm9yU3R5bGVEaWZmZXJlbmNlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0
OjpzdHlsZURpZENoYW5nZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RC
b3guY3BwOgooV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQpOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJMaXN0SXRlbTo6dXBkYXRlVmFsdWUpOgooV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OmNvdW50
ZXJEaXJlY3RpdmVzQ2hhbmdlZCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RNYXJrZXIuY3BwOgooV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6aW1hZ2VDaGFuZ2VkKToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgooV2ViQ29yZTo6
aWYpOgooUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6CiogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3RJbmxpbmVzLmg6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldE5lZWRzTGF5
b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKToKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2V0
TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgooV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6
OmludHJpbnNpY1NpemVDaGFuZ2VkKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6Y29sU3Bhbk9yUm93U3Bh
bkNoYW5nZWQpOgooV2ViQ29yZTo6bWFya0NlbGxEaXJ0eVdoZW5Db2xsYXBzZWRCb3JkZXJDaGFu
Z2VzKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwOgooV2Vi
Q29yZTo6UmVuZGVyVGFibGVDb2w6OnVwZGF0ZUZyb21FbGVtZW50KToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6
OnN0eWxlRGlkQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHA6CihXZWJDb3JlOjpSZW5kZXJUZXh0OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5k
ZXJUZXh0OjpzZXRUZXh0SW50ZXJuYWwpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwOgooV2ViQ29yZTo6UmVuZGVyTWF0aE1MQmxvY2s6OnN0
eWxlRGlkQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFRva2VuLmg6CihXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6c2V0TWF0aFZhcmlhbnRH
bHlwaERpcnR5KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OmF0dGFjaFRvUmVuZGVy
RWxlbWVudEludGVybmFsKToKKFdlYkNvcmU6OnJlc2V0UmVuZGVyZXJTdGF0ZU9uRGV0YWNoKToK
KFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjptYXJrQm94Rm9yUmVsYXlvdXRBZnRlclNwbGl0
KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJC
bG9jay5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OmRldGFjaCk6CihX
ZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OmRyb3BBbm9ueW1vdXNCb3hDaGlsZCk6
CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5s
aW5lLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OmF0dGFjaElnbm9y
aW5nQ29udGludWF0aW9uKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNw
bGl0Rmxvdyk6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6SW5saW5lOjpzcGxpdElubGlu
ZXMpOgotLS0KIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgICAg
ICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5j
cHAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5jcHAgICAgICAgIHwgIDYgKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0
VHlwZS5jcHAgICAgICAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxG
cmFtZVZpZXcuY3BwICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzQmFzZS5jcHAgICAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCAgICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwICAgICAgICAgICAgIHwgIDQgKystLQogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwICAgICAgICAgfCAgMiArLQogLi4u
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwICAgfCAgMiArLQog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwICAgICAgICAgfCAgMiAr
LQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcCAgICAgICAgfCAg
NCArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgICAg
ICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwICAg
ICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCAg
ICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RJ
bmxpbmVzLmggICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZUNlbGwuY3BwICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ29sLmNwcCAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlUm93LmNwcCAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwICAgICAgICAgICAgfCAgNCArKy0tCiAuLi4vV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcCB8ICAyICstCiAuLi4vV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmggICB8ICAyICstCiAuLi4vcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcCAgICAgICB8ICA4ICsrKystLS0tCiAu
Li4vcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwICB8ICA2ICsr
Ky0tLQogLi4uL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAg
fCAxNCArKysrKysrLS0tLS0tLQogMjcgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwg
NDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRl
ciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggODlhZTg3NWQzN2QyLi4zODE3
ZjQyOWQ3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtNDM3Miw3ICs0MzcyLDcgQEAgX19aTks3
V2ViQ29yZTExUmVuZGVyU3R5bGU0Y2xpcEV2CiBfX1pOSzdXZWJDb3JlMTlUcmFuc2Zvcm1PcGVy
YXRpb25zZXFFUktTMF8KIF9fWk43V2ViQ29yZTEzUmVuZGVyQ291bnRlcjIwcmVuZGVyZXJTdHls
ZUNoYW5nZWRFUE5TXzEyUmVuZGVyT2JqZWN0RVBLTlNfMTFSZW5kZXJTdHlsZUVTNV8KIF9fWk5L
N1dlYkNvcmUxMVJlbmRlclN0eWxlMTdjb3VudGVyRGlyZWN0aXZlc0V2Ci1fX1pON1dlYkNvcmUx
MlJlbmRlck9iamVjdDMzc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjRXYKK19fWk43
V2ViQ29yZTEyUmVuZGVyT2JqZWN0MzNzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1Vw
ZGF0ZUV2CiBfX1pOSzdXZWJDb3JlOUxlbmd0aEJveG5lRVJLUzBfCiBfX1pON1dlYkNvcmUxMFNj
cm9sbFZpZXcyNHNldFNjcm9sbGJhck92ZXJsYXlTdHlsZUVOU18yMVNjcm9sbGJhck92ZXJsYXlT
dHlsZUUKIF9fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDI0Y2FuSGF2ZUdlbmVyYXRlZENoaWxk
cmVuRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGU3MTNl
ZDAzY2EyNS4uYzcxZTkzZGI0NzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKQEAgLTg1OSw3ICs4NTksNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cgogICAg
ICAgICB1bnNpZ25lZCBvbGRTaXplID0gbV9zaXplOwogICAgICAgICBtX3NpemUgPSBsaW1pdFRv
T25seUhUTUxOb25OZWdhdGl2ZU51bWJlcnNHcmVhdGVyVGhhblplcm8obmV3VmFsdWUsIGRlZmF1
bHRTaXplKTsKICAgICAgICAgaWYgKG1fc2l6ZSAhPSBvbGRTaXplICYmIHJlbmRlcmVyKCkpCi0g
ICAgICAgICAgICByZW5kZXJlcigpLT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMo
KTsKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lk
dGhzVXBkYXRlKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEF0dHJpYnV0ZU5h
bWVzOjpyZXN1bHRzQXR0cjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRh
YmxlQ29sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1l
bnQuY3BwCmluZGV4IDg3YjY0OTAyMWZmNC4uMTgxNTA4ZTg2Yjg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBI
VE1MVGFibGVDb2xFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b20KICAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGNvbCA9IGR5bmFt
aWNEb3duY2FzdDxSZW5kZXJUYWJsZUNvbD4ocmVuZGVyZXIoKSkpIHsKICAgICAgICAgICAgICAg
ICBpbnQgbmV3V2lkdGggPSBwYXJzZUhUTUxJbnRlZ2VyKG5ld1ZhbHVlKS52YWx1ZV9vcigwKTsK
ICAgICAgICAgICAgICAgICBpZiAobmV3V2lkdGggIT0gY29sLT53aWR0aCgpKQotICAgICAgICAg
ICAgICAgICAgICBjb2wtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAg
ICAgICAgICAgICAgICAgICBjb2wtPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBk
YXRlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRleCBiNmQ2YmUwYjljYzQuLjE4MTFmNmNm
NzdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBA
IC0xNTksNyArMTU5LDcgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjphdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b20KICAgICAgICAgaWYgKG1f
cm93cyAhPSByb3dzKSB7CiAgICAgICAgICAgICBtX3Jvd3MgPSByb3dzOwogICAgICAgICAgICAg
aWYgKHJlbmRlcmVyKCkpCi0gICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0
TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICAgICAgfQogICAgICAg
ICBicmVhazsKICAgICB9CkBAIC0xNjgsNyArMTY4LDcgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b20KICAgICAgICAgaWYgKG1fY29scyAhPSBjb2xzKSB7CiAgICAgICAgICAgICBtX2NvbHMgPSBj
b2xzOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgICAgICAgICAgcmVuZGVy
ZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgICAgICAg
ICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xODUsNyArMTg1LDcgQEAgdm9p
ZCBIVE1MVGV4dEFyZWFFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUsIGNvbnN0IEF0b20KICAgICAgICAgaWYgKHdyYXAgIT0gbV93cmFwKSB7CiAgICAg
ICAgICAgICBtX3dyYXAgPSB3cmFwOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkpCi0gICAg
ICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxj
KCk7CisgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJy
ZWRXaWR0aHNVcGRhdGUoKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKaW5kZXggZjQzZjJhMzBlNzQwLi5iYTEw
OGIxZjllMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKQEAgLTMw
MiwxNCArMzAyLDE0IEBAIHZvaWQgTnVtYmVySW5wdXRUeXBlOjphdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiAgICAgICAgIGlmIChSZWZQdHIgZWxlbWVudCA9IHRo
aXMtPmVsZW1lbnQoKSkgewogICAgICAgICAgICAgZWxlbWVudC0+aW52YWxpZGF0ZVN0eWxlRm9y
U3VidHJlZSgpOwogICAgICAgICAgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyZXIgPSBlbGVtZW50
LT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgIHJlbmRlcmVyLT5zZXROZWVkc0xheW91dEFu
ZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAgICAgICAgICAgICAgICByZW5kZXJlci0+c2V0TmVlZHNM
YXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICAgICAgfQogICAgICAgICBicmVh
azsKICAgICBjYXNlIEF0dHJpYnV0ZU5hbWVzOjpjbGFzc0F0dHI6CiAgICAgY2FzZSBBdHRyaWJ1
dGVOYW1lczo6c3RlcEF0dHI6CiAgICAgICAgIGlmIChSZWZQdHIgZWxlbWVudCA9IHRoaXMtPmVs
ZW1lbnQoKSkgewogICAgICAgICAgICAgaWYgKENoZWNrZWRQdHIgcmVuZGVyZXIgPSBlbGVtZW50
LT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgIHJlbmRlcmVyLT5zZXROZWVkc0xheW91dEFu
ZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAgICAgICAgICAgICAgICByZW5kZXJlci0+c2V0TmVlZHNM
YXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICAgICAgfQogICAgICAgICBicmVh
azsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3LmNwcAppbmRl
eCA1ZDc2Zjg1NTU5ODYuLmFlZDUxZmFhMGE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhbEZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZy
YW1lVmlldy5jcHAKQEAgLTExOTIsNyArMTE5Miw3IEBAIHZvaWQgTG9jYWxGcmFtZVZpZXc6OmZv
cmNlTGF5b3V0UGFyZW50Vmlld0lmTmVlZGVkKCkKICAgICAvLyBjb3JyZWN0IHNpemUsIHdoaWNo
IExlZ2FjeVJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aC9IZWlnaHQg
cmVseSBvbiwgd2hlbiBsYXlpbmcKICAgICAvLyBvdXQgZm9yIHRoZSBmaXJzdCB0aW1lLCBvciB3
aGVuIHRoZSBMZWdhY3lSZW5kZXJTVkdSb290IHNpemUgaGFzIGNoYW5nZWQgZHluYW1pY2FsbHkg
KGVnLiB2aWEgPHNjcmlwdD4pLgogCi0gICAgb3duZXJSZW5kZXJlci0+c2V0TmVlZHNMYXlvdXRB
bmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgb3duZXJSZW5kZXJlci0+c2V0TmVlZHNMYXlvdXRB
bmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICBvd25lclJlbmRlcmVyLT52aWV3KCkuZnJh
bWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLnNjaGVkdWxlTGF5b3V0KCk7CiB9CiAKQEAgLTU2MDks
NyArNTYwOSw3IEBAIHZvaWQgTG9jYWxGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlv
bihjb25zdCBGbG9hdFNpemUmIHBhZ2VTaXplLCBjb25zdCBGCiAgICAgZmxvYXQgcGFnZUxvZ2lj
YWxIZWlnaHQgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/IHBhZ2VTaXplLmhlaWdodCgpIDog
cGFnZVNpemUud2lkdGgoKTsKIAogICAgIHJlbmRlclZpZXcuc2V0UGFnZUxvZ2ljYWxTaXplKHsg
Zmxvb3IocGFnZUxvZ2ljYWxXaWR0aCksIGZsb29yKHBhZ2VMb2dpY2FsSGVpZ2h0KSB9KTsKLSAg
ICByZW5kZXJWaWV3LnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgIHJl
bmRlclZpZXcuc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICBm
b3JjZUxheW91dCgpOwogICAgIGlmIChoYXNPbmVSZWYoKSkKICAgICAgICAgcmV0dXJuOwpAQCAt
NTYyOCw3ICs1NjI4LDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdp
bmF0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGNvbnN0IEYKICAgICAgICAgcGFnZUxv
Z2ljYWxIZWlnaHQgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSA/IG1heFBhZ2VTaXplLmhlaWdo
dCgpIDogbWF4UGFnZVNpemUud2lkdGgoKTsKIAogICAgICAgICByZW5kZXJWaWV3LnNldFBhZ2VM
b2dpY2FsU2l6ZSh7IGZsb29yKHBhZ2VMb2dpY2FsV2lkdGgpLCBmbG9vcihwYWdlTG9naWNhbEhl
aWdodCkgfSk7Ci0gICAgICAgIHJlbmRlclZpZXcuc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7CisgICAgICAgIHJlbmRlclZpZXcuc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRX
aWR0aHNVcGRhdGUoKTsKICAgICAgICAgZm9yY2VMYXlvdXQoKTsKICAgICAgICAgaWYgKGhhc09u
ZVJlZigpKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5nc0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2Uu
Y3BwCmluZGV4IGUxNzg4MjEyMWNlMi4uM2Q5ODY2OTQ3MjkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5nc0Jhc2UuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgdm9pZCBTZXR0aW5nc0Jhc2U6OnNl
dE5lZWRzUmVsYXlvdXRBbGxGcmFtZXMoKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IGlmICghbG9jYWxGcmFtZS0+b3duZXJSZW5kZXJlcigpKQogICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIGxvY2FsRnJhbWUtPm93bmVyUmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXRBbmRQ
cmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgIGxvY2FsRnJhbWUtPm93bmVyUmVuZGVyZXIoKS0+
c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZTgyMGJm
NGFlN2YzLi41ZTNmN2FlNjA3MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0yNDIyLDcgKzI0MjIsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6dXBkYXRlU3R5bGVzRm9yQ29sdW1uQ2hpbGRyZW4oY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0
eWxlKQogICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkICYmIChj
aGlsZC0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8IGNoaWxkLT5pc1JlbmRlck11bHRpQ29s
dW1uU2V0KCkpOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgIGNo
aWxkLT5zZXRTdHlsZShSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxh
eShzdHlsZSgpLCBEaXNwbGF5VHlwZTo6QmxvY2spKTsKICAgICAgICAgaWYgKGNvbHVtbnNOZWVk
TGF5b3V0KQotICAgICAgICAgICAgY2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1Jl
Y2FsYygpOworICAgICAgICAgICAgY2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lk
dGhzVXBkYXRlKCk7CiAgICAgfQogfQogCkBAIC00NDAzLDcgKzQ0MDMsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6dXBkYXRlQ29sdW1uUHJvZ3Jlc3Npb25Gcm9tU3R5bGUoY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlKQogICAgIH0KIAogICAgIGlmIChuZWVkc0xheW91dCkKLSAgICAgICAgc2V0
TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgIHNldE5lZWRzTGF5b3V0
QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlZENvbHVtbldpZHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKaW5kZXggMTU4NGIxNGRjYmEyLi44ZWIwNGUzNTliMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBSZW5k
ZXJCb3g6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVy
U3R5bGUmIG5ld1N0eWwKICAgICAgICAgICAgIGlmICghb2xkU3R5bGUtPmhhc091dE9mRmxvd1Bv
c2l0aW9uKCkgJiYgbmV3U3R5bGUuaGFzT3V0T2ZGbG93UG9zaXRpb24oKSkgewogICAgICAgICAg
ICAgICAgIC8vIFdlIGFyZSBhYm91dCB0byBnbyBvdXQgb2YgZmxvdy4gQmVmb3JlIHRoYXQgdGFr
ZXMgcGxhY2UsIHdlIG5lZWQgdG8gbWFyayB0aGUKICAgICAgICAgICAgICAgICAvLyBjdXJyZW50
IGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4gZm9yIHByZWZlcnJlZCB3aWR0aHMgcmVjYWxjdWxhdGlv
bi4KLSAgICAgICAgICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsK
KyAgICAgICAgICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgp
OwogICAgICAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGZsZXhDb250YWluZXIgPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyRmxleGlibGVCb3g+KHBhcmVudCgpKSkgewogICAgICAgICAgICAgICAg
ICAgICBmbGV4Q29udGFpbmVyLT5jbGVhckNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExv
Z2ljYWxIZWlnaHQoKnRoaXMpOwogICAgICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5j
bGVhckNhY2hlZE1haW5TaXplRm9yRmxleEl0ZW0oKnRoaXMpOwpAQCAtNDAxLDcgKzQwMSw3IEBA
IHZvaWQgUmVuZGVyQm94OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAgICAgICAgIGNsZWFyR3JpZEFyZWFDb250ZW50U2l6
ZSgpOwogICAgICAgICBpZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmlu
Z0Jsb2NrKCk7IGNvbnRhaW5pbmdCbG9jayAmJiBvbGRTdHlsZS0+aGFzT3V0T2ZGbG93UG9zaXRp
b24oKSkgewogICAgICAgICAgICAgLy8gV2hlbiBnb2luZyBmcm9tIG91dC1vZi1mbG93IHRvIGlu
ZmxvdywgdGhlIGNvbnRhaW5pbmcgYmxvY2sgZ2FpbnMgbmV3IGRlc2NlbmRhbnQgY29udGVudCBh
bmQgaXRzIHByZWZlcnJlZCB3aWR0aCBiZWNvbWVzIGludmFsaWQuCi0gICAgICAgICAgICBjb250
YWluaW5nQmxvY2stPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAg
ICAgICAgY29udGFpbmluZ0Jsb2NrLT5zZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1Vw
ZGF0ZSgpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCmluZGV4IDFiZTdmY2RlNGVkYy4uNWZmNjA3NTUyOTUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMjQ4LDcgKzEyNDgs
NyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OmNsZWFyQ2hpbGROZWVkc0xheW91dCgpCiB2b2lkIFJl
bmRlckVsZW1lbnQ6OnNldE5lZWRzTGF5b3V0Rm9yU3R5bGVEaWZmZXJlbmNlKFN0eWxlRGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiB7CiAgICAgaWYgKGRpZmYg
PT0gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQpCi0gICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJl
ZldpZHRoc1JlY2FsYygpOworICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRo
c1VwZGF0ZSgpOwogICAgIGVsc2UgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXRQ
b3NpdGlvbmVkTW92ZW1lbnRPbmx5KQogICAgICAgICBzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVu
dExheW91dChvbGRTdHlsZSk7CiAgICAgZWxzZSBpZiAoZGlmZiA9PSBTdHlsZURpZmZlcmVuY2U6
Ok92ZXJmbG93QW5kUG9zaXRpb25lZE1vdmVtZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggMmVjMjliMjgwN2Fm
Li44ZGVkZGQ5N2ZmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIFJlbmRlckxh
eWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdAogICAgICAgICBpZiAoc193YXNGbG9hdGluZyAmJiBpc0Zsb2F0aW5nKCkpCiAg
ICAgICAgICAgICBzZXRDaGlsZE5lZWRzTGF5b3V0KCk7CiAgICAgICAgIGlmIChzX3dhc1RyYW5z
Zm9ybWVkKQotICAgICAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7
CisgICAgICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwog
ICAgIH0KIAogICAgIGlmIChnYWluZWRPckxvc3RMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCBhNGY5MGQxNDMzZGEuLmNlYzI1YjRlMzAyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtMTU2LDcg
KzE1Niw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogCiAgICAg
ICAgIGNvbXB1dGVGaXJzdEluZGV4ZXNWaXNpYmxlSW5QYWRkaW5nQmVmb3JlQWZ0ZXJBcmVhcygp
OwogCi0gICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAg
ICBzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKaW5kZXggMDU4Y2Q4
Nzc3Y2ZkLi45YTM4Y2UzNjcxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RJdGVtLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnVw
ZGF0ZVZhbHVlKCkKIHsKICAgICBtX3ZhbHVlID0gc3RkOjpudWxsb3B0OwogICAgIGlmIChtX21h
cmtlcikKLSAgICAgICAgbV9tYXJrZXItPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YygpOworICAgICAgICBtX21hcmtlci0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNV
cGRhdGUoKTsKIH0KIAogdm9pZCBSZW5kZXJMaXN0SXRlbTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKQEAgLTMwMiw3ICsz
MDIsNyBAQCBTdHJpbmcgUmVuZGVyTGlzdEl0ZW06Om1hcmtlclRleHRXaXRoU3VmZml4KCkgY29u
c3QKIHZvaWQgUmVuZGVyTGlzdEl0ZW06OmNvdW50ZXJEaXJlY3RpdmVzQ2hhbmdlZCgpCiB7CiAg
ICAgaWYgKG1fbWFya2VyKQotICAgICAgICBtX21hcmtlci0+c2V0TmVlZHNMYXlvdXRBbmRQcmVm
V2lkdGhzUmVjYWxjKCk7CisgICAgICAgIG1fbWFya2VyLT5zZXROZWVkc0xheW91dEFuZFByZWZl
cnJlZFdpZHRoc1VwZGF0ZSgpOwogCiAgICAgdXBkYXRlVmFsdWUoKTsKICAgICBhdXRvKiBsaXN0
ID0gZW5jbG9zaW5nTGlzdCgqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggMTA3M2NjY2M3YmEyLi40YWZhY2ZlMDczNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKQEAgLTI4MCw3
ICsyODAsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1h
Z2VQdHIgbywgY29uc3QgSW50UmVjdCogcmVjdCkKICAgICBpZiAocGFyZW50KCkpIHsKICAgICAg
ICAgaWYgKG1faW1hZ2UgJiYgbyA9PSBtX2ltYWdlLT5kYXRhKCkpIHsKICAgICAgICAgICAgIGlm
ICh3aWR0aCgpICE9IG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLnVzZWRab29tKCkp
LndpZHRoKCkgfHwgaGVpZ2h0KCkgIT0gbV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCku
dXNlZFpvb20oKSkuaGVpZ2h0KCkgfHwgbV9pbWFnZS0+ZXJyb3JPY2N1cnJlZCgpKQotICAgICAg
ICAgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAgICAg
ICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmVwYWludCgpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRleCAwY2VhMDY0MzVlZGEu
LjJlOTY1MzI1ZWU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1lbnVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwCkBAIC0xNjksNyArMTY5LDcgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6YWRqdXN0SW5u
ZXJTdHlsZSgpCiAgICAgfSBlbHNlIGlmIChtX29wdGlvblN0eWxlICYmIGRvY3VtZW50KCkucGFn
ZSgpLT5jaHJvbWUoKS5zZWxlY3RJdGVtQWxpZ25tZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0
aW9uKCkpIHsKICAgICAgICAgaWYgKChtX29wdGlvblN0eWxlLT53cml0aW5nTW9kZSgpLmJpZGlE
aXJlY3Rpb24oKSAhPSBpbm5lclN0eWxlLndyaXRpbmdNb2RlKCkuYmlkaURpcmVjdGlvbigpCiAg
ICAgICAgICAgICB8fCBtX29wdGlvblN0eWxlLT51bmljb2RlQmlkaSgpICE9IGlubmVyU3R5bGUu
dW5pY29kZUJpZGkoKSkpCi0gICAgICAgICAgICBtX2lubmVyQmxvY2stPnNldE5lZWRzTGF5b3V0
QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAgICAgICAgbV9pbm5lckJsb2NrLT5zZXROZWVk
c0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICBpbm5lclN0eWxlLnNl
dFRleHRBbGlnbih3cml0aW5nTW9kZSgpLmlzQmlkaUxUUigpID8gVGV4dEFsaWduTW9kZTo6TGVm
dCA6IFRleHRBbGlnbk1vZGU6OlJpZ2h0KTsKICAgICAgICAgaW5uZXJTdHlsZS5zZXREaXJlY3Rp
b24obV9vcHRpb25TdHlsZS0+d3JpdGluZ01vZGUoKS5iaWRpRGlyZWN0aW9uKCkpOwogICAgICAg
ICBpbm5lclN0eWxlLnNldFVuaWNvZGVCaWRpKG1fb3B0aW9uU3R5bGUtPnVuaWNvZGVCaWRpKCkp
OwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNX
aWR0aCgpCiAKICAgICBtX29wdGlvbnNXaWR0aCA9IHdpZHRoOwogICAgIGlmIChwYXJlbnQoKSkK
LSAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgIHNl
dE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiB9CiAKIHZvaWQgUmVuZGVy
TWVudUxpc3Q6OnVwZGF0ZUZyb21FbGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCA0NjRlMmMwZDdlY2YuLmMzMjFhYjJiZGE0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNzY1LDcgKzc2NSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldE5lZWRzUHJlZmVycmVkV2lkdGhzVXBkYXRlKE1hcmtpbmdCZWhhdmlvciA9
IE1hcmtDb250YWluaW5nQmxvY2tDaGFpbik7CiAgICAgdm9pZCBjbGVhck5lZWRzUHJlZmVycmVk
V2lkdGhzVXBkYXRlKCkgeyBtX3N0YXRlQml0ZmllbGRzLnNldEZsYWcoU3RhdGVGbGFnOjpQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzTmVlZFVwZGF0ZSwgeyB9KTsgfQogICAgIAotICAgIGlubGluZSB2
b2lkIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgIGlubGluZSB2b2lk
IHNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiAKICAgICB2b2lkIHNl
dFBvc2l0aW9uU3RhdGUoUG9zaXRpb25UeXBlKTsKICAgICB2b2lkIGNsZWFyUG9zaXRpb25lZFN0
YXRlKCkgeyBtX3N0YXRlQml0ZmllbGRzLmNsZWFyUG9zaXRpb25lZFN0YXRlKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RJbmxpbmVzLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0SW5saW5lcy5oCmluZGV4IDdkMWU4
ZWZiNzU1OS4uY2VjYzhkNjBlNGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0SW5saW5lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3RJbmxpbmVzLmgKQEAgLTE0Miw3ICsxNDIsNyBAQCBpbmxpbmUgdm9pZCBSZW5k
ZXJPYmplY3Q6OnNldE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhhdmlvciBtYXJrUGFyZW50cykKICAg
ICAgICAgc2V0TGF5ZXJOZWVkc0Z1bGxSZXBhaW50KCk7CiB9CiAKLWlubGluZSB2b2lkIFJlbmRl
ck9iamVjdDo6c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCkKK2lubGluZSB2b2lk
IFJlbmRlck9iamVjdDo6c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKQog
ewogICAgIHNldE5lZWRzTGF5b3V0KCk7CiAgICAgc2V0TmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4
IDhiZGRlOGRjNzA2Ny4uMjE2MGYwMDExZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIFJlbmRlclJlcGxh
Y2VkOjppbnRyaW5zaWNTaXplQ2hhbmdlZCgpCiAgICAgaW50IHNjYWxlZFdpZHRoID0gc3RhdGlj
X2Nhc3Q8aW50PihjRGVmYXVsdFdpZHRoICogc3R5bGUoKS51c2VkWm9vbSgpKTsKICAgICBpbnQg
c2NhbGVkSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihjRGVmYXVsdEhlaWdodCAqIHN0eWxlKCku
dXNlZFpvb20oKSk7CiAgICAgbV9pbnRyaW5zaWNTaXplID0gSW50U2l6ZShzY2FsZWRXaWR0aCwg
c2NhbGVkSGVpZ2h0KTsKLSAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsK
KyAgICBzZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogfQogCiBib29s
IFJlbmRlclJlcGxhY2VkOjpzaG91bGREcmF3U2VsZWN0aW9uVGludCgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IDY5ZWY1MTk4NzQx
ZC4uNDg0NWVhZDhjMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmNwcApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgUmVuZGVyVGFibGVDZWxsOjpjb2xT
cGFuT3JSb3dTcGFuQ2hhbmdlZCgpCiAKICAgICAvLyBGSVhNRTogSSBzdXNwZWN0IHRoYXQgd2Ug
Y291bGQgcmV0dXJuIGVhcmx5IGhlcmUgaWYgIW1faGFzQ29sU3BhbiAmJiAhbV9oYXNSb3dTcGFu
LgogCi0gICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgc2V0TmVl
ZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICBpZiAocGFyZW50KCkgJiYg
c2VjdGlvbigpKQogICAgICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwogfQpA
QCAtNTAzLDcgKzUwMyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtYXJrQ2VsbERpcnR5V2hlbkNv
bGxhcHNlZEJvcmRlckNoYW5nZXMoUmVuZGVyVGFibGVDZWxsKiBjZWxsCiB7CiAgICAgaWYgKCFj
ZWxsKQogICAgICAgICByZXR1cm47Ci0gICAgY2VsbC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lk
dGhzUmVjYWxjKCk7CisgICAgY2VsbC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNV
cGRhdGUoKTsKIH0KIAogdm9pZCBSZW5kZXJUYWJsZUNlbGw6OnN0eWxlRGlkQ2hhbmdlKFN0eWxl
RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmNwcAppbmRleCBiNjQ4Y2ZhZjBlOGIuLjQ5
YWQzMjllYWM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wu
Y3BwCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9pZCBSZW5kZXJUYWJsZUNvbDo6dXBkYXRlRnJvbUVs
ZW1lbnQoKQogICAgICAgICBtX3NwYW4gPSAxOwogICAgIGlmIChtX3NwYW4gIT0gb2xkU3BhbiAm
JiBwYXJlbnQoKSkgewogICAgICAgICBpZiAoaGFzSW5pdGlhbGl6ZWRTdHlsZSgpKQotICAgICAg
ICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgICAgICBz
ZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICBpZiAoQ2hl
Y2tlZFB0ciB0YWJsZSA9IHRoaXMtPnRhYmxlKCkpCiAgICAgICAgICAgICB0YWJsZS0+aW52YWxp
ZGF0ZUNvbHVtbnMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVSb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93LmNwcAppbmRleCAyNTZkMTk0NWYwY2EuLmQ5YjA2Yzg3Mzk1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAg
dm9pZCBSZW5kZXJUYWJsZVJvdzo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYs
IGNvbnN0IFJlbmRlclN0eWxlKiBvbGQKICAgICAgICAgICAgIC8vIGl0c2VsZi4KICAgICAgICAg
ICAgIGF1dG8gcHJvcGFnYWdlTmVlZHNMYXlvdXRPbkJvcmRlclNpemVDaGFuZ2UgPSBbJl0gKGF1
dG8mIHJvdykgewogICAgICAgICAgICAgICAgIGZvciAoYXV0byogY2VsbCA9IHJvdy5maXJzdENl
bGwoKTsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpCi0gICAgICAgICAgICAgICAgICAg
IGNlbGwtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAgICAgICAg
ICAgICAgICBjZWxsLT5zZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwog
ICAgICAgICAgICAgfTsKICAgICAgICAgICAgIHByb3BhZ2FnZU5lZWRzTGF5b3V0T25Cb3JkZXJT
aXplQ2hhbmdlKCp0aGlzKTsKICAgICAgICAgICAgIGlmIChhdXRvKiBwcmV2aW91c1JvdyA9IHRo
aXMtPnByZXZpb3VzUm93KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAK
aW5kZXggNTE0MDZmYjg0MzZiLi42MDMwNjYyMTA0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAKQEAgLTQzNCw3ICs0MzQsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnN0
eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bAogICAgIC8vIFdlIGRvIGhhdmUgdG8gc2NoZWR1bGUgbGF5b3V0cywgdGhvdWdoLCBzaW5j
ZSBhIHN0eWxlIGNoYW5nZSBjYW4gZm9yY2UgdXMgdG8KICAgICAvLyBuZWVkIHRvIHJlbGF5b3V0
LgogICAgIGlmIChkaWZmID09IFN0eWxlRGlmZmVyZW5jZTo6TGF5b3V0KSB7Ci0gICAgICAgIHNl
dE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAgICBzZXROZWVkc0xheW91
dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVy
Zmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IGZhbHNlOwogICAgIH0KIApAQCAtMTgyNiw3ICsxODI2
LDcgQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRUZXh0SW50ZXJuYWwoY29uc3QgU3RyaW5nJiB0ZXh0
LCBib29sIGZvcmNlKQogCiAgICAgc2V0UmVuZGVyZWRUZXh0KHRleHQpOwogCi0gICAgc2V0TmVl
ZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVm
ZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFs
bGJhY2tGb250cyA9IGZhbHNlOwogCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZG9j
dW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKaW5kZXggYWMxODM4ZGVl
Y2FmLi4xNWE3M2Q1Y2UwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBS
ZW5kZXJNYXRoTUxCbG9jazo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKgogCiAgICAgLy8gTWF0aE1MIGRpc3BsYXlzdHlsZSBjaGFuZ2VzIGNh
biBhZmZlY3QgbGF5b3V0LgogICAgIGlmIChvbGRTdHlsZSAmJiBzdHlsZSgpLm1hdGhTdHlsZSgp
ICE9IG9sZFN0eWxlLT5tYXRoU3R5bGUoKSkKLSAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVm
V2lkdGhzUmVjYWxjKCk7CisgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhz
VXBkYXRlKCk7CiB9CiAKIHZvaWQgUmVuZGVyTWF0aE1MQmxvY2s6Omluc2VydFBvc2l0aW9uZWRD
aGlsZHJlbkludG9Db250YWluaW5nQmxvY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oCmluZGV4IGJlN2Q0YWE4OGQ0MS4uZGQ0
MGM3MGE3OTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC02NSw3ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
ZXRNYXRoVmFyaWFudEdseXBoRGlydHkoKQogICAgIHsKICAgICAgICAgbV9tYXRoVmFyaWFudEds
eXBoRGlydHkgPSB0cnVlOwotICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNh
bGMoKTsKKyAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsK
ICAgICB9CiAgICAgc3RkOjpvcHRpb25hbDxjaGFyMzJfdD4gbV9tYXRoVmFyaWFudENvZGVQb2lu
dCB7IHN0ZDo6bnVsbG9wdCB9OwogICAgIGJvb2wgbV9tYXRoVmFyaWFudElzTWlycm9yZWQgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlci5jcHAKaW5kZXggOGI5OGE3ZGUyZTUyLi5mY2JhMjY4MjRkMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6
OmF0dGFjaFRvUmVuZGVyRWxlbWVudEludGVybmFsKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVu
CiAgICAgICAgICAgICBsaXN0SXRlbVJlbmRlcmVyLT51cGRhdGVMaXN0TWFya2VyTnVtYmVycygp
OwogICAgIH0KIAotICAgIG5ld0NoaWxkLT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNh
bGMoKTsKKyAgICBuZXdDaGlsZC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRh
dGUoKTsKICAgICBhdXRvIGlzT3V0T2ZGbG93Qm94ID0gbmV3Q2hpbGQtPnN0eWxlKCkuaGFzT3V0
T2ZGbG93UG9zaXRpb24oKTsKICAgICBpZiAoIWlzT3V0T2ZGbG93Qm94KQogICAgICAgICBwYXJl
bnQuc2V0TmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKQEAgLTUwNSw3ICs1MDUsNyBAQCB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChSZW5k
ZXJFbGVtZW50JiBwYXJlbnQsIFJlbgogICAgIGlmICghcGFyZW50Lm5vcm1hbENoaWxkTmVlZHNM
YXlvdXQoKSkgewogICAgICAgICBpZiAoaXNPdXRPZkZsb3dCb3gpIHsKICAgICAgICAgICAgIGF1
dG8gaXNFbGlnaWJsZUZvclN0YXRpY1Bvc2l0aW9uTGF5b3V0T25seSA9IFsmXSB7Ci0gICAgICAg
ICAgICAgICAgLy8gc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjIGFib3ZlIGFscmVh
ZHkgdGFrZXMgY2FyZSBvZiBwcm9wYWdhdGluZyBkaXJ0eSBiaXRzIG9uIHRoZSBhbmNlc3RvciBj
aGFpbiwgYnV0CisgICAgICAgICAgICAgICAgLy8gc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRX
aWR0aHNVcGRhdGUgYWJvdmUgYWxyZWFkeSB0YWtlcyBjYXJlIG9mIHByb3BhZ2F0aW5nIGRpcnR5
IGJpdHMgb24gdGhlIGFuY2VzdG9yIGNoYWluLCBidXQKICAgICAgICAgICAgICAgICAvLyBpbiBv
cmRlciB0byBjb21wdXRlIHN0YXRpYyBwb3NpdGlvbiBmb3Igb3V0IG9mIGZsb3cgYm94ZXMsIHRo
ZSBwYXJlbnQgaGFzIHRvIHJ1biBub3JtYWwgZmxvdyBsYXlvdXQgYXMgd2VsbCAoYXMgb3Bwb3Nl
ZCB0byBzaW1wbGlmaWVkKQogICAgICAgICAgICAgICAgIGlmIChuZXdDaGlsZC0+Y29udGFpbmlu
Z0Jsb2NrKCkgIT0gJnBhcmVudCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTAyNSw3ICsxMDI1LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRSZW5kZXJlclN0YXRlT25EZXRh
Y2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWwKICAgICB9CiAKICAg
ICBpZiAod2lsbEJlRGVzdHJveWVkID09IFJlbmRlclRyZWVCdWlsZGVyOjpXaWxsQmVEZXN0cm95
ZWQ6Ok5vKQotICAgICAgICBjaGlsZC5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMo
KTsKKyAgICAgICAgY2hpbGQuc2V0TmVlZHNMYXlvdXRBbmRQcmVmZXJyZWRXaWR0aHNVcGRhdGUo
KTsKIAogICAgIC8vIElmIHdlIGhhdmUgYSBsaW5lIGJveCB3cmFwcGVyLCBkZWxldGUgaXQuCiAg
ICAgaWYgKENoZWNrZWRQdHIgdGV4dFJlbmRlcmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclNW
R0lubGluZVRleHQ+KGNoaWxkKSkKQEAgLTExMzIsNyArMTEzMiw3IEBAIHZvaWQgUmVuZGVyVHJl
ZUJ1aWxkZXI6Om1hcmtCb3hGb3JSZWxheW91dEFmdGVyU3BsaXQoUmVuZGVyQm94JiBib3gpCiAg
ICAgfSBlbHNlIGlmIChDaGVja2VkUHRyIHRhYmxlU2VjdGlvbiA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJUYWJsZVNlY3Rpb24+KGJveCkpCiAgICAgICAgIHRhYmxlU2VjdGlvbi0+c2V0TmVlZHND
ZWxsUmVjYWxjKCk7CiAKLSAgICBib3guc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxj
KCk7CisgICAgYm94LnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiB9
CiAKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OnJlbW92ZUZsb2F0aW5nT2JqZWN0cyhSZW5kZXJC
bG9jayYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKaW5kZXggNjNiZGZlZGNmZGM4
Li5jMWQwMmI5YzBkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKQEAgLTMzMiw3ICszMzIs
NyBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OmRl
dGFjaChSZW5kZXJCbG9jayYgcGFyZW50LCBSZQogICAgICAgICBhdXRvJiBwcmV2aW91c0Jsb2Nr
ID0gZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpwcmV2aW91c1NpYmxpbmcpOwogICAgICAgICBhdXRv
JiBuZXh0QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJCbG9jaz4oKm5leHRTaWJsaW5nKTsKIAotICAg
ICAgICBwcmV2aW91c0Jsb2NrLnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwor
ICAgICAgICBwcmV2aW91c0Jsb2NrLnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBk
YXRlKCk7CiAgICAgICAgIGlmIChwcmV2aW91c0Jsb2NrLmNoaWxkcmVuSW5saW5lKCkgIT0gbmV4
dEJsb2NrLmNoaWxkcmVuSW5saW5lKCkpIHsKICAgICAgICAgICAgIGF1dG8mIGlubGluZUNoaWxk
cmVuQmxvY2sgPSBwcmV2aW91c0Jsb2NrLmNoaWxkcmVuSW5saW5lKCkgPyBwcmV2aW91c0Jsb2Nr
IDogbmV4dEJsb2NrOwogICAgICAgICAgICAgYXV0byYgYmxvY2tDaGlsZHJlbkJsb2NrID0gcHJl
dmlvdXNCbG9jay5jaGlsZHJlbklubGluZSgpID8gbmV4dEJsb2NrIDogcHJldmlvdXNCbG9jazsK
QEAgLTM0OSw3ICszNDksNyBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVp
bGRlcjo6QmxvY2s6OmRldGFjaChSZW5kZXJCbG9jayYgcGFyZW50LCBSZQogICAgICAgICAgICAg
Ly8gTm93IGp1c3QgcHV0IHRoZSBpbmxpbmVDaGlsZHJlbkJsb2NrIGluc2lkZSB0aGUgYmxvY2tD
aGlsZHJlbkJsb2NrLgogICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9ICZw
cmV2aW91c0Jsb2NrID09ICZpbmxpbmVDaGlsZHJlbkJsb2NrID8gYmxvY2tDaGlsZHJlbkJsb2Nr
LmZpcnN0Q2hpbGQoKSA6IG51bGxwdHI7CiAgICAgICAgICAgICBtX2J1aWxkZXIuYXR0YWNoVG9S
ZW5kZXJFbGVtZW50SW50ZXJuYWwoYmxvY2tDaGlsZHJlbkJsb2NrLCBXVEZNb3ZlKGJsb2NrVG9N
b3ZlKSwgYmVmb3JlQ2hpbGQpOwotICAgICAgICAgICAgbmV4dEJsb2NrLnNldE5lZWRzTGF5b3V0
QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgICAgICAgICAgbmV4dEJsb2NrLnNldE5lZWRzTGF5
b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CiAKICAgICAgICAgICAgIC8vIGlubGluZUNo
aWxkcmVuQmxvY2sgZ290IHJlcGFyZW50ZWQgdG8gYmxvY2tDaGlsZHJlbkJsb2NrLCBzbyBpdCBp
cyBubyBsb25nZXIgYSBjaGlsZAogICAgICAgICAgICAgLy8gb2YgInRoaXMiLiB3ZSBudWxsIG91
dCBwcmV2aW91c1NpYmxpbmcgb3IgbmV4dFNpYmxpbmcgc28gdGhhdCBpcyBub3QgdXNlZCBsYXRl
ciBpbiB0aGUgZnVuY3Rpb24uCkBAIC00MTEsNyArNDExLDcgQEAgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjpkZXRhY2goUmVuZGVyQmxvY2smIHBhcmVu
dCwgUmUKIAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6OmRyb3BBbm9ueW1vdXNCb3hD
aGlsZChSZW5kZXJCbG9jayYgcGFyZW50LCBSZW5kZXJCbG9jayYgY2hpbGQpCiB7Ci0gICAgcGFy
ZW50LnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgIHBhcmVudC5zZXRO
ZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgIHBhcmVudC5zZXRDaGls
ZHJlbklubGluZShjaGlsZC5jaGlsZHJlbklubGluZSgpKTsKIAogICAgIC8vIEZJWE1FOiBUaGlz
IHNob3VsZCByZWFsbHkganVzdCBiZSBhIG1vdmVBbGxDaGlscmVuVG8gKHNlZSB3ZWJraXQub3Jn
L2IvMTgyNDk1KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5kZXggZDhkNWFmNGE1MjIxLi5k
NDc0MjAwYjdlMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcApAQCAtMjEyLDcgKzIxMiw3
IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6YXR0YWNoSWdub3JpbmdDb250aW51
YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsCiAKICAgICBhdXRvJiBjaGlsZFRvQWRkID0gKmNo
aWxkOwogICAgIG1fYnVpbGRlci5hdHRhY2hUb1JlbmRlckVsZW1lbnQocGFyZW50LCBXVEZNb3Zl
KGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwotICAgIGNoaWxkVG9BZGQuc2V0TmVlZHNMYXlvdXRBbmRQ
cmVmV2lkdGhzUmVjYWxjKCk7CisgICAgY2hpbGRUb0FkZC5zZXROZWVkc0xheW91dEFuZFByZWZl
cnJlZFdpZHRoc1VwZGF0ZSgpOwogfQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6
OnNwbGl0RmxvdyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCwgUmVuZGVyUHRyPFJlbmRlckJsb2NrPiBuZXdCbG9ja0JveCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gY2hpbGQsIFJlbmRlckJveE1vZGVsT2JqZWN0KiBvbGRDb250KQpAQCAtMjY5LDcgKzI2
OSw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRGbG93KFJlbmRlcklu
bGluZSYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGJlCiAgICAgICAgICAgICBvID0gbm8tPm5leHRT
aWJsaW5nKCk7CiAgICAgICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWlsZGVyLmRldGFj
aEZyb21SZW5kZXJFbGVtZW50KCpibG9jaywgKm5vLCBXaWxsQmVEZXN0cm95ZWQ6Ok5vKTsKICAg
ICAgICAgICAgIG1fYnVpbGRlci5hdHRhY2hUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqcHJlLCBX
VEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7Ci0gICAgICAgICAgICBuby0+c2V0TmVlZHNMYXlvdXRBbmRQ
cmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgICAgICBuby0+c2V0TmVlZHNMYXlvdXRBbmRQcmVm
ZXJyZWRXaWR0aHNVcGRhdGUoKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjg3LDkgKzI4Nyw5
IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRGbG93KFJlbmRlcklubGlu
ZSYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGJlCiAgICAgLy8gQWx3YXlzIGp1c3QgZG8gYSBmdWxs
IGxheW91dCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBsaW5lIGJveGVzIChlc3BlY2lhbGx5IHdy
YXBwZXJzIGZvciBpbWFnZXMpCiAgICAgLy8gZ2V0IGRlbGV0ZWQgcHJvcGVybHkuIEJlY2F1c2Ug
b2JqZWN0cyBtb3ZlcyBmcm9tIHRoZSBwcmUgYmxvY2sgaW50byB0aGUgcG9zdCBibG9jaywgd2Ug
d2FudCB0bwogICAgIC8vIG1ha2UgbmV3IGxpbmUgYm94ZXMgaW5zdGVhZCBvZiBsZWF2aW5nIHRo
ZSBvbGQgbGluZSBib3hlcyBhcm91bmQuCi0gICAgcHJlLT5zZXROZWVkc0xheW91dEFuZFByZWZX
aWR0aHNSZWNhbGMoKTsKLSAgICBibG9jay0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVj
YWxjKCk7Ci0gICAgcG9zdC5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAg
ICBwcmUtPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgYmxv
Y2stPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgcG9zdC5z
ZXROZWVkc0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogfQogCiB2b2lkIFJlbmRl
clRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxpbmUmIHBhcmVudCwg
UmVuZGVyQmxvY2sqIGZyb21CbG9jaywgUmVuZGVyQmxvY2sqIHRvQmxvY2ssIFJlbmRlckJsb2Nr
KiBtaWRkbGVCbG9jaywgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwgUmVuZGVyQm94TW9kZWxP
YmplY3QqIG9sZENvbnQpCkBAIC0zMzQsNyArMzM0LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRl
cjo6SW5saW5lOjpzcGxpdElubGluZXMoUmVuZGVySW5saW5lJiBwYXJlbnQsIFJlbmRlckJsb2Nr
KgogICAgICAgICBhdXRvKiBuZXdQYXJlbnQgPSByZW5kZXJlclRvTW92ZS0+cGFyZW50KCk7CiAg
ICAgICAgIGlmIChDaGVja2VkUHRyIG5ld1BhcmVudEJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5k
ZXJCb3g+KG5ld1BhcmVudCkpCiAgICAgICAgICAgICBtYXJrQm94Rm9yUmVsYXlvdXRBZnRlclNw
bGl0KCpuZXdQYXJlbnRCb3gpOwotICAgICAgICByZW5kZXJlclRvTW92ZS0+c2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgICAgIHJlbmRlcmVyVG9Nb3ZlLT5zZXROZWVk
c0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICByZW5kZXJlclRvTW92
ZSA9IG5leHRTaWJsaW5nOwogICAgIH0KICAgICAvLyBIb29rIHxjbG9uZXwgdXAgYXMgdGhlIGNv
bnRpbnVhdGlvbiBvZiB0aGUgbWlkZGxlIGJsb2NrLgpAQCAtMzcyLDcgKzM3Miw3IEBAIHZvaWQg
UmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRJbmxpbmVzKFJlbmRlcklubGluZSYgcGFy
ZW50LCBSZW5kZXJCbG9jayoKICAgICAgICAgICAgICAgICBhdXRvKiBuZXh0ID0gc2libGluZy0+
bmV4dFNpYmxpbmcoKTsKICAgICAgICAgICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWls
ZGVyLmRldGFjaEZyb21SZW5kZXJFbGVtZW50KCpjdXJyZW50LCAqc2libGluZywgV2lsbEJlRGVz
dHJveWVkOjpObyk7CiAgICAgICAgICAgICAgICAgbV9idWlsZGVyLmF0dGFjaElnbm9yaW5nQ29u
dGludWF0aW9uKCpjbG9uZUlubGluZSwgV1RGTW92ZShjaGlsZFRvTW92ZSkpOwotICAgICAgICAg
ICAgICAgIHNpYmxpbmctPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAg
ICAgICAgICAgICAgIHNpYmxpbmctPnNldE5lZWRzTGF5b3V0QW5kUHJlZmVycmVkV2lkdGhzVXBk
YXRlKCk7CiAgICAgICAgICAgICAgICAgc2libGluZyA9IG5leHQ7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>