<?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>234728</bug_id>
          
          <creation_ts>2021-12-28 10:13:34 -0800</creation_ts>
          <short_desc>[LFC][IFC] Do not let Layout geometry types leak into InlineDisplay::Box</short_desc>
          <delta_ts>2021-12-28 13:18:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827099</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-28 10:13:34 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827101</commentid>
    <comment_count>1</comment_count>
      <attachid>448049</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-28 10:19:30 -0800</bug_when>
    <thetext>Created attachment 448049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827105</commentid>
    <comment_count>2</comment_count>
      <attachid>448049</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-28 10:26:35 -0800</bug_when>
    <thetext>Comment on attachment 448049
Patch

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

&gt; Source/WebCore/platform/graphics/FloatRect.h:298
&gt; +inline void FloatRect::inflate(float dx, float dy, float dmaxX, float dmaxY)

what is dmax?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827106</commentid>
    <comment_count>3</comment_count>
      <attachid>448052</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-28 10:32:02 -0800</bug_when>
    <thetext>Created attachment 448052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827118</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-28 13:17:18 -0800</bug_when>
    <thetext>Committed r287475 (245610@main): &lt;https://commits.webkit.org/245610@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448052.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827119</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-28 13:18:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86964344&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448049</attachid>
            <date>2021-12-28 10:19:30 -0800</date>
            <delta_ts>2021-12-28 10:31:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234728-20211228101928.patch</filename>
            <type>text/plain</type>
            <size>17740</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkODFkMWRlNDBkYTc1
