<?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>218747</bug_id>
          
          <creation_ts>2020-11-10 05:18:36 -0800</creation_ts>
          <short_desc>[LFC][Integration] Move caret rect computation out of iterator</short_desc>
          <delta_ts>2020-11-10 11:42:15 -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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</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>1706052</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-10 05:18:36 -0800</bug_when>
    <thetext>It doesn&apos;t really belong there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706057</commentid>
    <comment_count>1</comment_count>
      <attachid>413688</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-10 05:38:35 -0800</bug_when>
    <thetext>Created attachment 413688
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706065</commentid>
    <comment_count>2</comment_count>
      <attachid>413692</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-10 07:03:58 -0800</bug_when>
    <thetext>Created attachment 413692
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706079</commentid>
    <comment_count>3</comment_count>
      <attachid>413695</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-10 07:41:49 -0800</bug_when>
    <thetext>Created attachment 413695
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706145</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-10 11:41:12 -0800</bug_when>
    <thetext>Committed r269639: &lt;https://trac.webkit.org/changeset/269639&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413695.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706147</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-10 11:42:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/71247898&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413688</attachid>
            <date>2020-11-10 05:38:35 -0800</date>
            <delta_ts>2020-11-10 07:03:58 -0800</delta_ts>
            <desc>patch</desc>
            <filename>caret-blockflow.patch</filename>
            <type>text/plain</type>
            <size>9536</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZWIzYTZiNzJiYjIuLmY3NjU3YjFlYjc1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIwLTExLTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBjYXJldCByZWN0IGNvbXB1dGF0
