<?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>230200</bug_id>
          
          <creation_ts>2021-09-12 07:08:29 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add scrollable overflow to LineGeometry</short_desc>
          <delta_ts>2021-09-12 19:15:19 -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>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>1792773</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 07:08:29 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792774</commentid>
    <comment_count>1</comment_count>
      <attachid>437987</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 07:12:30 -0700</bug_when>
    <thetext>Created attachment 437987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792784</commentid>
    <comment_count>2</comment_count>
      <attachid>437990</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 11:06:14 -0700</bug_when>
    <thetext>Created attachment 437990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792801</commentid>
    <comment_count>3</comment_count>
      <attachid>437996</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 13:24:11 -0700</bug_when>
    <thetext>Created attachment 437996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792818</commentid>
    <comment_count>4</comment_count>
      <attachid>437999</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 16:24:39 -0700</bug_when>
    <thetext>Created attachment 437999
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792825</commentid>
    <comment_count>5</comment_count>
      <attachid>438003</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 18:55:56 -0700</bug_when>
    <thetext>Created attachment 438003
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792827</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-09-12 19:14:24 -0700</bug_when>
    <thetext>Committed r282319 (241589@main): &lt;https://commits.webkit.org/241589@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792828</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-12 19:15:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/83037533&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437987</attachid>
            <date>2021-09-12 07:12:30 -0700</date>
            <delta_ts>2021-09-12 11:06:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230200-20210912071229.patch</filename>
            <type>text/plain</type>
            <size>14602</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjZDZiMjgwNjA5ODA0
NWNkNTQ5NTQ2MTBkOGEyZTg2YzE3NzBlYi4uYzlhNjVjNWQyMDA4ODU5ZmI1ZTRjNzVhYWViOWMw
MzNlYjY5MTZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTEyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzY3Jv
bGxhYmxlIG92ZXJmbG93IHRvIExpbmVHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5n
IHRoZSBpbnRlZ3JhdGlvbiBsaW5lIHN0cnVjdHVyZSByZWR1bmRhbnQuCisgICAgICAgIChMaW5l
R2VvbWV0cnkgc2hvdWxkIGJlIGFibGUgdG8gY29udGFpbiBhbGwgdGhlIGdlb21ldHJ5IGluZm9y
bWF0aW9uIHJlcXVpcmVkIGZvciBsYXlvdXQvcGFpbnQvaGl0dGVzdCkuCisKKyAgICAgICAgKiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6c2Nyb2xsYWJsZU92
ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUdlb21ldHJ5OjpM
aW5lR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oOgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRl
bnQpOgorCiAyMDIxLTA5LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIHJlc3Qgb2YgdGhlIExlZ2FjeUlubGluZVRleHRCb3ggcGFpbnRpbmcgY29k
ZSB0byBUZXh0Qm94UGFpbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1
aWxkZXIuY3BwCmluZGV4IDZjYzUyYzExZDNmNDk0NjMxMzQxZGE1ZDhhMzI2YzhmMmRmNGJjNmIu
LmNhNTEwNDdiMDNkZThmNGY1ODAwMThkZWRmMTQyNzcxYTJlYTEzZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTEyMCw2ICsxMjAsNyBAQCBM
aW5lQm94QnVpbGRlcjo6TGluZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpidWlsZChj
b25zdCBMaW5lQnVpbGRlcjo6TGluZQogCiAgICAgYXV0byBsaW5lR2VvbWV0cnkgPSBbJl0gewog
ICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lQ29udGVu
dC5sb2dpY2FsVG9wTGVmdCwgbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgbGluZUJveExv
Z2ljYWxIZWlnaHQgfTsKKyAgICAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gbGlu
ZUJveExvZ2ljYWxSZWN0OwogICAgICAgICBhdXRvJiByb290SW5saW5lQm94ID0gbGluZUJveC5y
b290SW5saW5lQm94KCk7CiAgICAgICAgIGF1dG8gZW5jbG9zaW5nVG9wQW5kQm90dG9tID0gTGlu
ZUdlb21ldHJ5OjpFbmNsb3NpbmdUb3BBbmRCb3R0b20geyByb290SW5saW5lQm94LmxvZ2ljYWxU
b3AoKSwgcm9vdElubGluZUJveC5sb2dpY2FsQm90dG9tKCkgfTsKIApAQCAtMTMyLDggKzEzMywx
NyBAQCBMaW5lQm94QnVpbGRlcjo6TGluZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpi
dWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZQogCiAgICAgICAgICAgICBpZiAoaW5saW5lTGV2
ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKQogICAgICAgICAgICAgICAgIGJvcmRlckJv
eCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94KGxheW91
dEJveCwgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpKTsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpCi0gICAgICAg
ICAgICAgICAgYm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94
KGxheW91dEJveCwgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gp
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpIHsK
KyAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICBib3JkZXJCb3ggPSBs
aW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRy
eSk7CisgICAgICAgICAgICAgICAgLy8gQ29sbGVjdCBzY3JvbGxhYmxlIG92ZXJmbG93IGZyb20g
aW5saW5lIGJveGVzLiBBbGwgb3RoZXIgaW5saW5lIGxldmVsIGJveGVzIChlLmcgYXRvbWljIGlu
bGluZSBsZXZlbCBib3hlcykgc3RyZXRjaCB0aGUgbGluZS4KKyAgICAgICAgICAgICAgICBhdXRv
IGhhc1Njcm9sbGFibGVDb250ZW50ID0gWyZdIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSW4g
c3RhbmRhcmRzIG1vZGUsIGlubGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFnaW5h
cnkgc3RydXQuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXlvdXRTdGF0ZSgpLmluU3Rh
bmRhcmRzTW9kZSgpIHx8IGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSB8fCBib3hHZW9tZXRy
eS5ob3Jpem9udGFsQm9yZGVyKCkgfHwgKGJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkg
JiYgYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZSgpKTsKKyAgICAgICAgICAg
ICAgICB9OworICAgICAgICAgICAgICAgIGlmIChoYXNTY3JvbGxhYmxlQ29udGVudCgpKQorICAg
ICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LmV4cGFuZFRvQ29udGFpbihi
b3JkZXJCb3gpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCkBAIC0xNDEsNyArMTUxLDcgQEAgTGluZUJveEJ1
aWxkZXI6OkxpbmVCb3hBbmRHZW9tZXRyeSBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGlu
ZUJ1aWxkZXI6OkxpbmUKICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgPSBz
dGQ6Om1pbihlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBib3JkZXJCb3gudG9wKCkpOwogICAg
ICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSA9IHN0ZDo6bWF4KGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbS5ib3R0b20sIGJvcmRlckJveC5ib3R0b20oKSk7CiAgICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIExpbmVHZW9tZXRyeSB7IGxpbmVCb3hMb2dpY2FsUmVjdCwgZW5jbG9zaW5n
VG9wQW5kQm90dG9tLCByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSArIHJvb3RJbmxpbmVCb3gu
YmFzZWxpbmUoKSwgcm9vdElubGluZUJveC5sb2dpY2FsTGVmdCgpLCByb290SW5saW5lQm94Lmxv
Z2ljYWxXaWR0aCgpIH07CisgICAgICAgIHJldHVybiBMaW5lR2VvbWV0cnkgeyBsaW5lQm94TG9n
aWNhbFJlY3QsIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwg
cm9vdElubGluZUJveC5sb2dpY2FsVG9wKCkgKyByb290SW5saW5lQm94LmJhc2VsaW5lKCksIHJv
b3RJbmxpbmVCb3gubG9naWNhbExlZnQoKSwgcm9vdElubGluZUJveC5sb2dpY2FsV2lkdGgoKSB9
OwogICAgIH07CiAgICAgcmV0dXJuIHsgbGluZUJveCwgbGluZUdlb21ldHJ5KCkgfTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmgKaW5kZXggZTYyMzc0ZDIxMWFhNmY1
ZWJlZTY2MGQ4NTU0ZTI2ZTNjM2Q2ZTlkMy4uYTZjNzNlNmNhNmFmZTMyNjczMWU4MzhmMjJiMzMz
NWFjMzcwYTgyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmgKQEAg
LTQwLDkgKzQwLDEwIEBAIHB1YmxpYzoKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0b3AgeyAw
IH07CiAgICAgICAgIElubGluZUxheW91dFVuaXQgYm90dG9tIHsgMCB9OwogICAgIH07Ci0gICAg
TGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9z
aW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGlu
ZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRM
b2dpY2FsV2lkdGgpOworICAgIExpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94
TG9naWNhbFJlY3QsIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdywgRW5jbG9z
aW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGlu
ZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRM
b2dpY2FsV2lkdGgpOwogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94TG9naWNhbFJlY3Q7IH0KKyAgICBjb25zdCBJbmxp
bmVSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVP
dmVyZmxvdzsgfQogCiAgICAgRW5jbG9zaW5nVG9wQW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tOyB9CiAKQEAgLTU2
LDYgKzU3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBUaGlzIGlzIGxpbmUgYm94IGdl
b21ldHJ5IChzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8jbGluZS1ib3gp
LgogICAgIElubGluZVJlY3QgbV9saW5lQm94TG9naWNhbFJlY3Q7CisgICAgSW5saW5lUmVjdCBt
X3Njcm9sbGFibGVPdmVyZmxvdzsKICAgICAvLyBFbmNsb3NpbmcgdG9wIGFuZCBib3R0b20gaW5j
bHVkZXMgYWxsIGlubGluZSBsZXZlbCBib3hlcyAoYm9yZGVyIGJveCkgdmVydGljYWxseS4KICAg
ICAvLyBXaGlsZSB0aGUgbGluZSBib3ggdXN1YWxseSBlbmNsb3NlIHRoZW0gYXMgd2VsbCwgaXRz
IHZlcnRpY2FsIGdlb21ldHJ5IGlzIGJhc2VkIG9uCiAgICAgLy8gdGhlIGxheW91dCBib3VuZHMg
b2YgdGhlIGlubGluZSBsZXZlbCBib3hlcyB3aGljaCBtYXkgYmUgZGlmZmVyZW50IHdoZW4gbGlu
ZS1oZWlnaHQgaXMgcHJlc2VudC4KQEAgLTY1LDggKzY3LDkgQEAgcHJpdmF0ZToKICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fY29udGVudExvZ2ljYWxXaWR0aCB7IDAgfTsKIH07CiAKLWlubGluZSBM
aW5lR2VvbWV0cnk6OkxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNh
bFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGlu
ZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9n
aWNhbExlZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCkKK2lubGluZSBM
aW5lR2VvbWV0cnk6OkxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNh
bFJlY3QsIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdywgRW5jbG9zaW5nVG9w
QW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVu
dEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5
b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKQogICAgIDogbV9saW5lQm94TG9naWNhbFJlY3Qo
bGluZUJveExvZ2ljYWxSZWN0KQorICAgICwgbV9zY3JvbGxhYmxlT3ZlcmZsb3coc2Nyb2xsYWJs
ZU92ZXJmbG93KQogICAgICwgbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20oZW5jbG9zaW5nVG9wQW5k
Qm90dG9tKQogICAgICwgbV9hbGlnbWVudEJhc2VsaW5lKGFsaWdtZW50QmFzZWxpbmUpCiAgICAg
LCBtX2NvbnRlbnRMb2dpY2FsTGVmdChjb250ZW50TG9naWNhbExlZnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggODlmYmEzNjlkNWZk
NWI4OGQxZjNkYWUxZjgyZGExNDVjNDcyNWY0YS4uYzVjOTE0NGRmM2Q0MzNiYzc3OGU2NzMzY2U2
ZDFkZDI4ZDQ1MWEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRl
bnRCdWlsZGVyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBpbmxpbmUgTGF5b3V0OjpMaW5lR2VvbWV0
cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSBvcGVyYXRvcisoY29uc3QgTGF5b3V0OjpMaW5lRwog
ICAgIHJldHVybiB7IGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgKyBvZmZzZXQsIGVuY2xvc2lu
Z1RvcEFuZEJvdHRvbS5ib3R0b20gKyBvZmZzZXQgfTsKIH0KIAotaW5saW5lIHN0YXRpYyBmbG9h
dCBsaW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIExheW91dDo6
SW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFdpZHRoLCBMYXlvdXQ6OklubGluZUxheW91
dFVuaXQgbGluZUNvbnRlbnRMb2dpY2FsV2lkdGgpCitpbmxpbmUgc3RhdGljIGZsb2F0IGxpbmVP
dmVyZmxvd1dpZHRoKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgTGF5b3V0OjpJbmxpbmVM
YXlvdXRVbml0IGxpbmVDb250ZW50TG9naWNhbFdpZHRoKQogewogICAgIC8vIEZJWE1FOiBJdCdz
IHRoZSBjb3B5IG9mIHRoZSBsZXRzLWFkanVzdC1vdmVyZmxvdy1mb3ItdGhlLWNhcmV0IGJlaGF2
aW9yIGZyb20gTGVnYWN5TGluZUxheW91dDo6YWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4u
CiAgICAgYXV0byBlbmRQYWRkaW5nID0gZmxvdy5oYXNOb25WaXNpYmxlT3ZlcmZsb3coKSA/IGZs
b3cucGFkZGluZ0VuZCgpIDogMF9sdTsKQEAgLTU0LDEzICs1NCwxMSBAQCBpbmxpbmUgc3RhdGlj
IGZsb2F0IGxpbmVPdmVyZmxvd1dpZHRoKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgTGF5
b3V0OjpJbmxpbgogICAgICAgICBlbmRQYWRkaW5nID0gZmxvdy5lbmRQYWRkaW5nV2lkdGhGb3JD
YXJldCgpOwogICAgIGlmIChmbG93Lmhhc05vblZpc2libGVPdmVyZmxvdygpICYmICFlbmRQYWRk
aW5nICYmIGZsb3cuZWxlbWVudCgpICYmIGZsb3cuZWxlbWVudCgpLT5pc1Jvb3RFZGl0YWJsZUVs
ZW1lbnQoKSkKICAgICAgICAgZW5kUGFkZGluZyA9IDE7Ci0gICAgbGluZUNvbnRlbnRMb2dpY2Fs
V2lkdGggKz0gZW5kUGFkZGluZzsKLSAgICByZXR1cm4gc3RkOjptYXgobGluZUJveExvZ2ljYWxX
aWR0aCwgbGluZUNvbnRlbnRMb2dpY2FsV2lkdGgpOworICAgIHJldHVybiBsaW5lQ29udGVudExv
Z2ljYWxXaWR0aCArIGVuZFBhZGRpbmc7CiB9CiAKLUlubGluZUNvbnRlbnRCdWlsZGVyOjpJbmxp
bmVDb250ZW50QnVpbGRlcihjb25zdCBMYXlvdXQ6OkxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwg
Y29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9ja0Zsb3csIGNvbnN0IEJveFRyZWUmIGJveFRyZWUp
Ci0gICAgOiBtX2xheW91dFN0YXRlKGxheW91dFN0YXRlKQotICAgICwgbV9ibG9ja0Zsb3coYmxv
Y2tGbG93KQorSW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0
IFJlbmRlckJsb2NrRmxvdyYgYmxvY2tGbG93LCBjb25zdCBCb3hUcmVlJiBib3hUcmVlKQorICAg
IDogbV9ibG9ja0Zsb3coYmxvY2tGbG93KQogICAgICwgbV9ib3hUcmVlKGJveFRyZWUpCiB7CiB9
CkBAIC04MCw5ICs3OCw5IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3Bs
YXlMaW5lcyhMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5sCiAgICAgaW5saW5lQ29u
dGVudC5saW5lcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGxpbmVzLnNpemUoKSk7CiAgICAgZm9y
IChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJ
bmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAg
YXV0byYgbGluZUJveExvZ2ljYWxSZWN0ID0gbGluZS5saW5lQm94TG9naWNhbFJlY3QoKTsKLSAg
ICAgICAgLy8gRklYTUU6IFRoaXMgaXMgd2hlcmUgdGhlIGxvZ2ljYWwgdG8gcGh5c2ljYWwgdHJh
bnNsYXRlIHNob3VsZCBoYXBwZW4uCi0gICAgICAgIGF1dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dCA9IEZsb2F0UmVjdCB7IGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCksIGxpbmVCb3hMb2dpY2Fs
UmVjdC50b3AoKSwgbGluZU92ZXJmbG93V2lkdGgobV9ibG9ja0Zsb3csIGxpbmVCb3hMb2dpY2Fs
UmVjdC53aWR0aCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSksIGxpbmVCb3hMb2dpY2Fs
UmVjdC5oZWlnaHQoKSB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBG
bG9hdFJlY3QgeyBsaW5lLnNjcm9sbGFibGVPdmVyZmxvdygpIH07CisgICAgICAgIGlmIChhdXRv
IG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZS5jb250
ZW50TG9naWNhbFdpZHRoKCkpOyBvdmVyZmxvd1dpZHRoID4gc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dC53aWR0aCgpKQorICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdC5zZXRXaWR0aChv
dmVyZmxvd1dpZHRoKTsKIAogICAgICAgICBhdXRvIGZpcnN0UnVuSW5kZXggPSBydW5JbmRleDsK
ICAgICAgICAgYXV0byBsaW5lSW5rT3ZlcmZsb3dSZWN0ID0gc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dDsKQEAgLTkzLDE3ICs5MSw2IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURp
c3BsYXlMaW5lcyhMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5sCiAgICAgICAgICAg
ICBsaW5lSW5rT3ZlcmZsb3dSZWN0LnVuaXRlKHJ1bi5pbmtPdmVyZmxvdygpKTsKIAogICAgICAg
ICAgICAgYXV0byYgbGF5b3V0Qm94ID0gcnVuLmxheW91dEJveCgpOwotICAgICAgICAgICAgaWYg
KHJ1bi5pc05vblJvb3RJbmxpbmVCb3goKSkgewotICAgICAgICAgICAgICAgIC8vIENvbGxlY3Qg
c2Nyb2xsYWJsZSBvdmVyZmxvdyBmcm9tIGlubGluZSBib3hlcy4gQWxsIG90aGVyIGlubGluZSBs
ZXZlbCBib3hlcyAoZS5nIGF0b21pYyBpbmxpbmUgbGV2ZWwgYm94ZXMpIHN0cmV0Y2ggdGhlIGxp
bmUuCi0gICAgICAgICAgICAgICAgYXV0byBoYXNTY3JvbGxhYmxlQ29udGVudCA9IFsmXSB7Ci0g
ICAgICAgICAgICAgICAgICAgIC8vIEluIHN0YW5kYXJkcyBtb2RlLCBpbmxpbmUgYm94ZXMgYWx3
YXlzIHN0YXJ0IHdpdGggYW4gaW1hZ2luYXJ5IHN0cnV0LgotICAgICAgICAgICAgICAgICAgICBh
dXRvJiBib3hHZW9tZXRyeSA9IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlv
dXRCb3gpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbV9sYXlvdXRTdGF0ZS5pblN0YW5k
YXJkc01vZGUoKSB8fCBydW4uaGFzQ29udGVudCgpIHx8IGJveEdlb21ldHJ5Lmhvcml6b250YWxC
b3JkZXIoKSB8fCAoYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKSAmJiBib3hHZW9tZXRy
eS5ob3Jpem9udGFsUGFkZGluZygpLnZhbHVlKCkpOwotICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgaWYgKGhhc1Njcm9sbGFibGVDb250ZW50KCkpCi0gICAgICAgICAgICAgICAg
ICAgIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QudW5pdGUocnVuLmxvZ2ljYWxSZWN0KCkpOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxh
eW91dEJveC5pc1JlcGxhY2VkQm94KCkpIHsKICAgICAgICAgICAgICAgICAvLyBTaW1pbGFyIHRv
IExlZ2FjeUlubGluZUZsb3dCb3g6OmFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdy4KICAgICAgICAg
ICAgICAgICBhdXRvJiBib3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KG1fYm94VHJlZS5yZW5kZXJl
ckZvckxheW91dEJveChsYXlvdXRCb3gpKTsKQEAgLTExNiwxNSArMTAzLDE0IEBAIHZvaWQgSW5s
aW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyhMYXlvdXQ6OklubGluZUZvcm1h
dHRpbmdTdGF0ZSYgaW5sCiAgICAgICAgICAgICAgICAgYXV0byBjaGlsZFNjcm9sbGFibGVPdmVy
ZmxvdyA9IGJveC5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oJmJveC5w
YXJlbnQoKS0+c3R5bGUoKSk7CiAgICAgICAgICAgICAgICAgY2hpbGRTY3JvbGxhYmxlT3ZlcmZs
b3cubW92ZShydW5Mb2dpY2FsUmVjdC5sZWZ0KCksIHJ1bkxvZ2ljYWxSZWN0LnRvcCgpKTsKICAg
ICAgICAgICAgICAgICBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LnVuaXRlKGNoaWxkU2Nyb2xsYWJs
ZU92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIGF1dG8gYWRqdXN0ZWRMaW5lQm94UmVjdCA9IEZsb2F0UmVjdCB7
IGxpbmVCb3hMb2dpY2FsUmVjdCB9OwogICAgICAgICAvLyBGaW5hbCBlbmNsb3NpbmcgdG9wIGFu
ZCBib3R0b20gdmFsdWVzIGFyZSBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHNwYWNlIGFzIHRoZSBs
aW5lIGl0c2VsZi4KLSAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBsaW5lLmVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSgpICsgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpOworICAgICAg
ICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUubGluZUJveExvZ2lj
YWxSZWN0KCkgfTsKKyAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBsaW5lLmVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSgpICsgbGluZUJveExvZ2ljYWxSZWN0LnkoKTsKICAgICAgICAg
YXV0byBydW5Db3VudCA9IHJ1bkluZGV4IC0gZmlyc3RSdW5JbmRleDsKLSAgICAgICAgaW5saW5l
Q29udGVudC5saW5lcy5hcHBlbmQoeyBmaXJzdFJ1bkluZGV4LCBydW5Db3VudCwgYWRqdXN0ZWRM
aW5lQm94UmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgZW5jbG9zaW5nVG9wQW5kQm90
dG9tLmJvdHRvbSwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgbGluZUlua092ZXJmbG93UmVjdCwg
bGluZS5iYXNlbGluZSgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsTGVmdCgpLCBsaW5lLmNvbnRlbnRM
b2dpY2FsV2lkdGgoKSB9KTsKKyAgICAgICAgaW5saW5lQ29udGVudC5saW5lcy5hcHBlbmQoeyBm
aXJzdFJ1bkluZGV4LCBydW5Db3VudCwgbGluZUJveExvZ2ljYWxSZWN0LCBlbmNsb3NpbmdUb3BB
bmRCb3R0b20udG9wLCBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBzY3JvbGxhYmxlT3Zl
cmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29u
dGVudExvZ2ljYWxMZWZ0KCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpIH0pOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKaW5k
ZXggMzMyMDQ1ZGM3OTRkNWU1YTM0MjlhZDFmZjU1OTE0ZDIyNTY5MDM1ZC4uODdhOTA5NzFhZWI5
NzRjMDNiZjM2MjllNGYyMDdkMmQ4ZmExZDYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00MSwxNCArNDEsMTMgQEAgc3RydWN0IElubGlu
ZUNvbnRlbnQ7CiAKIGNsYXNzIElubGluZUNvbnRlbnRCdWlsZGVyIHsKIHB1YmxpYzoKLSAgICBJ
bmxpbmVDb250ZW50QnVpbGRlcihjb25zdCBMYXlvdXQ6OkxheW91dFN0YXRlJiwgY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiwgY29uc3QgQm94VHJlZSYpOworICAgIElubGluZUNvbnRlbnRCdWlsZGVy
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IEJveFRyZWUmKTsKIAogICAgIHZvaWQgYnVp
bGQoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVEaXNwbGF5TGluZXMoTGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nU3RhdGUmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7CiAKLSAgICBjb25zdCBMYXlv
dXQ6OkxheW91dFN0YXRlJiBtX2xheW91dFN0YXRlOwogICAgIGNvbnN0IFJlbmRlckJsb2NrRmxv
dyYgbV9ibG9ja0Zsb3c7CiAgICAgY29uc3QgQm94VHJlZSYgbV9ib3hUcmVlOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggMjQ4ODdkNjZhMDkyMzU4YWQxOTE0NzYx
NDI4ZThjMTY4ZTU1ZWVmNS4uNWViZTc1OTc5NzBhOTEzODU0MDJhZTM4MjQ1ZjBhMzczMTk1MjZi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTIyNiw3ICsyMjYsNyBA
QCB2b2lkIExpbmVMYXlvdXQ6OmxheW91dCgpCiAKIHZvaWQgTGluZUxheW91dDo6Y29uc3RydWN0
Q29udGVudCgpCiB7Ci0gICAgYXV0byBpbmxpbmVDb250ZW50QnVpbGRlciA9IElubGluZUNvbnRl
bnRCdWlsZGVyIHsgbV9sYXlvdXRTdGF0ZSwgZmxvdygpLCBtX2JveFRyZWUgfTsKKyAgICBhdXRv
IGlubGluZUNvbnRlbnRCdWlsZGVyID0gSW5saW5lQ29udGVudEJ1aWxkZXIgeyBmbG93KCksIG1f
Ym94VHJlZSB9OwogICAgIGlubGluZUNvbnRlbnRCdWlsZGVyLmJ1aWxkKG1faW5saW5lRm9ybWF0
dGluZ1N0YXRlLCBlbnN1cmVJbmxpbmVDb250ZW50KCkpOwogICAgIEFTU0VSVChtX2lubGluZUNv
bnRlbnQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437990</attachid>
            <date>2021-09-12 11:06:14 -0700</date>
            <delta_ts>2021-09-12 13:24:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230200-20210912110613.patch</filename>
            <type>text/plain</type>
            <size>15015</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjZDZiMjgwNjA5ODA0