ZDc3NDc4NzQ2NjgxYjQ0MWI5M2Y0NmQxNy4uY2RjMmQyMzFjYzExMjY0MjQxZTgzY2MwZjMwZjEw
M2JmOWExYjNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTI4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIERvIG5vdCBs
ZXQgTGF5b3V0IGdlb21ldHJ5IHR5cGVzIGxlYWsgaW50byBJbmxpbmVEaXNwbGF5OjpCb3gKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDcyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElubGluZUxheW91
dFVuaXQgLT4gZmxvYXQKKyAgICAgICAgSW5saW5lUmVjdCAtPiBGbG9hdFJlY3QKKyAgICAgICAg
KFRoaXMgaXMgYWxzbyB3aGVyZSB3ZSB3aWxsIGV2ZW50dWFsbHkgZG8gc29tZSBwaXhlbCBzbmFw
cGluZykKKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3Bs
YXkvSW5saW5lRGlzcGxheUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6
Qm94OjpCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpyZWN0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aW5rT3ZlcmZsb3cg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojp0b3AgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojpib3R0b20gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpsZWZ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6cmlnaHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojp3aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZURpc3BsYXk6OkJveDo6bW92ZUhvcml6b250YWxseSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmFkanVzdElua092ZXJmbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0TGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldFJpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3Bs
YXk6OkJveDo6c2V0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6
OnRydW5jYXRlKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OmNvbXB1dGVCb3hTaGFkb3dJbmtPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kQXRvbWljSW5saW5l
TGV2ZWxEaXNwbGF5Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyOjphcHBlbmRJbmxpbmVCb3hEaXNwbGF5Qm94KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRTcGFubmlu
Z0lubGluZUJveERpc3BsYXlCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyk6CisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6c2hvd0lubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OnNob3dJbmxp
bmVUcmVlQW5kUnVucyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpGbG9hdFJlY3Q6OmluZmxhdGUpOgorCiAyMDIxLTEyLTI4ICBB
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEhhbmdp
bmcgY29udGVudCBtYXkgbm90IGJlIHdoaXRlc3BhY2UgdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaAppbmRleCA0NGM2Y2E5ZmJmOWI5M2YyNTk2
NWNkNGE4YjE4MTIzZTk5ZTA2YjA1Li41ZTc3YWY3YTY1ZGEyMDI0MWRjN2QwYjIwZTE4YTQyOTQy
MWFkODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlC
b3guaApAQCAtNzQsNyArNzQsNyBAQCBzdHJ1Y3QgQm94IHsKICAgICAgICAgRmlyc3QgPSAxIDw8
IDAsCiAgICAgICAgIExhc3QgID0gMSA8PCAxCiAgICAgfTsKLSAgICBCb3goc2l6ZV90IGxpbmVJ
bmRleCwgVHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmLCBVQmlEaUxldmVsLCBjb25zdCBMYXlvdXQ6
OklubGluZVJlY3QmLCBjb25zdCBMYXlvdXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93LCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIE9wdGlvblNldDxQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiA9IHsgfSk7
CisgICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExheW91dDo6Qm94JiwgVUJp
RGlMZXZlbCwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBpbmtPdmVyZmxvdywg
RXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRleHQ+ID0gc3RkOjpudWxsb3B0LCBib29sIGhhc0Nv
bnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gPSB7
IH0pOwogCiAgICAgYm9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6
VGV4dDsgfQogICAgIGJvb2wgaXNFbGxpcHNpcygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBU
eXBlOjpFbGxpcHNpczsgfQpAQCAtOTUsNDIgKzk1LDQyIEBAIHN0cnVjdCBCb3ggewogCiAgICAg
Ym9vbCBoYXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDb250ZW50OyB9CiAKLSAgICBj
b25zdCBMYXlvdXQ6OklubGluZVJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3BoeXNpY2Fs
UmVjdDsgfQotICAgIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CisgICAgY29uc3QgRmxvYXRSZWN0JiByZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9waHlzaWNhbFJlY3Q7IH0KKyAgICBjb25zdCBGbG9hdFJlY3QmIGlu
a092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9pbmtPdmVyZmxvdzsgfQogCi0gICAgTGF5b3V0
OjpJbmxpbmVMYXlvdXRVbml0IHRvcCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS50b3AoKTsgfQot
ICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBib3R0b20oKSBjb25zdCB7IHJldHVybiByZWN0
KCkuYm90dG9tKCk7IH0KLSAgICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgbGVmdCgpIGNvbnN0
IHsgcmV0dXJuIHJlY3QoKS5sZWZ0KCk7IH0KLSAgICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQg
cmlnaHQoKSBjb25zdCB7IHJldHVybiByZWN0KCkucmlnaHQoKTsgfQorICAgIGZsb2F0IHRvcCgp
IGNvbnN0IHsgcmV0dXJuIHJlY3QoKS55KCk7IH0KKyAgICBmbG9hdCBib3R0b20oKSBjb25zdCB7
IHJldHVybiByZWN0KCkubWF4WSgpOyB9CisgICAgZmxvYXQgbGVmdCgpIGNvbnN0IHsgcmV0dXJu
IHJlY3QoKS54KCk7IH0KKyAgICBmbG9hdCByaWdodCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS5t
YXhYKCk7IH0KIAotICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsg
cmV0dXJuIHJlY3QoKS53aWR0aCgpOyB9Ci0gICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS5oZWlnaHQoKTsgfQorICAgIGZsb2F0IHdpZHRo
KCkgY29uc3QgeyByZXR1cm4gcmVjdCgpLndpZHRoKCk7IH0KKyAgICBmbG9hdCBoZWlnaHQoKSBj
b25zdCB7IHJldHVybiByZWN0KCkuaGVpZ2h0KCk7IH0KIAotICAgIHZvaWQgbW92ZVZlcnRpY2Fs
bHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkKKyAgICB2b2lkIG1vdmVWZXJ0aWNh
bGx5KGZsb2F0IG9mZnNldCkKICAgICB7Ci0gICAgICAgIG1fcGh5c2ljYWxSZWN0Lm1vdmVWZXJ0
aWNhbGx5KG9mZnNldCk7Ci0gICAgICAgIG1faW5rT3ZlcmZsb3cubW92ZVZlcnRpY2FsbHkob2Zm
c2V0KTsKKyAgICAgICAgbV9waHlzaWNhbFJlY3QubW92ZSh7IHsgfSwgb2Zmc2V0IH0pOworICAg
ICAgICBtX2lua092ZXJmbG93Lm1vdmUoeyB7IH0sIG9mZnNldCB9KTsKICAgICB9Ci0gICAgdm9p
ZCBtb3ZlSG9yaXpvbnRhbGx5KExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBvZmZzZXQpCisgICAg
dm9pZCBtb3ZlSG9yaXpvbnRhbGx5KGZsb2F0IG9mZnNldCkKICAgICB7Ci0gICAgICAgIG1fcGh5
c2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0KTsKLSAgICAgICAgbV9pbmtPdmVyZmxv
dy5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7CisgICAgICAgIG1fcGh5c2ljYWxSZWN0Lm1vdmUo
eyBvZmZzZXQsIHsgfSB9KTsKKyAgICAgICAgbV9pbmtPdmVyZmxvdy5tb3ZlKHsgb2Zmc2V0LCB7
IH0gfSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0SW5rT3ZlcmZsb3coY29uc3QgTGF5b3V0OjpJ
bmxpbmVSZWN0JiBjaGlsZEJvcmRlckJveCkgeyByZXR1cm4gbV9pbmtPdmVyZmxvdy5leHBhbmRU
b0NvbnRhaW4oY2hpbGRCb3JkZXJCb3gpOyB9Ci0gICAgdm9pZCB0cnVuY2F0ZShMYXlvdXQ6Oklu
bGluZUxheW91dFVuaXQgdHJ1bmNhdGVkd2lkdGggPSAwLmYpOwotICAgIHZvaWQgc2V0TGVmdChM
YXlvdXQ6OklubGluZUxheW91dFVuaXQgcHlzaWNhbExlZnQpCisgICAgdm9pZCBhZGp1c3RJbmtP
dmVyZmxvdyhjb25zdCBGbG9hdFJlY3QmIGNoaWxkQm9yZGVyQm94KSB7IHJldHVybiBtX2lua092
ZXJmbG93LnVuaXRlRXZlbklmRW1wdHkoY2hpbGRCb3JkZXJCb3gpOyB9CisgICAgdm9pZCB0cnVu
Y2F0ZShmbG9hdCB0cnVuY2F0ZWR3aWR0aCA9IDAuZik7CisgICAgdm9pZCBzZXRMZWZ0KGZsb2F0
IHB5c2ljYWxMZWZ0KQogICAgIHsKICAgICAgICAgYXV0byBvZmZzZXQgPSBweXNpY2FsTGVmdCAt
IGxlZnQoKTsKLSAgICAgICAgbV9waHlzaWNhbFJlY3Quc2V0TGVmdChweXNpY2FsTGVmdCk7Ci0g
ICAgICAgIG1faW5rT3ZlcmZsb3cuc2V0TGVmdChtX2lua092ZXJmbG93LmxlZnQoKSArIG9mZnNl
dCk7CisgICAgICAgIG1fcGh5c2ljYWxSZWN0LnNldFgocHlzaWNhbExlZnQpOworICAgICAgICBt
X2lua092ZXJmbG93LnNldFgobV9pbmtPdmVyZmxvdy54KCkgKyBvZmZzZXQpOwogICAgIH0KLSAg
ICB2b2lkIHNldFJpZ2h0KExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBwaHlzaWNhbFJpZ2h0KQor
ICAgIHZvaWQgc2V0UmlnaHQoZmxvYXQgcGh5c2ljYWxSaWdodCkKICAgICB7CiAgICAgICAgIGF1
dG8gb2Zmc2V0ID0gcGh5c2ljYWxSaWdodCAtIHJpZ2h0KCk7Ci0gICAgICAgIG1fcGh5c2ljYWxS
ZWN0LnNldFJpZ2h0KHBoeXNpY2FsUmlnaHQpOwotICAgICAgICBtX2lua092ZXJmbG93LnNldFJp
Z2h0KG1faW5rT3ZlcmZsb3cucmlnaHQoKSArIG9mZnNldCk7CisgICAgICAgIG1fcGh5c2ljYWxS
ZWN0LnNoaWZ0TWF4WEVkZ2VUbyhwaHlzaWNhbFJpZ2h0KTsKKyAgICAgICAgbV9pbmtPdmVyZmxv
dy5zaGlmdE1heFhFZGdlVG8obV9pbmtPdmVyZmxvdy5tYXhZKCkgKyBvZmZzZXQpOwogICAgIH0K
LSAgICB2b2lkIHNldFJlY3QoY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiByZWN0LCBjb25zdCBM
YXlvdXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93KQorICAgIHZvaWQgc2V0UmVjdChjb25zdCBG
bG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3cpCiAgICAgewogICAg
ICAgICBtX3BoeXNpY2FsUmVjdCA9IHJlY3Q7CiAgICAgICAgIG1faW5rT3ZlcmZsb3cgPSBpbmtP
dmVyZmxvdzsKQEAgLTE0Miw3ICsxNDIsNyBAQCBzdHJ1Y3QgQm94IHsKIAogICAgIHN0cnVjdCBF
eHBhbnNpb24gewogICAgICAgICBFeHBhbnNpb25CZWhhdmlvciBiZWhhdmlvciB7IERlZmF1bHRF
eHBhbnNpb24gfTsKLSAgICAgICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxF
eHBhbnNpb24geyAwIH07CisgICAgICAgIGZsb2F0IGhvcml6b250YWxFeHBhbnNpb24geyAwIH07
CiAgICAgfTsKICAgICBFeHBhbnNpb24gZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBh
bnNpb247IH0KIApAQCAtMTYzLDggKzE2Myw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgVHlwZSBt
X3R5cGUgeyBUeXBlOjpHZW5lcmljSW5saW5lTGV2ZWxCb3ggfTsKICAgICBDaGVja2VkUmVmPGNv
bnN0IExheW91dDo6Qm94PiBtX2xheW91dEJveDsKICAgICBVQmlEaUxldmVsIG1fYmlkaUxldmVs
IHsgVUJJRElfREVGQVVMVF9MVFIgfTsKLSAgICBMYXlvdXQ6OklubGluZVJlY3QgbV9waHlzaWNh
bFJlY3Q7Ci0gICAgTGF5b3V0OjpJbmxpbmVSZWN0IG1faW5rT3ZlcmZsb3c7CisgICAgRmxvYXRS
ZWN0IG1fcGh5c2ljYWxSZWN0OworICAgIEZsb2F0UmVjdCBtX2lua092ZXJmbG93OwogICAgIGJv
b2wgbV9oYXNDb250ZW50IDogMTsKICAgICBib29sIG1faXNGaXJzdEZvckxheW91dEJveCA6IDE7
CiAgICAgYm9vbCBtX2lzTGFzdEZvckxheW91dEJveCA6IDE7CkBAIC0xNzIsNyArMTcyLDcgQEAg
cHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFsPFRleHQ+IG1fdGV4dDsKIH07CiAKLWlubGluZSBC
b3g6OkJveChzaXplX3QgbGluZUluZGV4LCBUeXBlIHR5cGUsIGNvbnN0IExheW91dDo6Qm94JiBs
YXlvdXRCb3gsIFVCaURpTGV2ZWwgYmlkaUxldmVsLCBjb25zdCBMYXlvdXQ6OklubGluZVJlY3Qm
IHBoeXNpY2FsUmVjdCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhw
YW5zaW9uIGV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiB0ZXh0LCBib29sIGhhc0NvbnRl
bnQsIE9wdGlvblNldDxQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiBwb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94KQoraW5saW5lIEJveDo6Qm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUg
dHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgVUJpRGlMZXZlbCBiaWRpTGV2ZWws
IGNvbnN0IEZsb2F0UmVjdCYgcGh5c2ljYWxSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJm
bG93LCBFeHBhbnNpb24gZXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRleHQ+IHRleHQsIGJvb2wg
aGFzQ29udGVudCwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g+IHBvc2l0
aW9uV2l0aGluSW5saW5lTGV2ZWxCb3gpCiAgICAgOiBtX2xpbmVJbmRleChsaW5lSW5kZXgpCiAg
ICAgLCBtX3R5cGUodHlwZSkKICAgICAsIG1fbGF5b3V0Qm94KGxheW91dEJveCkKQEAgLTE5Niwx
MCArMTk2LDEwIEBAIGlubGluZSBCb3g6OlRleHQ6OlRleHQoc2l6ZV90IHN0YXJ0LCBzaXplX3Qg
bGVuZ3RoLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsQ29udGVuCiB7CiB9CiAKLWlubGluZSB2b2lk
IEJveDo6dHJ1bmNhdGUoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHRydW5jYXRlZHdpZHRoKQor
aW5saW5lIHZvaWQgQm94Ojp0cnVuY2F0ZShmbG9hdCB0cnVuY2F0ZWR3aWR0aCkKIHsKICAgICBt
X3BoeXNpY2FsUmVjdC5zZXRXaWR0aCh0cnVuY2F0ZWR3aWR0aCk7Ci0gICAgbV9pbmtPdmVyZmxv
dy5zZXRSaWdodChtX3BoeXNpY2FsUmVjdC5yaWdodCgpKTsKKyAgICBtX2lua092ZXJmbG93LnNo
aWZ0TWF4WEVkZ2VUbyhtX3BoeXNpY2FsUmVjdC5tYXhZKCkpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVp
bGRlci5jcHAKaW5kZXggMTI2ZDE2OTMwMzNlMjgyMWNjMDUyNjU2ZjMyNDA1M2FkM2I0ZTYxMy4u
YTE3Yzk2MzIyODEzMjY4NTVhOTFiMzY4ZDEyNDZmNDBlMjhhYzFlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIERpc3BsYXlCb3hlcyBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYKICAgICBy
ZXR1cm4gYm94ZXM7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjb21wdXRlQm94U2hhZG93SW5r
T3ZlcmZsb3coY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBJbmxpbmVSZWN0JiBpbmtPdmVyZmxv
dykKK3N0YXRpYyBpbmxpbmUgYm9vbCBjb21wdXRlQm94U2hhZG93SW5rT3ZlcmZsb3coY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBGbG9hdFJlY3QmIGlua092ZXJmbG93KQogewogICAgIGF1dG8g
dG9wQm94U2hhZG93ID0gTGF5b3V0VW5pdCB7IH07CiAgICAgYXV0byBib3R0b21Cb3hTaGFkb3cg
PSBMYXlvdXRVbml0IHsgfTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
Y29tcHV0ZUJveFNoYWRvd0lua092ZXJmbG93KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5s
aW5lUgogICAgIHN0eWxlLmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChsZWZ0Qm94
U2hhZG93LCByaWdodEJveFNoYWRvdyk7CiAgICAgaWYgKCF0b3BCb3hTaGFkb3cgJiYgIWJvdHRv
bUJveFNoYWRvdyAmJiAhbGVmdEJveFNoYWRvdyAmJiAhcmlnaHRCb3hTaGFkb3cpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpbmtPdmVyZmxvdy5pbmZsYXRlKElubGluZUxheW91dFVuaXQg
eyB0b3BCb3hTaGFkb3cgfSwgSW5saW5lTGF5b3V0VW5pdCB7IHJpZ2h0Qm94U2hhZG93IH0sIElu
bGluZUxheW91dFVuaXQgeyBib3R0b21Cb3hTaGFkb3cgfSwgSW5saW5lTGF5b3V0VW5pdCB7IGxl
ZnRCb3hTaGFkb3cgfSk7CisgICAgaW5rT3ZlcmZsb3cuaW5mbGF0ZShsZWZ0Qm94U2hhZG93LnRv
RmxvYXQoKSwgdG9wQm94U2hhZG93LnRvRmxvYXQoKSwgcmlnaHRCb3hTaGFkb3cudG9GbG9hdCgp
LCBib3R0b21Cb3hTaGFkb3cudG9GbG9hdCgpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
MjA2LDcgKzIwNiw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRB
dG9taWNJbmxpbmVMZXZlbERpc3BsYXlCb3goY29uc3QgTGluZTo6CiAKICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBbJl0g
ewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gYm9yZGVyQm94UmVjdDsKKyAgICAgICAgYXV0
byBpbmtPdmVyZmxvdyA9IEZsb2F0UmVjdCB7IGJvcmRlckJveFJlY3QgfTsKICAgICAgICAgY29t
cHV0ZUJveFNoYWRvd0lua092ZXJmbG93KCFtX2xpbmVJbmRleCA/IGxheW91dEJveC5maXJzdExp
bmVTdHlsZSgpIDogbGF5b3V0Qm94LnN0eWxlKCksIGlua092ZXJmbG93KTsKICAgICAgICAgLy8g
QXRvbWljIGlubGluZSBib3ggY29udHJpYnV0ZSB0byB0aGVpciBpbmxpbmUgYm94IHBhcmVudHMg
aW5rIG92ZXJmbG93IGF0IGFsbCB0aW1lcyAoZS5nLiA8c3Bhbj48aW1nPjwvc3Bhbj4pLgogICAg
ICAgICBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdyA9IG1fY29udGVudEhhc0lua092ZXJmbG93IHx8
ICZsYXlvdXRCb3gucGFyZW50KCkgIT0gJnJvb3QoKTsKQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lk
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveChj
b25zdCBMaW5lOjpSdW4mIGxpbgogICAgIH0KIAogICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBbJl0g
ewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gaW5saW5lQm94Qm9yZGVyQm94OworICAgICAg
ICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgaW5saW5lQm94Qm9yZGVyQm94IH07CiAg
ICAgICAgIG1fY29udGVudEhhc0lua092ZXJmbG93ID0gY29tcHV0ZUJveFNoYWRvd0lua092ZXJm
bG93KCFtX2xpbmVJbmRleCA/IGxheW91dEJveC5maXJzdExpbmVTdHlsZSgpIDogbGF5b3V0Qm94
LnN0eWxlKCksIGlua092ZXJmbG93KSB8fCBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdzsKICAgICAg
ICAgcmV0dXJuIGlua092ZXJmbG93OwogICAgIH07CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZFNwYW5uaW5nSW5saW5lQm94RGlzcGxh
eUJveChjb25zdCBMaW5lOjoKIAogICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0
Qm94KCk7CiAgICAgYXV0byBpbmtPdmVyZmxvdyA9IFsmXSB7Ci0gICAgICAgIGF1dG8gaW5rT3Zl
cmZsb3cgPSBpbmxpbmVCb3hCb3JkZXJCb3g7CisgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBG
bG9hdFJlY3QgeyBpbmxpbmVCb3hCb3JkZXJCb3ggfTsKICAgICAgICAgbV9jb250ZW50SGFzSW5r
T3ZlcmZsb3cgPSBjb21wdXRlQm94U2hhZG93SW5rT3ZlcmZsb3coIW1fbGluZUluZGV4ID8gbGF5
b3V0Qm94LmZpcnN0TGluZVN0eWxlKCkgOiBsYXlvdXRCb3guc3R5bGUoKSwgaW5rT3ZlcmZsb3cp
IHx8IG1fY29udGVudEhhc0lua092ZXJmbG93OwogICAgICAgICByZXR1cm4gaW5rT3ZlcmZsb3c7
CiAgICAgfTsKQEAgLTUyMyw3ICs1MjMsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbAogICAg
IGFmdGVySW5saW5lQm94Q29udGVudCgpOwogCiAgICAgYXV0byBjb21wdXRlSW5rT3ZlcmZsb3cg
PSBbJl0gewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gZGlzcGxheUJveC5yZWN0KCk7Cisg
ICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3QgeyBkaXNwbGF5Qm94LnJlY3QoKSB9
OwogICAgICAgICBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdyA9IGNvbXB1dGVCb3hTaGFkb3dJbmtP
dmVyZmxvdyghbV9saW5lSW5kZXggPyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91
dEJveC5zdHlsZSgpLCBpbmtPdmVyZmxvdykgfHwgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3c7CiAg
ICAgICAgIGRpc3BsYXlCb3guYWRqdXN0SW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpOwogICAgIH07
CkBAIC02NTksOCArNjU5LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnBy
b2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxheUJveGVzJgogICAgIGF1dG8mIHJv
b3RJbmxpbmVCb3ggPSBib3hlc1swXTsKICAgICBBU1NFUlQocm9vdElubGluZUJveC5pc1Jvb3RJ
bmxpbmVCb3goKSk7CiAKLSAgICBhdXRvIHJvb3RJbmxpbmVCb3hSZWN0ID0gcm9vdElubGluZUJv
eC5yZWN0KCk7Ci0gICAgaWYgKHJvb3RJbmxpbmVCb3hSZWN0LnJpZ2h0KCkgPD0gbGluZUJveFJp
Z2h0KSB7CisgICAgaWYgKHJvb3RJbmxpbmVCb3gucmlnaHQoKSA8PSBsaW5lQm94UmlnaHQpIHsK
ICAgICAgICAgQVNTRVJUKGJveGVzLmxhc3QoKS5yaWdodCgpIDw9IGxpbmVCb3hSaWdodCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MDUsNyArNzA0LDcgQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxh
eUJveGVzJgogICAgIGZvciAoYXV0byBpbmRleCA9IGZpcnN0VHJ1bmNhdGVkQm94SW5kZXggKyAx
OyBpbmRleCA8IGJveGVzLnNpemUoKTsgKytpbmRleCkKICAgICAgICAgYm94ZXNbaW5kZXhdLm1v
dmVIb3Jpem9udGFsbHkoY29udGVudFJpZ2h0IC0gYm94ZXNbaW5kZXhdLmxlZnQoKSk7CiAgICAg
Ly8gQW5kIGFwcGVuZCB0aGUgZWxsaXBzaXMgYm94IGFzIHRoZSB0cmFpbGluZyBpdGVtLgotICAg
IGF1dG8gZWxsaXNwaXNCb3hSZWN0ID0gSW5saW5lUmVjdCB7IHJvb3RJbmxpbmVCb3hSZWN0LnRv
cCgpLCBjb250ZW50UmlnaHQsIGVsbGlwc2lzV2lkdGgsIHJvb3RJbmxpbmVCb3hSZWN0LmhlaWdo
dCgpIH07CisgICAgYXV0byBlbGxpc3Bpc0JveFJlY3QgPSBJbmxpbmVSZWN0IHsgcm9vdElubGlu
ZUJveC50b3AoKSwgY29udGVudFJpZ2h0LCBlbGxpcHNpc1dpZHRoLCByb290SW5saW5lQm94Lmhl
aWdodCgpIH07CiAgICAgYm94ZXMuYXBwZW5kKHsgbV9saW5lSW5kZXgKICAgICAgICAgLCBJbmxp
bmVEaXNwbGF5OjpCb3g6OlR5cGU6OkVsbGlwc2lzCiAgICAgICAgICwgcm9vdCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25C
b3hUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkJveFRyZWUuY3BwCmluZGV4IDYwYjU0NzcyMmNmZGZhNzNmNDY4ZmFlNGRlYjNlZmM4
NmFiMTdkYjIuLjI1YzQ1YTk1OWY4MGViNTAxM2JjMDFlNTI3ZGYyNGY1MGMzNzc0NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgdm9pZCBzaG93SW5s
aW5lQ29udGVudChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IElubGluZUNvbnRlbnQmIGlubGlu
ZUNvbnRlbnQsIHMKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwg
IkdlbmVyaWMgaW5saW5lIGxldmVsIGJveCI7CiAgICAgICAgICAgICBzdHJlYW0KLSAgICAgICAg
ICAgICAgICA8PCAiIGF0ICgiIDw8IHJlY3QubGVmdCgpIDw8ICIsIiA8PCByZWN0LnRvcCgpIDw8
ICIpIgorICAgICAgICAgICAgICAgIDw8ICIgYXQgKCIgPDwgcmVjdC54KCkgPDwgIiwiIDw8IHJl
Y3QueSgpIDw8ICIpIgogICAgICAgICAgICAgICAgIDw8ICIgc2l6ZSAoIiA8PCByZWN0LndpZHRo
KCkgPDwgIngiIDw8IHJlY3QuaGVpZ2h0KCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5l
eHRMaW5lKCk7CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKaW5kZXggYmVmOWQ1YWEyNTA5Nzg4NTU4ZTI1YTdmNjdlZTE1M2Iy
ZTZmNmI0ZC4uZTJhMTU4ZjQwMjZkZGUyZGFhMmU0YjJlNTY5MTA4NTE3NDA3Mzg5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtMTA4
LDE0ICsxMDgsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxp
bmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgIGlmIChs
YXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gU2ltaWxhciB0
byBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3cuCiAgICAgICAg
ICAgICAgICAgYXV0byYgcmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJCb3g+KG1fYm94VHJlZS5y
ZW5kZXJlckZvckxheW91dEJveChsYXlvdXRCb3gpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGJv
eFJlY3QgPSBib3gucmVjdCgpOwogICAgICAgICAgICAgICAgIGlmICghcmVuZGVyZXIuaGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkgewogICAgICAgICAgICAgICAgICAgICBhdXRvIGNoaWxkSW5rT3Zl
cmZsb3cgPSByZW5kZXJlci5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24o
JnJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY2hpbGRJ
bmtPdmVyZmxvdy5tb3ZlKGJveFJlY3QubGVmdCgpLCBib3hSZWN0LnRvcCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgY2hpbGRJbmtPdmVyZmxvdy5tb3ZlKGJveC5sZWZ0KCksIGJveC50b3AoKSk7
CiAgICAgICAgICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUoY2hpbGRJbmtP
dmVyZmxvdyk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGF1dG8gY2hpbGRT
Y3JvbGxhYmxlT3ZlcmZsb3cgPSByZW5kZXJlci5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0Rm9y
UHJvcGFnYXRpb24oJnJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpKTsKLSAgICAgICAgICAgICAg
ICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKGJveFJlY3QubGVmdCgpLCBib3hSZWN0LnRv
cCgpKTsKKyAgICAgICAgICAgICAgICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKGJveC5s
ZWZ0KCksIGJveC50b3AoKSk7CiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dC51bml0ZShjaGlsZFNjcm9sbGFibGVPdmVyZmxvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRy
ZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRy
ZWVCdWlsZGVyLmNwcAppbmRleCBjNGIzZDdlNzBmMzFkODZkYzNhMzBlOGJmNzdmMzcyZjYzODM5
MGI4Li43YzUzMDFmYzUzMGVhZWYxODNhOGU2ZWI5NTEyMDViMTk5MjQ3MzAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIu
Y3BwCkBAIC0zOTcsNyArMzk3LDcgQEAgdm9pZCBzaG93SW5saW5lVHJlZUFuZFJ1bnMoVGV4dFN0
cmVhbSYgc3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGMKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIkdlbmVyaWMgaW5saW5lIGxldmVs
IGJveCI7CiAgICAgICAgICAgICBzdHJlYW0KLSAgICAgICAgICAgICAgICA8PCAiIGF0ICgiIDw8
IHJlY3QubGVmdCgpIDw8ICIsIiA8PCByZWN0LnRvcCgpIDw8ICIpIgorICAgICAgICAgICAgICAg
IDw8ICIgYXQgKCIgPDwgcmVjdC54KCkgPDwgIiwiIDw8IHJlY3QueSgpIDw8ICIpIgogICAgICAg
ICAgICAgICAgIDw8ICIgc2l6ZSAoIiA8PCByZWN0LndpZHRoKCkgPDwgIngiIDw8IHJlY3QuaGVp
Z2h0KCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7CiAgICAgICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4IGY1
ZjkzMDE2Yzc4MTk4OWNjNDMwZDI2NmRjZGY5Y2QzYzg4ZDY2OGIuLmFhOTU1Mzc2OWFjNjM4Zjhl
ODZiY2IxMjg5NTk5OTdjMGNhMTE3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0xOTYsNiArMTk2LDcgQEAgcHVibGljOgogICAgIH0KICAg
ICB2b2lkIGluZmxhdGUoZmxvYXQgZCkgeyBpbmZsYXRlWChkKTsgaW5mbGF0ZVkoZCk7IH0KICAg
ICB2b2lkIGluZmxhdGUoRmxvYXRTaXplIHNpemUpIHsgaW5mbGF0ZVgoc2l6ZS53aWR0aCgpKTsg
aW5mbGF0ZVkoc2l6ZS5oZWlnaHQoKSk7IH0KKyAgICB2b2lkIGluZmxhdGUoZmxvYXQgZHgsIGZs
b2F0IGR5LCBmbG9hdCBkbWF4WCwgZmxvYXQgZG1heFkpOwogCiAgICAgdm9pZCBzY2FsZShmbG9h
dCBzKSB7IHNjYWxlKHMsIHMpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2FsZShmbG9h
dCBzeCwgZmxvYXQgc3kpOwpAQCAtMjk0LDYgKzI5NSwxNCBAQCBpbmxpbmUgYm9vbCBGbG9hdFJl
Y3Q6OmlzSW5maW5pdGUoKSBjb25zdAogICAgIHJldHVybiAqdGhpcyA9PSBpbmZpbml0ZVJlY3Qo
KTsKIH0KIAoraW5saW5lIHZvaWQgRmxvYXRSZWN0OjppbmZsYXRlKGZsb2F0IGR4LCBmbG9hdCBk
eSwgZmxvYXQgZG1heFgsIGZsb2F0IGRtYXhZKQoreworICAgIHNldFgoeCgpIC0gZHgpOworICAg
IHNldFkoeSgpIC0gZHkpOworICAgIHNldFdpZHRoKHdpZHRoKCkgKyBkeCArIGRtYXhYKTsKKyAg
ICBzZXRIZWlnaHQoaGVpZ2h0KCkgKyBkeSArIGRtYXhZKTsKK30KKwogRmxvYXRSZWN0IG5vcm1h
bGl6ZVJlY3QoY29uc3QgRmxvYXRSZWN0Jik7CiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgZW5j
bG9zZVJlY3RUb0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmLCBmbG9hdCBkZXZpY2VTY2Fs
ZUZhY3Rvcik7CiBXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3Qg
RmxvYXRSZWN0Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448052</attachid>
            <date>2021-12-28 10:32:02 -0800</date>
            <delta_ts>2021-12-28 13:17:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234728-20211228103201.patch</filename>
            <type>text/plain</type>
            <size>17780</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkODFkMWRlNDBkYTc1
ZDc3NDc4NzQ2NjgxYjQ0MWI5M2Y0NmQxNy4uNjFjNmRiZjdiMmM4MTI3MTU3MTRkNWYwNTNiYTQ3
YmVjYmQ0M2ViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTI4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIERvIG5vdCBs
ZXQgTGF5b3V0IGdlb21ldHJ5IHR5cGVzIGxlYWsgaW50byBJbmxpbmVEaXNwbGF5OjpCb3gKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDcyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIElubGluZUxheW91
dFVuaXQgLT4gZmxvYXQKKyAgICAgICAgSW5saW5lUmVjdCAtPiBGbG9hdFJlY3QKKyAgICAgICAg
KFRoaXMgaXMgYWxzbyB3aGVyZSB3ZSB3aWxsIGV2ZW50dWFsbHkgZG8gc29tZSBwaXhlbCBzbmFw
cGluZykKKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3Bs
YXkvSW5saW5lRGlzcGxheUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6
Qm94OjpCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpyZWN0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aW5rT3ZlcmZsb3cg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojp0b3AgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojpib3R0b20gY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpsZWZ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6cmlnaHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojp3aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZURpc3BsYXk6OkJveDo6bW92ZUhvcml6b250YWxseSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmFkanVzdElua092ZXJmbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0TGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldFJpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3Bs
YXk6OkJveDo6c2V0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6
OnRydW5jYXRlKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OmNvbXB1dGVCb3hTaGFkb3dJbmtPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kQXRvbWljSW5saW5l
TGV2ZWxEaXNwbGF5Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyOjphcHBlbmRJbmxpbmVCb3hEaXNwbGF5Qm94KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRTcGFubmlu
Z0lubGluZUJveERpc3BsYXlCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyk6CisgICAgICAgICogbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6c2hvd0lubGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OnNob3dJbmxp
bmVUcmVlQW5kUnVucyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpGbG9hdFJlY3Q6OmluZmxhdGUpOgorCiAyMDIxLTEyLTI4ICBB
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEhhbmdp
bmcgY29udGVudCBtYXkgbm90IGJlIHdoaXRlc3BhY2UgdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaAppbmRleCA0NGM2Y2E5ZmJmOWI5M2YyNTk2
NWNkNGE4YjE4MTIzZTk5ZTA2YjA1Li41ZTc3YWY3YTY1ZGEyMDI0MWRjN2QwYjIwZTE4YTQyOTQy
MWFkODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlC
b3guaApAQCAtNzQsNyArNzQsNyBAQCBzdHJ1Y3QgQm94IHsKICAgICAgICAgRmlyc3QgPSAxIDw8
IDAsCiAgICAgICAgIExhc3QgID0gMSA8PCAxCiAgICAgfTsKLSAgICBCb3goc2l6ZV90IGxpbmVJ
bmRleCwgVHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmLCBVQmlEaUxldmVsLCBjb25zdCBMYXlvdXQ6
OklubGluZVJlY3QmLCBjb25zdCBMYXlvdXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93LCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIE9wdGlvblNldDxQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiA9IHsgfSk7
CisgICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExheW91dDo6Qm94JiwgVUJp
RGlMZXZlbCwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBpbmtPdmVyZmxvdywg
RXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRleHQ+ID0gc3RkOjpudWxsb3B0LCBib29sIGhhc0Nv
bnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gPSB7
IH0pOwogCiAgICAgYm9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6
VGV4dDsgfQogICAgIGJvb2wgaXNFbGxpcHNpcygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBU
eXBlOjpFbGxpcHNpczsgfQpAQCAtOTUsNDIgKzk1LDQyIEBAIHN0cnVjdCBCb3ggewogCiAgICAg
Ym9vbCBoYXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDb250ZW50OyB9CiAKLSAgICBj
b25zdCBMYXlvdXQ6OklubGluZVJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3BoeXNpY2Fs
UmVjdDsgfQotICAgIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CisgICAgY29uc3QgRmxvYXRSZWN0JiByZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9waHlzaWNhbFJlY3Q7IH0KKyAgICBjb25zdCBGbG9hdFJlY3QmIGlu
a092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9pbmtPdmVyZmxvdzsgfQogCi0gICAgTGF5b3V0
OjpJbmxpbmVMYXlvdXRVbml0IHRvcCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS50b3AoKTsgfQot
ICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBib3R0b20oKSBjb25zdCB7IHJldHVybiByZWN0
KCkuYm90dG9tKCk7IH0KLSAgICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgbGVmdCgpIGNvbnN0
IHsgcmV0dXJuIHJlY3QoKS5sZWZ0KCk7IH0KLSAgICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQg
cmlnaHQoKSBjb25zdCB7IHJldHVybiByZWN0KCkucmlnaHQoKTsgfQorICAgIGZsb2F0IHRvcCgp
IGNvbnN0IHsgcmV0dXJuIHJlY3QoKS55KCk7IH0KKyAgICBmbG9hdCBib3R0b20oKSBjb25zdCB7
IHJldHVybiByZWN0KCkubWF4WSgpOyB9CisgICAgZmxvYXQgbGVmdCgpIGNvbnN0IHsgcmV0dXJu
IHJlY3QoKS54KCk7IH0KKyAgICBmbG9hdCByaWdodCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS5t
YXhYKCk7IH0KIAotICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsg
cmV0dXJuIHJlY3QoKS53aWR0aCgpOyB9Ci0gICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKS5oZWlnaHQoKTsgfQorICAgIGZsb2F0IHdpZHRo
KCkgY29uc3QgeyByZXR1cm4gcmVjdCgpLndpZHRoKCk7IH0KKyAgICBmbG9hdCBoZWlnaHQoKSBj
b25zdCB7IHJldHVybiByZWN0KCkuaGVpZ2h0KCk7IH0KIAotICAgIHZvaWQgbW92ZVZlcnRpY2Fs
bHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkKKyAgICB2b2lkIG1vdmVWZXJ0aWNh
bGx5KGZsb2F0IG9mZnNldCkKICAgICB7Ci0gICAgICAgIG1fcGh5c2ljYWxSZWN0Lm1vdmVWZXJ0
aWNhbGx5KG9mZnNldCk7Ci0gICAgICAgIG1faW5rT3ZlcmZsb3cubW92ZVZlcnRpY2FsbHkob2Zm
c2V0KTsKKyAgICAgICAgbV9waHlzaWNhbFJlY3QubW92ZSh7IHsgfSwgb2Zmc2V0IH0pOworICAg
ICAgICBtX2lua092ZXJmbG93Lm1vdmUoeyB7IH0sIG9mZnNldCB9KTsKICAgICB9Ci0gICAgdm9p
ZCBtb3ZlSG9yaXpvbnRhbGx5KExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBvZmZzZXQpCisgICAg
dm9pZCBtb3ZlSG9yaXpvbnRhbGx5KGZsb2F0IG9mZnNldCkKICAgICB7Ci0gICAgICAgIG1fcGh5
c2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0KTsKLSAgICAgICAgbV9pbmtPdmVyZmxv
dy5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7CisgICAgICAgIG1fcGh5c2ljYWxSZWN0Lm1vdmUo
eyBvZmZzZXQsIHsgfSB9KTsKKyAgICAgICAgbV9pbmtPdmVyZmxvdy5tb3ZlKHsgb2Zmc2V0LCB7
IH0gfSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0SW5rT3ZlcmZsb3coY29uc3QgTGF5b3V0OjpJ
bmxpbmVSZWN0JiBjaGlsZEJvcmRlckJveCkgeyByZXR1cm4gbV9pbmtPdmVyZmxvdy5leHBhbmRU
b0NvbnRhaW4oY2hpbGRCb3JkZXJCb3gpOyB9Ci0gICAgdm9pZCB0cnVuY2F0ZShMYXlvdXQ6Oklu
bGluZUxheW91dFVuaXQgdHJ1bmNhdGVkd2lkdGggPSAwLmYpOwotICAgIHZvaWQgc2V0TGVmdChM
YXlvdXQ6OklubGluZUxheW91dFVuaXQgcHlzaWNhbExlZnQpCisgICAgdm9pZCBhZGp1c3RJbmtP
dmVyZmxvdyhjb25zdCBGbG9hdFJlY3QmIGNoaWxkQm9yZGVyQm94KSB7IHJldHVybiBtX2lua092
ZXJmbG93LnVuaXRlRXZlbklmRW1wdHkoY2hpbGRCb3JkZXJCb3gpOyB9CisgICAgdm9pZCB0cnVu
Y2F0ZShmbG9hdCB0cnVuY2F0ZWR3aWR0aCA9IDAuZik7CisgICAgdm9pZCBzZXRMZWZ0KGZsb2F0
IHB5c2ljYWxMZWZ0KQogICAgIHsKICAgICAgICAgYXV0byBvZmZzZXQgPSBweXNpY2FsTGVmdCAt
IGxlZnQoKTsKLSAgICAgICAgbV9waHlzaWNhbFJlY3Quc2V0TGVmdChweXNpY2FsTGVmdCk7Ci0g
ICAgICAgIG1faW5rT3ZlcmZsb3cuc2V0TGVmdChtX2lua092ZXJmbG93LmxlZnQoKSArIG9mZnNl
dCk7CisgICAgICAgIG1fcGh5c2ljYWxSZWN0LnNldFgocHlzaWNhbExlZnQpOworICAgICAgICBt
X2lua092ZXJmbG93LnNldFgobV9pbmtPdmVyZmxvdy54KCkgKyBvZmZzZXQpOwogICAgIH0KLSAg
ICB2b2lkIHNldFJpZ2h0KExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBwaHlzaWNhbFJpZ2h0KQor
ICAgIHZvaWQgc2V0UmlnaHQoZmxvYXQgcGh5c2ljYWxSaWdodCkKICAgICB7CiAgICAgICAgIGF1
dG8gb2Zmc2V0ID0gcGh5c2ljYWxSaWdodCAtIHJpZ2h0KCk7Ci0gICAgICAgIG1fcGh5c2ljYWxS
ZWN0LnNldFJpZ2h0KHBoeXNpY2FsUmlnaHQpOwotICAgICAgICBtX2lua092ZXJmbG93LnNldFJp
Z2h0KG1faW5rT3ZlcmZsb3cucmlnaHQoKSArIG9mZnNldCk7CisgICAgICAgIG1fcGh5c2ljYWxS
ZWN0LnNoaWZ0TWF4WEVkZ2VUbyhwaHlzaWNhbFJpZ2h0KTsKKyAgICAgICAgbV9pbmtPdmVyZmxv
dy5zaGlmdE1heFhFZGdlVG8obV9pbmtPdmVyZmxvdy5tYXhZKCkgKyBvZmZzZXQpOwogICAgIH0K
LSAgICB2b2lkIHNldFJlY3QoY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiByZWN0LCBjb25zdCBM
YXlvdXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93KQorICAgIHZvaWQgc2V0UmVjdChjb25zdCBG
bG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3cpCiAgICAgewogICAg
ICAgICBtX3BoeXNpY2FsUmVjdCA9IHJlY3Q7CiAgICAgICAgIG1faW5rT3ZlcmZsb3cgPSBpbmtP
dmVyZmxvdzsKQEAgLTE0Miw3ICsxNDIsNyBAQCBzdHJ1Y3QgQm94IHsKIAogICAgIHN0cnVjdCBF
eHBhbnNpb24gewogICAgICAgICBFeHBhbnNpb25CZWhhdmlvciBiZWhhdmlvciB7IERlZmF1bHRF
eHBhbnNpb24gfTsKLSAgICAgICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxF
eHBhbnNpb24geyAwIH07CisgICAgICAgIGZsb2F0IGhvcml6b250YWxFeHBhbnNpb24geyAwIH07
CiAgICAgfTsKICAgICBFeHBhbnNpb24gZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBh
bnNpb247IH0KIApAQCAtMTYzLDggKzE2Myw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgVHlwZSBt
X3R5cGUgeyBUeXBlOjpHZW5lcmljSW5saW5lTGV2ZWxCb3ggfTsKICAgICBDaGVja2VkUmVmPGNv
bnN0IExheW91dDo6Qm94PiBtX2xheW91dEJveDsKICAgICBVQmlEaUxldmVsIG1fYmlkaUxldmVs
IHsgVUJJRElfREVGQVVMVF9MVFIgfTsKLSAgICBMYXlvdXQ6OklubGluZVJlY3QgbV9waHlzaWNh
bFJlY3Q7Ci0gICAgTGF5b3V0OjpJbmxpbmVSZWN0IG1faW5rT3ZlcmZsb3c7CisgICAgRmxvYXRS
ZWN0IG1fcGh5c2ljYWxSZWN0OworICAgIEZsb2F0UmVjdCBtX2lua092ZXJmbG93OwogICAgIGJv
b2wgbV9oYXNDb250ZW50IDogMTsKICAgICBib29sIG1faXNGaXJzdEZvckxheW91dEJveCA6IDE7
CiAgICAgYm9vbCBtX2lzTGFzdEZvckxheW91dEJveCA6IDE7CkBAIC0xNzIsNyArMTcyLDcgQEAg
cHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFsPFRleHQ+IG1fdGV4dDsKIH07CiAKLWlubGluZSBC
b3g6OkJveChzaXplX3QgbGluZUluZGV4LCBUeXBlIHR5cGUsIGNvbnN0IExheW91dDo6Qm94JiBs
YXlvdXRCb3gsIFVCaURpTGV2ZWwgYmlkaUxldmVsLCBjb25zdCBMYXlvdXQ6OklubGluZVJlY3Qm
IHBoeXNpY2FsUmVjdCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhw
YW5zaW9uIGV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiB0ZXh0LCBib29sIGhhc0NvbnRl
bnQsIE9wdGlvblNldDxQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94PiBwb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94KQoraW5saW5lIEJveDo6Qm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUg
dHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgVUJpRGlMZXZlbCBiaWRpTGV2ZWws
IGNvbnN0IEZsb2F0UmVjdCYgcGh5c2ljYWxSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJm
bG93LCBFeHBhbnNpb24gZXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRleHQ+IHRleHQsIGJvb2wg
aGFzQ29udGVudCwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g+IHBvc2l0
aW9uV2l0aGluSW5saW5lTGV2ZWxCb3gpCiAgICAgOiBtX2xpbmVJbmRleChsaW5lSW5kZXgpCiAg
ICAgLCBtX3R5cGUodHlwZSkKICAgICAsIG1fbGF5b3V0Qm94KGxheW91dEJveCkKQEAgLTE5Niwx
MCArMTk2LDEwIEBAIGlubGluZSBCb3g6OlRleHQ6OlRleHQoc2l6ZV90IHN0YXJ0LCBzaXplX3Qg
bGVuZ3RoLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsQ29udGVuCiB7CiB9CiAKLWlubGluZSB2b2lk
IEJveDo6dHJ1bmNhdGUoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHRydW5jYXRlZHdpZHRoKQor
aW5saW5lIHZvaWQgQm94Ojp0cnVuY2F0ZShmbG9hdCB0cnVuY2F0ZWR3aWR0aCkKIHsKICAgICBt
X3BoeXNpY2FsUmVjdC5zZXRXaWR0aCh0cnVuY2F0ZWR3aWR0aCk7Ci0gICAgbV9pbmtPdmVyZmxv
dy5zZXRSaWdodChtX3BoeXNpY2FsUmVjdC5yaWdodCgpKTsKKyAgICBtX2lua092ZXJmbG93LnNo
aWZ0TWF4WEVkZ2VUbyhtX3BoeXNpY2FsUmVjdC5tYXhZKCkpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVp
bGRlci5jcHAKaW5kZXggMTI2ZDE2OTMwMzNlMjgyMWNjMDUyNjU2ZjMyNDA1M2FkM2I0ZTYxMy4u
YTE3Yzk2MzIyODEzMjY4NTVhOTFiMzY4ZDEyNDZmNDBlMjhhYzFlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIERpc3BsYXlCb3hlcyBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYKICAgICBy
ZXR1cm4gYm94ZXM7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjb21wdXRlQm94U2hhZG93SW5r
T3ZlcmZsb3coY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBJbmxpbmVSZWN0JiBpbmtPdmVyZmxv
dykKK3N0YXRpYyBpbmxpbmUgYm9vbCBjb21wdXRlQm94U2hhZG93SW5rT3ZlcmZsb3coY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBGbG9hdFJlY3QmIGlua092ZXJmbG93KQogewogICAgIGF1dG8g
dG9wQm94U2hhZG93ID0gTGF5b3V0VW5pdCB7IH07CiAgICAgYXV0byBib3R0b21Cb3hTaGFkb3cg
PSBMYXlvdXRVbml0IHsgfTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
Y29tcHV0ZUJveFNoYWRvd0lua092ZXJmbG93KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5s
aW5lUgogICAgIHN0eWxlLmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChsZWZ0Qm94
U2hhZG93LCByaWdodEJveFNoYWRvdyk7CiAgICAgaWYgKCF0b3BCb3hTaGFkb3cgJiYgIWJvdHRv
bUJveFNoYWRvdyAmJiAhbGVmdEJveFNoYWRvdyAmJiAhcmlnaHRCb3hTaGFkb3cpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpbmtPdmVyZmxvdy5pbmZsYXRlKElubGluZUxheW91dFVuaXQg
eyB0b3BCb3hTaGFkb3cgfSwgSW5saW5lTGF5b3V0VW5pdCB7IHJpZ2h0Qm94U2hhZG93IH0sIElu
bGluZUxheW91dFVuaXQgeyBib3R0b21Cb3hTaGFkb3cgfSwgSW5saW5lTGF5b3V0VW5pdCB7IGxl
ZnRCb3hTaGFkb3cgfSk7CisgICAgaW5rT3ZlcmZsb3cuaW5mbGF0ZShsZWZ0Qm94U2hhZG93LnRv
RmxvYXQoKSwgdG9wQm94U2hhZG93LnRvRmxvYXQoKSwgcmlnaHRCb3hTaGFkb3cudG9GbG9hdCgp
LCBib3R0b21Cb3hTaGFkb3cudG9GbG9hdCgpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
MjA2LDcgKzIwNiw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphcHBlbmRB
dG9taWNJbmxpbmVMZXZlbERpc3BsYXlCb3goY29uc3QgTGluZTo6CiAKICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwogICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBbJl0g
ewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gYm9yZGVyQm94UmVjdDsKKyAgICAgICAgYXV0
byBpbmtPdmVyZmxvdyA9IEZsb2F0UmVjdCB7IGJvcmRlckJveFJlY3QgfTsKICAgICAgICAgY29t
cHV0ZUJveFNoYWRvd0lua092ZXJmbG93KCFtX2xpbmVJbmRleCA/IGxheW91dEJveC5maXJzdExp
bmVTdHlsZSgpIDogbGF5b3V0Qm94LnN0eWxlKCksIGlua092ZXJmbG93KTsKICAgICAgICAgLy8g
QXRvbWljIGlubGluZSBib3ggY29udHJpYnV0ZSB0byB0aGVpciBpbmxpbmUgYm94IHBhcmVudHMg
aW5rIG92ZXJmbG93IGF0IGFsbCB0aW1lcyAoZS5nLiA8c3Bhbj48aW1nPjwvc3Bhbj4pLgogICAg
ICAgICBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdyA9IG1fY29udGVudEhhc0lua092ZXJmbG93IHx8
ICZsYXlvdXRCb3gucGFyZW50KCkgIT0gJnJvb3QoKTsKQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lk
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lQm94RGlzcGxheUJveChj
b25zdCBMaW5lOjpSdW4mIGxpbgogICAgIH0KIAogICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBbJl0g
ewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gaW5saW5lQm94Qm9yZGVyQm94OworICAgICAg
ICBhdXRvIGlua092ZXJmbG93ID0gRmxvYXRSZWN0IHsgaW5saW5lQm94Qm9yZGVyQm94IH07CiAg
ICAgICAgIG1fY29udGVudEhhc0lua092ZXJmbG93ID0gY29tcHV0ZUJveFNoYWRvd0lua092ZXJm
bG93KCFtX2xpbmVJbmRleCA/IGxheW91dEJveC5maXJzdExpbmVTdHlsZSgpIDogbGF5b3V0Qm94
LnN0eWxlKCksIGlua092ZXJmbG93KSB8fCBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdzsKICAgICAg
ICAgcmV0dXJuIGlua092ZXJmbG93OwogICAgIH07CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFwcGVuZFNwYW5uaW5nSW5saW5lQm94RGlzcGxh
eUJveChjb25zdCBMaW5lOjoKIAogICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0
Qm94KCk7CiAgICAgYXV0byBpbmtPdmVyZmxvdyA9IFsmXSB7Ci0gICAgICAgIGF1dG8gaW5rT3Zl
cmZsb3cgPSBpbmxpbmVCb3hCb3JkZXJCb3g7CisgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBG
bG9hdFJlY3QgeyBpbmxpbmVCb3hCb3JkZXJCb3ggfTsKICAgICAgICAgbV9jb250ZW50SGFzSW5r
T3ZlcmZsb3cgPSBjb21wdXRlQm94U2hhZG93SW5rT3ZlcmZsb3coIW1fbGluZUluZGV4ID8gbGF5
b3V0Qm94LmZpcnN0TGluZVN0eWxlKCkgOiBsYXlvdXRCb3guc3R5bGUoKSwgaW5rT3ZlcmZsb3cp
IHx8IG1fY29udGVudEhhc0lua092ZXJmbG93OwogICAgICAgICByZXR1cm4gaW5rT3ZlcmZsb3c7
CiAgICAgfTsKQEAgLTUyMyw3ICs1MjMsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbAogICAg
IGFmdGVySW5saW5lQm94Q29udGVudCgpOwogCiAgICAgYXV0byBjb21wdXRlSW5rT3ZlcmZsb3cg
PSBbJl0gewotICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gZGlzcGxheUJveC5yZWN0KCk7Cisg
ICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3QgeyBkaXNwbGF5Qm94LnJlY3QoKSB9
OwogICAgICAgICBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdyA9IGNvbXB1dGVCb3hTaGFkb3dJbmtP
dmVyZmxvdyghbV9saW5lSW5kZXggPyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91
dEJveC5zdHlsZSgpLCBpbmtPdmVyZmxvdykgfHwgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3c7CiAg
ICAgICAgIGRpc3BsYXlCb3guYWRqdXN0SW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpOwogICAgIH07
CkBAIC02NTksOCArNjU5LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnBy
b2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxheUJveGVzJgogICAgIGF1dG8mIHJv
b3RJbmxpbmVCb3ggPSBib3hlc1swXTsKICAgICBBU1NFUlQocm9vdElubGluZUJveC5pc1Jvb3RJ
bmxpbmVCb3goKSk7CiAKLSAgICBhdXRvIHJvb3RJbmxpbmVCb3hSZWN0ID0gcm9vdElubGluZUJv
eC5yZWN0KCk7Ci0gICAgaWYgKHJvb3RJbmxpbmVCb3hSZWN0LnJpZ2h0KCkgPD0gbGluZUJveFJp
Z2h0KSB7CisgICAgaWYgKHJvb3RJbmxpbmVCb3gucmlnaHQoKSA8PSBsaW5lQm94UmlnaHQpIHsK
ICAgICAgICAgQVNTRVJUKGJveGVzLmxhc3QoKS5yaWdodCgpIDw9IGxpbmVCb3hSaWdodCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MDUsNyArNzA0LDcgQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxh
eUJveGVzJgogICAgIGZvciAoYXV0byBpbmRleCA9IGZpcnN0VHJ1bmNhdGVkQm94SW5kZXggKyAx
OyBpbmRleCA8IGJveGVzLnNpemUoKTsgKytpbmRleCkKICAgICAgICAgYm94ZXNbaW5kZXhdLm1v
dmVIb3Jpem9udGFsbHkoY29udGVudFJpZ2h0IC0gYm94ZXNbaW5kZXhdLmxlZnQoKSk7CiAgICAg
Ly8gQW5kIGFwcGVuZCB0aGUgZWxsaXBzaXMgYm94IGFzIHRoZSB0cmFpbGluZyBpdGVtLgotICAg
IGF1dG8gZWxsaXNwaXNCb3hSZWN0ID0gSW5saW5lUmVjdCB7IHJvb3RJbmxpbmVCb3hSZWN0LnRv
cCgpLCBjb250ZW50UmlnaHQsIGVsbGlwc2lzV2lkdGgsIHJvb3RJbmxpbmVCb3hSZWN0LmhlaWdo
dCgpIH07CisgICAgYXV0byBlbGxpc3Bpc0JveFJlY3QgPSBJbmxpbmVSZWN0IHsgcm9vdElubGlu
ZUJveC50b3AoKSwgY29udGVudFJpZ2h0LCBlbGxpcHNpc1dpZHRoLCByb290SW5saW5lQm94Lmhl
aWdodCgpIH07CiAgICAgYm94ZXMuYXBwZW5kKHsgbV9saW5lSW5kZXgKICAgICAgICAgLCBJbmxp
bmVEaXNwbGF5OjpCb3g6OlR5cGU6OkVsbGlwc2lzCiAgICAgICAgICwgcm9vdCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25C
b3hUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkJveFRyZWUuY3BwCmluZGV4IDYwYjU0NzcyMmNmZGZhNzNmNDY4ZmFlNGRlYjNlZmM4
NmFiMTdkYjIuLjI1YzQ1YTk1OWY4MGViNTAxM2JjMDFlNTI3ZGYyNGY1MGMzNzc0NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgdm9pZCBzaG93SW5s
aW5lQ29udGVudChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IElubGluZUNvbnRlbnQmIGlubGlu
ZUNvbnRlbnQsIHMKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwg
IkdlbmVyaWMgaW5saW5lIGxldmVsIGJveCI7CiAgICAgICAgICAgICBzdHJlYW0KLSAgICAgICAg
ICAgICAgICA8PCAiIGF0ICgiIDw8IHJlY3QubGVmdCgpIDw8ICIsIiA8PCByZWN0LnRvcCgpIDw8
ICIpIgorICAgICAgICAgICAgICAgIDw8ICIgYXQgKCIgPDwgcmVjdC54KCkgPDwgIiwiIDw8IHJl
Y3QueSgpIDw8ICIpIgogICAgICAgICAgICAgICAgIDw8ICIgc2l6ZSAoIiA8PCByZWN0LndpZHRo
KCkgPDwgIngiIDw8IHJlY3QuaGVpZ2h0KCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5l
eHRMaW5lKCk7CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKaW5kZXggYmVmOWQ1YWEyNTA5Nzg4NTU4ZTI1YTdmNjdlZTE1M2Iy
ZTZmNmI0ZC4uZTJhMTU4ZjQwMjZkZGUyZGFhMmU0YjJlNTY5MTA4NTE3NDA3Mzg5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtMTA4
LDE0ICsxMDgsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxp
bmVzKExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgIGlmIChs
YXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gU2ltaWxhciB0
byBMZWdhY3lJbmxpbmVGbG93Qm94OjphZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3cuCiAgICAgICAg
ICAgICAgICAgYXV0byYgcmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJCb3g+KG1fYm94VHJlZS5y
ZW5kZXJlckZvckxheW91dEJveChsYXlvdXRCb3gpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGJv
eFJlY3QgPSBib3gucmVjdCgpOwogICAgICAgICAgICAgICAgIGlmICghcmVuZGVyZXIuaGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkgewogICAgICAgICAgICAgICAgICAgICBhdXRvIGNoaWxkSW5rT3Zl
cmZsb3cgPSByZW5kZXJlci5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24o
JnJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY2hpbGRJ
bmtPdmVyZmxvdy5tb3ZlKGJveFJlY3QubGVmdCgpLCBib3hSZWN0LnRvcCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgY2hpbGRJbmtPdmVyZmxvdy5tb3ZlKGJveC5sZWZ0KCksIGJveC50b3AoKSk7
CiAgICAgICAgICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUoY2hpbGRJbmtP
dmVyZmxvdyk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGF1dG8gY2hpbGRT
Y3JvbGxhYmxlT3ZlcmZsb3cgPSByZW5kZXJlci5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0Rm9y
UHJvcGFnYXRpb24oJnJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpKTsKLSAgICAgICAgICAgICAg
ICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKGJveFJlY3QubGVmdCgpLCBib3hSZWN0LnRv
cCgpKTsKKyAgICAgICAgICAgICAgICBjaGlsZFNjcm9sbGFibGVPdmVyZmxvdy5tb3ZlKGJveC5s
ZWZ0KCksIGJveC50b3AoKSk7CiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dC51bml0ZShjaGlsZFNjcm9sbGFibGVPdmVyZmxvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRy
ZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRy
ZWVCdWlsZGVyLmNwcAppbmRleCBjNGIzZDdlNzBmMzFkODZkYzNhMzBlOGJmNzdmMzcyZjYzODM5
MGI4Li43YzUzMDFmYzUzMGVhZWYxODNhOGU2ZWI5NTEyMDViMTk5MjQ3MzAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIu
Y3BwCkBAIC0zOTcsNyArMzk3LDcgQEAgdm9pZCBzaG93SW5saW5lVHJlZUFuZFJ1bnMoVGV4dFN0
cmVhbSYgc3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGMKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBzdHJlYW0gPDwgIkdlbmVyaWMgaW5saW5lIGxldmVs
IGJveCI7CiAgICAgICAgICAgICBzdHJlYW0KLSAgICAgICAgICAgICAgICA8PCAiIGF0ICgiIDw8
IHJlY3QubGVmdCgpIDw8ICIsIiA8PCByZWN0LnRvcCgpIDw8ICIpIgorICAgICAgICAgICAgICAg
IDw8ICIgYXQgKCIgPDwgcmVjdC54KCkgPDwgIiwiIDw8IHJlY3QueSgpIDw8ICIpIgogICAgICAg
ICAgICAgICAgIDw8ICIgc2l6ZSAoIiA8PCByZWN0LndpZHRoKCkgPDwgIngiIDw8IHJlY3QuaGVp
Z2h0KCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7CiAgICAgICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4IGY1
ZjkzMDE2Yzc4MTk4OWNjNDMwZDI2NmRjZGY5Y2QzYzg4ZDY2OGIuLjVjNzYyZDRhN2JlZjE2NDA0
NDJhNDYyMmFhODJlYjZiNDlhMDhlOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0xOTYsNiArMTk2LDcgQEAgcHVibGljOgogICAgIH0KICAg
ICB2b2lkIGluZmxhdGUoZmxvYXQgZCkgeyBpbmZsYXRlWChkKTsgaW5mbGF0ZVkoZCk7IH0KICAg
ICB2b2lkIGluZmxhdGUoRmxvYXRTaXplIHNpemUpIHsgaW5mbGF0ZVgoc2l6ZS53aWR0aCgpKTsg
aW5mbGF0ZVkoc2l6ZS5oZWlnaHQoKSk7IH0KKyAgICB2b2lkIGluZmxhdGUoZmxvYXQgZHgsIGZs
b2F0IGR5LCBmbG9hdCBkbWF4WCwgZmxvYXQgZG1heFkpOwogCiAgICAgdm9pZCBzY2FsZShmbG9h
dCBzKSB7IHNjYWxlKHMsIHMpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2FsZShmbG9h
dCBzeCwgZmxvYXQgc3kpOwpAQCAtMjk0LDYgKzI5NSwxNCBAQCBpbmxpbmUgYm9vbCBGbG9hdFJl
Y3Q6OmlzSW5maW5pdGUoKSBjb25zdAogICAgIHJldHVybiAqdGhpcyA9PSBpbmZpbml0ZVJlY3Qo
KTsKIH0KIAoraW5saW5lIHZvaWQgRmxvYXRSZWN0OjppbmZsYXRlKGZsb2F0IGRlbHRhWCwgZmxv
YXQgZGVsdGFZLCBmbG9hdCBkZWx0YU1heFgsIGZsb2F0IGRlbHRhTWF4WSkKK3sKKyAgICBzZXRY
KHgoKSAtIGRlbHRhWCk7CisgICAgc2V0WSh5KCkgLSBkZWx0YVkpOworICAgIHNldFdpZHRoKHdp
ZHRoKCkgKyBkZWx0YVggKyBkZWx0YU1heFgpOworICAgIHNldEhlaWdodChoZWlnaHQoKSArIGRl
bHRhWSArIGRlbHRhTWF4WSk7Cit9CisKIEZsb2F0UmVjdCBub3JtYWxpemVSZWN0KGNvbnN0IEZs
b2F0UmVjdCYpOwogV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IGVuY2xvc2VSZWN0VG9EZXZpY2VQ
aXhlbHMoY29uc3QgRmxvYXRSZWN0JiwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpOwogV0VCQ09S
RV9FWFBPUlQgSW50UmVjdCBlbmNsb3NpbmdJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>