aW9uIG91dCBvZiBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTW92ZSBpdCB0byBSZW5kZXJCbG9ja0Zsb3cgd2hpY2ggaXQgbW9zdGx5IGRl
YWxzIHdpdGguCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhMaW5lOjpjb21wdXRlQ2FyZXRSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVDYXJldFJlY3QgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGluZUJyZWFrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6
bG9jYWxDYXJldFJlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0IGNvbnN0KToK
KwogMjAyMC0xMS0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbR1BVIFByb2Nlc3NdIENvbnRyb2wgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBsYXRmb3Jt
IGltYWdlIGJ5IGEgbmV3IGNsYXNzIG5hbWVkIE5hdGl2ZUltYWdlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAppbmRleCA3MTk4N2I0MDllNDYuLmU3MTdlZWY0ZGY1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwCkBAIC0xNzksNTkgKzE3OSw2IEBA
IGludCBQYXRoTGluZTo6YmxvY2tEaXJlY3Rpb25Qb2ludEluTGluZSgpIGNvbnN0CiAgICAgcmV0
dXJuICFjb250YWluaW5nQmxvY2soKS5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2Rl
KCkgPyBzdGQ6Om1heCh0b3AoKSwgc2VsZWN0aW9uVG9wKCkpIDogc3RkOjptaW4oYm90dG9tKCks
IHNlbGVjdGlvbkJvdHRvbSgpKTsKIH0KIAotSW50UmVjdCBQYXRoTGluZTo6Y29tcHV0ZUNhcmV0
UmVjdChmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25lZCBjYXJldFdpZHRoLCBMYXlv
dXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Ci17Ci0gICAgaW50IGhlaWdodCA9
IHNlbGVjdGlvbkJvdHRvbSgpIC0gc2VsZWN0aW9uVG9wKCk7Ci0gICAgaW50IHRvcCA9IHNlbGVj
dGlvblRvcCgpOwotCi0gICAgLy8gRGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRo
ZXIgc2lkZSBvZiB0aGUgb2Zmc2V0LgotICAgIGZsb2F0IGxlZnQgPSBsb2dpY2FsTGVmdFBvc2l0
aW9uOwotICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7Ci0g
ICAgbGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGludCBjYXJldFdpZHRoUmln
aHRPZk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGxl
ZnQgPSByb3VuZGYobGVmdCk7Ci0KLSAgICBmbG9hdCBsaW5lTGVmdCA9IGxvZ2ljYWxMZWZ0KCk7
Ci0gICAgZmxvYXQgbGluZVJpZ2h0ID0gbG9naWNhbFJpZ2h0KCk7Ci0KLSAgICBpZiAoZXh0cmFX
aWR0aFRvRW5kT2ZMaW5lKQotICAgICAgICAqZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gbGluZVJp
Z2h0IC0gKGxlZnQgKyBjYXJldFdpZHRoKTsKLQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBibG9j
a1N0eWxlID0gY29udGFpbmluZ0Jsb2NrKCkuc3R5bGUoKTsKLQotICAgIGJvb2wgcmlnaHRBbGln
bmVkID0gZmFsc2U7Ci0gICAgc3dpdGNoIChibG9ja1N0eWxlLnRleHRBbGlnbigpKSB7Ci0gICAg
Y2FzZSBUZXh0QWxpZ25Nb2RlOjpSaWdodDoKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OldlYktp
dFJpZ2h0OgotICAgICAgICByaWdodEFsaWduZWQgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFRleHRBbGlnbk1vZGU6OkxlZnQ6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJL
aXRMZWZ0OgotICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6Q2VudGVyOgotICAgIGNhc2UgVGV4dEFs
aWduTW9kZTo6V2ViS2l0Q2VudGVyOgotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGln
bk1vZGU6Okp1c3RpZnk6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpTdGFydDoKLSAgICAgICAg
cmlnaHRBbGlnbmVkID0gIWJsb2NrU3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkVuZDoKLSAgICAgICAgcmlnaHRB
bGlnbmVkID0gYmxvY2tTdHlsZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIGZsb2F0IGxlZnRFZGdlID0gc3RkOjptaW48ZmxvYXQ+KDAsIGxp
bmVMZWZ0KTsKLSAgICBmbG9hdCByaWdodEVkZ2UgPSBzdGQ6Om1heDxmbG9hdD4oY29udGFpbmlu
Z0Jsb2NrKCkubG9naWNhbFdpZHRoKCksIGxpbmVSaWdodCk7Ci0KLSAgICBpZiAocmlnaHRBbGln
bmVkKSB7Ci0gICAgICAgIGxlZnQgPSBzdGQ6Om1heChsZWZ0LCBsZWZ0RWRnZSk7Ci0gICAgICAg
IGxlZnQgPSBzdGQ6Om1pbihsZWZ0LCBsaW5lUmlnaHQgLSBjYXJldFdpZHRoKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgcmlnaHRFZGdlIC0gY2FyZXRXaWR0
aFJpZ2h0T2ZPZmZzZXQpOwotICAgICAgICBsZWZ0ID0gc3RkOjptYXgobGVmdCwgbGluZUxlZnQp
OwotICAgIH0KLSAgICByZXR1cm4gYmxvY2tTdHlsZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lkdGgsIGhlaWdodCkgOiBJbnRSZWN0KHRvcCwg
bGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKLX0KLQogfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvci5oCmluZGV4IDk5OGE4NWU3YjNiZi4uOTg0NjAwMzExMWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaApAQCAtNTgsMTMgKzU4LDE0IEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRVbml0IGxpbmVCb3hUb3AoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGxpbmVC
b3hCb3R0b20oKSBjb25zdDsKIAorICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCgpIGNvbnN0
OworCiAgICAgZmxvYXQgeSgpIGNvbnN0OwogICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3Q7
CiAgICAgZmxvYXQgbG9naWNhbFJpZ2h0KCkgY29uc3Q7CiAgICAgZmxvYXQgbG9naWNhbEhlaWdo
dCgpIGNvbnN0OwogCiAgICAgaW50IGJsb2NrRGlyZWN0aW9uUG9pbnRJbkxpbmUoKSBjb25zdDsK
LSAgICBJbnRSZWN0IGNvbXB1dGVDYXJldFJlY3QoZmxvYXQgbG9naWNhbExlZnRQb3NpdGlvbiwg
dW5zaWduZWQgY2FyZXRXaWR0aCwgTGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKSBj
b25zdDsKIAogICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29uc3Q7CiAKQEAgLTE3Myw2ICsxNzQs
MTEgQEAgaW5saW5lIExheW91dFVuaXQgUGF0aExpbmU6OmxpbmVCb3hCb3R0b20oKSBjb25zdAog
ICAgIH0pOwogfQogCitpbmxpbmUgTGF5b3V0UmVjdCBQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTGF5b3V0UG9pbnQgeyBsb2dpY2FsTGVmdCgpLCBzZWxl
Y3Rpb25Ub3AoKSB9LCBMYXlvdXRQb2ludCB7IGxvZ2ljYWxSaWdodCgpLCBzZWxlY3Rpb25Cb3R0
b20oKSB9IH07Cit9CisKIGlubGluZSBmbG9hdCBQYXRoTGluZTo6eSgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24obV9wYXRoVmFyaWFudCwgW10oY29uc3QgYXV0byYgcGF0aCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBk
YmZiYzRhMGZiMTIuLmU4N2U0NTc0NDFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTQ0MzgsNSArNDQzOCw1NiBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHByZWZlcnJlZFdpZHRoKG1heExvZ2lj
YWxXaWR0aCwgaW5saW5lTWF4KTsKIH0KIAorSW50UmVjdCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1
dGVDYXJldFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgbGluZVNlbGVjdGlvblJlY3QsIGZsb2F0IGxv
Z2ljYWxMZWZ0UG9zaXRpb24sIHVuc2lnbmVkIGNhcmV0V2lkdGgsIExheW91dFVuaXQqIGV4dHJh
V2lkdGhUb0VuZE9mTGluZSkgY29uc3QKK3sKKyAgICBpbnQgaGVpZ2h0ID0gbGluZVNlbGVjdGlv
blJlY3QuaGVpZ2h0KCk7CisgICAgaW50IHRvcCA9IGxpbmVTZWxlY3Rpb25SZWN0LnkoKTsKKwor
ICAgIC8vIERpc3RyaWJ1dGUgdGhlIGNhcmV0J3Mgd2lkdGggdG8gZWl0aGVyIHNpZGUgb2YgdGhl
IG9mZnNldC4KKyAgICBmbG9hdCBsZWZ0ID0gbG9naWNhbExlZnRQb3NpdGlvbjsKKyAgICBpbnQg
Y2FyZXRXaWR0aExlZnRPZk9mZnNldCA9IGNhcmV0V2lkdGggLyAyOworICAgIGxlZnQgLT0gY2Fy
ZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBpbnQgY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQgPSBj
YXJldFdpZHRoIC0gY2FyZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBsZWZ0ID0gcm91bmRmKGxl
ZnQpOworCisgICAgZmxvYXQgbGluZUxlZnQgPSBsaW5lU2VsZWN0aW9uUmVjdC54KCk7CisgICAg
ZmxvYXQgbGluZVJpZ2h0ID0gbGluZVNlbGVjdGlvblJlY3QubWF4WCgpOworCisgICAgaWYgKGV4
dHJhV2lkdGhUb0VuZE9mTGluZSkKKyAgICAgICAgKmV4dHJhV2lkdGhUb0VuZE9mTGluZSA9IGxp
bmVSaWdodCAtIChsZWZ0ICsgY2FyZXRXaWR0aCk7CisKKyAgICBib29sIHJpZ2h0QWxpZ25lZCA9
IGZhbHNlOworICAgIHN3aXRjaCAoc3R5bGUoKS50ZXh0QWxpZ24oKSkgeworICAgIGNhc2UgVGV4
dEFsaWduTW9kZTo6UmlnaHQ6CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJLaXRSaWdodDoK
KyAgICAgICAgcmlnaHRBbGlnbmVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBU
ZXh0QWxpZ25Nb2RlOjpMZWZ0OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6V2ViS2l0TGVmdDoK
KyAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkNlbnRlcjoKKyAgICBjYXNlIFRleHRBbGlnbk1vZGU6
OldlYktpdENlbnRlcjoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpK
dXN0aWZ5OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6U3RhcnQ6CisgICAgICAgIHJpZ2h0QWxp
Z25lZCA9ICFzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpFbmQ6CisgICAgICAgIHJpZ2h0QWxpZ25lZCA9IHN0
eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBmbG9hdCBsZWZ0RWRnZSA9IHN0ZDo6bWluPGZsb2F0PigwLCBsaW5lTGVmdCk7CisgICAg
ZmxvYXQgcmlnaHRFZGdlID0gc3RkOjptYXg8ZmxvYXQ+KGxvZ2ljYWxXaWR0aCgpLCBsaW5lUmln
aHQpOworCisgICAgaWYgKHJpZ2h0QWxpZ25lZCkgeworICAgICAgICBsZWZ0ID0gc3RkOjptYXgo
bGVmdCwgbGVmdEVkZ2UpOworICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgbGluZVJpZ2h0
IC0gY2FyZXRXaWR0aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbGVmdCA9IHN0ZDo6bWluKGxl
ZnQsIHJpZ2h0RWRnZSAtIGNhcmV0V2lkdGhSaWdodE9mT2Zmc2V0KTsKKyAgICAgICAgbGVmdCA9
IHN0ZDo6bWF4KGxlZnQsIGxpbmVMZWZ0KTsKKyAgICB9CisgICAgcmV0dXJuIHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBo
ZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7Cit9CisKIH0K
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmgKaW5kZXggM2Q5YjUxZjI4ODgwLi4wMDYxOGUyNzFkYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTM5OCw2ICszOTgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhZGRGbG9hdHNUb05ld1BhcmVudChSZW5kZXJCbG9ja0Zsb3cmIHRvQmxv
Y2tGbG93KSBjb25zdDsKICAgICAKICAgICBMYXlvdXRVbml0IGVuZFBhZGRpbmdXaWR0aEZvckNh
cmV0KCkgY29uc3Q7CisgICAgSW50UmVjdCBjb21wdXRlQ2FyZXRSZWN0KGNvbnN0IExheW91dFJl
Y3QmIGxpbmVTZWxlY3Rpb25SZWN0LCBmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25l
ZCBjYXJldFdpZHRoLCBMYXlvdXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzaG91bGRSZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlv
dXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCmluZGV4IDQxYTQ5MzE4MjUzOS4uYjA2MjVkMDk5
YTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcApA
QCAtMTY3LDcgKzE2Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyTGluZUJyZWFrOjpsb2NhbENhcmV0
UmVjdChjb25zdCBJbmxpbmVSdW5BbmRPZmZzZXQmIHJ1bkFuZE9mZnNlCiAgICAgICAgIHJldHVy
biBMYXlvdXRSZWN0KCk7CiAKICAgICBhdXRvIGxpbmUgPSBydW5BbmRPZmZzZXQucnVuLmxpbmUo
KTsKLSAgICByZXR1cm4gbGluZS0+Y29tcHV0ZUNhcmV0UmVjdChsaW5lLT5sb2dpY2FsTGVmdCgp
LCBjYXJldFdpZHRoLCBleHRyYVdpZHRoVG9FbmRPZkxpbmUpOworICAgIHJldHVybiBsaW5lLT5j
b250YWluaW5nQmxvY2soKS5jb21wdXRlQ2FyZXRSZWN0KGxpbmUtPnNlbGVjdGlvblJlY3QoKSwg
bGluZS0+bG9naWNhbExlZnQoKSwgY2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsK
IH0KIAogSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdCb3goKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IDA2ZmU4ZmIxOTg4NS4u
ZjQ4ODhjNzQ2YzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBA
IC03MTUsOSArNzE1LDEwIEBAIExheW91dFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3Qo
Y29uc3QgSW5saW5lUnVuQW5kT2Zmc2V0JiBydW5BbmRPZmZzZXQsIExhCiAgICAgICAgIHJldHVy
biBMYXlvdXRSZWN0KCk7CiAKICAgICBhdXRvJiB0ZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0SW50
ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvcj4ocnVuQW5kT2Zmc2V0LnJ1bik7CisgICAgYXV0byBs
aW5lID0gdGV4dFJ1bi5saW5lKCk7CiAKLSAgICBmbG9hdCBsZWZ0ID0gdGV4dFJ1bi0+cG9zaXRp
b25Gb3JPZmZzZXQocnVuQW5kT2Zmc2V0Lm9mZnNldCk7Ci0gICAgcmV0dXJuIHRleHRSdW4ubGlu
ZSgpLT5jb21wdXRlQ2FyZXRSZWN0KGxlZnQsIGNhcmV0V2lkdGgsIGV4dHJhV2lkdGhUb0VuZE9m
TGluZSk7CisgICAgZmxvYXQgcG9zaXRpb24gPSB0ZXh0UnVuLT5wb3NpdGlvbkZvck9mZnNldChy
dW5BbmRPZmZzZXQub2Zmc2V0KTsKKyAgICByZXR1cm4gbGluZS0+Y29udGFpbmluZ0Jsb2NrKCku
Y29tcHV0ZUNhcmV0UmVjdChsaW5lLT5zZWxlY3Rpb25SZWN0KCksIHBvc2l0aW9uLCBjYXJldFdp
ZHRoLCBleHRyYVdpZHRoVG9FbmRPZkxpbmUpOwogfQogCiBBTFdBWVNfSU5MSU5FIGZsb2F0IFJl
bmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnRDYXNjYWRlJiBmLCB1bnNpZ25lZCBz
dGFydCwgdW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFs
bGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdywgY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlKSBjb25zdAo=
</data>
<flag name="commit-queue"
          id="430327"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413692</attachid>
            <date>2020-11-10 07:03:58 -0800</date>
            <delta_ts>2020-11-10 07:41:49 -0800</delta_ts>
            <desc>patch</desc>
            <filename>caret-blockflow-2.patch</filename>
            <type>text/plain</type>
            <size>10077</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZWIzYTZiNzJiYjIuLmY3NjU3YjFlYjc1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIwLTExLTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBjYXJldCByZWN0IGNvbXB1dGF0