NWNkNTQ5NTQ2MTBkOGEyZTg2YzE3NzBlYi4uNTRiNTNlNzFkZTc0MWU4OTdiZDk3YWVlYjMzOWM5
OTIzMGFiMjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTEyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzY3Jv
bGxhYmxlIG92ZXJmbG93IHRvIExpbmVHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5n
IHRoZSBpbnRlZ3JhdGlvbiBsaW5lIHN0cnVjdHVyZSByZWR1bmRhbnQuCisgICAgICAgIChMaW5l
R2VvbWV0cnkgc2hvdWxkIGJlIGFibGUgdG8gY29udGFpbiBhbGwgdGhlIGdlb21ldHJ5IGluZm9y
bWF0aW9uIHJlcXVpcmVkIGZvciBsYXlvdXQvcGFpbnQvaGl0dGVzdCkuCisKKyAgICAgICAgKiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6c2Nyb2xsYWJsZU92
ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUdlb21ldHJ5OjpM
aW5lR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oOgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRl
bnQpOgorCiAyMDIxLTA5LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIHJlc3Qgb2YgdGhlIExlZ2FjeUlubGluZVRleHRCb3ggcGFpbnRpbmcgY29k
ZSB0byBUZXh0Qm94UGFpbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1
aWxkZXIuY3BwCmluZGV4IDZjYzUyYzExZDNmNDk0NjMxMzQxZGE1ZDhhMzI2YzhmMmRmNGJjNmIu
LmNlYjg2YTA4YjdjYmE5ZjBlYWVkMzZiYmY2ZjlmZGQ5NDAzMzBjOTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTEyMCwxMSArMTIwLDEyIEBA
IExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QW5kR2VvbWV0cnkgTGluZUJveEJ1aWxkZXI6OmJ1aWxk
KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lCiAKICAgICBhdXRvIGxpbmVHZW9tZXRyeSA9IFsmXSB7
CiAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVDb250
ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBsaW5lQm94
TG9naWNhbEhlaWdodCB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBs
aW5lQm94TG9naWNhbFJlY3Q7CiAgICAgICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBsaW5lQm94
LnJvb3RJbmxpbmVCb3goKTsKICAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBM
aW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IHJvb3RJbmxpbmVCb3gubG9naWNh
bFRvcCgpLCByb290SW5saW5lQm94LmxvZ2ljYWxCb3R0b20oKSB9OwogCiAgICAgICAgIGZvciAo
YXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkp
IHsKLSAgICAgICAgICAgIGlmICghaW5saW5lTGV2ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJv
eCgpIHx8ICFpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICAgICAgaWYgKCFp
bmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgJiYgIWlubGluZUxldmVsQm94
LmlzSW5saW5lQm94KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwpAQCAtMTMyLDgg
KzEzMywxOCBAQCBMaW5lQm94QnVpbGRlcjo6TGluZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWls
ZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZQogCiAgICAgICAgICAgICBpZiAoaW5s
aW5lTGV2ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKQogICAgICAgICAgICAgICAgIGJv
cmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvckF0b21pY0lubGluZUxldmVsQm94
KGxheW91dEJveCwgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gp
KTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpCi0g
ICAgICAgICAgICAgICAgYm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5s
aW5lQm94KGxheW91dEJveCwgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlv
dXRCb3gpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94
KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250
ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICBib3JkZXJC
b3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hH
ZW9tZXRyeSk7CisgICAgICAgICAgICAgICAgYm9yZGVyQm94Lm1vdmVCeShsaW5lQm94TG9naWNh
bFJlY3QudG9wTGVmdCgpKTsKKyAgICAgICAgICAgICAgICAvLyBDb2xsZWN0IHNjcm9sbGFibGUg
b3ZlcmZsb3cgZnJvbSBpbmxpbmUgYm94ZXMuIEFsbCBvdGhlciBpbmxpbmUgbGV2ZWwgYm94ZXMg
KGUuZyBhdG9taWMgaW5saW5lIGxldmVsIGJveGVzKSBzdHJldGNoIHRoZSBsaW5lLgorICAgICAg
ICAgICAgICAgIGF1dG8gaGFzU2Nyb2xsYWJsZUNvbnRlbnQgPSBbJl0geworICAgICAgICAgICAg
ICAgICAgICAvLyBJbiBzdGFuZGFyZHMgbW9kZSwgaW5saW5lIGJveGVzIGFsd2F5cyBzdGFydCB3
aXRoIGFuIGltYWdpbmFyeSBzdHJ1dC4KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxheW91
dFN0YXRlKCkuaW5TdGFuZGFyZHNNb2RlKCkgfHwgaW5saW5lTGV2ZWxCb3guaGFzQ29udGVudCgp
IHx8IGJveEdlb21ldHJ5Lmhvcml6b250YWxCb3JkZXIoKSB8fCAoYm94R2VvbWV0cnkuaG9yaXpv
bnRhbFBhZGRpbmcoKSAmJiBib3hHZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygpLnZhbHVlKCkp
OworICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgaWYgKGhhc1Njcm9sbGFibGVD
b250ZW50KCkpCisgICAgICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QuZXhw
YW5kVG9Db250YWluKGJvcmRlckJveCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKQEAgLTE0MSw3ICsxNTIs
NyBAQCBMaW5lQm94QnVpbGRlcjo6TGluZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpi
dWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZQogICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLnRvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AsIGJvcmRlckJv
eC50b3AoKSk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tID0gc3Rk
OjptYXgoZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSwgYm9yZGVyQm94LmJvdHRvbSgpKTsK
ICAgICAgICAgfQotICAgICAgICByZXR1cm4gTGluZUdlb21ldHJ5IHsgbGluZUJveExvZ2ljYWxS
ZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHJvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpICsg
cm9vdElubGluZUJveC5iYXNlbGluZSgpLCByb290SW5saW5lQm94LmxvZ2ljYWxMZWZ0KCksIHJv
b3RJbmxpbmVCb3gubG9naWNhbFdpZHRoKCkgfTsKKyAgICAgICAgcmV0dXJuIExpbmVHZW9tZXRy
eSB7IGxpbmVCb3hMb2dpY2FsUmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgZW5jbG9zaW5n
VG9wQW5kQm90dG9tLCByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSArIHJvb3RJbmxpbmVCb3gu
YmFzZWxpbmUoKSwgcm9vdElubGluZUJveC5sb2dpY2FsTGVmdCgpLCByb290SW5saW5lQm94Lmxv
Z2ljYWxXaWR0aCgpIH07CiAgICAgfTsKICAgICByZXR1cm4geyBsaW5lQm94LCBsaW5lR2VvbWV0
cnkoKSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2VvbWV0cnkuaAppbmRleCBl
NjIzNzRkMjExYWE2ZjVlYmVlNjYwZDg1NTRlMjZlM2MzZDZlOWQzLi5hNmM3M2U2Y2E2YWZlMzI2
NzMxZTgzOGYyMmIzMzM1YWMzNzBhODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2VvbWV0cnkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
R2VvbWV0cnkuaApAQCAtNDAsOSArNDAsMTAgQEAgcHVibGljOgogICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IHRvcCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBib3R0b20geyAwIH07
CiAgICAgfTsKLSAgICBMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2lj
YWxSZWN0LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRC
YXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91
dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CisgICAgTGluZUdlb21ldHJ5KGNvbnN0IElubGlu
ZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVjdCYgc2Nyb2xsYWJsZU92
ZXJmbG93LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRC
YXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91
dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CiAKICAgICBjb25zdCBJbmxpbmVSZWN0JiBsaW5l
Qm94TG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hMb2dpY2FsUmVjdDsgfQor
ICAgIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CiAKICAgICBFbmNsb3NpbmdUb3BBbmRCb3R0b20gZW5j
bG9zaW5nVG9wQW5kQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9lbmNsb3NpbmdUb3BBbmRCb3R0
b207IH0KIApAQCAtNTYsNiArNTcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIFRoaXMg
aXMgbGluZSBib3ggZ2VvbWV0cnkgKHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWlubGlu
ZS0zLyNsaW5lLWJveCkuCiAgICAgSW5saW5lUmVjdCBtX2xpbmVCb3hMb2dpY2FsUmVjdDsKKyAg
ICBJbmxpbmVSZWN0IG1fc2Nyb2xsYWJsZU92ZXJmbG93OwogICAgIC8vIEVuY2xvc2luZyB0b3Ag
YW5kIGJvdHRvbSBpbmNsdWRlcyBhbGwgaW5saW5lIGxldmVsIGJveGVzIChib3JkZXIgYm94KSB2
ZXJ0aWNhbGx5LgogICAgIC8vIFdoaWxlIHRoZSBsaW5lIGJveCB1c3VhbGx5IGVuY2xvc2UgdGhl
bSBhcyB3ZWxsLCBpdHMgdmVydGljYWwgZ2VvbWV0cnkgaXMgYmFzZWQgb24KICAgICAvLyB0aGUg
bGF5b3V0IGJvdW5kcyBvZiB0aGUgaW5saW5lIGxldmVsIGJveGVzIHdoaWNoIG1heSBiZSBkaWZm
ZXJlbnQgd2hlbiBsaW5lLWhlaWdodCBpcyBwcmVzZW50LgpAQCAtNjUsOCArNjcsOSBAQCBwcml2
YXRlOgogICAgIElubGluZUxheW91dFVuaXQgbV9jb250ZW50TG9naWNhbFdpZHRoIHsgMCB9Owog
fTsKIAotaW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3Qm
IGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5nVG9wQW5kQm90dG9tIGVuY2xvc2luZ1RvcEFu
ZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdp
ZHRoKQoraW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3Qm
IGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93
LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlv
dXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxM
ZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpCiAgICAgOiBtX2xpbmVC
b3hMb2dpY2FsUmVjdChsaW5lQm94TG9naWNhbFJlY3QpCisgICAgLCBtX3Njcm9sbGFibGVPdmVy
ZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3cpCiAgICAgLCBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbShl
bmNsb3NpbmdUb3BBbmRCb3R0b20pCiAgICAgLCBtX2FsaWdtZW50QmFzZWxpbmUoYWxpZ21lbnRC
YXNlbGluZSkKICAgICAsIG1fY29udGVudExvZ2ljYWxMZWZ0KGNvbnRlbnRMb2dpY2FsTGVmdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRl
eCA4OWZiYTM2OWQ1ZmQ1Yjg4ZDFmM2RhZTFmODJkYTE0NWM0NzI1ZjRhLi5jNWM5MTQ0ZGYzZDQz
M2JjNzc4ZTY3MzNjZTZkMWRkMjhkNDUxYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIGlubGluZSBMYXlv
dXQ6OkxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIG9wZXJhdG9yKyhjb25zdCBM
YXlvdXQ6OkxpbmVHCiAgICAgcmV0dXJuIHsgZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCArIG9m
ZnNldCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSArIG9mZnNldCB9OwogfQogCi1pbmxp
bmUgc3RhdGljIGZsb2F0IGxpbmVPdmVyZmxvd1dpZHRoKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYg
ZmxvdywgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsV2lkdGgsIExheW91
dDo6SW5saW5lTGF5b3V0VW5pdCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCkKK2lubGluZSBzdGF0
aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBM
YXlvdXQ6OklubGluZUxheW91dFVuaXQgbGluZUNvbnRlbnRMb2dpY2FsV2lkdGgpCiB7CiAgICAg
Ly8gRklYTUU6IEl0J3MgdGhlIGNvcHkgb2YgdGhlIGxldHMtYWRqdXN0LW92ZXJmbG93LWZvci10
aGUtY2FyZXQgYmVoYXZpb3IgZnJvbSBMZWdhY3lMaW5lTGF5b3V0OjphZGRPdmVyZmxvd0Zyb21J
bmxpbmVDaGlsZHJlbi4KICAgICBhdXRvIGVuZFBhZGRpbmcgPSBmbG93Lmhhc05vblZpc2libGVP
dmVyZmxvdygpID8gZmxvdy5wYWRkaW5nRW5kKCkgOiAwX2x1OwpAQCAtNTQsMTMgKzU0LDExIEBA
IGlubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxvY2tG
bG93JiBmbG93LCBMYXlvdXQ6OklubGluCiAgICAgICAgIGVuZFBhZGRpbmcgPSBmbG93LmVuZFBh
ZGRpbmdXaWR0aEZvckNhcmV0KCk7CiAgICAgaWYgKGZsb3cuaGFzTm9uVmlzaWJsZU92ZXJmbG93
KCkgJiYgIWVuZFBhZGRpbmcgJiYgZmxvdy5lbGVtZW50KCkgJiYgZmxvdy5lbGVtZW50KCktPmlz
Um9vdEVkaXRhYmxlRWxlbWVudCgpKQogICAgICAgICBlbmRQYWRkaW5nID0gMTsKLSAgICBsaW5l
Q29udGVudExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOwotICAgIHJldHVybiBzdGQ6Om1heChs
aW5lQm94TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCk7CisgICAgcmV0dXJu
IGxpbmVDb250ZW50TG9naWNhbFdpZHRoICsgZW5kUGFkZGluZzsKIH0KIAotSW5saW5lQ29udGVu
dEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUm
IGxheW91dFN0YXRlLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrRmxvdywgY29uc3QgQm94
VHJlZSYgYm94VHJlZSkKLSAgICA6IG1fbGF5b3V0U3RhdGUobGF5b3V0U3RhdGUpCi0gICAgLCBt
X2Jsb2NrRmxvdyhibG9ja0Zsb3cpCitJbmxpbmVDb250ZW50QnVpbGRlcjo6SW5saW5lQ29udGVu
dEJ1aWxkZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9ja0Zsb3csIGNvbnN0IEJveFRyZWUm
IGJveFRyZWUpCisgICAgOiBtX2Jsb2NrRmxvdyhibG9ja0Zsb3cpCiAgICAgLCBtX2JveFRyZWUo
Ym94VHJlZSkKIHsKIH0KQEAgLTgwLDkgKzc4LDkgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwK
ICAgICBpbmxpbmVDb250ZW50LmxpbmVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGluZXMuc2l6
ZSgpKTsKICAgICBmb3IgKHNpemVfdCBsaW5lSW5kZXggPSAwOyBsaW5lSW5kZXggPCBsaW5lcy5z
aXplKCk7ICsrbGluZUluZGV4KSB7CiAgICAgICAgIGF1dG8mIGxpbmUgPSBsaW5lc1tsaW5lSW5k
ZXhdOwotICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lLmxpbmVCb3hMb2dp
Y2FsUmVjdCgpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB3aGVyZSB0aGUgbG9naWNhbCB0
byBwaHlzaWNhbCB0cmFuc2xhdGUgc2hvdWxkIGhhcHBlbi4KLSAgICAgICAgYXV0byBzY3JvbGxh
YmxlT3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwg
bGluZUJveExvZ2ljYWxSZWN0LnRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywg
bGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpKSwg
bGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CisgICAgICAgIGF1dG8gc2Nyb2xsYWJsZU92
ZXJmbG93UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUuc2Nyb2xsYWJsZU92ZXJmbG93KCkgfTsKKyAg
ICAgICAgaWYgKGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tG
bG93LCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSk7IG92ZXJmbG93V2lkdGggPiBzY3JvbGxh
YmxlT3ZlcmZsb3dSZWN0LndpZHRoKCkpCisgICAgICAgICAgICBzY3JvbGxhYmxlT3ZlcmZsb3dS
ZWN0LnNldFdpZHRoKG92ZXJmbG93V2lkdGgpOwogCiAgICAgICAgIGF1dG8gZmlyc3RSdW5JbmRl
eCA9IHJ1bkluZGV4OwogICAgICAgICBhdXRvIGxpbmVJbmtPdmVyZmxvd1JlY3QgPSBzY3JvbGxh
YmxlT3ZlcmZsb3dSZWN0OwpAQCAtOTMsMTcgKzkxLDYgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVp
bGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBp
bmwKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUocnVuLmlua092ZXJmbG93
KCkpOwogCiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4ubGF5b3V0Qm94KCk7Ci0g
ICAgICAgICAgICBpZiAocnVuLmlzTm9uUm9vdElubGluZUJveCgpKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gQ29sbGVjdCBzY3JvbGxhYmxlIG92ZXJmbG93IGZyb20gaW5saW5lIGJveGVzLiBBbGwg
b3RoZXIgaW5saW5lIGxldmVsIGJveGVzIChlLmcgYXRvbWljIGlubGluZSBsZXZlbCBib3hlcykg
c3RyZXRjaCB0aGUgbGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIGhhc1Njcm9sbGFibGVDb250
ZW50ID0gWyZdIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gSW4gc3RhbmRhcmRzIG1vZGUsIGlu
bGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFnaW5hcnkgc3RydXQuCi0gICAgICAg
ICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmJv
eEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2xheW91
dFN0YXRlLmluU3RhbmRhcmRzTW9kZSgpIHx8IHJ1bi5oYXNDb250ZW50KCkgfHwgYm94R2VvbWV0
cnkuaG9yaXpvbnRhbEJvcmRlcigpIHx8IChib3hHZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygp
ICYmIGJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUoKSk7Ci0gICAgICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgICAgICBpZiAoaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSkKLSAg
ICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdC51bml0ZShydW4ubG9naWNh
bFJlY3QoKSk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkgewogICAgICAgICAgICAgICAg
IC8vIFNpbWlsYXIgdG8gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkUmVwbGFjZWRDaGlsZE92ZXJm
bG93LgogICAgICAgICAgICAgICAgIGF1dG8mIGJveCA9IGRvd25jYXN0PFJlbmRlckJveD4obV9i
b3hUcmVlLnJlbmRlcmVyRm9yTGF5b3V0Qm94KGxheW91dEJveCkpOwpAQCAtMTE2LDE1ICsxMDMs
MTQgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91
dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgICAgICBhdXRvIGNoaWxk
U2Nyb2xsYWJsZU92ZXJmbG93ID0gYm94LmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbigmYm94LnBhcmVudCgpLT5zdHlsZSgpKTsKICAgICAgICAgICAgICAgICBjaGlsZFNj
cm9sbGFibGVPdmVyZmxvdy5tb3ZlKHJ1bkxvZ2ljYWxSZWN0LmxlZnQoKSwgcnVuTG9naWNhbFJl
Y3QudG9wKCkpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QudW5pdGUo
Y2hpbGRTY3JvbGxhYmxlT3ZlcmZsb3cpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBhZGp1c3RlZExpbmVCb3hSZWN0
ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2ljYWxSZWN0IH07CiAgICAgICAgIC8vIEZpbmFsIGVu
Y2xvc2luZyB0b3AgYW5kIGJvdHRvbSB2YWx1ZXMgYXJlIGluIHRoZSBzYW1lIGNvb3JkaW5hdGUg
c3BhY2UgYXMgdGhlIGxpbmUgaXRzZWxmLgotICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbSA9IGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgKyBsaW5lQm94TG9naWNhbFJlY3Qu
dG9wKCk7CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gRmxvYXRSZWN0IHsgbGlu
ZS5saW5lQm94TG9naWNhbFJlY3QoKSB9OworICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbSA9IGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgKyBsaW5lQm94TG9naWNhbFJlY3Qu
eSgpOwogICAgICAgICBhdXRvIHJ1bkNvdW50ID0gcnVuSW5kZXggLSBmaXJzdFJ1bkluZGV4Owot
ICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNv
dW50LCBhZGp1c3RlZExpbmVCb3hSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBlbmNs
b3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5lSW5r
T3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29udGVudExvZ2ljYWxMZWZ0KCks
IGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpIH0pOworICAgICAgICBpbmxpbmVDb250ZW50Lmxp
bmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBsaW5lQm94TG9naWNhbFJlY3Qs
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20s
IHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxp
bmUoKSwgbGluZS5jb250ZW50TG9naWNhbExlZnQoKSwgbGluZS5jb250ZW50TG9naWNhbFdpZHRo
KCkgfSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dEJ1aWxkZXIuaAppbmRleCAzMzIwNDVkYzc5NGQ1ZTVhMzQyOWFkMWZmNTU5MTRkMjI1NjkwMzVk
Li44N2E5MDk3MWFlYjk3NGMwM2JmMzYyOWU0ZjIwN2QyZDhmYTFkNjM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKQEAgLTQxLDE0ICs0MSwxMyBA
QCBzdHJ1Y3QgSW5saW5lQ29udGVudDsKIAogY2xhc3MgSW5saW5lQ29udGVudEJ1aWxkZXIgewog
cHVibGljOgotICAgIElubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExheW91dDo6TGF5b3V0U3Rh
dGUmLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBjb25zdCBCb3hUcmVlJik7CisgICAgSW5saW5l
Q29udGVudEJ1aWxkZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgY29uc3QgQm94VHJlZSYpOwog
CiAgICAgdm9pZCBidWlsZChMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYsIElubGluZUNv
bnRlbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZURpc3BsYXlMaW5lcyhM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYsIElubGluZUNvbnRlbnQmKSBjb25zdDsKIAot
ICAgIGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUmIG1fbGF5b3V0U3RhdGU7CiAgICAgY29uc3Qg
UmVuZGVyQmxvY2tGbG93JiBtX2Jsb2NrRmxvdzsKICAgICBjb25zdCBCb3hUcmVlJiBtX2JveFRy
ZWU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCAyNDg4N2Q2NmEw
OTIzNThhZDE5MTQ3NjE0MjhlOGMxNjhlNTVlZWY1Li41ZWJlNzU5Nzk3MGE5MTM4NTQwMmFlMzgy
NDVmMGEzNzMxOTUyNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAt
MjI2LDcgKzIyNiw3IEBAIHZvaWQgTGluZUxheW91dDo6bGF5b3V0KCkKIAogdm9pZCBMaW5lTGF5
b3V0Ojpjb25zdHJ1Y3RDb250ZW50KCkKIHsKLSAgICBhdXRvIGlubGluZUNvbnRlbnRCdWlsZGVy
ID0gSW5saW5lQ29udGVudEJ1aWxkZXIgeyBtX2xheW91dFN0YXRlLCBmbG93KCksIG1fYm94VHJl
ZSB9OworICAgIGF1dG8gaW5saW5lQ29udGVudEJ1aWxkZXIgPSBJbmxpbmVDb250ZW50QnVpbGRl
ciB7IGZsb3coKSwgbV9ib3hUcmVlIH07CiAgICAgaW5saW5lQ29udGVudEJ1aWxkZXIuYnVpbGQo
bV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUsIGVuc3VyZUlubGluZUNvbnRlbnQoKSk7CiAgICAgQVNT
RVJUKG1faW5saW5lQ29udGVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437996</attachid>
            <date>2021-09-12 13:24:11 -0700</date>
            <delta_ts>2021-09-12 16:24:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230200-20210912132410.patch</filename>
            <type>text/plain</type>
            <size>15201</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjZDZiMjgwNjA5ODA0
