<?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>234248</bug_id>
          
          <creation_ts>2021-12-13 09:04:37 -0800</creation_ts>
          <short_desc>[LFC][IFC] Display boxes have physical geometry.</short_desc>
          <delta_ts>2021-12-13 10:35:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>bfulgham</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>1823563</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-13 09:04:37 -0800</bug_when>
    <thetext>logicalRect -&gt; rect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823566</commentid>
    <comment_count>1</comment_count>
      <attachid>447014</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-13 09:06:05 -0800</bug_when>
    <thetext>Created attachment 447014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823614</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-13 10:34:07 -0800</bug_when>
    <thetext>Committed r286957 (245181@main): &lt;https://commits.webkit.org/245181@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447014.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823616</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-13 10:35:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/86420429&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447014</attachid>
            <date>2021-12-13 09:06:05 -0800</date>
            <delta_ts>2021-12-13 10:34:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234248-20211213090604.patch</filename>
            <type>text/plain</type>
            <size>30658</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBhODc5MDRhY2EwYmNi
M2JiYWQ0OWJhODRhZWY2YWZjYzkwODJlZi4uMzNhYjE5NWNiMWI5ZTJkMzRmMzJjYzNlNzBjNGIy
YmJlN2FkNDQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIxLTEyLTEzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIERpc3BsYXkg
Ym94ZXMgaGF2ZSBwaHlzaWNhbCBnZW9tZXRyeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGxvZ2ljYWxSZWN0IC0+IHJlY3QuCisKKyAgICAgICAgKiBk
aXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNw
bGF5OjpCb3hGYWN0b3J5OjpkaXNwbGF5Qm94Rm9yVGV4dFJ1biBjb25zdCk6CisgICAgICAgICog
bGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNoZWNr
Rm9yTWF0Y2hpbmdOb25UZXh0UnVucyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNoZWNr
Rm9yTWF0Y2hpbmdUZXh0UnVucyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om91dHB1dE1p
c21hdGNoaW5nQ29tcGxleExpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToKKyAgICAgICAgKiBsYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1
bnNGb3JFbGxpcHNpcyk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNw
bGF5OjpCb3g6OnJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6
Qm94Ojp0b3AgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojpi
b3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpsZWZ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6cmlnaHQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojp3aWR0aCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmhlaWdodCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6Om1vdmVWZXJ0aWNhbGx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6bW92ZUhvcml6b250YWxseSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldExlZnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRSaWdodCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
RGlzcGxheTo6Qm94OjpCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94
Ojp0cnVuY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmxvZ2lj
YWxSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6
OkJveDo6bG9naWNhbFRvcCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OmxvZ2ljYWxCb3R0b20gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojpsb2dpY2FsTGVmdCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmxvZ2ljYWxSaWdodCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmxvZ2lj
YWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5
OjpCb3g6OmxvZ2ljYWxIZWlnaHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRGlzcGxheTo6Qm94OjpzZXRMb2dpY2FsTGVmdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldExvZ2ljYWxSaWdodCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldExvZ2ljYWxSZWN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rl
cm5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0
aDo6cmVjdCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uQm94VHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6
c2hvd0lubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVz
IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5l
TGF5b3V0OjpmaXJzdElubGluZUJveFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbGxlY3RJbmxpbmVCb3hSZWN0cyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6aGl0VGVz
dCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpzaG93SW5saW5lVHJlZUFuZFJ1bnMpOgorCiAyMDIx
LTEyLTEzICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJ
RkNdIE5vbi1iaWRpIGNvbnRlbnQgd2l0aCBSVEwgaW5saW5lIGJhc2UgZGlyZWN0aW9uIG1heSBu
ZWVkIHZpc3VhbCByZW9yZGVyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5
L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9E
aXNwbGF5Qm94RmFjdG9yeS5jcHAKaW5kZXggZDVkMmMxZGJiMWU0NzUyOTc5NmRkNTgyODczZTUw
ODBlNGVkNTliZS4uYzlkMmRjODU2ZjI4ODE0OGIzMDQxNDIxZmExNmVjZTBjZTYzYzEyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcApA
QCAtMTQ4LDcgKzE0OCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxCb3g+IEJveEZhY3Rvcnk6OmRpc3Bs
YXlCb3hGb3JUZXh0UnVuKGNvbnN0IElubGluZURpc3BsYXk6OkJveCYKICAgICBVTlVTRURfUEFS
QU0obGluZSk7CiAgICAgQVNTRVJUKGJveC50ZXh0KCkpOwogCi0gICAgYXV0byBib3hSZWN0ID0g
TGF5b3V0UmVjdCB7IGJveC5sb2dpY2FsTGVmdCgpLCBib3gubG9naWNhbFRvcCgpLCBib3gubG9n
aWNhbFdpZHRoKCksIGJveC5sb2dpY2FsSGVpZ2h0KCkgfTsKKyAgICBhdXRvIGJveFJlY3QgPSBM
YXlvdXRSZWN0IHsgYm94LmxlZnQoKSwgYm94LnRvcCgpLCBib3gud2lkdGgoKSwgYm94LmhlaWdo
dCgpIH07CiAgICAgYm94UmVjdC5tb3ZlKGNvbnRhaW5pbmdCbG9ja0NvbnRleHQub2Zmc2V0RnJv
bVJvb3QpOwogCiAgICAgYXV0byBzdHlsZSA9IFN0eWxlIHsgYm94LmxheW91dEJveCgpLnN0eWxl
KCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKaW5kZXggYjkyMDA2OTFh
ZWQ3OWIxZGMxNTFlODIxNzcyM2QyMTg2NTIyMTBiZC4uM2MxOTcxNTA3YmUzMjlmYzk2M2YyNDdi
N2E0YjA4MzM0NjIwNjcxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L1Zlcmlm
aWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAK
QEAgLTcyLDEwICs3MiwxMCBAQCBzdGF0aWMgYm9vbCBhcmVFc3NlbnRpYWxseUVxdWFsKExheW91
dFJlY3QgYSwgTGF5b3V0UmVjdCBiKQogCiBzdGF0aWMgYm9vbCBjaGVja0Zvck1hdGNoaW5nTm9u
VGV4dFJ1bnMoY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiBib3gsIGNvbnN0IFdlYkNvcmU6Okxl
Z2FjeUlubGluZUJveCYgaW5saW5lQm94KQogewotICAgIHJldHVybiBhcmVFc3NlbnRpYWxseUVx
dWFsKGlubGluZUJveC5sZWZ0KCksIGJveC5sb2dpY2FsTGVmdCgpKQotICAgICAgICAmJiBhcmVF
c3NlbnRpYWxseUVxdWFsKGlubGluZUJveC5yaWdodCgpLCBib3gubG9naWNhbFJpZ2h0KCkpCi0g
ICAgICAgICYmIGFyZUVzc2VudGlhbGx5RXF1YWwoaW5saW5lQm94LnRvcCgpLCBib3gubG9naWNh
bFRvcCgpKQotICAgICAgICAmJiBhcmVFc3NlbnRpYWxseUVxdWFsKGlubGluZUJveC5ib3R0b20o
KSwgYm94LmxvZ2ljYWxCb3R0b20oKSk7CisgICAgcmV0dXJuIGFyZUVzc2VudGlhbGx5RXF1YWwo
aW5saW5lQm94LmxlZnQoKSwgYm94LmxlZnQoKSkKKyAgICAgICAgJiYgYXJlRXNzZW50aWFsbHlF
cXVhbChpbmxpbmVCb3gucmlnaHQoKSwgYm94LnJpZ2h0KCkpCisgICAgICAgICYmIGFyZUVzc2Vu
dGlhbGx5RXF1YWwoaW5saW5lQm94LnRvcCgpLCBib3gudG9wKCkpCisgICAgICAgICYmIGFyZUVz
c2VudGlhbGx5RXF1YWwoaW5saW5lQm94LmJvdHRvbSgpLCBib3guYm90dG9tKCkpOwogfQogCiAK
QEAgLTgzLDEwICs4MywxMCBAQCBzdGF0aWMgYm9vbCBjaGVja0Zvck1hdGNoaW5nVGV4dFJ1bnMo
SW5saW5lRGlzcGxheTo6Qm94JiBib3gsIGNvbnN0IFdlYkNvcmU6OkxlZwogewogICAgIGlmICgh
Ym94LnRleHQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBhcmVFc3NlbnRp
YWxseUVxdWFsKGlubGluZVRleHRCb3gubGVmdCgpLCBib3gubG9naWNhbExlZnQoKSkKLSAgICAg
ICAgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0Qm94LnJpZ2h0KCksIGJveC5sb2dp
Y2FsUmlnaHQoKSkKLSAgICAgICAgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0Qm94
LnRvcCgpLCBib3gubG9naWNhbFRvcCgpKQotICAgICAgICAmJiBhcmVFc3NlbnRpYWxseUVxdWFs
KGlubGluZVRleHRCb3guYm90dG9tKCksIGJveC5sb2dpY2FsQm90dG9tKCkpCisgICAgcmV0dXJu
IGFyZUVzc2VudGlhbGx5RXF1YWwoaW5saW5lVGV4dEJveC5sZWZ0KCksIGJveC5sZWZ0KCkpCisg
ICAgICAgICYmIGFyZUVzc2VudGlhbGx5RXF1YWwoaW5saW5lVGV4dEJveC5yaWdodCgpLCBib3gu
cmlnaHQoKSkKKyAgICAgICAgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0Qm94LnRv
cCgpLCBib3gudG9wKCkpCisgICAgICAgICYmIGFyZUVzc2VudGlhbGx5RXF1YWwoaW5saW5lVGV4
dEJveC5ib3R0b20oKSwgYm94LmJvdHRvbSgpKQogICAgICAgICAmJiAoaW5saW5lVGV4dEJveC5p
c0xpbmVCcmVhaygpIHx8IChpbmxpbmVUZXh0Qm94LnN0YXJ0KCkgPT0gYm94LnRleHQoKS0+c3Rh
cnQoKSAmJiBpbmxpbmVUZXh0Qm94LmVuZCgpID09IGJveC50ZXh0KCktPmVuZCgpKSk7CiB9CiAK
QEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ0NvbXBsZXhM
aW5lSW5mb3JtYXRpb25JZk5lZWRlZChUZXh0U3RyZWFtJiBzdHJlYW0sCiAgICAgICAgICAgICBz
dHJlYW0gPDwgIiBpbmxpbmUgYm94IjsKICAgICAgICAgICAgIGlmIChib3gudGV4dCgpKQogICAg
ICAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGJveC50ZXh0KCktPnN0YXJ0KCkgPDwgIiwg
IiA8PCBib3gudGV4dCgpLT5lbmQoKSA8PCAiKSI7Ci0gICAgICAgICAgICBzdHJlYW0gPDwgIiAo
IiA8PCBib3gubG9naWNhbExlZnQoKSA8PCAiLCAiIDw8IGJveC5sb2dpY2FsVG9wKCkgPDwgIikg
KCIgPDwgYm94LmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBib3gubG9naWNhbEhlaWdodCgpIDw8
ICIpIjsKKyAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGJveC5sZWZ0KCkgPDwgIiwgIiA8
PCBib3gudG9wKCkgPDwgIikgKCIgPDwgYm94LndpZHRoKCkgPDwgIngiIDw8IGJveC5oZWlnaHQo
KSA8PCAiKSI7CiAgICAgICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICAgICAgICAgIG1p
c21hdGNoZWQgPSB0cnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBhN2YwYTUyNDE5YjI4ZWY2ZDk4
MTU1ZTViZGI0MzQ5ZWI3MmYxOWRhLi45MWE2ZTQ3M2MxNGMxMDAzZWZkN2Y0ZGYzZmRiZjNiMGRm
ZGE1OTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250
ZW50QnVpbGRlci5jcHAKQEAgLTQyNyw4ICs0MjcsOCBAQCB2b2lkIElubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNw
bAogICAgIGF1dG8mIGxheW91dEJveCA9IGRpc3BsYXlCb3gubGF5b3V0Qm94KCk7CiAKICAgICBp
ZiAoIWRpc3BsYXlCb3guaXNOb25Sb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgZGlzcGxheUJv
eC5zZXRMb2dpY2FsTGVmdChjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyKTsKLSAgICAgICAgY29u
dGVudFJpZ2h0SW5WaXN1YWxPcmRlciArPSBkaXNwbGF5Qm94LmxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICBkaXNwbGF5Qm94LnNldExlZnQoY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlcik7CisgICAg
ICAgIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgKz0gZGlzcGxheUJveC53aWR0aCgpOwogICAg
ICAgICBpZiAoZGlzcGxheUJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgfHwgZGlzcGxheUJv
eC5pc0dlbmVyaWNJbmxpbmVMZXZlbEJveCgpKQogICAgICAgICAgICAgY29udGVudFJpZ2h0SW5W
aXN1YWxPcmRlciArPSBmb3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpLm1h
cmdpbkVuZCgpOwogICAgICAgICByZXR1cm47CkBAIC00MzksMTEgKzQzOSwxMSBAQCB2b2lkIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5
Qm94KHNpemVfdCBkaXNwbAogICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dp
Y2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgYm94R2VvbWV0cnkpOwogICAgICAg
ICBhdXRvIHZpc3VhbFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUJveExvZ2ljYWxUb3AgKyBsb2dp
Y2FsUmVjdC50b3AoKSwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgeyB9LCBsb2dpY2FsUmVj
dC5oZWlnaHQoKSB9OwogICAgICAgICBpZiAoIWRpc3BsYXlCb3guaXNGaXJzdEZvckxheW91dEJv
eCgpKQotICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3guc2V0TG9naWNhbFJlY3QodmlzdWFs
UmVjdCwgdmlzdWFsUmVjdCk7CisgICAgICAgICAgICByZXR1cm4gZGlzcGxheUJveC5zZXRSZWN0
KHZpc3VhbFJlY3QsIHZpc3VhbFJlY3QpOwogCiAgICAgICAgIGNvbnRlbnRSaWdodEluVmlzdWFs
T3JkZXIgKz0gYm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKTsKICAgICAgICAgYXV0byB2aXN1YWxS
ZWN0V2l0aE1hcmdpblN0YXJ0ID0gSW5saW5lUmVjdCB7IHZpc3VhbFJlY3QudG9wKCksIGNvbnRl
bnRSaWdodEluVmlzdWFsT3JkZXIsIHZpc3VhbFJlY3Qud2lkdGgoKSwgdmlzdWFsUmVjdC5oZWln
aHQoKSB9OwotICAgICAgICBkaXNwbGF5Qm94LnNldExvZ2ljYWxSZWN0KHZpc3VhbFJlY3RXaXRo
TWFyZ2luU3RhcnQsIHZpc3VhbFJlY3RXaXRoTWFyZ2luU3RhcnQpOworICAgICAgICBkaXNwbGF5
Qm94LnNldFJlY3QodmlzdWFsUmVjdFdpdGhNYXJnaW5TdGFydCwgdmlzdWFsUmVjdFdpdGhNYXJn
aW5TdGFydCk7CiAgICAgICAgIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgKz0gYm94R2VvbWV0
cnkuYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCk7CiAgICAgfTsKICAgICBiZWZvcmVJbmxpbmVCb3hD
b250ZW50KCk7CkBAIC00NTMsMjIgKzQ1MywyMiBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbAog
CiAgICAgYXV0byBhZnRlcklubGluZUJveENvbnRlbnQgPSBbJl0gewogICAgICAgICBpZiAoIWRp
c3BsYXlCb3guaXNMYXN0Rm9yTGF5b3V0Qm94KCkpCi0gICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUJveC5zZXRMb2dpY2FsUmlnaHQoY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlcik7CisgICAgICAg
ICAgICByZXR1cm4gZGlzcGxheUJveC5zZXRSaWdodChjb250ZW50UmlnaHRJblZpc3VhbE9yZGVy
KTsKIAogICAgICAgICBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyICs9IGJveEdlb21ldHJ5LmJv
cmRlckFuZFBhZGRpbmdFbmQoKTsKLSAgICAgICAgZGlzcGxheUJveC5zZXRMb2dpY2FsUmlnaHQo
Y29udGVudFJpZ2h0SW5WaXN1YWxPcmRlcik7CisgICAgICAgIGRpc3BsYXlCb3guc2V0UmlnaHQo
Y29udGVudFJpZ2h0SW5WaXN1YWxPcmRlcik7CiAgICAgICAgIGNvbnRlbnRSaWdodEluVmlzdWFs
T3JkZXIgKz0gYm94R2VvbWV0cnkubWFyZ2luRW5kKCk7CiAgICAgfTsKICAgICBhZnRlcklubGlu
ZUJveENvbnRlbnQoKTsKIAogICAgIGF1dG8gY29tcHV0ZUlua092ZXJmbG93ID0gWyZdIHsKLSAg
ICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IGRpc3BsYXlCb3gubG9naWNhbFJlY3QoKTsKKyAgICAg
ICAgYXV0byBpbmtPdmVyZmxvdyA9IGRpc3BsYXlCb3gucmVjdCgpOwogICAgICAgICBtX2NvbnRl
bnRIYXNJbmtPdmVyZmxvdyA9IGNvbXB1dGVCb3hTaGFkb3dJbmtPdmVyZmxvdyghbV9saW5lSW5k
ZXggPyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91dEJveC5zdHlsZSgpLCBpbmtP
dmVyZmxvdykgfHwgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3c7CiAgICAgICAgIGRpc3BsYXlCb3gu
YWRqdXN0SW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpOwogICAgIH07CiAgICAgY29tcHV0ZUlua092
ZXJmbG93KCk7CiAKLSAgICBzZXRJbmxpbmVCb3hHZW9tZXRyeShsYXlvdXRCb3gsIGRpc3BsYXlC
b3gubG9naWNhbFJlY3QoKSwgZGlzcGxheUJveC5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkpOworICAg
IHNldElubGluZUJveEdlb21ldHJ5KGxheW91dEJveCwgZGlzcGxheUJveC5yZWN0KCksIGRpc3Bs
YXlCb3guaXNGaXJzdEZvckxheW91dEJveCgpKTsKICAgICBpZiAobGluZUJveC5pbmxpbmVMZXZl
bEJveEZvckxheW91dEJveChsYXlvdXRCb3gpLmhhc0NvbnRlbnQoKSkKICAgICAgICAgZGlzcGxh
eUJveC5zZXRIYXNDb250ZW50KCk7CiB9CkBAIC01ODYsOSArNTg2LDkgQEAgdm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlz
cGxheUJveGVzJgogICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBib3hlc1swXTsKICAgICBBU1NF
UlQocm9vdElubGluZUJveC5pc1Jvb3RJbmxpbmVCb3goKSk7CiAKLSAgICBhdXRvIHJvb3RJbmxp
bmVCb3hSZWN0ID0gcm9vdElubGluZUJveC5sb2dpY2FsUmVjdCgpOworICAgIGF1dG8gcm9vdElu
bGluZUJveFJlY3QgPSByb290SW5saW5lQm94LnJlY3QoKTsKICAgICBpZiAocm9vdElubGluZUJv
eFJlY3QucmlnaHQoKSA8PSBsaW5lQm94TG9naWNhbFJpZ2h0KSB7Ci0gICAgICAgIEFTU0VSVChi
b3hlcy5sYXN0KCkubG9naWNhbFJpZ2h0KCkgPD0gbGluZUJveExvZ2ljYWxSaWdodCk7CisgICAg
ICAgIEFTU0VSVChib3hlcy5sYXN0KCkucmlnaHQoKSA8PSBsaW5lQm94TG9naWNhbFJpZ2h0KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjAwLDcgKzYwMCw3IEBAIHZvaWQgSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERp
c3BsYXlCb3hlcyYKICAgICBmb3IgKGF1dG8gaW5kZXggPSBib3hlcy5zaXplKCk7IGluZGV4LS07
KSB7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBib3hlc1tpbmRleF07CiAKLSAgICAgICAg
aWYgKGRpc3BsYXlCb3gubG9naWNhbExlZnQoKSA+PSBsaW5lQm94TG9naWNhbFJpZ2h0KSB7Cisg
ICAgICAgIGlmIChkaXNwbGF5Qm94LmxlZnQoKSA+PSBsaW5lQm94TG9naWNhbFJpZ2h0KSB7CiAg
ICAgICAgICAgICAvLyBGdWxseSBvdmVyZmxvd24gYm94ZXMgYXJlIGNvbGxhcHNlZC4KICAgICAg
ICAgICAgIGRpc3BsYXlCb3gudHJ1bmNhdGUoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAt
NjA5LDcgKzYwOSw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNz
T3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hlcyYKICAgICAgICAgLy8gV2Uga2Vl
cCB0cnVuY2F0aW5nIGNvbnRlbnQgdW50aWwgYWZ0ZXIgd2UgY2FuIGFjY29tbW9kYXRlIHRoZSBl
bGxpcHNpcyBjb250ZW50CiAgICAgICAgIC8vIDEuIGZ1bGx5IHRydW5jYXRlIGluIGNhc2Ugb2Yg
aW5saW5lIGxldmVsIGJveGVzIChpZSBub24tdGV4dCBjb250ZW50KSBvciBpZiBlbGxpcHNpcyBj
b250ZW50IGlzIHdpZGVyIHRoYW4gdGhlIG92ZXJmbG93aW5nIG9uZS4KICAgICAgICAgLy8gMi4g
cGFydGlhbGx5IHRydW5jYXRlZCB0byBtYWtlIHJvb20gZm9yIHRoZSBlbGxpcHNpcyBib3guCi0g
ICAgICAgIGF1dG8gYXZhaWxhYmxlUm9vbUZvckVsbGlwc2lzID0gbGluZUJveExvZ2ljYWxSaWdo
dCAtIGRpc3BsYXlCb3gubG9naWNhbExlZnQoKTsKKyAgICAgICAgYXV0byBhdmFpbGFibGVSb29t
Rm9yRWxsaXBzaXMgPSBsaW5lQm94TG9naWNhbFJpZ2h0IC0gZGlzcGxheUJveC5sZWZ0KCk7CiAg
ICAgICAgIGlmIChhdmFpbGFibGVSb29tRm9yRWxsaXBzaXMgPD0gZWxsaXBzaXNXaWR0aCkgewog
ICAgICAgICAgICAgLy8gQ2FuJ3QgYWNjb21tb2RhdGUgdGhlIGVsbGlwc2lzIGNvbnRlbnQgaGVy
ZS4gV2UgbmVlZCB0byB0cnVuY2F0ZSBub24tb3ZlcmZsb3dpbmcgYm94ZXMgdG9vLgogICAgICAg
ICAgICAgZGlzcGxheUJveC50cnVuY2F0ZSgpOwpAQCAtNjIwLDcgKzYyMCw3IEBAIHZvaWQgSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lz
KERpc3BsYXlCb3hlcyYKICAgICAgICAgaWYgKGRpc3BsYXlCb3guaXNUZXh0KCkpIHsKICAgICAg
ICAgICAgIGF1dG8gdGV4dCA9ICpkaXNwbGF5Qm94LnRleHQoKTsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBDaGVjayBpZiBpdCBuZWVkcyBhZGp1c3RtZW50IGZvciBSVEwgZGlyZWN0aW9uLgotICAg
ICAgICAgICAgdHJ1bmNhdGVkV2lkdGggPSBUZXh0VXRpbDo6YnJlYWtXb3JkKGRvd25jYXN0PElu
bGluZVRleHRCb3g+KGRpc3BsYXlCb3gubGF5b3V0Qm94KCkpLCB0ZXh0LnN0YXJ0KCksIHRleHQu
bGVuZ3RoKCksIGRpc3BsYXlCb3gubG9naWNhbFdpZHRoKCksIGF2YWlsYWJsZVJvb21Gb3JFbGxp
cHNpcyAtIGVsbGlwc2lzV2lkdGgsIHsgfSwgZGlzcGxheUJveC5zdHlsZSgpLmZvbnRDYXNjYWRl
KCkpLmxvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIHRydW5jYXRlZFdpZHRoID0gVGV4dFV0aWw6
OmJyZWFrV29yZChkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihkaXNwbGF5Qm94LmxheW91dEJveCgp
KSwgdGV4dC5zdGFydCgpLCB0ZXh0Lmxlbmd0aCgpLCBkaXNwbGF5Qm94LndpZHRoKCksIGF2YWls
YWJsZVJvb21Gb3JFbGxpcHNpcyAtIGVsbGlwc2lzV2lkdGgsIHsgfSwgZGlzcGxheUJveC5zdHls
ZSgpLmZvbnRDYXNjYWRlKCkpLmxvZ2ljYWxXaWR0aDsKICAgICAgICAgfQogICAgICAgICBkaXNw
bGF5Qm94LnRydW5jYXRlKHRydW5jYXRlZFdpZHRoKTsKICAgICAgICAgZmlyc3RUcnVuY2F0ZWRC
b3hJbmRleCA9IGluZGV4OwpAQCAtNjI4LDkgKzYyOCw5IEBAIHZvaWQgSW5saW5lRGlzcGxheUNv
bnRlbnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hl
cyYKICAgICB9CiAgICAgQVNTRVJUKGZpcnN0VHJ1bmNhdGVkQm94SW5kZXggPCBib3hlcy5zaXpl
KCkpOwogICAgIC8vIENvbGxhcHNlIHRydW5jYXRlZCBydW5zLgotICAgIGF1dG8gY29udGVudFJp
Z2h0ID0gYm94ZXNbZmlyc3RUcnVuY2F0ZWRCb3hJbmRleF0ubG9naWNhbFJpZ2h0KCk7CisgICAg
YXV0byBjb250ZW50UmlnaHQgPSBib3hlc1tmaXJzdFRydW5jYXRlZEJveEluZGV4XS5yaWdodCgp
OwogICAgIGZvciAoYXV0byBpbmRleCA9IGZpcnN0VHJ1bmNhdGVkQm94SW5kZXggKyAxOyBpbmRl
eCA8IGJveGVzLnNpemUoKTsgKytpbmRleCkKLSAgICAgICAgYm94ZXNbaW5kZXhdLm1vdmVIb3Jp
em9udGFsbHkoY29udGVudFJpZ2h0IC0gYm94ZXNbaW5kZXhdLmxvZ2ljYWxMZWZ0KCkpOworICAg
ICAgICBib3hlc1tpbmRleF0ubW92ZUhvcml6b250YWxseShjb250ZW50UmlnaHQgLSBib3hlc1tp
bmRleF0ubGVmdCgpKTsKICAgICAvLyBBbmQgYXBwZW5kIHRoZSBlbGxpcHNpcyBib3ggYXMgdGhl
IHRyYWlsaW5nIGl0ZW0uCiAgICAgYXV0byBlbGxpc3Bpc0JveFJlY3QgPSBJbmxpbmVSZWN0IHsg
cm9vdElubGluZUJveFJlY3QudG9wKCksIGNvbnRlbnRSaWdodCwgZWxsaXBzaXNXaWR0aCwgcm9v
dElubGluZUJveFJlY3QuaGVpZ2h0KCkgfTsKICAgICBib3hlcy5hcHBlbmQoeyBtX2xpbmVJbmRl
eApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGNlNDQ4ZDU1MjIyNTg3NGYzNjk5NGQxNThjMWI0MDlhYjFiYTNkNTAuLmYzNjZiMjI3N2U4
MTQyMTA0ZmZkOWM3MTAwOTdjMzA3OWMxMjFlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dD
b250ZW50KGNvbnN0IEZvcgogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgKG5vbi1m
bG9hdCljaGlsZC4gTGV0J3MgcGxhY2UgaXQgdG8gdGhlIGxlZnQgb2YgdGhlIGZpcnN0IGJveC4K
ICAgICAgICAgICAgIC8vIDxkaXY+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj50ZXh0
IGNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgIEFTU0VSVChib3hlcy5zaXplKCkpOwotICAgICAg
ICAgICAgb3V0T2ZGbG93R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQoeyBib3hlc1swXS5sb2dp
Y2FsTGVmdCgpLCBsaW5lc1swXS5saW5lQm94TG9naWNhbFJlY3QoKS50b3AoKSB9KTsKKyAgICAg
ICAgICAgIG91dE9mRmxvd0dlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHsgYm94ZXNbMF0ubGVm
dCgpLCBsaW5lc1swXS5saW5lQm94TG9naWNhbFJlY3QoKS50b3AoKSB9KTsKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTMzNiwyNCArMzM2LDI0IEBAIHZvaWQgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRl
bnQoY29uc3QgRm9yCiAgICAgICAgICAgICBpZiAobmV4dEJveCAmJiBuZXh0Qm94LT5saW5lSW5k
ZXgoKSA9PSBwcmV2aW91c0JveC5saW5lSW5kZXgoKSkgewogICAgICAgICAgICAgICAgIC8vIFBy
ZXZpb3VzIGFuZCBuZXh0IGJveGVzIGFyZSBvbiB0aGUgc2FtZSBsaW5lLiBUaGUgb3V0LW9mLWZs
b3cgYm94IGlzIHJpZ2h0IGF0IHRoZSBwcmV2aW91cyBib3gncyBsb2dpY2FsIHJpZ2h0LgogICAg
ICAgICAgICAgICAgIC8vIDxkaXY+dGV4dDxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+
Y29udGVudDwvZGl2PgotICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbExlZnQgPSBwcmV2aW91
c0JveC5sb2dpY2FsUmlnaHQoKTsKKyAgICAgICAgICAgICAgICBhdXRvIGxlZnQgPSBwcmV2aW91
c0JveC5yaWdodCgpOwogICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c0NvbnRlbnRTa2lwcGlu
Z0Zsb2F0cy0+aXNJbmxpbmVCb3goKSAmJiAhcHJldmlvdXNDb250ZW50U2tpcHBpbmdGbG9hdHMt
PmlzQW5vbnltb3VzKCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gPGRpdj50ZXh0PHNwYW4+
PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwvZGl2PgogICAg
ICAgICAgICAgICAgICAgICAvLyBvcgogICAgICAgICAgICAgICAgICAgICAvLyA8ZGl2PnRleHQ8
c3Bhbj5jb250ZW50PC9zcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+
CiAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGlubGluZUJveEJveEdlb21ldHJ5ID0gZ2VvbWV0
cnlGb3JCb3goKnByZXZpb3VzQ29udGVudFNraXBwaW5nRmxvYXRzKTsKLSAgICAgICAgICAgICAg
ICAgICAgbG9naWNhbExlZnQgPSBwcmV2aW91c0NvbnRlbnRTa2lwcGluZ0Zsb2F0cyA9PSAmb3V0
T2ZGbG93Qm94LT5wYXJlbnQoKQorICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gcHJldmlvdXND
b250ZW50U2tpcHBpbmdGbG9hdHMgPT0gJm91dE9mRmxvd0JveC0+cGFyZW50KCkKICAgICAgICAg
ICAgICAgICAgICAgICAgID8gQm94R2VvbWV0cnk6OmJvcmRlckJveExlZnQoaW5saW5lQm94Qm94
R2VvbWV0cnkpICsgaW5saW5lQm94Qm94R2VvbWV0cnkuY29udGVudEJveExlZnQoKQogICAgICAg
ICAgICAgICAgICAgICAgICAgOiBCb3hHZW9tZXRyeTo6Ym9yZGVyQm94UmVjdChpbmxpbmVCb3hC
b3hHZW9tZXRyeSkucmlnaHQoKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
b3V0T2ZGbG93R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQoeyBsb2dpY2FsTGVmdCwgbGluZXNb
cHJldmlvdXNCb3gubGluZUluZGV4KCldLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRvcCgpIH0pOwor
ICAgICAgICAgICAgICAgIG91dE9mRmxvd0dlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHsgbGVm
dCwgbGluZXNbcHJldmlvdXNCb3gubGluZUluZGV4KCldLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRv
cCgpIH0pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgaWYgKG5leHRCb3gpIHsKICAgICAgICAgICAgICAgICAvLyBUaGUgb3V0IG9mIGZsb3cg
Ym94IGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IGxpbmUgKHdoZXJlIHRo
ZSBmaXJzdCBib3ggb24gdGhlIGxpbmUgaXMpLgogICAgICAgICAgICAgICAgIC8vIDxkaXY+dGV4
dDxicj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPjxpbWcgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZSI+Y29udGVudDwvZGl2PgotICAgICAgICAgICAgICAgIG91dE9mRmxvd0dlb21l
dHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHsgbmV4dEJveC0+bG9naWNhbExlZnQoKSwgbGluZXNbbmV4
dEJveC0+bGluZUluZGV4KCldLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRvcCgpIH0pOworICAgICAg
ICAgICAgICAgIG91dE9mRmxvd0dlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHsgbmV4dEJveC0+
bGVmdCgpLCBsaW5lc1tuZXh0Qm94LT5saW5lSW5kZXgoKV0ubGluZUJveExvZ2ljYWxSZWN0KCku
dG9wKCkgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCkBAIC0z
NjYsNyArMzY2LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRp
Y1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3IKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgbWF5IG5lZWQg
dG8gY2hlY2sgaWYgdGhpcyBib3ggYWN0dWFsbHkgZml0cyB0aGUgbGFzdCBsaW5lIGFuZCBtb3Zl
IGl0IG92ZXIgdG8gdGhlICJuZXh0IiBsaW5lLgotICAgICAgICAgICAgb3V0T2ZGbG93R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQoeyBwcmV2aW91c0JveC5sb2dpY2FsUmlnaHQoKSwgbGFzdExp
bmVMb2dpY2FsUmVjdC50b3AoKSB9KTsKKyAgICAgICAgICAgIG91dE9mRmxvd0dlb21ldHJ5LnNl
dExvZ2ljYWxUb3BMZWZ0KHsgcHJldmlvdXNCb3gucmlnaHQoKSwgbGFzdExpbmVMb2dpY2FsUmVj
dC50b3AoKSB9KTsKICAgICAgICAgfTsKICAgICAgICAgcGxhY2VPdXRPZkZsb3dCb3hBZnRlclBy
ZXZpb3VzSW5GbG93Qm94KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5
L0lubGluZURpc3BsYXlCb3guaAppbmRleCAwMDQ5OWM4MTc4MGNjOWQ5Nzc4YmQ1OWM2OGE1MWM5
MGY2YTI5YWU3Li40NGM2Y2E5ZmJmOWI5M2YyNTk2NWNkNGE4YjE4MTIzZTk5ZTA2YjA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaApAQCAtOTUs
NDQgKzk1LDQ0IEBAIHN0cnVjdCBCb3ggewogCiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNDb250ZW50OyB9CiAKLSAgICBjb25zdCBMYXlvdXQ6OklubGluZVJlY3Qm
IGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQorICAgIGNvbnN0
IExheW91dDo6SW5saW5lUmVjdCYgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcGh5c2ljYWxSZWN0
OyB9CiAgICAgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdygpIGNvbnN0IHsg
cmV0dXJuIG1faW5rT3ZlcmZsb3c7IH0KIAotICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS50b3AoKTsgfQotICAgIExh
eW91dDo6SW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbG9n
aWNhbFJlY3QoKS5ib3R0b20oKTsgfQotICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBsb2dp
Y2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkubGVmdCgpOyB9Ci0gICAgTGF5
b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2lj
YWxSZWN0KCkucmlnaHQoKTsgfQorICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCB0b3AoKSBj
b25zdCB7IHJldHVybiByZWN0KCkudG9wKCk7IH0KKyAgICBMYXlvdXQ6OklubGluZUxheW91dFVu
aXQgYm90dG9tKCkgY29uc3QgeyByZXR1cm4gcmVjdCgpLmJvdHRvbSgpOyB9CisgICAgTGF5b3V0
OjpJbmxpbmVMYXlvdXRVbml0IGxlZnQoKSBjb25zdCB7IHJldHVybiByZWN0KCkubGVmdCgpOyB9
CisgICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHJpZ2h0KCkgY29uc3QgeyByZXR1cm4gcmVj
dCgpLnJpZ2h0KCk7IH0KIAotICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lk
dGgoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLndpZHRoKCk7IH0KLSAgICBMYXlvdXQ6
OklubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxS
ZWN0KCkuaGVpZ2h0KCk7IH0KKyAgICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgd2lkdGgoKSBj
b25zdCB7IHJldHVybiByZWN0KCkud2lkdGgoKTsgfQorICAgIExheW91dDo6SW5saW5lTGF5b3V0
VW5pdCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiByZWN0KCkuaGVpZ2h0KCk7IH0KIAogICAgIHZv
aWQgbW92ZVZlcnRpY2FsbHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkKICAgICB7
Ci0gICAgICAgIG1fbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsKKyAgICAgICAg
bV9waHlzaWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsKICAgICAgICAgbV9pbmtPdmVy
Zmxvdy5tb3ZlVmVydGljYWxseShvZmZzZXQpOwogICAgIH0KICAgICB2b2lkIG1vdmVIb3Jpem9u
dGFsbHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkKICAgICB7Ci0gICAgICAgIG1f
bG9naWNhbFJlY3QubW92ZUhvcml6b250YWxseShvZmZzZXQpOworICAgICAgICBtX3BoeXNpY2Fs
UmVjdC5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7CiAgICAgICAgIG1faW5rT3ZlcmZsb3cubW92
ZUhvcml6b250YWxseShvZmZzZXQpOwogICAgIH0KICAgICB2b2lkIGFkanVzdElua092ZXJmbG93
KGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgY2hpbGRCb3JkZXJCb3gpIHsgcmV0dXJuIG1faW5r
T3ZlcmZsb3cuZXhwYW5kVG9Db250YWluKGNoaWxkQm9yZGVyQm94KTsgfQogICAgIHZvaWQgdHJ1
bmNhdGUoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHRydW5jYXRlZHdpZHRoID0gMC5mKTsKLSAg
ICB2b2lkIHNldExvZ2ljYWxMZWZ0KExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBsZWZ0KQorICAg
IHZvaWQgc2V0TGVmdChMYXlvdXQ6OklubGluZUxheW91dFVuaXQgcHlzaWNhbExlZnQpCiAgICAg
ewotICAgICAgICBhdXRvIG9mZnNldCA9IGxlZnQgLSBsb2dpY2FsTGVmdCgpOwotICAgICAgICBt
X2xvZ2ljYWxSZWN0LnNldExlZnQobGVmdCk7CisgICAgICAgIGF1dG8gb2Zmc2V0ID0gcHlzaWNh
bExlZnQgLSBsZWZ0KCk7CisgICAgICAgIG1fcGh5c2ljYWxSZWN0LnNldExlZnQocHlzaWNhbExl
ZnQpOwogICAgICAgICBtX2lua092ZXJmbG93LnNldExlZnQobV9pbmtPdmVyZmxvdy5sZWZ0KCkg
KyBvZmZzZXQpOwogICAgIH0KLSAgICB2b2lkIHNldExvZ2ljYWxSaWdodChMYXlvdXQ6OklubGlu
ZUxheW91dFVuaXQgcmlnaHQpCisgICAgdm9pZCBzZXRSaWdodChMYXlvdXQ6OklubGluZUxheW91
dFVuaXQgcGh5c2ljYWxSaWdodCkKICAgICB7Ci0gICAgICAgIGF1dG8gb2Zmc2V0ID0gcmlnaHQg
LSBsb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgbV9sb2dpY2FsUmVjdC5zZXRSaWdodChyaWdodCk7
CisgICAgICAgIGF1dG8gb2Zmc2V0ID0gcGh5c2ljYWxSaWdodCAtIHJpZ2h0KCk7CisgICAgICAg
IG1fcGh5c2ljYWxSZWN0LnNldFJpZ2h0KHBoeXNpY2FsUmlnaHQpOwogICAgICAgICBtX2lua092
ZXJmbG93LnNldFJpZ2h0KG1faW5rT3ZlcmZsb3cucmlnaHQoKSArIG9mZnNldCk7CiAgICAgfQot
ICAgIHZvaWQgc2V0TG9naWNhbFJlY3QoY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiByZWN0LCBj
b25zdCBMYXlvdXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93KQorICAgIHZvaWQgc2V0UmVjdChj
b25zdCBMYXlvdXQ6OklubGluZVJlY3QmIHJlY3QsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYg
aW5rT3ZlcmZsb3cpCiAgICAgewotICAgICAgICBtX2xvZ2ljYWxSZWN0ID0gcmVjdDsKKyAgICAg
ICAgbV9waHlzaWNhbFJlY3QgPSByZWN0OwogICAgICAgICBtX2lua092ZXJmbG93ID0gaW5rT3Zl
cmZsb3c7CiAgICAgfQogICAgIHZvaWQgc2V0SGFzQ29udGVudCgpIHsgbV9oYXNDb250ZW50ID0g
dHJ1ZTsgfQpAQCAtMTYzLDcgKzE2Myw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgVHlwZSBtX3R5
cGUgeyBUeXBlOjpHZW5lcmljSW5saW5lTGV2ZWxCb3ggfTsKICAgICBDaGVja2VkUmVmPGNvbnN0
IExheW91dDo6Qm94PiBtX2xheW91dEJveDsKICAgICBVQmlEaUxldmVsIG1fYmlkaUxldmVsIHsg
VUJJRElfREVGQVVMVF9MVFIgfTsKLSAgICBMYXlvdXQ6OklubGluZVJlY3QgbV9sb2dpY2FsUmVj
dDsKKyAgICBMYXlvdXQ6OklubGluZVJlY3QgbV9waHlzaWNhbFJlY3Q7CiAgICAgTGF5b3V0OjpJ
bmxpbmVSZWN0IG1faW5rT3ZlcmZsb3c7CiAgICAgYm9vbCBtX2hhc0NvbnRlbnQgOiAxOwogICAg
IGJvb2wgbV9pc0ZpcnN0Rm9yTGF5b3V0Qm94IDogMTsKQEAgLTE3MiwxMiArMTcyLDEyIEBAIHBy
aXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3RleHQ7CiB9OwogCi1pbmxpbmUgQm94
OjpCb3goc2l6ZV90IGxpbmVJbmRleCwgVHlwZSB0eXBlLCBjb25zdCBMYXlvdXQ6OkJveCYgbGF5
b3V0Qm94LCBVQmlEaUxldmVsIGJpZGlMZXZlbCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiBs
b2dpY2FsUmVjdCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5z
aW9uIGV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiB0ZXh0LCBib29sIGhhc0NvbnRlbnQs
IE9wdGlvblNldDxQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiBwb3NpdGlvbldpdGhpbklu
bGluZUxldmVsQm94KQoraW5saW5lIEJveDo6Qm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUgdHlw
ZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgVUJpRGlMZXZlbCBiaWRpTGV2ZWwsIGNv
bnN0IExheW91dDo6SW5saW5lUmVjdCYgcGh5c2ljYWxSZWN0LCBjb25zdCBMYXlvdXQ6OklubGlu
ZVJlY3QmIGlua092ZXJmbG93LCBFeHBhbnNpb24gZXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRl
eHQ+IHRleHQsIGJvb2wgaGFzQ29udGVudCwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5l
TGV2ZWxCb3g+IHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3gpCiAgICAgOiBtX2xpbmVJbmRl
eChsaW5lSW5kZXgpCiAgICAgLCBtX3R5cGUodHlwZSkKICAgICAsIG1fbGF5b3V0Qm94KGxheW91
dEJveCkKICAgICAsIG1fYmlkaUxldmVsKGJpZGlMZXZlbCkKLSAgICAsIG1fbG9naWNhbFJlY3Qo
bG9naWNhbFJlY3QpCisgICAgLCBtX3BoeXNpY2FsUmVjdChwaHlzaWNhbFJlY3QpCiAgICAgLCBt
X2lua092ZXJmbG93KGlua092ZXJmbG93KQogICAgICwgbV9oYXNDb250ZW50KGhhc0NvbnRlbnQp
CiAgICAgLCBtX2lzRmlyc3RGb3JMYXlvdXRCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJv
eC5jb250YWlucyhQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpGaXJzdCkpCkBAIC0xOTgs
OCArMTk4LDggQEAgaW5saW5lIEJveDo6VGV4dDo6VGV4dChzaXplX3Qgc3RhcnQsIHNpemVfdCBs
ZW5ndGgsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxDb250ZW4KIAogaW5saW5lIHZvaWQgQm94Ojp0
cnVuY2F0ZShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgdHJ1bmNhdGVkd2lkdGgpCiB7Ci0gICAg
bV9sb2dpY2FsUmVjdC5zZXRXaWR0aCh0cnVuY2F0ZWR3aWR0aCk7Ci0gICAgbV9pbmtPdmVyZmxv
dy5zZXRSaWdodChtX2xvZ2ljYWxSZWN0LnJpZ2h0KCkpOworICAgIG1fcGh5c2ljYWxSZWN0LnNl
dFdpZHRoKHRydW5jYXRlZHdpZHRoKTsKKyAgICBtX2lua092ZXJmbG93LnNldFJpZ2h0KG1fcGh5
c2ljYWxSZWN0LnJpZ2h0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgK
aW5kZXggOGFjNmRlMDRlYTljMTRkYzRkZjEwMzBhMGMzZGE4ZDY5MzhjZGVmMC4uMjUyYWFiOGYz
NDQxMTg3NGUzMWZjMjcyMzQ4NDc0ZDdkYTRlNzI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVy
blBhdGguaApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0lubGluZUJveCgp
IGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7IH0KICAgICBib29sIGlzUm9vdElu
bGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9vdElubGluZUJveCgpOyB9CiAKLSAg
ICBGbG9hdFJlY3QgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmxvZ2ljYWxSZWN0KCk7IH0K
KyAgICBGbG9hdFJlY3QgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLnJlY3QoKTsgfQogCiAg
ICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBp
c0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzTGluZUJyZWFrKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uQm94VHJlZS5jcHAKaW5kZXggOGYzOThhNzgzOTI4ZDFmOTg1YTM0NmExMDMyYmJl
N2JlMzkyYWQ0MS4uY2U2NzJjMGZmZDE0YmNhN2E3MDFjMDRiOTk2ZjVmZWMzNDI1MDc0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQm94VHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQm94VHJlZS5jcHAKQEAgLTI3Niw3ICsyNzYsNyBAQCB2b2lkIHNob3dJ
bmxpbmVDb250ZW50KFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3QgSW5saW5lQ29udGVudCYgaW5s
aW5lQ29udGVudCwgcwogICAgICAgICBhdXRvIG91dHB1dElubGluZUxldmVsQm94ID0gWyZdKGNv
bnN0IGF1dG8mIGlubGluZUxldmVsQm94KSB7CiAgICAgICAgICAgICBhZGRTcGFjaW5nKCk7CiAg
ICAgICAgICAgICBzdHJlYW0gPDwgIiAgICAiOwotICAgICAgICAgICAgYXV0byBsb2dpY2FsUmVj
dCA9IGlubGluZUxldmVsQm94LmxvZ2ljYWxSZWN0KCk7CisgICAgICAgICAgICBhdXRvIHJlY3Qg
PSBpbmxpbmVMZXZlbEJveC5yZWN0KCk7CiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBp
bmxpbmVMZXZlbEJveC5sYXlvdXRCb3goKTsKICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNB
dG9taWNJbmxpbmVMZXZlbEJveCgpKQogICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiQXRvbWlj
IGlubGluZSBsZXZlbCBib3giOwpAQCAtMjg3LDggKzI4Nyw4IEBAIHZvaWQgc2hvd0lubGluZUNv
bnRlbnQoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250
ZW50LCBzCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgc3RyZWFtIDw8ICJHZW5l
cmljIGlubGluZSBsZXZlbCBib3giOwogICAgICAgICAgICAgc3RyZWFtCi0gICAgICAgICAgICAg
ICAgPDwgIiBhdCAoIiA8PCBsb2dpY2FsUmVjdC5sZWZ0KCkgPDwgIiwiIDw8IGxvZ2ljYWxSZWN0
LnRvcCgpIDw8ICIpIgotICAgICAgICAgICAgICAgIDw8ICIgc2l6ZSAoIiA8PCBsb2dpY2FsUmVj
dC53aWR0aCgpIDw8ICJ4IiA8PCBsb2dpY2FsUmVjdC5oZWlnaHQoKSA8PCAiKSI7CisgICAgICAg
ICAgICAgICAgPDwgIiBhdCAoIiA8PCByZWN0LmxlZnQoKSA8PCAiLCIgPDwgcmVjdC50b3AoKSA8
PCAiKSIKKyAgICAgICAgICAgICAgICA8PCAiIHNpemUgKCIgPDwgcmVjdC53aWR0aCgpIDw8ICJ4
IiA8PCByZWN0LmhlaWdodCgpIDw8ICIpIjsKICAgICAgICAgICAgIHN0cmVhbS5uZXh0TGluZSgp
OwogICAgICAgICB9OwogICAgICAgICBmb3IgKGF1dG8mIGJveCA6IGJveGVzKSB7CkBAIC0zMTEs
NyArMzExLDcgQEAgdm9pZCBzaG93SW5saW5lQ29udGVudChUZXh0U3RyZWFtJiBzdHJlYW0sIGNv
bnN0IElubGluZUNvbnRlbnQmIGlubGluZUNvbnRlbnQsIHMKICAgICAgICAgICAgICAgICBzdHJl
YW0gPDwgInRleHQgYm94IjsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBzdHJl
YW0gPDwgImJveCBib3giOwotICAgICAgICAgICAgc3RyZWFtIDw8ICIgYXQgKCIgPDwgYm94Lmxv
Z2ljYWxMZWZ0KCkgPDwgIiwiIDw8IGJveC5sb2dpY2FsVG9wKCkgPDwgIikgc2l6ZSAiIDw8IGJv
eC5sb2dpY2FsV2lkdGgoKSA8PCAieCIgPDwgYm94LmxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAg
ICAgIHN0cmVhbSA8PCAiIGF0ICgiIDw8IGJveC5sZWZ0KCkgPDwgIiwiIDw8IGJveC50b3AoKSA8
PCAiKSBzaXplICIgPDwgYm94LndpZHRoKCkgPDwgIngiIDw8IGJveC5oZWlnaHQoKTsKICAgICAg
ICAgICAgIGlmIChib3gudGV4dCgpKQogICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiIGJveCgi
IDw8IGJveC50ZXh0KCktPnN0YXJ0KCkgPDwgIiwgIiA8PCBib3gudGV4dCgpLT5lbmQoKSA8PCAi
KSI7CiAgICAgICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBjYzI4YTBiZjNkNTIzMzhiN2My
NDk3Njk0OTRhNmFkMDFjNWVjM2RiLi44NGM4ZjgyY2I4ZDEzMjM4MDIxNDU4NDAyM2IxOTQ5M2Q1
NDA3MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuY3BwCkBAIC05NCwxNCArOTQsMTQgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3Jl
YXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAg
ICAgICAgIGlmIChsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKSB7CiAgICAgICAgICAgICAgICAg
Ly8gU2ltaWxhciB0byBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRSZXBsYWNlZENoaWxkT3ZlcmZs
b3cuCiAgICAgICAgICAgICAgICAgYXV0byYgcmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJCb3g+
KG1fYm94VHJlZS5yZW5kZXJlckZvckxheW91dEJveChsYXlvdXRCb3gpKTsKLSAgICAgICAgICAg
ICAgICBhdXRvIGJveExvZ2ljYWxSZWN0ID0gYm94LmxvZ2ljYWxSZWN0KCk7CisgICAgICAgICAg
ICAgICAgYXV0byBib3hSZWN0ID0gYm94LnJlY3QoKTsKICAgICAgICAgICAgICAgICBpZiAoIXJl
bmRlcmVyLmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0
byBjaGlsZElua092ZXJmbG93ID0gcmVuZGVyZXIubG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uKCZyZW5kZXJlci5wYXJlbnQoKS0+c3R5bGUoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGNoaWxkSW5rT3ZlcmZsb3cubW92ZShib3hMb2dpY2FsUmVjdC5sZWZ0KCksIGJveExv
Z2ljYWxSZWN0LnRvcCgpKTsKKyAgICAgICAgICAgICAgICAgICAgY2hpbGRJbmtPdmVyZmxvdy5t
b3ZlKGJveFJlY3QubGVmdCgpLCBib3hSZWN0LnRvcCgpKTsKICAgICAgICAgICAgICAgICAgICAg
bGluZUlua092ZXJmbG93UmVjdC51bml0ZShjaGlsZElua092ZXJmbG93KTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgYXV0byBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdyA9IHJl
bmRlcmVyLmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbigmcmVuZGVyZXIu
cGFyZW50KCktPnN0eWxlKCkpOwotICAgICAgICAgICAgICAgIGNoaWxkU2Nyb2xsYWJsZU92ZXJm
bG93Lm1vdmUoYm94TG9naWNhbFJlY3QubGVmdCgpLCBib3hMb2dpY2FsUmVjdC50b3AoKSk7Cisg
ICAgICAgICAgICAgICAgY2hpbGRTY3JvbGxhYmxlT3ZlcmZsb3cubW92ZShib3hSZWN0LmxlZnQo
KSwgYm94UmVjdC50b3AoKSk7CiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dC51bml0ZShjaGlsZFNjcm9sbGFibGVPdmVyZmxvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggNzRjMzhlYTM2M2E5ZDAw
OTBlMWRiZGE5NzQwZWY2ODBkMDA1MmQ0OS4uZTdiZDEzZmEzYTBlMjc0OTk2MGIyZGYxNDY4OWMw
OGI4NDcxZmQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTQ0Nyw3
ICs0NDcsNyBAQCBMYXlvdXRSZWN0IExpbmVMYXlvdXQ6OmZpcnN0SW5saW5lQm94UmVjdChjb25z
dCBSZW5kZXJJbmxpbmUmIHJlbmRlcklubGluZSkgY29ucwogICAgIGF1dG8mIGxheW91dEJveCA9
IG1fYm94VHJlZS5sYXlvdXRCb3hGb3JSZW5kZXJlcihyZW5kZXJJbmxpbmUpOwogCiAgICAgaWYg
KGF1dG8qIGJveCA9IG1faW5saW5lQ29udGVudC0+Zmlyc3RCb3hGb3JMYXlvdXRCb3gobGF5b3V0
Qm94KSkKLSAgICAgICAgcmV0dXJuIExheW91dDo6dG9MYXlvdXRSZWN0KGJveC0+bG9naWNhbFJl
Y3QoKSk7CisgICAgICAgIHJldHVybiBMYXlvdXQ6OnRvTGF5b3V0UmVjdChib3gtPnJlY3QoKSk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtNDg1LDcgKzQ4NSw3IEBAIFZlY3RvcjxGbG9hdFJl
Y3Q+IExpbmVMYXlvdXQ6OmNvbGxlY3RJbmxpbmVCb3hSZWN0cyhjb25zdCBSZW5kZXJJbmxpbmUm
IHJlbmRlckluCiAKICAgICBWZWN0b3I8RmxvYXRSZWN0PiByZXN1bHQ7CiAgICAgbV9pbmxpbmVD
b250ZW50LT50cmF2ZXJzZU5vblJvb3RJbmxpbmVCb3hlcyhsYXlvdXRCb3gsIFsmXShhdXRvJiBp
bmxpbmVCb3gpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChpbmxpbmVCb3gubG9naWNhbFJlY3Qo
KSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoaW5saW5lQm94LnJlY3QoKSk7CiAgICAgfSk7CiAK
ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNTgwLDcgKzU4MCw3IEBAIGJvb2wgTGluZUxheW91dDo6
aGl0VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCBjCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8g
Ym94UmVjdCA9IExheW91dDo6dG9MYXlvdXRSZWN0KGJveC5sb2dpY2FsUmVjdCgpKTsKKyAgICAg
ICAgYXV0byBib3hSZWN0ID0gTGF5b3V0Ojp0b0xheW91dFJlY3QoYm94LnJlY3QoKSk7CiAgICAg
ICAgIGJveFJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAogICAgICAgICBpZiAoIWxv
Y2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0cyhib3hSZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCBi
Njk5ODczODBkZDJjZjcxYTViMWJmMmQyNjBlMTc3NTFhMzJhNzEyLi44YmYzMmU1OTNmMzdjNDk4
MjJjMWM5NWE3OGZjNzZkODA2ZDc5YjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0zODYsNyArMzg2LDcg
QEAgdm9pZCBzaG93SW5saW5lVHJlZUFuZFJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBM
YXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGMKICAgICAgICAgYXV0byBvdXRwdXRJbmxpbmVMZXZl
bEJveCA9IFsmXShjb25zdCBhdXRvJiBpbmxpbmVMZXZlbEJveCkgewogICAgICAgICAgICAgYWRk
U3BhY2luZygpOwogICAgICAgICAgICAgc3RyZWFtIDw8ICIgICAgIjsKLSAgICAgICAgICAgIGF1
dG8gbG9naWNhbFJlY3QgPSBpbmxpbmVMZXZlbEJveC5sb2dpY2FsUmVjdCgpOworICAgICAgICAg
ICAgYXV0byByZWN0ID0gaW5saW5lTGV2ZWxCb3gucmVjdCgpOwogICAgICAgICAgICAgYXV0byYg
bGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCk7CiAgICAgICAgICAgICBpZiAo
bGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkKICAgICAgICAgICAgICAgICBzdHJl
YW0gPDwgIkF0b21pYyBpbmxpbmUgbGV2ZWwgYm94IjsKQEAgLTM5Nyw4ICszOTcsOCBAQCB2b2lk
IHNob3dJbmxpbmVUcmVlQW5kUnVucyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IExheW91dFN0
YXRlJiBsYXlvdXRTdGF0ZSwgYwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHN0
cmVhbSA8PCAiR2VuZXJpYyBpbmxpbmUgbGV2ZWwgYm94IjsKICAgICAgICAgICAgIHN0cmVhbQot
ICAgICAgICAgICAgICAgIDw8ICIgYXQgKCIgPDwgbG9naWNhbFJlY3QubGVmdCgpIDw8ICIsIiA8
PCBsb2dpY2FsUmVjdC50b3AoKSA8PCAiKSIKLSAgICAgICAgICAgICAgICA8PCAiIHNpemUgKCIg
PDwgbG9naWNhbFJlY3Qud2lkdGgoKSA8PCAieCIgPDwgbG9naWNhbFJlY3QuaGVpZ2h0KCkgPDwg
IikiOworICAgICAgICAgICAgICAgIDw8ICIgYXQgKCIgPDwgcmVjdC5sZWZ0KCkgPDwgIiwiIDw8
IHJlY3QudG9wKCkgPDwgIikiCisgICAgICAgICAgICAgICAgPDwgIiBzaXplICgiIDw8IHJlY3Qu
d2lkdGgoKSA8PCAieCIgPDwgcmVjdC5oZWlnaHQoKSA8PCAiKSI7CiAgICAgICAgICAgICBzdHJl
YW0ubmV4dExpbmUoKTsKICAgICAgICAgfTsKICAgICAgICAgZm9yIChhdXRvJiBib3ggOiBib3hl
cykgewpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQgc2hvd0lubGluZVRyZWVBbmRSdW5zKFRleHRT
dHJlYW0mIHN0cmVhbSwgY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjCiAgICAgICAg
ICAgICAgICAgc3RyZWFtIDw8ICJ0ZXh0IGJveCI7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgc3RyZWFtIDw8ICJib3ggYm94IjsKLSAgICAgICAgICAgIHN0cmVhbSA8PCAiIGF0
ICgiIDw8IGJveC5sb2dpY2FsTGVmdCgpIDw8ICIsIiA8PCBib3gubG9naWNhbFRvcCgpIDw8ICIp
IHNpemUgIiA8PCBib3gubG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGJveC5sb2dpY2FsSGVpZ2h0
KCk7CisgICAgICAgICAgICBzdHJlYW0gPDwgIiBhdCAoIiA8PCBib3gubGVmdCgpIDw8ICIsIiA8
PCBib3gudG9wKCkgPDwgIikgc2l6ZSAiIDw8IGJveC53aWR0aCgpIDw8ICJ4IiA8PCBib3guaGVp
Z2h0KCk7CiAgICAgICAgICAgICBpZiAoYm94LnRleHQoKSkKICAgICAgICAgICAgICAgICBzdHJl
YW0gPDwgIiBib3goIiA8PCBib3gudGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgYm94LnRleHQo
KS0+ZW5kKCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>