aW9uIG91dCBvZiBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTW92ZSBpdCB0byBSZW5kZXJCbG9ja0Zsb3cgd2hpY2ggaXQgbW9zdGx5IGRl
YWxzIHdpdGguCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhMaW5lOjpjb21wdXRlQ2FyZXRSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVDYXJldFJlY3QgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGluZUJyZWFrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6
bG9jYWxDYXJldFJlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0IGNvbnN0KToK
KwogMjAyMC0xMS0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbR1BVIFByb2Nlc3NdIENvbnRyb2wgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBsYXRmb3Jt
IGltYWdlIGJ5IGEgbmV3IGNsYXNzIG5hbWVkIE5hdGl2ZUltYWdlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAppbmRleCA3MTk4N2I0MDllNDYuLmU3MTdlZWY0ZGY1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwCkBAIC0xNzksNTkgKzE3OSw2IEBA
IGludCBQYXRoTGluZTo6YmxvY2tEaXJlY3Rpb25Qb2ludEluTGluZSgpIGNvbnN0CiAgICAgcmV0
dXJuICFjb250YWluaW5nQmxvY2soKS5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2Rl
KCkgPyBzdGQ6Om1heCh0b3AoKSwgc2VsZWN0aW9uVG9wKCkpIDogc3RkOjptaW4oYm90dG9tKCks
IHNlbGVjdGlvbkJvdHRvbSgpKTsKIH0KIAotSW50UmVjdCBQYXRoTGluZTo6Y29tcHV0ZUNhcmV0
UmVjdChmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25lZCBjYXJldFdpZHRoLCBMYXlv
dXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Ci17Ci0gICAgaW50IGhlaWdodCA9
IHNlbGVjdGlvbkJvdHRvbSgpIC0gc2VsZWN0aW9uVG9wKCk7Ci0gICAgaW50IHRvcCA9IHNlbGVj
dGlvblRvcCgpOwotCi0gICAgLy8gRGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRo
ZXIgc2lkZSBvZiB0aGUgb2Zmc2V0LgotICAgIGZsb2F0IGxlZnQgPSBsb2dpY2FsTGVmdFBvc2l0
aW9uOwotICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7Ci0g
ICAgbGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGludCBjYXJldFdpZHRoUmln
aHRPZk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGxl
ZnQgPSByb3VuZGYobGVmdCk7Ci0KLSAgICBmbG9hdCBsaW5lTGVmdCA9IGxvZ2ljYWxMZWZ0KCk7
Ci0gICAgZmxvYXQgbGluZVJpZ2h0ID0gbG9naWNhbFJpZ2h0KCk7Ci0KLSAgICBpZiAoZXh0cmFX
aWR0aFRvRW5kT2ZMaW5lKQotICAgICAgICAqZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gbGluZVJp
Z2h0IC0gKGxlZnQgKyBjYXJldFdpZHRoKTsKLQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBibG9j
a1N0eWxlID0gY29udGFpbmluZ0Jsb2NrKCkuc3R5bGUoKTsKLQotICAgIGJvb2wgcmlnaHRBbGln
bmVkID0gZmFsc2U7Ci0gICAgc3dpdGNoIChibG9ja1N0eWxlLnRleHRBbGlnbigpKSB7Ci0gICAg
Y2FzZSBUZXh0QWxpZ25Nb2RlOjpSaWdodDoKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OldlYktp
dFJpZ2h0OgotICAgICAgICByaWdodEFsaWduZWQgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFRleHRBbGlnbk1vZGU6OkxlZnQ6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJL
aXRMZWZ0OgotICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6Q2VudGVyOgotICAgIGNhc2UgVGV4dEFs
aWduTW9kZTo6V2ViS2l0Q2VudGVyOgotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGln
bk1vZGU6Okp1c3RpZnk6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpTdGFydDoKLSAgICAgICAg
cmlnaHRBbGlnbmVkID0gIWJsb2NrU3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkVuZDoKLSAgICAgICAgcmlnaHRB
bGlnbmVkID0gYmxvY2tTdHlsZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIGZsb2F0IGxlZnRFZGdlID0gc3RkOjptaW48ZmxvYXQ+KDAsIGxp
bmVMZWZ0KTsKLSAgICBmbG9hdCByaWdodEVkZ2UgPSBzdGQ6Om1heDxmbG9hdD4oY29udGFpbmlu
Z0Jsb2NrKCkubG9naWNhbFdpZHRoKCksIGxpbmVSaWdodCk7Ci0KLSAgICBpZiAocmlnaHRBbGln
bmVkKSB7Ci0gICAgICAgIGxlZnQgPSBzdGQ6Om1heChsZWZ0LCBsZWZ0RWRnZSk7Ci0gICAgICAg
IGxlZnQgPSBzdGQ6Om1pbihsZWZ0LCBsaW5lUmlnaHQgLSBjYXJldFdpZHRoKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgcmlnaHRFZGdlIC0gY2FyZXRXaWR0
aFJpZ2h0T2ZPZmZzZXQpOwotICAgICAgICBsZWZ0ID0gc3RkOjptYXgobGVmdCwgbGluZUxlZnQp
OwotICAgIH0KLSAgICByZXR1cm4gYmxvY2tTdHlsZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lkdGgsIGhlaWdodCkgOiBJbnRSZWN0KHRvcCwg
bGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKLX0KLQogfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvci5oCmluZGV4IDk5OGE4NWU3YjNiZi4uOTg0NjAwMzExMWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaApAQCAtNTgsMTMgKzU4LDE0IEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRVbml0IGxpbmVCb3hUb3AoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGxpbmVC
b3hCb3R0b20oKSBjb25zdDsKIAorICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCgpIGNvbnN0
OworCiAgICAgZmxvYXQgeSgpIGNvbnN0OwogICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3Q7
CiAgICAgZmxvYXQgbG9naWNhbFJpZ2h0KCkgY29uc3Q7CiAgICAgZmxvYXQgbG9naWNhbEhlaWdo
dCgpIGNvbnN0OwogCiAgICAgaW50IGJsb2NrRGlyZWN0aW9uUG9pbnRJbkxpbmUoKSBjb25zdDsK
LSAgICBJbnRSZWN0IGNvbXB1dGVDYXJldFJlY3QoZmxvYXQgbG9naWNhbExlZnRQb3NpdGlvbiwg
dW5zaWduZWQgY2FyZXRXaWR0aCwgTGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKSBj
b25zdDsKIAogICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29uc3Q7CiAKQEAgLTE3Myw2ICsxNzQs
MTEgQEAgaW5saW5lIExheW91dFVuaXQgUGF0aExpbmU6OmxpbmVCb3hCb3R0b20oKSBjb25zdAog
ICAgIH0pOwogfQogCitpbmxpbmUgTGF5b3V0UmVjdCBQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTGF5b3V0UG9pbnQgeyBsb2dpY2FsTGVmdCgpLCBzZWxl
Y3Rpb25Ub3AoKSB9LCBMYXlvdXRQb2ludCB7IGxvZ2ljYWxSaWdodCgpLCBzZWxlY3Rpb25Cb3R0
b20oKSB9IH07Cit9CisKIGlubGluZSBmbG9hdCBQYXRoTGluZTo6eSgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24obV9wYXRoVmFyaWFudCwgW10oY29uc3QgYXV0byYgcGF0aCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBk
YmZiYzRhMGZiMTIuLmU4N2U0NTc0NDFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTQ0MzgsNSArNDQzOCw1NiBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHByZWZlcnJlZFdpZHRoKG1heExvZ2lj
YWxXaWR0aCwgaW5saW5lTWF4KTsKIH0KIAorSW50UmVjdCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1
dGVDYXJldFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgbGluZVNlbGVjdGlvblJlY3QsIGZsb2F0IGxv
Z2ljYWxMZWZ0UG9zaXRpb24sIHVuc2lnbmVkIGNhcmV0V2lkdGgsIExheW91dFVuaXQqIGV4dHJh
V2lkdGhUb0VuZE9mTGluZSkgY29uc3QKK3sKKyAgICBpbnQgaGVpZ2h0ID0gbGluZVNlbGVjdGlv
blJlY3QuaGVpZ2h0KCk7CisgICAgaW50IHRvcCA9IGxpbmVTZWxlY3Rpb25SZWN0LnkoKTsKKwor
ICAgIC8vIERpc3RyaWJ1dGUgdGhlIGNhcmV0J3Mgd2lkdGggdG8gZWl0aGVyIHNpZGUgb2YgdGhl
IG9mZnNldC4KKyAgICBmbG9hdCBsZWZ0ID0gbG9naWNhbExlZnRQb3NpdGlvbjsKKyAgICBpbnQg
Y2FyZXRXaWR0aExlZnRPZk9mZnNldCA9IGNhcmV0V2lkdGggLyAyOworICAgIGxlZnQgLT0gY2Fy
ZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBpbnQgY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQgPSBj
YXJldFdpZHRoIC0gY2FyZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBsZWZ0ID0gcm91bmRmKGxl
ZnQpOworCisgICAgZmxvYXQgbGluZUxlZnQgPSBsaW5lU2VsZWN0aW9uUmVjdC54KCk7CisgICAg
ZmxvYXQgbGluZVJpZ2h0ID0gbGluZVNlbGVjdGlvblJlY3QubWF4WCgpOworCisgICAgaWYgKGV4
dHJhV2lkdGhUb0VuZE9mTGluZSkKKyAgICAgICAgKmV4dHJhV2lkdGhUb0VuZE9mTGluZSA9IGxp
bmVSaWdodCAtIChsZWZ0ICsgY2FyZXRXaWR0aCk7CisKKyAgICBib29sIHJpZ2h0QWxpZ25lZCA9
IGZhbHNlOworICAgIHN3aXRjaCAoc3R5bGUoKS50ZXh0QWxpZ24oKSkgeworICAgIGNhc2UgVGV4
dEFsaWduTW9kZTo6UmlnaHQ6CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJLaXRSaWdodDoK
KyAgICAgICAgcmlnaHRBbGlnbmVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBU
ZXh0QWxpZ25Nb2RlOjpMZWZ0OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6V2ViS2l0TGVmdDoK
KyAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkNlbnRlcjoKKyAgICBjYXNlIFRleHRBbGlnbk1vZGU6
OldlYktpdENlbnRlcjoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpK
dXN0aWZ5OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6U3RhcnQ6CisgICAgICAgIHJpZ2h0QWxp
Z25lZCA9ICFzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpFbmQ6CisgICAgICAgIHJpZ2h0QWxpZ25lZCA9IHN0
eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBmbG9hdCBsZWZ0RWRnZSA9IHN0ZDo6bWluPGZsb2F0PigwLCBsaW5lTGVmdCk7CisgICAg
ZmxvYXQgcmlnaHRFZGdlID0gc3RkOjptYXg8ZmxvYXQ+KGxvZ2ljYWxXaWR0aCgpLCBsaW5lUmln
aHQpOworCisgICAgaWYgKHJpZ2h0QWxpZ25lZCkgeworICAgICAgICBsZWZ0ID0gc3RkOjptYXgo
bGVmdCwgbGVmdEVkZ2UpOworICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgbGluZVJpZ2h0
IC0gY2FyZXRXaWR0aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbGVmdCA9IHN0ZDo6bWluKGxl
ZnQsIHJpZ2h0RWRnZSAtIGNhcmV0V2lkdGhSaWdodE9mT2Zmc2V0KTsKKyAgICAgICAgbGVmdCA9
IHN0ZDo6bWF4KGxlZnQsIGxpbmVMZWZ0KTsKKyAgICB9CisgICAgcmV0dXJuIHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBo
ZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7Cit9CisKIH0K
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmgKaW5kZXggM2Q5YjUxZjI4ODgwLi4wMDYxOGUyNzFkYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTM5OCw2ICszOTgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhZGRGbG9hdHNUb05ld1BhcmVudChSZW5kZXJCbG9ja0Zsb3cmIHRvQmxv
Y2tGbG93KSBjb25zdDsKICAgICAKICAgICBMYXlvdXRVbml0IGVuZFBhZGRpbmdXaWR0aEZvckNh
cmV0KCkgY29uc3Q7CisgICAgSW50UmVjdCBjb21wdXRlQ2FyZXRSZWN0KGNvbnN0IExheW91dFJl
Y3QmIGxpbmVTZWxlY3Rpb25SZWN0LCBmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25l
ZCBjYXJldFdpZHRoLCBMYXlvdXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzaG91bGRSZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlv
dXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCmluZGV4IDQxYTQ5MzE4MjUzOS4uZDhiMWYwNjk1
ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcApA
QCAtMTY3LDcgKzE2Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyTGluZUJyZWFrOjpsb2NhbENhcmV0
UmVjdChjb25zdCBJbmxpbmVSdW5BbmRPZmZzZXQmIHJ1bkFuZE9mZnNlCiAgICAgICAgIHJldHVy
biBMYXlvdXRSZWN0KCk7CiAKICAgICBhdXRvIGxpbmUgPSBydW5BbmRPZmZzZXQucnVuLmxpbmUo
KTsKLSAgICByZXR1cm4gbGluZS0+Y29tcHV0ZUNhcmV0UmVjdChsaW5lLT5sb2dpY2FsTGVmdCgp
LCBjYXJldFdpZHRoLCBleHRyYVdpZHRoVG9FbmRPZkxpbmUpOworICAgIHJldHVybiBsaW5lLT5j
b250YWluaW5nQmxvY2soKS5jb21wdXRlQ2FyZXRSZWN0KGxpbmUtPnNlbGVjdGlvblJlY3QoKSwg
bGluZS0+bG9naWNhbExlZnQoKSwgY2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsK
IH0KIAogSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdCb3goKSBjb25zdApA
QCAtMjEzLDcgKzIxMyw4IEBAIHZvaWQgUmVuZGVyTGluZUJyZWFrOjpjb2xsZWN0U2VsZWN0aW9u
UmVjdHMoVmVjdG9yPFNlbGVjdGlvblJlY3Q+JiByZWN0cywgdW5zaWduCiAgICAgICAgIHJldHVy
bjsKICAgICBjb25zdCBSb290SW5saW5lQm94JiByb290Qm94ID0gYm94LT5yb290KCk7CiAKLSAg
ICBMYXlvdXRSZWN0IHJlY3QgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yKCZyb290
Qm94KS0+Y29tcHV0ZUNhcmV0UmVjdChib3gtPmxvZ2ljYWxMZWZ0KCksIDAsIG51bGxwdHIpOwor
ICAgIGF1dG8gbGluZSA9IExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IoJnJvb3RCb3gp
OworICAgIExheW91UmVjdCByZWN0ID0gcm9vdEJveC5ibG9ja0Zsb3coKS5jb21wdXRlQ2FyZXRS
ZWN0KGxpbmUtPnNlbGVjdGlvblJlY3QoKSwgbGluZS0+bG9naWNhbExlZnQoKSwgMCwgbnVsbHB0
cik7CiAKICAgICBpZiAocm9vdEJveC5pc0ZpcnN0QWZ0ZXJQYWdlQnJlYWsoKSkgewogICAgICAg
ICBpZiAoYm94LT5pc0hvcml6b250YWwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcAppbmRleCAwNmZlOGZiMTk4ODUuLmY0ODg4Yzc0NmM4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtNzE1LDkgKzcxNSwxMCBAQCBMYXlvdXRSZWN0
IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KGNvbnN0IElubGluZVJ1bkFuZE9mZnNldCYgcnVu
QW5kT2Zmc2V0LCBMYQogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogCiAgICAgYXV0byYg
dGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3I+KHJ1
bkFuZE9mZnNldC5ydW4pOworICAgIGF1dG8gbGluZSA9IHRleHRSdW4ubGluZSgpOwogCi0gICAg
ZmxvYXQgbGVmdCA9IHRleHRSdW4tPnBvc2l0aW9uRm9yT2Zmc2V0KHJ1bkFuZE9mZnNldC5vZmZz
ZXQpOwotICAgIHJldHVybiB0ZXh0UnVuLmxpbmUoKS0+Y29tcHV0ZUNhcmV0UmVjdChsZWZ0LCBj
YXJldFdpZHRoLCBleHRyYVdpZHRoVG9FbmRPZkxpbmUpOworICAgIGZsb2F0IHBvc2l0aW9uID0g
dGV4dFJ1bi0+cG9zaXRpb25Gb3JPZmZzZXQocnVuQW5kT2Zmc2V0Lm9mZnNldCk7CisgICAgcmV0
dXJuIGxpbmUtPmNvbnRhaW5pbmdCbG9jaygpLmNvbXB1dGVDYXJldFJlY3QobGluZS0+c2VsZWN0
aW9uUmVjdCgpLCBwb3NpdGlvbiwgY2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsK
IH0KIAogQUxXQVlTX0lOTElORSBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25z
dCBGb250Q2FzY2FkZSYgZiwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBv
cywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3csIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QK
</data>
<flag name="commit-queue"
          id="430334"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413695</attachid>
            <date>2020-11-10 07:41:49 -0800</date>
            <delta_ts>2020-11-10 11:41:13 -0800</delta_ts>
            <desc>patch</desc>
            <filename>caret-blockflow-3.patch</filename>
            <type>text/plain</type>
            <size>10078</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZWIzYTZiNzJiYjIuLmY3NjU3YjFlYjc1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIwLTExLTEwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBjYXJldCByZWN0IGNvbXB1dGF0