NWNkNTQ5NTQ2MTBkOGEyZTg2YzE3NzBlYi4uNTRiNTNlNzFkZTc0MWU4OTdiZDk3YWVlYjMzOWM5
OTIzMGFiMjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTEyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzY3Jv
bGxhYmxlIG92ZXJmbG93IHRvIExpbmVHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5n
IHRoZSBpbnRlZ3JhdGlvbiBsaW5lIHN0cnVjdHVyZSByZWR1bmRhbnQuCisgICAgICAgIChMaW5l
R2VvbWV0cnkgc2hvdWxkIGJlIGFibGUgdG8gY29udGFpbiBhbGwgdGhlIGdlb21ldHJ5IGluZm9y
bWF0aW9uIHJlcXVpcmVkIGZvciBsYXlvdXQvcGFpbnQvaGl0dGVzdCkuCisKKyAgICAgICAgKiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6c2Nyb2xsYWJsZU92
ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUdlb21ldHJ5OjpM
aW5lR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oOgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRl
bnQpOgorCiAyMDIxLTA5LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIHJlc3Qgb2YgdGhlIExlZ2FjeUlubGluZVRleHRCb3ggcGFpbnRpbmcgY29k
ZSB0byBUZXh0Qm94UGFpbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1
aWxkZXIuY3BwCmluZGV4IDZjYzUyYzExZDNmNDk0NjMxMzQxZGE1ZDhhMzI2YzhmMmRmNGJjNmIu
LmU2YmFkN2JjZWJmMjNmZmM0OTdiODI5NTk1MDY4ZDkxODU3OGQzYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTEyMCwyOCArMTIwLDQwIEBA
IExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QW5kR2VvbWV0cnkgTGluZUJveEJ1aWxkZXI6OmJ1aWxk
KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lCiAKICAgICBhdXRvIGxpbmVHZW9tZXRyeSA9IFsmXSB7
CiAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVDb250
ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBsaW5lQm94
TG9naWNhbEhlaWdodCB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBs
aW5lQm94TG9naWNhbFJlY3Q7CiAgICAgICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBsaW5lQm94
LnJvb3RJbmxpbmVCb3goKTsKICAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBM
aW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IHJvb3RJbmxpbmVCb3gubG9naWNh
bFRvcCgpLCByb290SW5saW5lQm94LmxvZ2ljYWxCb3R0b20oKSB9OwogCiAgICAgICAgIGZvciAo
YXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkp
IHsKLSAgICAgICAgICAgIGlmICghaW5saW5lTGV2ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJv
eCgpIHx8ICFpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICAgICAgaWYgKCFp
bmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgJiYgIWlubGluZUxldmVsQm94
LmlzSW5saW5lQm94KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwogICAgICAgICAg
ICAgYXV0byBib3JkZXJCb3ggPSBJbmxpbmVSZWN0IHsgfTsKIAotICAgICAgICAgICAgaWYgKGlu
bGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkKKyAgICAgICAgICAgIGlmIChp
bmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkpIHsKICAgICAgICAgICAgICAg
ICBib3JkZXJCb3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJbmxpbmVMZXZl
bEJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0
Qm94KSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgp
KQotICAgICAgICAgICAgICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZv
cklubGluZUJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3go
bGF5b3V0Qm94KSk7Ci0gICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYm9yZGVyQm94
Lm1vdmVCeShsaW5lQm94TG9naWNhbFJlY3QudG9wTGVmdCgpKTsKKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkgeworICAgICAgICAgICAgICAgIGF1
dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlv
dXRCb3gpOworICAgICAgICAgICAgICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRl
ckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgICAg
ICBib3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkpOworICAgICAg
ICAgICAgICAgIC8vIENvbGxlY3Qgc2Nyb2xsYWJsZSBvdmVyZmxvdyBmcm9tIGlubGluZSBib3hl
cy4gQWxsIG90aGVyIGlubGluZSBsZXZlbCBib3hlcyAoZS5nIGF0b21pYyBpbmxpbmUgbGV2ZWwg
Ym94ZXMpIHN0cmV0Y2ggdGhlIGxpbmUuCisgICAgICAgICAgICAgICAgYXV0byBoYXNTY3JvbGxh
YmxlQ29udGVudCA9IFsmXSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEluIHN0YW5kYXJkcyBt
b2RlLCBpbmxpbmUgYm94ZXMgYWx3YXlzIHN0YXJ0IHdpdGggYW4gaW1hZ2luYXJ5IHN0cnV0Lgor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUoKS5pblN0YW5kYXJkc01vZGUo
KSB8fCBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCkgfHwgYm94R2VvbWV0cnkuaG9yaXpvbnRh
bEJvcmRlcigpIHx8IChib3hHZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygpICYmIGJveEdlb21l
dHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgfTsKKyAg
ICAgICAgICAgICAgICBpZiAobGluZUJveC5oYXNDb250ZW50KCkgJiYgaGFzU2Nyb2xsYWJsZUNv
bnRlbnQoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBFbXB0eSBsaW5lcyAoZS5nLiBjb250
aW51YXRpb24gcHJlL3Bvc3QgYmxvY2tzKSBkb24ndCBleHBlY3Qgc2Nyb2xsYmFyIG92ZXJmbG93
LgorICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LmV4cGFuZFRvQ29u
dGFpbihib3JkZXJCb3gpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBib3Jk
ZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkpOwogICAgICAgICAgICAg
ZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1RvcEFuZEJvdHRv
bS50b3AsIGJvcmRlckJveC50b3AoKSk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0
b20uYm90dG9tID0gc3RkOjptYXgoZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSwgYm9yZGVy
Qm94LmJvdHRvbSgpKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gTGluZUdlb21ldHJ5IHsg
bGluZUJveExvZ2ljYWxSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHJvb3RJbmxpbmVCb3gu
bG9naWNhbFRvcCgpICsgcm9vdElubGluZUJveC5iYXNlbGluZSgpLCByb290SW5saW5lQm94Lmxv
Z2ljYWxMZWZ0KCksIHJvb3RJbmxpbmVCb3gubG9naWNhbFdpZHRoKCkgfTsKKyAgICAgICAgcmV0
dXJuIExpbmVHZW9tZXRyeSB7IGxpbmVCb3hMb2dpY2FsUmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93
UmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSAr
IHJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKSwgcm9vdElubGluZUJveC5sb2dpY2FsTGVmdCgpLCBy
b290SW5saW5lQm94LmxvZ2ljYWxXaWR0aCgpIH07CiAgICAgfTsKICAgICByZXR1cm4geyBsaW5l
Qm94LCBsaW5lR2VvbWV0cnkoKSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2Vv
bWV0cnkuaAppbmRleCBlNjIzNzRkMjExYWE2ZjVlYmVlNjYwZDg1NTRlMjZlM2MzZDZlOWQzLi5h
NmM3M2U2Y2E2YWZlMzI2NzMxZTgzOGYyMmIzMzM1YWMzNzBhODI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2Vv
bWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lR2VvbWV0cnkuaApAQCAtNDAsOSArNDAsMTAgQEAgcHVibGljOgogICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IHRvcCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBib3R0b20geyAwIH07CiAgICAgfTsKLSAgICBMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVj
dCYgbGluZUJveExvZ2ljYWxSZWN0LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CisgICAgTGluZUdlb21l
dHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVj
dCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CiAKICAgICBjb25zdCBJ
bmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hM
b2dpY2FsUmVjdDsgfQorICAgIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CiAKICAgICBFbmNsb3NpbmdU
b3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9lbmNs
b3NpbmdUb3BBbmRCb3R0b207IH0KIApAQCAtNTYsNiArNTcsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIC8vIFRoaXMgaXMgbGluZSBib3ggZ2VvbWV0cnkgKHNlZSBodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLWlubGluZS0zLyNsaW5lLWJveCkuCiAgICAgSW5saW5lUmVjdCBtX2xpbmVCb3hM
b2dpY2FsUmVjdDsKKyAgICBJbmxpbmVSZWN0IG1fc2Nyb2xsYWJsZU92ZXJmbG93OwogICAgIC8v
IEVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBpbmNsdWRlcyBhbGwgaW5saW5lIGxldmVsIGJveGVz
IChib3JkZXIgYm94KSB2ZXJ0aWNhbGx5LgogICAgIC8vIFdoaWxlIHRoZSBsaW5lIGJveCB1c3Vh
bGx5IGVuY2xvc2UgdGhlbSBhcyB3ZWxsLCBpdHMgdmVydGljYWwgZ2VvbWV0cnkgaXMgYmFzZWQg
b24KICAgICAvLyB0aGUgbGF5b3V0IGJvdW5kcyBvZiB0aGUgaW5saW5lIGxldmVsIGJveGVzIHdo
aWNoIG1heSBiZSBkaWZmZXJlbnQgd2hlbiBsaW5lLWhlaWdodCBpcyBwcmVzZW50LgpAQCAtNjUs
OCArNjcsOSBAQCBwcml2YXRlOgogICAgIElubGluZUxheW91dFVuaXQgbV9jb250ZW50TG9naWNh
bFdpZHRoIHsgMCB9OwogfTsKIAotaW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNv
bnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5nVG9wQW5kQm90dG9t
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5l
LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbFdpZHRoKQoraW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNv
bnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVjdCYgc2Ny
b2xsYWJsZU92ZXJmbG93LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90
dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQg
Y29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgp
CiAgICAgOiBtX2xpbmVCb3hMb2dpY2FsUmVjdChsaW5lQm94TG9naWNhbFJlY3QpCisgICAgLCBt
X3Njcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3cpCiAgICAgLCBtX2VuY2xvc2lu
Z1RvcEFuZEJvdHRvbShlbmNsb3NpbmdUb3BBbmRCb3R0b20pCiAgICAgLCBtX2FsaWdtZW50QmFz
ZWxpbmUoYWxpZ21lbnRCYXNlbGluZSkKICAgICAsIG1fY29udGVudExvZ2ljYWxMZWZ0KGNvbnRl
bnRMb2dpY2FsTGVmdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcAppbmRleCA4OWZiYTM2OWQ1ZmQ1Yjg4ZDFmM2RhZTFmODJkYTE0NWM0NzI1ZjRh
Li5jNWM5MTQ0ZGYzZDQzM2JjNzc4ZTY3MzNjZTZkMWRkMjhkNDUxYTNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC00Niw3ICs0Niw3
IEBAIGlubGluZSBMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIG9w
ZXJhdG9yKyhjb25zdCBMYXlvdXQ6OkxpbmVHCiAgICAgcmV0dXJuIHsgZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLnRvcCArIG9mZnNldCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSArIG9mZnNl
dCB9OwogfQogCi1pbmxpbmUgc3RhdGljIGZsb2F0IGxpbmVPdmVyZmxvd1dpZHRoKGNvbnN0IFJl
bmRlckJsb2NrRmxvdyYgZmxvdywgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dp
Y2FsV2lkdGgsIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBsaW5lQ29udGVudExvZ2ljYWxXaWR0
aCkKK2lubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxv
Y2tGbG93JiBmbG93LCBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgbGluZUNvbnRlbnRMb2dpY2Fs
V2lkdGgpCiB7CiAgICAgLy8gRklYTUU6IEl0J3MgdGhlIGNvcHkgb2YgdGhlIGxldHMtYWRqdXN0
LW92ZXJmbG93LWZvci10aGUtY2FyZXQgYmVoYXZpb3IgZnJvbSBMZWdhY3lMaW5lTGF5b3V0Ojph
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbi4KICAgICBhdXRvIGVuZFBhZGRpbmcgPSBmbG93
Lmhhc05vblZpc2libGVPdmVyZmxvdygpID8gZmxvdy5wYWRkaW5nRW5kKCkgOiAwX2x1OwpAQCAt
NTQsMTMgKzU0LDExIEBAIGlubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29u
c3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBMYXlvdXQ6OklubGluCiAgICAgICAgIGVuZFBhZGRp
bmcgPSBmbG93LmVuZFBhZGRpbmdXaWR0aEZvckNhcmV0KCk7CiAgICAgaWYgKGZsb3cuaGFzTm9u
VmlzaWJsZU92ZXJmbG93KCkgJiYgIWVuZFBhZGRpbmcgJiYgZmxvdy5lbGVtZW50KCkgJiYgZmxv
dy5lbGVtZW50KCktPmlzUm9vdEVkaXRhYmxlRWxlbWVudCgpKQogICAgICAgICBlbmRQYWRkaW5n
ID0gMTsKLSAgICBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOwotICAgIHJl
dHVybiBzdGQ6Om1heChsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudExvZ2ljYWxXaWR0
aCk7CisgICAgcmV0dXJuIGxpbmVDb250ZW50TG9naWNhbFdpZHRoICsgZW5kUGFkZGluZzsKIH0K
IAotSW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExheW91
dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2Nr
RmxvdywgY29uc3QgQm94VHJlZSYgYm94VHJlZSkKLSAgICA6IG1fbGF5b3V0U3RhdGUobGF5b3V0
U3RhdGUpCi0gICAgLCBtX2Jsb2NrRmxvdyhibG9ja0Zsb3cpCitJbmxpbmVDb250ZW50QnVpbGRl
cjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9ja0Zsb3cs
IGNvbnN0IEJveFRyZWUmIGJveFRyZWUpCisgICAgOiBtX2Jsb2NrRmxvdyhibG9ja0Zsb3cpCiAg
ICAgLCBtX2JveFRyZWUoYm94VHJlZSkKIHsKIH0KQEAgLTgwLDkgKzc4LDkgQEAgdm9pZCBJbmxp
bmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0
dGluZ1N0YXRlJiBpbmwKICAgICBpbmxpbmVDb250ZW50LmxpbmVzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkobGluZXMuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBsaW5lSW5kZXggPSAwOyBsaW5l
SW5kZXggPCBsaW5lcy5zaXplKCk7ICsrbGluZUluZGV4KSB7CiAgICAgICAgIGF1dG8mIGxpbmUg
PSBsaW5lc1tsaW5lSW5kZXhdOwotICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBs
aW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB3aGVy
ZSB0aGUgbG9naWNhbCB0byBwaHlzaWNhbCB0cmFuc2xhdGUgc2hvdWxkIGhhcHBlbi4KLSAgICAg
ICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2lj
YWxSZWN0LmxlZnQoKSwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0
aChtX2Jsb2NrRmxvdywgbGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCksIGxpbmUuY29udGVudExv
Z2ljYWxXaWR0aCgpKSwgbGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CisgICAgICAgIGF1
dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUuc2Nyb2xsYWJsZU92
ZXJmbG93KCkgfTsKKyAgICAgICAgaWYgKGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxv
d1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSk7IG92ZXJmbG93
V2lkdGggPiBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LndpZHRoKCkpCisgICAgICAgICAgICBzY3Jv
bGxhYmxlT3ZlcmZsb3dSZWN0LnNldFdpZHRoKG92ZXJmbG93V2lkdGgpOwogCiAgICAgICAgIGF1
dG8gZmlyc3RSdW5JbmRleCA9IHJ1bkluZGV4OwogICAgICAgICBhdXRvIGxpbmVJbmtPdmVyZmxv
d1JlY3QgPSBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0OwpAQCAtOTMsMTcgKzkxLDYgQEAgdm9pZCBJ
bmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9y
bWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUo
cnVuLmlua092ZXJmbG93KCkpOwogCiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4u
bGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICBpZiAocnVuLmlzTm9uUm9vdElubGluZUJveCgpKSB7
Ci0gICAgICAgICAgICAgICAgLy8gQ29sbGVjdCBzY3JvbGxhYmxlIG92ZXJmbG93IGZyb20gaW5s
aW5lIGJveGVzLiBBbGwgb3RoZXIgaW5saW5lIGxldmVsIGJveGVzIChlLmcgYXRvbWljIGlubGlu
ZSBsZXZlbCBib3hlcykgc3RyZXRjaCB0aGUgbGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIGhh
c1Njcm9sbGFibGVDb250ZW50ID0gWyZdIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gSW4gc3Rh
bmRhcmRzIG1vZGUsIGlubGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFnaW5hcnkg
c3RydXQuCi0gICAgICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBtX2xheW91dFN0YXRlLmluU3RhbmRhcmRzTW9kZSgpIHx8IHJ1bi5oYXNDb250ZW50
KCkgfHwgYm94R2VvbWV0cnkuaG9yaXpvbnRhbEJvcmRlcigpIHx8IChib3hHZW9tZXRyeS5ob3Jp
em9udGFsUGFkZGluZygpICYmIGJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUo
KSk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICBpZiAoaGFzU2Nyb2xsYWJs
ZUNvbnRlbnQoKSkKLSAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdC51
bml0ZShydW4ubG9naWNhbFJlY3QoKSk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkgewog
ICAgICAgICAgICAgICAgIC8vIFNpbWlsYXIgdG8gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkUmVw
bGFjZWRDaGlsZE92ZXJmbG93LgogICAgICAgICAgICAgICAgIGF1dG8mIGJveCA9IGRvd25jYXN0
PFJlbmRlckJveD4obV9ib3hUcmVlLnJlbmRlcmVyRm9yTGF5b3V0Qm94KGxheW91dEJveCkpOwpA
QCAtMTE2LDE1ICsxMDMsMTQgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlz
cGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAg
ICAgICBhdXRvIGNoaWxkU2Nyb2xsYWJsZU92ZXJmbG93ID0gYm94LmxvZ2ljYWxMYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbigmYm94LnBhcmVudCgpLT5zdHlsZSgpKTsKICAgICAgICAg
ICAgICAgICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKHJ1bkxvZ2ljYWxSZWN0LmxlZnQo
KSwgcnVuTG9naWNhbFJlY3QudG9wKCkpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVy
Zmxvd1JlY3QudW5pdGUoY2hpbGRTY3JvbGxhYmxlT3ZlcmZsb3cpOwotICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBhZGp1
c3RlZExpbmVCb3hSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2ljYWxSZWN0IH07CiAgICAg
ICAgIC8vIEZpbmFsIGVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSB2YWx1ZXMgYXJlIGluIHRoZSBz
YW1lIGNvb3JkaW5hdGUgc3BhY2UgYXMgdGhlIGxpbmUgaXRzZWxmLgotICAgICAgICBhdXRvIGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSA9IGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgKyBsaW5l
Qm94TG9naWNhbFJlY3QudG9wKCk7CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0g
RmxvYXRSZWN0IHsgbGluZS5saW5lQm94TG9naWNhbFJlY3QoKSB9OworICAgICAgICBhdXRvIGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSA9IGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgKyBsaW5l
Qm94TG9naWNhbFJlY3QueSgpOwogICAgICAgICBhdXRvIHJ1bkNvdW50ID0gcnVuSW5kZXggLSBm
aXJzdFJ1bkluZGV4OwotICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0
UnVuSW5kZXgsIHJ1bkNvdW50LCBhZGp1c3RlZExpbmVCb3hSZWN0LCBlbmNsb3NpbmdUb3BBbmRC
b3R0b20udG9wLCBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZs
b3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29udGVu
dExvZ2ljYWxMZWZ0KCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpIH0pOworICAgICAgICBp
bmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBsaW5l
Qm94TG9naWNhbFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AsIGVuY2xvc2luZ1RvcEFu
ZEJvdHRvbS5ib3R0b20sIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1Jl
Y3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5jb250ZW50TG9naWNhbExlZnQoKSwgbGluZS5jb250
ZW50TG9naWNhbFdpZHRoKCkgfSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVp
bGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAppbmRleCAzMzIwNDVkYzc5NGQ1ZTVhMzQyOWFkMWZm
NTU5MTRkMjI1NjkwMzVkLi44N2E5MDk3MWFlYjk3NGMwM2JmMzYyOWU0ZjIwN2QyZDhmYTFkNjM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKQEAg
LTQxLDE0ICs0MSwxMyBAQCBzdHJ1Y3QgSW5saW5lQ29udGVudDsKIAogY2xhc3MgSW5saW5lQ29u
dGVudEJ1aWxkZXIgewogcHVibGljOgotICAgIElubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExh
eW91dDo6TGF5b3V0U3RhdGUmLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBjb25zdCBCb3hUcmVl
Jik7CisgICAgSW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgY29u
c3QgQm94VHJlZSYpOwogCiAgICAgdm9pZCBidWlsZChMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdT
dGF0ZSYsIElubGluZUNvbnRlbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0
ZURpc3BsYXlMaW5lcyhMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYsIElubGluZUNvbnRl
bnQmKSBjb25zdDsKIAotICAgIGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUmIG1fbGF5b3V0U3Rh
dGU7CiAgICAgY29uc3QgUmVuZGVyQmxvY2tGbG93JiBtX2Jsb2NrRmxvdzsKICAgICBjb25zdCBC
b3hUcmVlJiBtX2JveFRyZWU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApp
bmRleCAyNDg4N2Q2NmEwOTIzNThhZDE5MTQ3NjE0MjhlOGMxNjhlNTVlZWY1Li41ZWJlNzU5Nzk3
MGE5MTM4NTQwMmFlMzgyNDVmMGEzNzMxOTUyNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5l
TGF5b3V0LmNwcApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgTGluZUxheW91dDo6bGF5b3V0KCkK
IAogdm9pZCBMaW5lTGF5b3V0Ojpjb25zdHJ1Y3RDb250ZW50KCkKIHsKLSAgICBhdXRvIGlubGlu
ZUNvbnRlbnRCdWlsZGVyID0gSW5saW5lQ29udGVudEJ1aWxkZXIgeyBtX2xheW91dFN0YXRlLCBm
bG93KCksIG1fYm94VHJlZSB9OworICAgIGF1dG8gaW5saW5lQ29udGVudEJ1aWxkZXIgPSBJbmxp
bmVDb250ZW50QnVpbGRlciB7IGZsb3coKSwgbV9ib3hUcmVlIH07CiAgICAgaW5saW5lQ29udGVu
dEJ1aWxkZXIuYnVpbGQobV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUsIGVuc3VyZUlubGluZUNvbnRl
bnQoKSk7CiAgICAgQVNTRVJUKG1faW5saW5lQ29udGVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437999</attachid>
            <date>2021-09-12 16:24:39 -0700</date>
            <delta_ts>2021-09-12 18:55:54 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-230200-20210912162438.patch</filename>
            <type>text/plain</type>
            <size>15293</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMzAyZjI2NzQ2Y2Rj
OTA5YTVlYjUyMjkzYjU3ZDFiOTQ3NjM0Ny4uYzA4YzA2ZGQ4NzllYzU4YTg1YTBlYmM1ZjlhOWIy
MzJhM2I4MjEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTEyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzY3Jv
bGxhYmxlIG92ZXJmbG93IHRvIExpbmVHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5n
IHRoZSBpbnRlZ3JhdGlvbiBsaW5lIHN0cnVjdHVyZSByZWR1bmRhbnQuCisgICAgICAgIChMaW5l
R2VvbWV0cnkgc2hvdWxkIGJlIGFibGUgdG8gY29udGFpbiBhbGwgdGhlIGdlb21ldHJ5IGluZm9y
bWF0aW9uIHJlcXVpcmVkIGZvciBsYXlvdXQvcGFpbnQvaGl0dGVzdCkuCisKKyAgICAgICAgKiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6c2Nyb2xsYWJsZU92
ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUdlb21ldHJ5OjpM
aW5lR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oOgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRl
bnQpOgorCiAyMDIxLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEltcGxlbWVudCBnZXRDbGllbnRSZWN0cygpIGZvciBTVkcgZWxlbWVudHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAppbmRleCA2Y2M1
MmMxMWQzZjQ5NDYzMTM0MWRhNWQ4YTMyNmM4ZjJkZjRiYzZiLi45YmM3YWM1NmQ1ZTczYjMxNTY4
NmRjMDViZjNmYTlkMTZlZDRiZThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwCkBAIC0xMjAsMjggKzEyMCw0MCBAQCBMaW5lQm94QnVpbGRlcjo6TGlu
ZUJveEFuZEdlb21ldHJ5IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6
TGluZQogCiAgICAgYXV0byBsaW5lR2VvbWV0cnkgPSBbJl0gewogICAgICAgICBhdXRvIGxpbmVC
b3hMb2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVmdCwg
bGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgbGluZUJveExvZ2ljYWxIZWlnaHQgfTsKKyAg
ICAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gbGluZUJveExvZ2ljYWxSZWN0Owog
ICAgICAgICBhdXRvJiByb290SW5saW5lQm94ID0gbGluZUJveC5yb290SW5saW5lQm94KCk7Ci0g
ICAgICAgIGF1dG8gZW5jbG9zaW5nVG9wQW5kQm90dG9tID0gTGluZUdlb21ldHJ5OjpFbmNsb3Np
bmdUb3BBbmRCb3R0b20geyByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSwgcm9vdElubGluZUJv
eC5sb2dpY2FsQm90dG9tKCkgfTsKKyAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20g
PSBMaW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IGxpbmVCb3hMb2dpY2FsUmVj
dC50b3AoKSArIHJvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpLCBsaW5lQm94TG9naWNhbFJlY3Qu
dG9wKCkgKyByb290SW5saW5lQm94LmxvZ2ljYWxCb3R0b20oKSB9OwogCiAgICAgICAgIGZvciAo
YXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkp
IHsKLSAgICAgICAgICAgIGlmICghaW5saW5lTGV2ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJv
eCgpIHx8ICFpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQorICAgICAgICAgICAgaWYgKCFp
bmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkgJiYgIWlubGluZUxldmVsQm94
LmlzSW5saW5lQm94KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwogICAgICAgICAg
ICAgYXV0byBib3JkZXJCb3ggPSBJbmxpbmVSZWN0IHsgfTsKIAotICAgICAgICAgICAgaWYgKGlu
bGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkKKyAgICAgICAgICAgIGlmIChp
bmxpbmVMZXZlbEJveC5pc0F0b21pY0lubGluZUxldmVsQm94KCkpIHsKICAgICAgICAgICAgICAg
ICBib3JkZXJCb3ggPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJbmxpbmVMZXZl
bEJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0
Qm94KSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgp
KQotICAgICAgICAgICAgICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZv
cklubGluZUJveChsYXlvdXRCb3gsIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3go
bGF5b3V0Qm94KSk7Ci0gICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYm9yZGVyQm94
Lm1vdmVCeShsaW5lQm94TG9naWNhbFJlY3QudG9wTGVmdCgpKTsKKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkgeworICAgICAgICAgICAgICAgIGF1
dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlv
dXRCb3gpOworICAgICAgICAgICAgICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRl
ckJveEZvcklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgICAg
ICBib3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkpOworICAgICAg
ICAgICAgICAgIC8vIENvbGxlY3Qgc2Nyb2xsYWJsZSBvdmVyZmxvdyBmcm9tIGlubGluZSBib3hl
cy4gQWxsIG90aGVyIGlubGluZSBsZXZlbCBib3hlcyAoZS5nIGF0b21pYyBpbmxpbmUgbGV2ZWwg
Ym94ZXMpIHN0cmV0Y2ggdGhlIGxpbmUuCisgICAgICAgICAgICAgICAgYXV0byBoYXNTY3JvbGxh
YmxlQ29udGVudCA9IFsmXSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEluIHN0YW5kYXJkcyBt
b2RlLCBpbmxpbmUgYm94ZXMgYWx3YXlzIHN0YXJ0IHdpdGggYW4gaW1hZ2luYXJ5IHN0cnV0Lgor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUoKS5pblN0YW5kYXJkc01vZGUo
KSB8fCBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCkgfHwgYm94R2VvbWV0cnkuaG9yaXpvbnRh
bEJvcmRlcigpIHx8IChib3hHZW9tZXRyeS5ob3Jpem9udGFsUGFkZGluZygpICYmIGJveEdlb21l
dHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgfTsKKyAg
ICAgICAgICAgICAgICBpZiAobGluZUJveC5oYXNDb250ZW50KCkgJiYgaGFzU2Nyb2xsYWJsZUNv
bnRlbnQoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBFbXB0eSBsaW5lcyAoZS5nLiBjb250
aW51YXRpb24gcHJlL3Bvc3QgYmxvY2tzKSBkb24ndCBleHBlY3Qgc2Nyb2xsYmFyIG92ZXJmbG93
LgorICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LmV4cGFuZFRvQ29u
dGFpbihib3JkZXJCb3gpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBib3Jk
ZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkpOwogICAgICAgICAgICAg
ZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1RvcEFuZEJvdHRv
bS50b3AsIGJvcmRlckJveC50b3AoKSk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0
b20uYm90dG9tID0gc3RkOjptYXgoZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSwgYm9yZGVy
Qm94LmJvdHRvbSgpKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gTGluZUdlb21ldHJ5IHsg
bGluZUJveExvZ2ljYWxSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHJvb3RJbmxpbmVCb3gu
bG9naWNhbFRvcCgpICsgcm9vdElubGluZUJveC5iYXNlbGluZSgpLCByb290SW5saW5lQm94Lmxv
Z2ljYWxMZWZ0KCksIHJvb3RJbmxpbmVCb3gubG9naWNhbFdpZHRoKCkgfTsKKyAgICAgICAgcmV0
dXJuIExpbmVHZW9tZXRyeSB7IGxpbmVCb3hMb2dpY2FsUmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93
UmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSAr
IHJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKSwgcm9vdElubGluZUJveC5sb2dpY2FsTGVmdCgpLCBy
b290SW5saW5lQm94LmxvZ2ljYWxXaWR0aCgpIH07CiAgICAgfTsKICAgICByZXR1cm4geyBsaW5l
Qm94LCBsaW5lR2VvbWV0cnkoKSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2Vv
bWV0cnkuaAppbmRleCBlNjIzNzRkMjExYWE2ZjVlYmVlNjYwZDg1NTRlMjZlM2MzZDZlOWQzLi5h
NmM3M2U2Y2E2YWZlMzI2NzMxZTgzOGYyMmIzMzM1YWMzNzBhODI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lR2Vv
bWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lR2VvbWV0cnkuaApAQCAtNDAsOSArNDAsMTAgQEAgcHVibGljOgogICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IHRvcCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBib3R0b20geyAwIH07CiAgICAgfTsKLSAgICBMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVj
dCYgbGluZUJveExvZ2ljYWxSZWN0LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CisgICAgTGluZUdlb21l
dHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVj
dCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExl
ZnQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CiAKICAgICBjb25zdCBJ
bmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hM
b2dpY2FsUmVjdDsgfQorICAgIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CiAKICAgICBFbmNsb3NpbmdU
b3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9lbmNs
b3NpbmdUb3BBbmRCb3R0b207IH0KIApAQCAtNTYsNiArNTcsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIC8vIFRoaXMgaXMgbGluZSBib3ggZ2VvbWV0cnkgKHNlZSBodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLWlubGluZS0zLyNsaW5lLWJveCkuCiAgICAgSW5saW5lUmVjdCBtX2xpbmVCb3hM
b2dpY2FsUmVjdDsKKyAgICBJbmxpbmVSZWN0IG1fc2Nyb2xsYWJsZU92ZXJmbG93OwogICAgIC8v
IEVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBpbmNsdWRlcyBhbGwgaW5saW5lIGxldmVsIGJveGVz
IChib3JkZXIgYm94KSB2ZXJ0aWNhbGx5LgogICAgIC8vIFdoaWxlIHRoZSBsaW5lIGJveCB1c3Vh
bGx5IGVuY2xvc2UgdGhlbSBhcyB3ZWxsLCBpdHMgdmVydGljYWwgZ2VvbWV0cnkgaXMgYmFzZWQg
b24KICAgICAvLyB0aGUgbGF5b3V0IGJvdW5kcyBvZiB0aGUgaW5saW5lIGxldmVsIGJveGVzIHdo
aWNoIG1heSBiZSBkaWZmZXJlbnQgd2hlbiBsaW5lLWhlaWdodCBpcyBwcmVzZW50LgpAQCAtNjUs
OCArNjcsOSBAQCBwcml2YXRlOgogICAgIElubGluZUxheW91dFVuaXQgbV9jb250ZW50TG9naWNh
bFdpZHRoIHsgMCB9OwogfTsKIAotaW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNv
bnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5nVG9wQW5kQm90dG9t
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5l
LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbFdpZHRoKQoraW5saW5lIExpbmVHZW9tZXRyeTo6TGluZUdlb21ldHJ5KGNv
bnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgSW5saW5lUmVjdCYgc2Ny
b2xsYWJsZU92ZXJmbG93LCBFbmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90
dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQg
Y29udGVudExvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgp
CiAgICAgOiBtX2xpbmVCb3hMb2dpY2FsUmVjdChsaW5lQm94TG9naWNhbFJlY3QpCisgICAgLCBt
X3Njcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3cpCiAgICAgLCBtX2VuY2xvc2lu
Z1RvcEFuZEJvdHRvbShlbmNsb3NpbmdUb3BBbmRCb3R0b20pCiAgICAgLCBtX2FsaWdtZW50QmFz
ZWxpbmUoYWxpZ21lbnRCYXNlbGluZSkKICAgICAsIG1fY29udGVudExvZ2ljYWxMZWZ0KGNvbnRl
bnRMb2dpY2FsTGVmdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcAppbmRleCA4OWZiYTM2OWQ1ZmQ1Yjg4ZDFmM2RhZTFmODJkYTE0NWM0NzI1ZjRh
Li40YmY1YWRmOGQ0ZmRiMmNmMjNjNjc0Yjg1MTU3ODkxY2M5YmYxNGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC00Niw3ICs0Niw3
IEBAIGlubGluZSBMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIG9w
ZXJhdG9yKyhjb25zdCBMYXlvdXQ6OkxpbmVHCiAgICAgcmV0dXJuIHsgZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLnRvcCArIG9mZnNldCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSArIG9mZnNl
dCB9OwogfQogCi1pbmxpbmUgc3RhdGljIGZsb2F0IGxpbmVPdmVyZmxvd1dpZHRoKGNvbnN0IFJl
bmRlckJsb2NrRmxvdyYgZmxvdywgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dp
Y2FsV2lkdGgsIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBsaW5lQ29udGVudExvZ2ljYWxXaWR0
aCkKK2lubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxv
Y2tGbG93JiBmbG93LCBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgbGluZUNvbnRlbnRMb2dpY2Fs
V2lkdGgpCiB7CiAgICAgLy8gRklYTUU6IEl0J3MgdGhlIGNvcHkgb2YgdGhlIGxldHMtYWRqdXN0
LW92ZXJmbG93LWZvci10aGUtY2FyZXQgYmVoYXZpb3IgZnJvbSBMZWdhY3lMaW5lTGF5b3V0Ojph
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbi4KICAgICBhdXRvIGVuZFBhZGRpbmcgPSBmbG93
Lmhhc05vblZpc2libGVPdmVyZmxvdygpID8gZmxvdy5wYWRkaW5nRW5kKCkgOiAwX2x1OwpAQCAt
NTQsMTMgKzU0LDExIEBAIGlubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29u
c3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBMYXlvdXQ6OklubGluCiAgICAgICAgIGVuZFBhZGRp
bmcgPSBmbG93LmVuZFBhZGRpbmdXaWR0aEZvckNhcmV0KCk7CiAgICAgaWYgKGZsb3cuaGFzTm9u
VmlzaWJsZU92ZXJmbG93KCkgJiYgIWVuZFBhZGRpbmcgJiYgZmxvdy5lbGVtZW50KCkgJiYgZmxv
dy5lbGVtZW50KCktPmlzUm9vdEVkaXRhYmxlRWxlbWVudCgpKQogICAgICAgICBlbmRQYWRkaW5n
ID0gMTsKLSAgICBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOwotICAgIHJl
dHVybiBzdGQ6Om1heChsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudExvZ2ljYWxXaWR0
aCk7CisgICAgcmV0dXJuIGxpbmVDb250ZW50TG9naWNhbFdpZHRoICsgZW5kUGFkZGluZzsKIH0K
IAotSW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IExheW91
dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2Nr
RmxvdywgY29uc3QgQm94VHJlZSYgYm94VHJlZSkKLSAgICA6IG1fbGF5b3V0U3RhdGUobGF5b3V0
U3RhdGUpCi0gICAgLCBtX2Jsb2NrRmxvdyhibG9ja0Zsb3cpCitJbmxpbmVDb250ZW50QnVpbGRl
cjo6SW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBibG9ja0Zsb3cs
IGNvbnN0IEJveFRyZWUmIGJveFRyZWUpCisgICAgOiBtX2Jsb2NrRmxvdyhibG9ja0Zsb3cpCiAg
ICAgLCBtX2JveFRyZWUoYm94VHJlZSkKIHsKIH0KQEAgLTgwLDkgKzc4LDkgQEAgdm9pZCBJbmxp
bmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0
dGluZ1N0YXRlJiBpbmwKICAgICBpbmxpbmVDb250ZW50LmxpbmVzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkobGluZXMuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBsaW5lSW5kZXggPSAwOyBsaW5l
SW5kZXggPCBsaW5lcy5zaXplKCk7ICsrbGluZUluZGV4KSB7CiAgICAgICAgIGF1dG8mIGxpbmUg
PSBsaW5lc1tsaW5lSW5kZXhdOwotICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBs
aW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB3aGVy
ZSB0aGUgbG9naWNhbCB0byBwaHlzaWNhbCB0cmFuc2xhdGUgc2hvdWxkIGhhcHBlbi4KLSAgICAg
ICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2lj
YWxSZWN0LmxlZnQoKSwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0
aChtX2Jsb2NrRmxvdywgbGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCksIGxpbmUuY29udGVudExv
Z2ljYWxXaWR0aCgpKSwgbGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07CisgICAgICAgIGF1
dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUuc2Nyb2xsYWJsZU92
ZXJmbG93KCkgfTsKKyAgICAgICAgaWYgKGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxv
d1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSk7IG92ZXJmbG93
V2lkdGggPiBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LndpZHRoKCkpCisgICAgICAgICAgICBzY3Jv
bGxhYmxlT3ZlcmZsb3dSZWN0LnNldFdpZHRoKG92ZXJmbG93V2lkdGgpOwogCiAgICAgICAgIGF1
dG8gZmlyc3RSdW5JbmRleCA9IHJ1bkluZGV4OwogICAgICAgICBhdXRvIGxpbmVJbmtPdmVyZmxv
d1JlY3QgPSBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0OwpAQCAtOTMsMTcgKzkxLDYgQEAgdm9pZCBJ
bmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6SW5saW5lRm9y
bWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUo
cnVuLmlua092ZXJmbG93KCkpOwogCiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4u
bGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICBpZiAocnVuLmlzTm9uUm9vdElubGluZUJveCgpKSB7
Ci0gICAgICAgICAgICAgICAgLy8gQ29sbGVjdCBzY3JvbGxhYmxlIG92ZXJmbG93IGZyb20gaW5s
aW5lIGJveGVzLiBBbGwgb3RoZXIgaW5saW5lIGxldmVsIGJveGVzIChlLmcgYXRvbWljIGlubGlu
ZSBsZXZlbCBib3hlcykgc3RyZXRjaCB0aGUgbGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIGhh
c1Njcm9sbGFibGVDb250ZW50ID0gWyZdIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gSW4gc3Rh
bmRhcmRzIG1vZGUsIGlubGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBhbiBpbWFnaW5hcnkg
c3RydXQuCi0gICAgICAgICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBtX2xheW91dFN0YXRlLmluU3RhbmRhcmRzTW9kZSgpIHx8IHJ1bi5oYXNDb250ZW50
KCkgfHwgYm94R2VvbWV0cnkuaG9yaXpvbnRhbEJvcmRlcigpIHx8IChib3hHZW9tZXRyeS5ob3Jp
em9udGFsUGFkZGluZygpICYmIGJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWUo
KSk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICBpZiAoaGFzU2Nyb2xsYWJs
ZUNvbnRlbnQoKSkKLSAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdC51
bml0ZShydW4ubG9naWNhbFJlY3QoKSk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkgewog
ICAgICAgICAgICAgICAgIC8vIFNpbWlsYXIgdG8gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkUmVw
bGFjZWRDaGlsZE92ZXJmbG93LgogICAgICAgICAgICAgICAgIGF1dG8mIGJveCA9IGRvd25jYXN0
PFJlbmRlckJveD4obV9ib3hUcmVlLnJlbmRlcmVyRm9yTGF5b3V0Qm94KGxheW91dEJveCkpOwpA
QCAtMTE2LDE1ICsxMDMsMTEgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlz
cGxheUxpbmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAg
ICAgICBhdXRvIGNoaWxkU2Nyb2xsYWJsZU92ZXJmbG93ID0gYm94LmxvZ2ljYWxMYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbigmYm94LnBhcmVudCgpLT5zdHlsZSgpKTsKICAgICAgICAg
ICAgICAgICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKHJ1bkxvZ2ljYWxSZWN0LmxlZnQo
KSwgcnVuTG9naWNhbFJlY3QudG9wKCkpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVy
Zmxvd1JlY3QudW5pdGUoY2hpbGRTY3JvbGxhYmxlT3ZlcmZsb3cpOwotICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0KLSAgICAgICAgYXV0byBhZGp1
c3RlZExpbmVCb3hSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2ljYWxSZWN0IH07Ci0gICAg
ICAgIC8vIEZpbmFsIGVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSB2YWx1ZXMgYXJlIGluIHRoZSBz
YW1lIGNvb3JkaW5hdGUgc3BhY2UgYXMgdGhlIGxpbmUgaXRzZWxmLgotICAgICAgICBhdXRvIGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSA9IGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgKyBsaW5l
Qm94TG9naWNhbFJlY3QudG9wKCk7CisgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0g
RmxvYXRSZWN0IHsgbGluZS5saW5lQm94TG9naWNhbFJlY3QoKSB9OwogICAgICAgICBhdXRvIHJ1
bkNvdW50ID0gcnVuSW5kZXggLSBmaXJzdFJ1bkluZGV4OwotICAgICAgICBpbmxpbmVDb250ZW50
LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBhZGp1c3RlZExpbmVCb3hS
ZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90
dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJh
c2VsaW5lKCksIGxpbmUuY29udGVudExvZ2ljYWxMZWZ0KCksIGxpbmUuY29udGVudExvZ2ljYWxX
aWR0aCgpIH0pOworICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVu
SW5kZXgsIHJ1bkNvdW50LCBsaW5lQm94TG9naWNhbFJlY3QsIGxpbmUuZW5jbG9zaW5nVG9wQW5k
Qm90dG9tKCkudG9wLCBsaW5lLmVuY2xvc2luZ1RvcEFuZEJvdHRvbSgpLmJvdHRvbSwgc2Nyb2xs
YWJsZU92ZXJmbG93UmVjdCwgbGluZUlua092ZXJmbG93UmVjdCwgbGluZS5iYXNlbGluZSgpLCBs
aW5lLmNvbnRlbnRMb2dpY2FsTGVmdCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSB9KTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5oCmluZGV4IDMzMjA0NWRjNzk0ZDVlNWEzNDI5YWQxZmY1NTkxNGQyMjU2OTAzNWQuLjg3YTkw
OTcxYWViOTc0YzAzYmYzNjI5ZTRmMjA3ZDJkOGZhMWQ2MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaApAQCAtNDEsMTQgKzQxLDEzIEBAIHN0cnVj
dCBJbmxpbmVDb250ZW50OwogCiBjbGFzcyBJbmxpbmVDb250ZW50QnVpbGRlciB7CiBwdWJsaWM6
Ci0gICAgSW5saW5lQ29udGVudEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYsIGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IEJveFRyZWUmKTsKKyAgICBJbmxpbmVDb250ZW50
QnVpbGRlcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBjb25zdCBCb3hUcmVlJik7CiAKICAgICB2
b2lkIGJ1aWxkKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiwgSW5saW5lQ29udGVudCYp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlRGlzcGxheUxpbmVzKExheW91dDo6
SW5saW5lRm9ybWF0dGluZ1N0YXRlJiwgSW5saW5lQ29udGVudCYpIGNvbnN0OwogCi0gICAgY29u
c3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbV9sYXlvdXRTdGF0ZTsKICAgICBjb25zdCBSZW5kZXJC
bG9ja0Zsb3cmIG1fYmxvY2tGbG93OwogICAgIGNvbnN0IEJveFRyZWUmIG1fYm94VHJlZTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4IDI0ODg3ZDY2YTA5MjM1OGFk
MTkxNDc2MTQyOGU4YzE2OGU1NWVlZjUuLjVlYmU3NTk3OTcwYTkxMzg1NDAyYWUzODI0NWYwYTM3
MzE5NTI2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC0yMjYsNyAr
MjI2LDcgQEAgdm9pZCBMaW5lTGF5b3V0OjpsYXlvdXQoKQogCiB2b2lkIExpbmVMYXlvdXQ6OmNv
bnN0cnVjdENvbnRlbnQoKQogewotICAgIGF1dG8gaW5saW5lQ29udGVudEJ1aWxkZXIgPSBJbmxp
bmVDb250ZW50QnVpbGRlciB7IG1fbGF5b3V0U3RhdGUsIGZsb3coKSwgbV9ib3hUcmVlIH07Cisg
ICAgYXV0byBpbmxpbmVDb250ZW50QnVpbGRlciA9IElubGluZUNvbnRlbnRCdWlsZGVyIHsgZmxv
dygpLCBtX2JveFRyZWUgfTsKICAgICBpbmxpbmVDb250ZW50QnVpbGRlci5idWlsZChtX2lubGlu
ZUZvcm1hdHRpbmdTdGF0ZSwgZW5zdXJlSW5saW5lQ29udGVudCgpKTsKICAgICBBU1NFUlQobV9p
bmxpbmVDb250ZW50KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438003</attachid>
            <date>2021-09-12 18:55:56 -0700</date>
            <delta_ts>2021-09-12 19:14:46 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-230200-20210912185555.patch</filename>
            <type>text/plain</type>
            <size>15313</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjZDZiMjgwNjA5ODA0