aW9uIG91dCBvZiBpdGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTW92ZSBpdCB0byBSZW5kZXJCbG9ja0Zsb3cgd2hpY2ggaXQgbW9zdGx5IGRl
YWxzIHdpdGguCisKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OlBhdGhMaW5lOjpjb21wdXRlQ2FyZXRSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVDYXJldFJlY3QgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGluZUJyZWFrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6
bG9jYWxDYXJldFJlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0IGNvbnN0KToK
KwogMjAyMC0xMS0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbR1BVIFByb2Nlc3NdIENvbnRyb2wgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBsYXRmb3Jt
IGltYWdlIGJ5IGEgbmV3IGNsYXNzIG5hbWVkIE5hdGl2ZUltYWdlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAppbmRleCA3MTk4N2I0MDllNDYuLmU3MTdlZWY0ZGY1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwCkBAIC0xNzksNTkgKzE3OSw2IEBA
IGludCBQYXRoTGluZTo6YmxvY2tEaXJlY3Rpb25Qb2ludEluTGluZSgpIGNvbnN0CiAgICAgcmV0
dXJuICFjb250YWluaW5nQmxvY2soKS5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2Rl
KCkgPyBzdGQ6Om1heCh0b3AoKSwgc2VsZWN0aW9uVG9wKCkpIDogc3RkOjptaW4oYm90dG9tKCks
IHNlbGVjdGlvbkJvdHRvbSgpKTsKIH0KIAotSW50UmVjdCBQYXRoTGluZTo6Y29tcHV0ZUNhcmV0
UmVjdChmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25lZCBjYXJldFdpZHRoLCBMYXlv
dXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Ci17Ci0gICAgaW50IGhlaWdodCA9
IHNlbGVjdGlvbkJvdHRvbSgpIC0gc2VsZWN0aW9uVG9wKCk7Ci0gICAgaW50IHRvcCA9IHNlbGVj
dGlvblRvcCgpOwotCi0gICAgLy8gRGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRo
ZXIgc2lkZSBvZiB0aGUgb2Zmc2V0LgotICAgIGZsb2F0IGxlZnQgPSBsb2dpY2FsTGVmdFBvc2l0
aW9uOwotICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7Ci0g
ICAgbGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGludCBjYXJldFdpZHRoUmln
aHRPZk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwotICAgIGxl
ZnQgPSByb3VuZGYobGVmdCk7Ci0KLSAgICBmbG9hdCBsaW5lTGVmdCA9IGxvZ2ljYWxMZWZ0KCk7
Ci0gICAgZmxvYXQgbGluZVJpZ2h0ID0gbG9naWNhbFJpZ2h0KCk7Ci0KLSAgICBpZiAoZXh0cmFX
aWR0aFRvRW5kT2ZMaW5lKQotICAgICAgICAqZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gbGluZVJp
Z2h0IC0gKGxlZnQgKyBjYXJldFdpZHRoKTsKLQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBibG9j
a1N0eWxlID0gY29udGFpbmluZ0Jsb2NrKCkuc3R5bGUoKTsKLQotICAgIGJvb2wgcmlnaHRBbGln
bmVkID0gZmFsc2U7Ci0gICAgc3dpdGNoIChibG9ja1N0eWxlLnRleHRBbGlnbigpKSB7Ci0gICAg
Y2FzZSBUZXh0QWxpZ25Nb2RlOjpSaWdodDoKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OldlYktp
dFJpZ2h0OgotICAgICAgICByaWdodEFsaWduZWQgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFRleHRBbGlnbk1vZGU6OkxlZnQ6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJL
aXRMZWZ0OgotICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6Q2VudGVyOgotICAgIGNhc2UgVGV4dEFs
aWduTW9kZTo6V2ViS2l0Q2VudGVyOgotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGln
bk1vZGU6Okp1c3RpZnk6Ci0gICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpTdGFydDoKLSAgICAgICAg
cmlnaHRBbGlnbmVkID0gIWJsb2NrU3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkVuZDoKLSAgICAgICAgcmlnaHRB
bGlnbmVkID0gYmxvY2tTdHlsZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIGZsb2F0IGxlZnRFZGdlID0gc3RkOjptaW48ZmxvYXQ+KDAsIGxp
bmVMZWZ0KTsKLSAgICBmbG9hdCByaWdodEVkZ2UgPSBzdGQ6Om1heDxmbG9hdD4oY29udGFpbmlu
Z0Jsb2NrKCkubG9naWNhbFdpZHRoKCksIGxpbmVSaWdodCk7Ci0KLSAgICBpZiAocmlnaHRBbGln
bmVkKSB7Ci0gICAgICAgIGxlZnQgPSBzdGQ6Om1heChsZWZ0LCBsZWZ0RWRnZSk7Ci0gICAgICAg
IGxlZnQgPSBzdGQ6Om1pbihsZWZ0LCBsaW5lUmlnaHQgLSBjYXJldFdpZHRoKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgcmlnaHRFZGdlIC0gY2FyZXRXaWR0
aFJpZ2h0T2ZPZmZzZXQpOwotICAgICAgICBsZWZ0ID0gc3RkOjptYXgobGVmdCwgbGluZUxlZnQp
OwotICAgIH0KLSAgICByZXR1cm4gYmxvY2tTdHlsZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lkdGgsIGhlaWdodCkgOiBJbnRSZWN0KHRvcCwg
bGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKLX0KLQogfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvci5oCmluZGV4IDk5OGE4NWU3YjNiZi4uOTg0NjAwMzExMWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaApAQCAtNTgsMTMgKzU4LDE0IEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRVbml0IGxpbmVCb3hUb3AoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGxpbmVC
b3hCb3R0b20oKSBjb25zdDsKIAorICAgIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCgpIGNvbnN0
OworCiAgICAgZmxvYXQgeSgpIGNvbnN0OwogICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3Q7
CiAgICAgZmxvYXQgbG9naWNhbFJpZ2h0KCkgY29uc3Q7CiAgICAgZmxvYXQgbG9naWNhbEhlaWdo
dCgpIGNvbnN0OwogCiAgICAgaW50IGJsb2NrRGlyZWN0aW9uUG9pbnRJbkxpbmUoKSBjb25zdDsK
LSAgICBJbnRSZWN0IGNvbXB1dGVDYXJldFJlY3QoZmxvYXQgbG9naWNhbExlZnRQb3NpdGlvbiwg
dW5zaWduZWQgY2FyZXRXaWR0aCwgTGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKSBj
b25zdDsKIAogICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29uc3Q7CiAKQEAgLTE3Myw2ICsxNzQs
MTEgQEAgaW5saW5lIExheW91dFVuaXQgUGF0aExpbmU6OmxpbmVCb3hCb3R0b20oKSBjb25zdAog
ICAgIH0pOwogfQogCitpbmxpbmUgTGF5b3V0UmVjdCBQYXRoTGluZTo6c2VsZWN0aW9uUmVjdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTGF5b3V0UG9pbnQgeyBsb2dpY2FsTGVmdCgpLCBzZWxl
Y3Rpb25Ub3AoKSB9LCBMYXlvdXRQb2ludCB7IGxvZ2ljYWxSaWdodCgpLCBzZWxlY3Rpb25Cb3R0
b20oKSB9IH07Cit9CisKIGlubGluZSBmbG9hdCBQYXRoTGluZTo6eSgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24obV9wYXRoVmFyaWFudCwgW10oY29uc3QgYXV0byYgcGF0aCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBk
YmZiYzRhMGZiMTIuLmU4N2U0NTc0NDFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTQ0MzgsNSArNDQzOCw1NiBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHByZWZlcnJlZFdpZHRoKG1heExvZ2lj
YWxXaWR0aCwgaW5saW5lTWF4KTsKIH0KIAorSW50UmVjdCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1
dGVDYXJldFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgbGluZVNlbGVjdGlvblJlY3QsIGZsb2F0IGxv
Z2ljYWxMZWZ0UG9zaXRpb24sIHVuc2lnbmVkIGNhcmV0V2lkdGgsIExheW91dFVuaXQqIGV4dHJh
V2lkdGhUb0VuZE9mTGluZSkgY29uc3QKK3sKKyAgICBpbnQgaGVpZ2h0ID0gbGluZVNlbGVjdGlv
blJlY3QuaGVpZ2h0KCk7CisgICAgaW50IHRvcCA9IGxpbmVTZWxlY3Rpb25SZWN0LnkoKTsKKwor
ICAgIC8vIERpc3RyaWJ1dGUgdGhlIGNhcmV0J3Mgd2lkdGggdG8gZWl0aGVyIHNpZGUgb2YgdGhl
IG9mZnNldC4KKyAgICBmbG9hdCBsZWZ0ID0gbG9naWNhbExlZnRQb3NpdGlvbjsKKyAgICBpbnQg
Y2FyZXRXaWR0aExlZnRPZk9mZnNldCA9IGNhcmV0V2lkdGggLyAyOworICAgIGxlZnQgLT0gY2Fy
ZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBpbnQgY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQgPSBj
YXJldFdpZHRoIC0gY2FyZXRXaWR0aExlZnRPZk9mZnNldDsKKyAgICBsZWZ0ID0gcm91bmRmKGxl
ZnQpOworCisgICAgZmxvYXQgbGluZUxlZnQgPSBsaW5lU2VsZWN0aW9uUmVjdC54KCk7CisgICAg
ZmxvYXQgbGluZVJpZ2h0ID0gbGluZVNlbGVjdGlvblJlY3QubWF4WCgpOworCisgICAgaWYgKGV4
dHJhV2lkdGhUb0VuZE9mTGluZSkKKyAgICAgICAgKmV4dHJhV2lkdGhUb0VuZE9mTGluZSA9IGxp
bmVSaWdodCAtIChsZWZ0ICsgY2FyZXRXaWR0aCk7CisKKyAgICBib29sIHJpZ2h0QWxpZ25lZCA9
IGZhbHNlOworICAgIHN3aXRjaCAoc3R5bGUoKS50ZXh0QWxpZ24oKSkgeworICAgIGNhc2UgVGV4
dEFsaWduTW9kZTo6UmlnaHQ6CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpXZWJLaXRSaWdodDoK
KyAgICAgICAgcmlnaHRBbGlnbmVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBU
ZXh0QWxpZ25Nb2RlOjpMZWZ0OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6V2ViS2l0TGVmdDoK
KyAgICBjYXNlIFRleHRBbGlnbk1vZGU6OkNlbnRlcjoKKyAgICBjYXNlIFRleHRBbGlnbk1vZGU6
OldlYktpdENlbnRlcjoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpK
dXN0aWZ5OgorICAgIGNhc2UgVGV4dEFsaWduTW9kZTo6U3RhcnQ6CisgICAgICAgIHJpZ2h0QWxp
Z25lZCA9ICFzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBUZXh0QWxpZ25Nb2RlOjpFbmQ6CisgICAgICAgIHJpZ2h0QWxpZ25lZCA9IHN0
eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBmbG9hdCBsZWZ0RWRnZSA9IHN0ZDo6bWluPGZsb2F0PigwLCBsaW5lTGVmdCk7CisgICAg
ZmxvYXQgcmlnaHRFZGdlID0gc3RkOjptYXg8ZmxvYXQ+KGxvZ2ljYWxXaWR0aCgpLCBsaW5lUmln
aHQpOworCisgICAgaWYgKHJpZ2h0QWxpZ25lZCkgeworICAgICAgICBsZWZ0ID0gc3RkOjptYXgo
bGVmdCwgbGVmdEVkZ2UpOworICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwgbGluZVJpZ2h0
IC0gY2FyZXRXaWR0aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbGVmdCA9IHN0ZDo6bWluKGxl
ZnQsIHJpZ2h0RWRnZSAtIGNhcmV0V2lkdGhSaWdodE9mT2Zmc2V0KTsKKyAgICAgICAgbGVmdCA9
IHN0ZDo6bWF4KGxlZnQsIGxpbmVMZWZ0KTsKKyAgICB9CisgICAgcmV0dXJuIHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBo
ZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7Cit9CisKIH0K
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmgKaW5kZXggM2Q5YjUxZjI4ODgwLi4wMDYxOGUyNzFkYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTM5OCw2ICszOTgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhZGRGbG9hdHNUb05ld1BhcmVudChSZW5kZXJCbG9ja0Zsb3cmIHRvQmxv
Y2tGbG93KSBjb25zdDsKICAgICAKICAgICBMYXlvdXRVbml0IGVuZFBhZGRpbmdXaWR0aEZvckNh
cmV0KCkgY29uc3Q7CisgICAgSW50UmVjdCBjb21wdXRlQ2FyZXRSZWN0KGNvbnN0IExheW91dFJl
Y3QmIGxpbmVTZWxlY3Rpb25SZWN0LCBmbG9hdCBsb2dpY2FsTGVmdFBvc2l0aW9uLCB1bnNpZ25l
ZCBjYXJldFdpZHRoLCBMYXlvdXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzaG91bGRSZXNldExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlv
dXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCmluZGV4IDQxYTQ5MzE4MjUzOS4uOTE2NDM3MDJk
Zjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcApA
QCAtMTY3LDcgKzE2Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyTGluZUJyZWFrOjpsb2NhbENhcmV0
UmVjdChjb25zdCBJbmxpbmVSdW5BbmRPZmZzZXQmIHJ1bkFuZE9mZnNlCiAgICAgICAgIHJldHVy
biBMYXlvdXRSZWN0KCk7CiAKICAgICBhdXRvIGxpbmUgPSBydW5BbmRPZmZzZXQucnVuLmxpbmUo
KTsKLSAgICByZXR1cm4gbGluZS0+Y29tcHV0ZUNhcmV0UmVjdChsaW5lLT5sb2dpY2FsTGVmdCgp
LCBjYXJldFdpZHRoLCBleHRyYVdpZHRoVG9FbmRPZkxpbmUpOworICAgIHJldHVybiBsaW5lLT5j
b250YWluaW5nQmxvY2soKS5jb21wdXRlQ2FyZXRSZWN0KGxpbmUtPnNlbGVjdGlvblJlY3QoKSwg
bGluZS0+bG9naWNhbExlZnQoKSwgY2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsK
IH0KIAogSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdCb3goKSBjb25zdApA
QCAtMjEzLDcgKzIxMyw4IEBAIHZvaWQgUmVuZGVyTGluZUJyZWFrOjpjb2xsZWN0U2VsZWN0aW9u
UmVjdHMoVmVjdG9yPFNlbGVjdGlvblJlY3Q+JiByZWN0cywgdW5zaWduCiAgICAgICAgIHJldHVy
bjsKICAgICBjb25zdCBSb290SW5saW5lQm94JiByb290Qm94ID0gYm94LT5yb290KCk7CiAKLSAg
ICBMYXlvdXRSZWN0IHJlY3QgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yKCZyb290
Qm94KS0+Y29tcHV0ZUNhcmV0UmVjdChib3gtPmxvZ2ljYWxMZWZ0KCksIDAsIG51bGxwdHIpOwor
ICAgIGF1dG8gbGluZSA9IExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IoJnJvb3RCb3gp
OworICAgIExheW91dFJlY3QgcmVjdCA9IHJvb3RCb3guYmxvY2tGbG93KCkuY29tcHV0ZUNhcmV0
UmVjdChsaW5lLT5zZWxlY3Rpb25SZWN0KCksIGxpbmUtPmxvZ2ljYWxMZWZ0KCksIDAsIG51bGxw
dHIpOwogCiAgICAgaWYgKHJvb3RCb3guaXNGaXJzdEFmdGVyUGFnZUJyZWFrKCkpIHsKICAgICAg
ICAgaWYgKGJveC0+aXNIb3Jpem9udGFsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHAKaW5kZXggMDZmZThmYjE5ODg1Li5mNDg4OGM3NDZjODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTcxNSw5ICs3MTUsMTAgQEAgTGF5b3V0UmVj
dCBSZW5kZXJUZXh0Ojpsb2NhbENhcmV0UmVjdChjb25zdCBJbmxpbmVSdW5BbmRPZmZzZXQmIHJ1
bkFuZE9mZnNldCwgTGEKICAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKIAogICAgIGF1dG8m
IHRleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yPihy
dW5BbmRPZmZzZXQucnVuKTsKKyAgICBhdXRvIGxpbmUgPSB0ZXh0UnVuLmxpbmUoKTsKIAotICAg
IGZsb2F0IGxlZnQgPSB0ZXh0UnVuLT5wb3NpdGlvbkZvck9mZnNldChydW5BbmRPZmZzZXQub2Zm
c2V0KTsKLSAgICByZXR1cm4gdGV4dFJ1bi5saW5lKCktPmNvbXB1dGVDYXJldFJlY3QobGVmdCwg
Y2FyZXRXaWR0aCwgZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKTsKKyAgICBmbG9hdCBwb3NpdGlvbiA9
IHRleHRSdW4tPnBvc2l0aW9uRm9yT2Zmc2V0KHJ1bkFuZE9mZnNldC5vZmZzZXQpOworICAgIHJl
dHVybiBsaW5lLT5jb250YWluaW5nQmxvY2soKS5jb21wdXRlQ2FyZXRSZWN0KGxpbmUtPnNlbGVj
dGlvblJlY3QoKSwgcG9zaXRpb24sIGNhcmV0V2lkdGgsIGV4dHJhV2lkdGhUb0VuZE9mTGluZSk7
CiB9CiAKIEFMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29u
c3QgRm9udENhc2NhZGUmIGYsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQ
b3MsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBn
bHlwaE92ZXJmbG93LCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>