NWNkNTQ5NTQ2MTBkOGEyZTg2YzE3NzBlYi4uNTRiNTNlNzFkZTc0MWU4OTdiZDk3YWVlYjMzOWM5
OTIzMGFiMjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA5LTEyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzY3Jv
bGxhYmxlIG92ZXJmbG93IHRvIExpbmVHZW9tZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5n
IHRoZSBpbnRlZ3JhdGlvbiBsaW5lIHN0cnVjdHVyZSByZWR1bmRhbnQuCisgICAgICAgIChMaW5l
R2VvbWV0cnkgc2hvdWxkIGJlIGFibGUgdG8gY29udGFpbiBhbGwgdGhlIGdlb21ldHJ5IGluZm9y
bWF0aW9uIHJlcXVpcmVkIGZvciBsYXlvdXQvcGFpbnQvaGl0dGVzdCkuCisKKyAgICAgICAgKiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUdlb21ldHJ5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVHZW9tZXRyeTo6c2Nyb2xsYWJsZU92
ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUdlb21ldHJ5OjpM
aW5lR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OklubGluZUNvbnRlbnRCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oOgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRl
bnQpOgorCiAyMDIxLTA5LTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIHJlc3Qgb2YgdGhlIExlZ2FjeUlubGluZVRleHRCb3ggcGFpbnRpbmcgY29k
ZSB0byBUZXh0Qm94UGFpbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1
aWxkZXIuY3BwCmluZGV4IDZjYzUyYzExZDNmNDk0NjMxMzQxZGE1ZDhhMzI2YzhmMmRmNGJjNmIu
LjliYzdhYzU2ZDVlNzNiMzE1Njg2ZGMwNWJmM2ZhOWQxNmVkNGJlOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTEyMCwyOCArMTIwLDQwIEBA
IExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QW5kR2VvbWV0cnkgTGluZUJveEJ1aWxkZXI6OmJ1aWxk
KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lCiAKICAgICBhdXRvIGxpbmVHZW9tZXRyeSA9IFsmXSB7
CiAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVDb250
ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBsaW5lQm94
TG9naWNhbEhlaWdodCB9OworICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBs
aW5lQm94TG9naWNhbFJlY3Q7CiAgICAgICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBsaW5lQm94
LnJvb3RJbmxpbmVCb3goKTsKLSAgICAgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBM
aW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IHJvb3RJbmxpbmVCb3gubG9naWNh
bFRvcCgpLCByb290SW5saW5lQm94LmxvZ2ljYWxCb3R0b20oKSB9OworICAgICAgICBhdXRvIGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbSA9IExpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9t
IHsgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpICsgcm9vdElubGluZUJveC5sb2dpY2FsVG9wKCks
IGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSArIHJvb3RJbmxpbmVCb3gubG9naWNhbEJvdHRvbSgp
IH07CiAKICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9v
dElubGluZUxldmVsQm94ZXMoKSkgewotICAgICAgICAgICAgaWYgKCFpbmxpbmVMZXZlbEJveC5p
c0F0b21pY0lubGluZUxldmVsQm94KCkgfHwgIWlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkp
CisgICAgICAgICAgICBpZiAoIWlubGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSAmJiAhaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gubGF5
b3V0Qm94KCk7CiAgICAgICAgICAgICBhdXRvIGJvcmRlckJveCA9IElubGluZVJlY3QgeyB9Owog
Ci0gICAgICAgICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgp
KQorICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSkgewogICAgICAgICAgICAgICAgIGJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJv
eEZvckF0b21pY0lubGluZUxldmVsQm94KGxheW91dEJveCwgZm9ybWF0dGluZ0NvbnRleHQoKS5n
ZW9tZXRyeUZvckJveChsYXlvdXRCb3gpKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGlubGluZUxl
dmVsQm94LmlzSW5saW5lQm94KCkpCi0gICAgICAgICAgICAgICAgYm9yZGVyQm94ID0gbGluZUJv
eC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgZm9ybWF0dGluZ0NvbnRl
eHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpKTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBib3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BMZWZ0KCkp
OworICAgICAgICAgICAgfSBlbHNlIGlmIChpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKSB7
CisgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgp
Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgICAgICAgICAgICAgYm9yZGVyQm94ID0g
bGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgYm94R2VvbWV0
cnkpOworICAgICAgICAgICAgICAgIGJvcmRlckJveC5tb3ZlQnkobGluZUJveExvZ2ljYWxSZWN0
LnRvcExlZnQoKSk7CisgICAgICAgICAgICAgICAgLy8gQ29sbGVjdCBzY3JvbGxhYmxlIG92ZXJm
bG93IGZyb20gaW5saW5lIGJveGVzLiBBbGwgb3RoZXIgaW5saW5lIGxldmVsIGJveGVzIChlLmcg
YXRvbWljIGlubGluZSBsZXZlbCBib3hlcykgc3RyZXRjaCB0aGUgbGluZS4KKyAgICAgICAgICAg
ICAgICBhdXRvIGhhc1Njcm9sbGFibGVDb250ZW50ID0gWyZdIHsKKyAgICAgICAgICAgICAgICAg
ICAgLy8gSW4gc3RhbmRhcmRzIG1vZGUsIGlubGluZSBib3hlcyBhbHdheXMgc3RhcnQgd2l0aCBh
biBpbWFnaW5hcnkgc3RydXQuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXlvdXRTdGF0
ZSgpLmluU3RhbmRhcmRzTW9kZSgpIHx8IGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSB8fCBi
b3hHZW9tZXRyeS5ob3Jpem9udGFsQm9yZGVyKCkgfHwgKGJveEdlb21ldHJ5Lmhvcml6b250YWxQ
YWRkaW5nKCkgJiYgYm94R2VvbWV0cnkuaG9yaXpvbnRhbFBhZGRpbmcoKS52YWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIGlmIChsaW5lQm94Lmhhc0NvbnRlbnQo
KSAmJiBoYXNTY3JvbGxhYmxlQ29udGVudCgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEVt
cHR5IGxpbmVzIChlLmcuIGNvbnRpbnVhdGlvbiBwcmUvcG9zdCBibG9ja3MpIGRvbid0IGV4cGVj
dCBzY3JvbGxiYXIgb3ZlcmZsb3cuCisgICAgICAgICAgICAgICAgICAgIHNjcm9sbGFibGVPdmVy
Zmxvd1JlY3QuZXhwYW5kVG9Db250YWluKGJvcmRlckJveCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAKLSAgICAgICAgICAgIGJvcmRlckJveC5tb3ZlQnkobGluZUJveExvZ2ljYWxSZWN0LnRvcExl
ZnQoKSk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wID0gc3RkOjptaW4o
ZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgYm9yZGVyQm94LnRvcCgpKTsKICAgICAgICAgICAg
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRC
b3R0b20uYm90dG9tLCBib3JkZXJCb3guYm90dG9tKCkpOwogICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBMaW5lR2VvbWV0cnkgeyBsaW5lQm94TG9naWNhbFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJv
dHRvbSwgcm9vdElubGluZUJveC5sb2dpY2FsVG9wKCkgKyByb290SW5saW5lQm94LmJhc2VsaW5l
KCksIHJvb3RJbmxpbmVCb3gubG9naWNhbExlZnQoKSwgcm9vdElubGluZUJveC5sb2dpY2FsV2lk
dGgoKSB9OworICAgICAgICByZXR1cm4gTGluZUdlb21ldHJ5IHsgbGluZUJveExvZ2ljYWxSZWN0
LCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHJvb3RJbmxp
bmVCb3gubG9naWNhbFRvcCgpICsgcm9vdElubGluZUJveC5iYXNlbGluZSgpLCByb290SW5saW5l
Qm94LmxvZ2ljYWxMZWZ0KCksIHJvb3RJbmxpbmVCb3gubG9naWNhbFdpZHRoKCkgfTsKICAgICB9
OwogICAgIHJldHVybiB7IGxpbmVCb3gsIGxpbmVHZW9tZXRyeSgpIH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCmluZGV4IGU2MjM3NGQyMTFhYTZmNWViZWU2NjBk
ODU1NGUyNmUzYzNkNmU5ZDMuLmE2YzczZTZjYTZhZmUzMjY3MzFlODM4ZjIyYjMzMzVhYzM3MGE4
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVHZW9tZXRyeS5oCkBAIC00MCw5ICs0
MCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIElubGluZUxheW91dFVuaXQgdG9wIHsgMCB9OwogICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IGJvdHRvbSB7IDAgfTsKICAgICB9OwotICAgIExpbmVHZW9t
ZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIEVuY2xvc2luZ1RvcEFu
ZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdp
ZHRoKTsKKyAgICBMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxS
ZWN0LCBjb25zdCBJbmxpbmVSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIEVuY2xvc2luZ1RvcEFu
ZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdp
ZHRoKTsKIAogICAgIGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxSZWN0OyB9CisgICAgY29uc3QgSW5saW5lUmVjdCYg
c2Nyb2xsYWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlT3ZlcmZsb3c7
IH0KIAogICAgIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20oKSBj
b25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbTsgfQogCkBAIC01Niw2ICs1Nyw3
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gVGhpcyBpcyBsaW5lIGJveCBnZW9tZXRyeSAo
c2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtaW5saW5lLTMvI2xpbmUtYm94KS4KICAgICBJ
bmxpbmVSZWN0IG1fbGluZUJveExvZ2ljYWxSZWN0OworICAgIElubGluZVJlY3QgbV9zY3JvbGxh
YmxlT3ZlcmZsb3c7CiAgICAgLy8gRW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIGluY2x1ZGVzIGFs
bCBpbmxpbmUgbGV2ZWwgYm94ZXMgKGJvcmRlciBib3gpIHZlcnRpY2FsbHkuCiAgICAgLy8gV2hp
bGUgdGhlIGxpbmUgYm94IHVzdWFsbHkgZW5jbG9zZSB0aGVtIGFzIHdlbGwsIGl0cyB2ZXJ0aWNh
bCBnZW9tZXRyeSBpcyBiYXNlZCBvbgogICAgIC8vIHRoZSBsYXlvdXQgYm91bmRzIG9mIHRoZSBp
bmxpbmUgbGV2ZWwgYm94ZXMgd2hpY2ggbWF5IGJlIGRpZmZlcmVudCB3aGVuIGxpbmUtaGVpZ2h0
IGlzIHByZXNlbnQuCkBAIC02NSw4ICs2Nyw5IEBAIHByaXZhdGU6CiAgICAgSW5saW5lTGF5b3V0
VW5pdCBtX2NvbnRlbnRMb2dpY2FsV2lkdGggeyAwIH07CiB9OwogCi1pbmxpbmUgTGluZUdlb21l
dHJ5OjpMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBF
bmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRV
bml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0
LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpCitpbmxpbmUgTGluZUdlb21l
dHJ5OjpMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBj
b25zdCBJbmxpbmVSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIEVuY2xvc2luZ1RvcEFuZEJvdHRv
bSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGlu
ZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQg
Y29udGVudExvZ2ljYWxXaWR0aCkKICAgICA6IG1fbGluZUJveExvZ2ljYWxSZWN0KGxpbmVCb3hM
b2dpY2FsUmVjdCkKKyAgICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxv
dykKICAgICAsIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tKGVuY2xvc2luZ1RvcEFuZEJvdHRvbSkK
ICAgICAsIG1fYWxpZ21lbnRCYXNlbGluZShhbGlnbWVudEJhc2VsaW5lKQogICAgICwgbV9jb250
ZW50TG9naWNhbExlZnQoY29udGVudExvZ2ljYWxMZWZ0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDg5ZmJhMzY5ZDVmZDViODhkMWYz
ZGFlMWY4MmRhMTQ1YzQ3MjVmNGEuLjRiZjVhZGY4ZDRmZGIyY2YyM2M2NzRiODUxNTc4OTFjYzli
ZjE0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgaW5saW5lIExheW91dDo6TGluZUdlb21ldHJ5OjpFbmNs
b3NpbmdUb3BBbmRCb3R0b20gb3BlcmF0b3IrKGNvbnN0IExheW91dDo6TGluZUcKICAgICByZXR1
cm4geyBlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wICsgb2Zmc2V0LCBlbmNsb3NpbmdUb3BBbmRC
b3R0b20uYm90dG9tICsgb2Zmc2V0IH07CiB9CiAKLWlubGluZSBzdGF0aWMgZmxvYXQgbGluZU92
ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBMYXlvdXQ6OklubGluZUxh
eW91dFVuaXQgbGluZUJveExvZ2ljYWxXaWR0aCwgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxp
bmVDb250ZW50TG9naWNhbFdpZHRoKQoraW5saW5lIHN0YXRpYyBmbG9hdCBsaW5lT3ZlcmZsb3dX
aWR0aChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIExheW91dDo6SW5saW5lTGF5b3V0VW5p
dCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCkKIHsKICAgICAvLyBGSVhNRTogSXQncyB0aGUgY29w
eSBvZiB0aGUgbGV0cy1hZGp1c3Qtb3ZlcmZsb3ctZm9yLXRoZS1jYXJldCBiZWhhdmlvciBmcm9t
IExlZ2FjeUxpbmVMYXlvdXQ6OmFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuLgogICAgIGF1
dG8gZW5kUGFkZGluZyA9IGZsb3cuaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgPyBmbG93LnBhZGRp
bmdFbmQoKSA6IDBfbHU7CkBAIC01NCwxMyArNTQsMTEgQEAgaW5saW5lIHN0YXRpYyBmbG9hdCBs
aW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIExheW91dDo6SW5s
aW4KICAgICAgICAgZW5kUGFkZGluZyA9IGZsb3cuZW5kUGFkZGluZ1dpZHRoRm9yQ2FyZXQoKTsK
ICAgICBpZiAoZmxvdy5oYXNOb25WaXNpYmxlT3ZlcmZsb3coKSAmJiAhZW5kUGFkZGluZyAmJiBm
bG93LmVsZW1lbnQoKSAmJiBmbG93LmVsZW1lbnQoKS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkp
CiAgICAgICAgIGVuZFBhZGRpbmcgPSAxOwotICAgIGxpbmVDb250ZW50TG9naWNhbFdpZHRoICs9
IGVuZFBhZGRpbmc7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KGxpbmVCb3hMb2dpY2FsV2lkdGgsIGxp
bmVDb250ZW50TG9naWNhbFdpZHRoKTsKKyAgICByZXR1cm4gbGluZUNvbnRlbnRMb2dpY2FsV2lk
dGggKyBlbmRQYWRkaW5nOwogfQogCi1JbmxpbmVDb250ZW50QnVpbGRlcjo6SW5saW5lQ29udGVu
dEJ1aWxkZXIoY29uc3QgTGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IFJl
bmRlckJsb2NrRmxvdyYgYmxvY2tGbG93LCBjb25zdCBCb3hUcmVlJiBib3hUcmVlKQotICAgIDog
bV9sYXlvdXRTdGF0ZShsYXlvdXRTdGF0ZSkKLSAgICAsIG1fYmxvY2tGbG93KGJsb2NrRmxvdykK
K0lubGluZUNvbnRlbnRCdWlsZGVyOjpJbmxpbmVDb250ZW50QnVpbGRlcihjb25zdCBSZW5kZXJC
bG9ja0Zsb3cmIGJsb2NrRmxvdywgY29uc3QgQm94VHJlZSYgYm94VHJlZSkKKyAgICA6IG1fYmxv
Y2tGbG93KGJsb2NrRmxvdykKICAgICAsIG1fYm94VHJlZShib3hUcmVlKQogewogfQpAQCAtODAs
OSArNzgsOSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMo
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGlubAogICAgIGlubGluZUNvbnRlbnQubGlu
ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShsaW5lcy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90
IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgpIHsK
ICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgIGF1dG8mIGxp
bmVCb3hMb2dpY2FsUmVjdCA9IGxpbmUubGluZUJveExvZ2ljYWxSZWN0KCk7Ci0gICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBsb2dpY2FsIHRvIHBoeXNpY2FsIHRyYW5zbGF0ZSBz
aG91bGQgaGFwcGVuLgotICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9h
dFJlY3QgeyBsaW5lQm94TG9naWNhbFJlY3QubGVmdCgpLCBsaW5lQm94TG9naWNhbFJlY3QudG9w
KCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lQm94TG9naWNhbFJlY3Qud2lk
dGgoKSwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpLCBsaW5lQm94TG9naWNhbFJlY3QuaGVp
Z2h0KCkgfTsKKyAgICAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0
IHsgbGluZS5zY3JvbGxhYmxlT3ZlcmZsb3coKSB9OworICAgICAgICBpZiAoYXV0byBvdmVyZmxv
d1dpZHRoID0gbGluZU92ZXJmbG93V2lkdGgobV9ibG9ja0Zsb3csIGxpbmUuY29udGVudExvZ2lj
YWxXaWR0aCgpKTsgb3ZlcmZsb3dXaWR0aCA+IHNjcm9sbGFibGVPdmVyZmxvd1JlY3Qud2lkdGgo
KSkKKyAgICAgICAgICAgIHNjcm9sbGFibGVPdmVyZmxvd1JlY3Quc2V0V2lkdGgob3ZlcmZsb3dX
aWR0aCk7CiAKICAgICAgICAgYXV0byBmaXJzdFJ1bkluZGV4ID0gcnVuSW5kZXg7CiAgICAgICAg
IGF1dG8gbGluZUlua092ZXJmbG93UmVjdCA9IHNjcm9sbGFibGVPdmVyZmxvd1JlY3Q7CkBAIC05
MywxNyArOTEsNiBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGlu
ZXMoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGlubAogICAgICAgICAgICAgbGluZUlu
a092ZXJmbG93UmVjdC51bml0ZShydW4uaW5rT3ZlcmZsb3coKSk7CiAKICAgICAgICAgICAgIGF1
dG8mIGxheW91dEJveCA9IHJ1bi5sYXlvdXRCb3goKTsKLSAgICAgICAgICAgIGlmIChydW4uaXNO
b25Sb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBDb2xsZWN0IHNjcm9sbGFi
bGUgb3ZlcmZsb3cgZnJvbSBpbmxpbmUgYm94ZXMuIEFsbCBvdGhlciBpbmxpbmUgbGV2ZWwgYm94
ZXMgKGUuZyBhdG9taWMgaW5saW5lIGxldmVsIGJveGVzKSBzdHJldGNoIHRoZSBsaW5lLgotICAg
ICAgICAgICAgICAgIGF1dG8gaGFzU2Nyb2xsYWJsZUNvbnRlbnQgPSBbJl0gewotICAgICAgICAg
ICAgICAgICAgICAvLyBJbiBzdGFuZGFyZHMgbW9kZSwgaW5saW5lIGJveGVzIGFsd2F5cyBzdGFy
dCB3aXRoIGFuIGltYWdpbmFyeSBzdHJ1dC4KLSAgICAgICAgICAgICAgICAgICAgYXV0byYgYm94
R2VvbWV0cnkgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94KTsK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1fbGF5b3V0U3RhdGUuaW5TdGFuZGFyZHNNb2Rl
KCkgfHwgcnVuLmhhc0NvbnRlbnQoKSB8fCBib3hHZW9tZXRyeS5ob3Jpem9udGFsQm9yZGVyKCkg
fHwgKGJveEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkgJiYgYm94R2VvbWV0cnkuaG9yaXpv
bnRhbFBhZGRpbmcoKS52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAg
ICAgIGlmIChoYXNTY3JvbGxhYmxlQ29udGVudCgpKQotICAgICAgICAgICAgICAgICAgICBzY3Jv
bGxhYmxlT3ZlcmZsb3dSZWN0LnVuaXRlKHJ1bi5sb2dpY2FsUmVjdCgpKTsKLSAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsYXlvdXRCb3gu
aXNSZXBsYWNlZEJveCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gU2ltaWxhciB0byBMZWdhY3lJ
bmxpbmVGbG93Qm94OjphZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3cuCiAgICAgICAgICAgICAgICAg
YXV0byYgYm94ID0gZG93bmNhc3Q8UmVuZGVyQm94PihtX2JveFRyZWUucmVuZGVyZXJGb3JMYXlv
dXRCb3gobGF5b3V0Qm94KSk7CkBAIC0xMTYsMTUgKzEwMywxMSBAQCB2b2lkIElubGluZUNvbnRl
bnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3Rh
dGUmIGlubAogICAgICAgICAgICAgICAgIGF1dG8gY2hpbGRTY3JvbGxhYmxlT3ZlcmZsb3cgPSBi
b3gubG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKCZib3gucGFyZW50KCkt
PnN0eWxlKCkpOwogICAgICAgICAgICAgICAgIGNoaWxkU2Nyb2xsYWJsZU92ZXJmbG93Lm1vdmUo
cnVuTG9naWNhbFJlY3QubGVmdCgpLCBydW5Mb2dpY2FsUmVjdC50b3AoKSk7CiAgICAgICAgICAg
ICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdC51bml0ZShjaGlsZFNjcm9sbGFibGVPdmVyZmxv
dyk7Ci0gICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
LQotICAgICAgICBhdXRvIGFkanVzdGVkTGluZUJveFJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lQm94
TG9naWNhbFJlY3QgfTsKLSAgICAgICAgLy8gRmluYWwgZW5jbG9zaW5nIHRvcCBhbmQgYm90dG9t
IHZhbHVlcyBhcmUgaW4gdGhlIHNhbWUgY29vcmRpbmF0ZSBzcGFjZSBhcyB0aGUgbGluZSBpdHNl
bGYuCi0gICAgICAgIGF1dG8gZW5jbG9zaW5nVG9wQW5kQm90dG9tID0gbGluZS5lbmNsb3NpbmdU
b3BBbmRCb3R0b20oKSArIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKTsKKyAgICAgICAgYXV0byBs
aW5lQm94TG9naWNhbFJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgp
IH07CiAgICAgICAgIGF1dG8gcnVuQ291bnQgPSBydW5JbmRleCAtIGZpcnN0UnVuSW5kZXg7Ci0g
ICAgICAgIGlubGluZUNvbnRlbnQubGluZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVuQ291
bnQsIGFkanVzdGVkTGluZUJveFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AsIGVuY2xv
c2luZ1RvcEFuZEJvdHRvbS5ib3R0b20sIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtP
dmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5jb250ZW50TG9naWNhbExlZnQoKSwg
bGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgfSk7CisgICAgICAgIGlubGluZUNvbnRlbnQubGlu
ZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVuQ291bnQsIGxpbmVCb3hMb2dpY2FsUmVjdCwg
bGluZS5lbmNsb3NpbmdUb3BBbmRCb3R0b20oKS50b3AsIGxpbmUuZW5jbG9zaW5nVG9wQW5kQm90
dG9tKCkuYm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0
LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29udGVudExvZ2ljYWxMZWZ0KCksIGxpbmUuY29udGVu
dExvZ2ljYWxXaWR0aCgpIH0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggMzMyMDQ1ZGM3OTRkNWU1YTM0MjlhZDFmZjU1
OTE0ZDIyNTY5MDM1ZC4uODdhOTA5NzFhZWI5NzRjMDNiZjM2MjllNGYyMDdkMmQ4ZmExZDYzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC00
MSwxNCArNDEsMTMgQEAgc3RydWN0IElubGluZUNvbnRlbnQ7CiAKIGNsYXNzIElubGluZUNvbnRl
bnRCdWlsZGVyIHsKIHB1YmxpYzoKLSAgICBJbmxpbmVDb250ZW50QnVpbGRlcihjb25zdCBMYXlv
dXQ6OkxheW91dFN0YXRlJiwgY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgY29uc3QgQm94VHJlZSYp
OworICAgIElubGluZUNvbnRlbnRCdWlsZGVyKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0
IEJveFRyZWUmKTsKIAogICAgIHZvaWQgYnVpbGQoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3Rh
dGUmLCBJbmxpbmVDb250ZW50JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVE
aXNwbGF5TGluZXMoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUmLCBJbmxpbmVDb250ZW50
JikgY29uc3Q7CiAKLSAgICBjb25zdCBMYXlvdXQ6OkxheW91dFN0YXRlJiBtX2xheW91dFN0YXRl
OwogICAgIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgbV9ibG9ja0Zsb3c7CiAgICAgY29uc3QgQm94
VHJlZSYgbV9ib3hUcmVlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5k
ZXggMjQ4ODdkNjZhMDkyMzU4YWQxOTE0NzYxNDI4ZThjMTY4ZTU1ZWVmNS4uNWViZTc1OTc5NzBh
OTEzODU0MDJhZTM4MjQ1ZjBhMzczMTk1MjZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5jcHAKQEAgLTIyNiw3ICsyMjYsNyBAQCB2b2lkIExpbmVMYXlvdXQ6OmxheW91dCgpCiAK
IHZvaWQgTGluZUxheW91dDo6Y29uc3RydWN0Q29udGVudCgpCiB7Ci0gICAgYXV0byBpbmxpbmVD
b250ZW50QnVpbGRlciA9IElubGluZUNvbnRlbnRCdWlsZGVyIHsgbV9sYXlvdXRTdGF0ZSwgZmxv
dygpLCBtX2JveFRyZWUgfTsKKyAgICBhdXRvIGlubGluZUNvbnRlbnRCdWlsZGVyID0gSW5saW5l
Q29udGVudEJ1aWxkZXIgeyBmbG93KCksIG1fYm94VHJlZSB9OwogICAgIGlubGluZUNvbnRlbnRC
dWlsZGVyLmJ1aWxkKG1faW5saW5lRm9ybWF0dGluZ1N0YXRlLCBlbnN1cmVJbmxpbmVDb250ZW50
KCkpOwogICAgIEFTU0VSVChtX2lubGluZUNvbnRlbnQpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>