<?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>220240</bug_id>
          
          <creation_ts>2021-01-04 07:03:07 -0800</creation_ts>
          <short_desc>Remove InlineBox::hasSelectedChildren bit</short_desc>
          <delta_ts>2021-01-10 04:05: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>sam</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>1717106</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-01-04 07:03:07 -0800</bug_when>
    <thetext>It is only needed for selection gap painting and easily computed when needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717107</commentid>
    <comment_count>1</comment_count>
      <attachid>416938</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-01-04 07:05:50 -0800</bug_when>
    <thetext>Created attachment 416938
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718594</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-10 04:04:06 -0800</bug_when>
    <thetext>Committed r271349: &lt;https://trac.webkit.org/changeset/271349&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416938.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718595</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-10 04:05:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/72973301&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416938</attachid>
            <date>2021-01-04 07:05:50 -0800</date>
            <delta_ts>2021-01-10 04:04:08 -0800</delta_ts>
            <desc>patch</desc>
            <filename>remove-hasSelectedChildren.patch</filename>
            <type>text/plain</type>
            <size>17161</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiYmZlYTYwN2RmZmUuLmFkMjFjNzI1ZjFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM5IEBACisyMDIxLTAxLTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgSW5saW5lQm94OjpoYXNTZWxlY3RlZENoaWxkcmVuIGJpdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMjQwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgb25s
eSBuZWVkZWQgZm9yIHNlbGVjdGlvbiBnYXAgcGFpbnRpbmcgYW5kIGVhc2lseSBjb21wdXRlZC4K
KworICAgICAgICAqIHJlbmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb21wbGV4TGluZUxheW91dDo6Y29uc3RydWN0TGluZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL0lubGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpzZXRDYW5I
YXZlTGVmdEV4cGFuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OklubGluZUJv
eEJpdGZpZWxkczo6SW5saW5lQm94Qml0ZmllbGRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUJveDo6aGFzRWxsaXBzaXNCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94
OjpjYW5IYXZlTGVmdEV4cGFuc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6Omhhc1NlbGVjdGVkQ2hpbGRyZW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lQm94OjpzZXRIYXNTZWxlY3RlZENoaWxkcmVuKTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6aW5saW5lU2VsZWN0aW9uR2Fwcyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpbmVCcmVhay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6OnNl
dFNlbGVjdGlvblN0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlu
ZUJyZWFrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6c2V0U2VsZWN0aW9uU3RhdGUpOiBEZWxl
dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJl
cGxhY2VkOjpzZXRTZWxlY3Rpb25TdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6c2V0U2VsZWN0aW9uU3RhdGUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0TGluZUJveGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHRMaW5lQm94ZXM6OnNldFNlbGVjdGlvblN0YXRlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hlcy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9Sb290SW5saW5lQm94Lmg6CisKIDIwMjEtMDEtMDMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVc2UgVVRGLTggZW5jb2RpbmcgZm9yIGVtcHR5IG1haW4gcmVzb3Vy
Y2UgbG9hZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db21wbGV4TGlu
ZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQu
Y3BwCmluZGV4IDRhYzYzMjcyZjk1MC4uMDQ2NmZmNTgyZTI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAKQEAgLTI5NCw3ICsyOTQsNiBAQCBS
b290SW5saW5lQm94KiBDb21wbGV4TGluZUxheW91dDo6Y29uc3RydWN0TGluZShCaWRpUnVuTGlz
dDxCaWRpUnVuPiYgYmlkaVJ1bnMsCiB7CiAgICAgQVNTRVJUKGJpZGlSdW5zLmZpcnN0UnVuKCkp
OwogCi0gICAgYm9vbCByb290SGFzU2VsZWN0ZWRDaGlsZHJlbiA9IGZhbHNlOwogICAgIElubGlu
ZUZsb3dCb3gqIHBhcmVudEJveCA9IDA7CiAgICAgaW50IHJ1bkNvdW50ID0gYmlkaVJ1bnMucnVu
Q291bnQoKSAtIGxpbmVJbmZvLnJ1bnNGcm9tTGVhZGluZ1doaXRlc3BhY2UoKTsKICAgICAKQEAg
LTMxMCw5ICszMDksNiBAQCBSb290SW5saW5lQm94KiBDb21wbGV4TGluZUxheW91dDo6Y29uc3Ry
dWN0TGluZShCaWRpUnVuTGlzdDxCaWRpUnVuPiYgYmlkaVJ1bnMsCiAgICAgICAgIElubGluZUJv
eCogYm94ID0gY3JlYXRlSW5saW5lQm94Rm9yUmVuZGVyZXIoJnItPnJlbmRlcmVyKCksIGlzT25s
eVJ1bik7CiAgICAgICAgIHItPnNldEJveChib3gpOwogCi0gICAgICAgIGlmICghcm9vdEhhc1Nl
bGVjdGVkQ2hpbGRyZW4gJiYgYm94LT5yZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCkgIT0gUmVu
ZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6Tm9uZSkKLSAgICAgICAgICAgIHJvb3RIYXNTZWxl
Y3RlZENoaWxkcmVuID0gdHJ1ZTsKLSAgICAgICAgCiAgICAgICAgIC8vIElmIHdlIGhhdmUgbm8g
cGFyZW50IGJveCB5ZXQsIG9yIGlmIHRoZSBydW4gaXMgbm90IHNpbXBseSBhIHNpYmxpbmcsCiAg
ICAgICAgIC8vIHRoZW4gd2UgbmVlZCB0byBjb25zdHJ1Y3QgaW5saW5lIGJveGVzIGFzIG5lY2Vz
c2FyeSB0byBwcm9wZXJseSBlbmNsb3NlIHRoZQogICAgICAgICAvLyBydW4ncyBpbmxpbmUgYm94
LiBTZWdtZW50cyBjYW4gb25seSBiZSBzaWJsaW5ncyBhdCB0aGUgcm9vdCBsZXZlbCwgYXMKQEAg
LTM0MywxMSArMzM5LDYgQEAgUm9vdElubGluZUJveCogQ29tcGxleExpbmVMYXlvdXQ6OmNvbnN0
cnVjdExpbmUoQmlkaVJ1bkxpc3Q8QmlkaVJ1bj4mIGJpZGlSdW5zLAogICAgIC8vIGJlIHRoZSBs
YXN0IGNvbnRpbnVhdGlvbiBvZiBvdXIgbGluZSBsaXN0LgogICAgIEFTU0VSVChsYXN0Um9vdEJv
eCgpICYmICFsYXN0Um9vdEJveCgpLT5pc0NvbnN0cnVjdGVkKCkpOwogCi0gICAgLy8gU2V0IHRo
ZSBtX3NlbGVjdGVkQ2hpbGRyZW4gZmxhZyBvbiB0aGUgcm9vdCBpbmxpbmUgYm94IGlmIG9uZSBv
ZiB0aGUgbGVhZiBpbmxpbmUgYm94Ci0gICAgLy8gZnJvbSB0aGUgYmlkaSBydW5zIHdhbGsgYWJv
dmUgaGFzIGEgc2VsZWN0aW9uIHN0YXRlLgotICAgIGlmIChyb290SGFzU2VsZWN0ZWRDaGlsZHJl
bikKLSAgICAgICAgbGFzdFJvb3RCb3goKS0+cm9vdCgpLnNldEhhc1NlbGVjdGVkQ2hpbGRyZW4o
dHJ1ZSk7Ci0KICAgICAvLyBTZXQgYml0cyBvbiBvdXIgaW5saW5lIGZsb3cgYm94ZXMgdGhhdCBp
bmRpY2F0ZSB3aGljaCBzaWRlcyBzaG91bGQKICAgICAvLyBwYWludCBib3JkZXJzL21hcmdpbnMv
cGFkZGluZy4gVGhpcyBrbm93bGVkZ2Ugd2lsbCB1bHRpbWF0ZWx5IGJlIHVzZWQgd2hlbgogICAg
IC8vIHdlIGRldGVybWluZSB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbnMgYW5kIHdpZHRocyBvZiBh
bGwgdGhlIGlubGluZSBib3hlcyBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCmlu
ZGV4IDBkMDA1N2Q4MDkxZS4uMGZmYzhmN2UzMjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUJveC5oCkBAIC0yNzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgIGZsb2F0IGV4cGFuc2lv
bigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CiAKICAgICB2b2lkIHNldEhhc0h5cGhl
bihib29sIGhhc0h5cGhlbikgeyBtX2JpdGZpZWxkcy5zZXRIYXNFbGxpcHNpc0JveE9ySHlwaGVu
KGhhc0h5cGhlbik7IH0KLSAgICB2b2lkIHNldENhbkhhdmVMZWZ0RXhwYW5zaW9uKGJvb2wgY2Fu
SGF2ZUxlZnRFeHBhbnNpb24pIHsgbV9iaXRmaWVsZHMuc2V0SGFzU2VsZWN0ZWRDaGlsZHJlbk9y
Q2FuSGF2ZUxlZnRFeHBhbnNpb24oY2FuSGF2ZUxlZnRFeHBhbnNpb24pOyB9CisgICAgdm9pZCBz
ZXRDYW5IYXZlTGVmdEV4cGFuc2lvbihib29sIGNhbkhhdmVMZWZ0RXhwYW5zaW9uKSB7IG1fYml0
ZmllbGRzLnNldENhbkhhdmVMZWZ0RXhwYW5zaW9uKGNhbkhhdmVMZWZ0RXhwYW5zaW9uKTsgfQog
ICAgIHZvaWQgc2V0Q2FuSGF2ZVJpZ2h0RXhwYW5zaW9uKGJvb2wgY2FuSGF2ZVJpZ2h0RXhwYW5z
aW9uKSB7IG1fYml0ZmllbGRzLnNldENhbkhhdmVSaWdodEV4cGFuc2lvbihjYW5IYXZlUmlnaHRF
eHBhbnNpb24pOyB9CiAgICAgdm9pZCBzZXRGb3JjZVJpZ2h0RXhwYW5zaW9uKCkgeyBtX2JpdGZp
ZWxkcy5zZXRGb3JjZVJpZ2h0RXhwYW5zaW9uKHRydWUpOyB9CiAgICAgdm9pZCBzZXRGb3JjZUxl
ZnRFeHBhbnNpb24oKSB7IG1fYml0ZmllbGRzLnNldEZvcmNlTGVmdEV4cGFuc2lvbih0cnVlKTsg
fQpAQCAtMzExLDcgKzMxMSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAsIG1faGFzVmlydHVh
bExvZ2ljYWxIZWlnaHQoZmFsc2UpCiAgICAgICAgICAgICAsIG1faXNIb3Jpem9udGFsKGlzSG9y
aXpvbnRhbCkKICAgICAgICAgICAgICwgbV9lbmRzV2l0aEJyZWFrKGZhbHNlKQotICAgICAgICAg
ICAgLCBtX2hhc1NlbGVjdGVkQ2hpbGRyZW5PckNhbkhhdmVMZWZ0RXhwYW5zaW9uKGZhbHNlKQor
ICAgICAgICAgICAgLCBtX2NhbkhhdmVMZWZ0RXhwYW5zaW9uKGZhbHNlKQogICAgICAgICAgICAg
LCBtX2NhbkhhdmVSaWdodEV4cGFuc2lvbihmYWxzZSkKICAgICAgICAgICAgICwgbV9rbm93blRv
SGF2ZU5vT3ZlcmZsb3codHJ1ZSkgIAogICAgICAgICAgICAgLCBtX2hhc0VsbGlwc2lzQm94T3JI
eXBoZW4oZmFsc2UpCkBAIC0zNDMsNyArMzQzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gZm9y
IFJvb3RJbmxpbmVCb3gKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoZW5kc1dpdGhCcmVh
aywgRW5kc1dpdGhCcmVhayk7IC8vIFdoZXRoZXIgdGhlIGxpbmUgZW5kcyB3aXRoIGEgPGJyPi4K
ICAgICAgICAgLy8gc2hhcmVkIGJldHdlZW4gUm9vdElubGluZUJveCBhbmQgSW5saW5lVGV4dEJv
eAotICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChoYXNTZWxlY3RlZENoaWxkcmVuT3JDYW5I
YXZlTGVmdEV4cGFuc2lvbiwgSGFzU2VsZWN0ZWRDaGlsZHJlbk9yQ2FuSGF2ZUxlZnRFeHBhbnNp
b24pOworICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChjYW5IYXZlTGVmdEV4cGFuc2lvbiwg
Q2FuSGF2ZUxlZnRFeHBhbnNpb24pOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChjYW5I
YXZlUmlnaHRFeHBhbnNpb24sIENhbkhhdmVSaWdodEV4cGFuc2lvbik7CiAgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGtub3duVG9IYXZlTm9PdmVyZmxvdywgS25vd25Ub0hhdmVOb092ZXJm
bG93KTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzRWxsaXBzaXNCb3hPckh5cGhl
biwgSGFzRWxsaXBzaXNCb3hPckh5cGhlbik7CkBAIC0zOTIsMTMgKzM5MiwxMSBAQCBwcm90ZWN0
ZWQ6CiAgICAgYm9vbCBlbmRzV2l0aEJyZWFrKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMu
ZW5kc1dpdGhCcmVhaygpOyB9CiAgICAgdm9pZCBzZXRFbmRzV2l0aEJyZWFrKGJvb2wgZW5kc1dp
dGhCcmVhaykgeyBtX2JpdGZpZWxkcy5zZXRFbmRzV2l0aEJyZWFrKGVuZHNXaXRoQnJlYWspOyB9
CiAgICAgYm9vbCBoYXNFbGxpcHNpc0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhh
c0VsbGlwc2lzQm94T3JIeXBoZW4oKTsgfQotICAgIGJvb2wgaGFzU2VsZWN0ZWRDaGlsZHJlbigp
IGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1NlbGVjdGVkQ2hpbGRyZW5PckNhbkhhdmVM
ZWZ0RXhwYW5zaW9uKCk7IH0KLSAgICB2b2lkIHNldEhhc1NlbGVjdGVkQ2hpbGRyZW4oYm9vbCBo
YXNTZWxlY3RlZENoaWxkcmVuKSB7IG1fYml0ZmllbGRzLnNldEhhc1NlbGVjdGVkQ2hpbGRyZW5P
ckNhbkhhdmVMZWZ0RXhwYW5zaW9uKGhhc1NlbGVjdGVkQ2hpbGRyZW4pOyB9CiAgICAgdm9pZCBz
ZXRIYXNFbGxpcHNpc0JveChib29sIGhhc0VsbGlwc2lzQm94KSB7IG1fYml0ZmllbGRzLnNldEhh
c0VsbGlwc2lzQm94T3JIeXBoZW4oaGFzRWxsaXBzaXNCb3gpOyB9CiAKICAgICAvLyBGb3IgSW5s
aW5lVGV4dEJveAogICAgIGJvb2wgaGFzSHlwaGVuKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVs
ZHMuaGFzRWxsaXBzaXNCb3hPckh5cGhlbigpOyB9Ci0gICAgYm9vbCBjYW5IYXZlTGVmdEV4cGFu
c2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1NlbGVjdGVkQ2hpbGRyZW5PckNh
bkhhdmVMZWZ0RXhwYW5zaW9uKCk7IH0KKyAgICBib29sIGNhbkhhdmVMZWZ0RXhwYW5zaW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuY2FuSGF2ZUxlZnRFeHBhbnNpb24oKTsgfQogICAg
IGJvb2wgY2FuSGF2ZVJpZ2h0RXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMu
Y2FuSGF2ZVJpZ2h0RXhwYW5zaW9uKCk7IH0KICAgICBib29sIGZvcmNlUmlnaHRFeHBhbnNpb24o
KSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5mb3JjZVJpZ2h0RXhwYW5zaW9uKCk7IH0KICAg
ICBib29sIGZvcmNlTGVmdEV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmZv
cmNlTGVmdEV4cGFuc2lvbigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IDIxM2NlZTNkZWVhYy4uYzA0ODJjNDdhYzM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzE5NSwxMiArMzE5
NSw0NyBAQCBHYXBSZWN0cyBSZW5kZXJCbG9ja0Zsb3c6OmlubGluZVNlbGVjdGlvbkdhcHMoUmVu
ZGVyQmxvY2smIHJvb3RCbG9jaywgY29uc3QgTGF5bwogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KIAorICAgIGF1dG8gaGFzU2VsZWN0ZWRDaGlsZHJlbiA9IFsmXShjb25zdCBSb290SW5s
aW5lQm94JiByb290KSB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gcm9vdC5maXJzdExlYWZE
ZXNjZW5kYW50KCk7IGJveDsgYm94ID0gYm94LT5uZXh0TGVhZk9uTGluZSgpKSB7CisgICAgICAg
ICAgICBpZiAoIWlzPElubGluZVRleHRCb3g+KCpib3gpKSB7CisgICAgICAgICAgICAgICAgaWYg
KGJveC0+c2VsZWN0aW9uU3RhdGUoKSAhPSBIaWdobGlnaHRTdGF0ZTo6Tm9uZSkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8gc3RhcnQgPSB2aWV3KCkuc2VsZWN0aW9uKCku
c3RhcnRPZmZzZXQoKTsKKyAgICAgICAgICAgIGF1dG8gZW5kID0gdmlldygpLnNlbGVjdGlvbigp
LmVuZE9mZnNldCgpOworCisgICAgICAgICAgICBhdXRvJiB0ZXh0Qm94ID0gZG93bmNhc3Q8SW5s
aW5lVGV4dEJveD4oKmJveCk7CisgICAgICAgICAgICBzd2l0Y2ggKHRleHRCb3gucmVuZGVyZXIo
KS5zZWxlY3Rpb25TdGF0ZSgpKSB7CisgICAgICAgICAgICBjYXNlIFJlbmRlck9iamVjdDo6SGln
aGxpZ2h0U3RhdGU6Ok5vbmU6CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICBjYXNlIFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6Okluc2lkZToKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgUmVuZGVyT2JqZWN0OjpIaWdobGln
aHRTdGF0ZTo6U3RhcnQ6CisgICAgICAgICAgICAgICAgZW5kID0gdGV4dEJveC5yZW5kZXJlcigp
LnRleHQoKS5sZW5ndGgoKTsKKyAgICAgICAgICAgICAgICAvLyB0byBoYW5kbGUgc2VsZWN0aW9u
IGZyb20gZW5kIG9mIHRleHQgdG8gZW5kIG9mIGxpbmUKKyAgICAgICAgICAgICAgICBpZiAoc3Rh
cnQgJiYgc3RhcnQgPT0gZW5kKQorICAgICAgICAgICAgICAgICAgICBzdGFydCA9IGVuZCAtIDE7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFJlbmRlck9iamVjdDo6
SGlnaGxpZ2h0U3RhdGU6OkVuZDoKKyAgICAgICAgICAgICAgICBzdGFydCA9IDA7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0
U3RhdGU6OkJvdGg6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAodGV4dEJveC5pc1NlbGVjdGVkKHN0YXJ0LCBlbmQpKQorICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
OworCiAgICAgUm9vdElubGluZUJveCogbGFzdFNlbGVjdGVkTGluZSA9IDA7CiAgICAgUm9vdElu
bGluZUJveCogY3VycjsKLSAgICBmb3IgKGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VyciAmJiAh
Y3Vyci0+aGFzU2VsZWN0ZWRDaGlsZHJlbigpOyBjdXJyID0gY3Vyci0+bmV4dFJvb3RCb3goKSkg
eyB9CisgICAgZm9yIChjdXJyID0gZmlyc3RSb290Qm94KCk7IGN1cnIgJiYgIWhhc1NlbGVjdGVk
Q2hpbGRyZW4oKmN1cnIpOyBjdXJyID0gY3Vyci0+bmV4dFJvb3RCb3goKSkgeyB9CiAKICAgICAv
LyBOb3cgcGFpbnQgdGhlIGdhcHMgZm9yIHRoZSBsaW5lcy4KLSAgICBmb3IgKDsgY3VyciAmJiBj
dXJyLT5oYXNTZWxlY3RlZENoaWxkcmVuKCk7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7
CisgICAgZm9yICg7IGN1cnIgJiYgaGFzU2VsZWN0ZWRDaGlsZHJlbigqY3Vycik7IGN1cnIgPSBj
dXJyLT5uZXh0Um9vdEJveCgpKSB7CiAgICAgICAgIExheW91dFVuaXQgc2VsVG9wID0gIGN1cnIt
PnNlbGVjdGlvblRvcEFkanVzdGVkRm9yUHJlY2VkaW5nQmxvY2soKTsKICAgICAgICAgTGF5b3V0
VW5pdCBzZWxIZWlnaHQgPSBjdXJyLT5zZWxlY3Rpb25IZWlnaHRBZGp1c3RlZEZvclByZWNlZGlu
Z0Jsb2NrKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aW5lQnJlYWsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5j
cHAKaW5kZXggNDM4NGMyNzFiNmIzLi41NmM3ZTE5ZTUzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCkBAIC0xNDIsMTQgKzE0Miw2IEBAIFZpc2li
bGVQb3NpdGlvbiBSZW5kZXJMaW5lQnJlYWs6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0
UG9pbnQmLCBjb25zdCBSZW5kCiAgICAgcmV0dXJuIGNyZWF0ZVZpc2libGVQb3NpdGlvbigwLCBB
ZmZpbml0eTo6RG93bnN0cmVhbSk7CiB9CiAKLXZvaWQgUmVuZGVyTGluZUJyZWFrOjpzZXRTZWxl
Y3Rpb25TdGF0ZShIaWdobGlnaHRTdGF0ZSBzdGF0ZSkKLXsKLSAgICBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6c2V0U2VsZWN0aW9uU3RhdGUoc3RhdGUpOwotICAgIGlmICghbV9pbmxpbmVCb3hXcmFw
cGVyKQotICAgICAgICByZXR1cm47Ci0gICAgbV9pbmxpbmVCb3hXcmFwcGVyLT5yb290KCkuc2V0
SGFzU2VsZWN0ZWRDaGlsZHJlbihzdGF0ZSAhPSBIaWdobGlnaHRTdGF0ZTo6Tm9uZSk7Ci19Ci0K
IEludFJlY3QgUmVuZGVyTGluZUJyZWFrOjpsaW5lc0JvdW5kaW5nQm94KCkgY29uc3QKIHsKICAg
ICBhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoKnRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oCmluZGV4IGZmYjFjNmQ0N2MzMS4uZTU5
YmFmMjIxMjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlu
ZUJyZWFrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5o
CkBAIC02NSw3ICs2NSw2IEBAIHByaXZhdGU6CiAgICAgaW50IGNhcmV0TWluT2Zmc2V0KCkgY29u
c3QgZmluYWw7CiAgICAgaW50IGNhcmV0TWF4T2Zmc2V0KCkgY29uc3QgZmluYWw7CiAgICAgYm9v
bCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNldFNlbGVjdGlv
blN0YXRlKEhpZ2hsaWdodFN0YXRlKSBmaW5hbDsKIAogICAgIExheW91dFVuaXQgbGluZUhlaWdo
dChib29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUpIGNv
bnN0IGZpbmFsOwogICAgIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBm
aXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlKSBjb25zdCBmaW5h
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAppbmRl
eCBkYzZmNDE1ZmZhMmYuLjhjMjRjZGEyZjc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcApAQCAtMTk0OCwxNSArMTk0OCw2IEBAIEZsb2F0UmVj
dCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKQogICAgIHJldHVybiBy
ZWxhdGl2ZVJlY3Q7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6c2V0U2VsZWN0aW9uU3Rh
dGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCi17Ci0gICAgLy8gVGhlIHNlbGVjdGlvbiBzdGF0ZSBm
b3Igb3VyIGNvbnRhaW5pbmcgYmxvY2sgaGllcmFyY2h5IGlzIHVwZGF0ZWQgYnkgdGhlIGJhc2Ug
Y2xhc3MgY2FsbC4KLSAgICBSZW5kZXJCb3g6OnNldFNlbGVjdGlvblN0YXRlKHN0YXRlKTsKLQot
ICAgIGlmIChtX2lubGluZUJveFdyYXBwZXIgJiYgY2FuVXBkYXRlU2VsZWN0aW9uT25Sb290TGlu
ZUJveGVzKCkpCi0gICAgICAgIG1faW5saW5lQm94V3JhcHBlci0+cm9vdCgpLnNldEhhc1NlbGVj
dGVkQ2hpbGRyZW4oc3RhdGUgIT0gSGlnaGxpZ2h0U3RhdGU6Ok5vbmUpOwotfQotCiBMYXlvdXRS
ZWN0IFJlbmRlckxpc3RNYXJrZXI6OnNlbGVjdGlvblJlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRl
ckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgY2xpcFRvVmlzaWJsZUNv
bnRlbnQpCiB7CiAgICAgQVNTRVJUKCFuZWVkc0xheW91dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCmluZGV4IDBmYmM3NDQ4Yjc3OC4uMDg0NGU5NzZk
Y2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKQEAg
LTc0LDcgKzc0LDYgQEAgcHJpdmF0ZToKICAgICBib29sIGlzSW1hZ2UoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuICFpc0ltYWdlKCk7IH0KIAotICAg
IHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUoSGlnaGxpZ2h0U3RhdGUpIG92ZXJyaWRlOwogICAgIExh
eW91dFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCA9IHRydWUp
IG92ZXJyaWRlOwogICAgIGJvb2wgY2FuQmVTZWxlY3Rpb25MZWFmKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcAppbmRleCAyYmM5YzJiMzljMDguLmE4OWFmNmE3Yjg4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC03MzYsMTUgKzczNiw2IEBAIExh
eW91dFJlY3QgUmVuZGVyUmVwbGFjZWQ6OmxvY2FsU2VsZWN0aW9uUmVjdChib29sIGNoZWNrV2hl
dGhlclNlbGVjdGVkKSBjb25zdAogICAgIHJldHVybiBMYXlvdXRSZWN0KG5ld0xvZ2ljYWxUb3As
IDBfbHUsIHJvb3RCb3guc2VsZWN0aW9uSGVpZ2h0KCksIGhlaWdodCgpKTsKIH0KIAotdm9pZCBS
ZW5kZXJSZXBsYWNlZDo6c2V0U2VsZWN0aW9uU3RhdGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCi17
Ci0gICAgLy8gVGhlIHNlbGVjdGlvbiBzdGF0ZSBmb3Igb3VyIGNvbnRhaW5pbmcgYmxvY2sgaGll
cmFyY2h5IGlzIHVwZGF0ZWQgYnkgdGhlIGJhc2UgY2xhc3MgY2FsbC4KLSAgICBSZW5kZXJCb3g6
OnNldFNlbGVjdGlvblN0YXRlKHN0YXRlKTsKLQotICAgIGlmIChtX2lubGluZUJveFdyYXBwZXIg
JiYgY2FuVXBkYXRlU2VsZWN0aW9uT25Sb290TGluZUJveGVzKCkpCi0gICAgICAgIG1faW5saW5l
Qm94V3JhcHBlci0+cm9vdCgpLnNldEhhc1NlbGVjdGVkQ2hpbGRyZW4oaXNIaWdobGlnaHRlZChz
ZWxlY3Rpb25TdGF0ZSgpLCB2aWV3KCkuc2VsZWN0aW9uKCkpKTsKLX0KLQogYm9vbCBSZW5kZXJS
ZXBsYWNlZDo6aXNTZWxlY3RlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSGlnaGxpZ2h0ZWQo
c2VsZWN0aW9uU3RhdGUoKSwgdmlldygpLnNlbGVjdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggODA0ZTYzZGFjNzFiLi43YTc0MTJhOWQ1ZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC01Nyw4ICs1
Nyw2IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtaW5pbXVtUmVwbGFj
ZWRIZWlnaHQoKSBjb25zdCB7IHJldHVybiAwX2x1OyB9CiAKLSAgICB2b2lkIHNldFNlbGVjdGlv
blN0YXRlKEhpZ2hsaWdodFN0YXRlKSBvdmVycmlkZTsKLQogICAgIGJvb2wgaXNTZWxlY3RlZCgp
IGNvbnN0OwogCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0
IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHAKaW5kZXggMWEyYmIyM2IxOGQ3Li5mZDU3M2FkYTYwYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEyNzYsOSArMTI3Niw2IEBAIHZv
aWQgUmVuZGVyVGV4dDo6c2V0U2VsZWN0aW9uU3RhdGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCiB7
CiAgICAgUmVuZGVyT2JqZWN0OjpzZXRTZWxlY3Rpb25TdGF0ZShzdGF0ZSk7CiAKLSAgICBpZiAo
Y2FuVXBkYXRlU2VsZWN0aW9uT25Sb290TGluZUJveGVzKCkpCi0gICAgICAgIG1fbGluZUJveGVz
LnNldFNlbGVjdGlvblN0YXRlKCp0aGlzLCBzdGF0ZSk7Ci0KICAgICAvLyBUaGUgY29udGFpbmlu
ZyBibG9jayBjYW4gYmUgbnVsbCBpbiBjYXNlIG9mIGFuIG9ycGhhbmVkIHRyZWUuCiAgICAgUmVu
ZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOwogICAg
IGlmIChjb250YWluaW5nQmxvY2sgJiYgIWNvbnRhaW5pbmdCbG9jay0+aXNSZW5kZXJWaWV3KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hlcy5jcHAK
aW5kZXggMDlkNGM5MTcxNzcyLi4yNjNjNGY0OGRjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0TGluZUJveGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hlcy5jcHAKQEAgLTE3MCwzMCArMTcwLDYgQEAg
TGF5b3V0UmVjdCBSZW5kZXJUZXh0TGluZUJveGVzOjp2aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94
KGNvbnN0IFJlbmRlclRleHQmIHJlbmQKICAgICByZXR1cm4gcmVjdDsKIH0KIAotdm9pZCBSZW5k
ZXJUZXh0TGluZUJveGVzOjpzZXRTZWxlY3Rpb25TdGF0ZShSZW5kZXJUZXh0JiByZW5kZXJlciwg
UmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAoc3RhdGUgPT0g
UmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6SW5zaWRlIHx8IHN0YXRlID09IFJlbmRlck9i
amVjdDo6SGlnaGxpZ2h0U3RhdGU6Ok5vbmUpIHsKLSAgICAgICAgZm9yIChhdXRvKiBib3ggPSBt
X2ZpcnN0OyBib3g7IGJveCA9IGJveC0+bmV4dFRleHRCb3goKSkKLSAgICAgICAgICAgIGJveC0+
cm9vdCgpLnNldEhhc1NlbGVjdGVkQ2hpbGRyZW4oc3RhdGUgPT0gUmVuZGVyT2JqZWN0OjpIaWdo
bGlnaHRTdGF0ZTo6SW5zaWRlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8g
c3RhcnQgPSByZW5kZXJlci52aWV3KCkuc2VsZWN0aW9uKCkuc3RhcnRPZmZzZXQoKTsKLSAgICBh
dXRvIGVuZCA9IHJlbmRlcmVyLnZpZXcoKS5zZWxlY3Rpb24oKS5lbmRPZmZzZXQoKTsKLSAgICBp
ZiAoc3RhdGUgPT0gUmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZTo6U3RhcnQpIHsKLSAgICAg
ICAgZW5kID0gcmVuZGVyZXIudGV4dCgpLmxlbmd0aCgpOwotICAgICAgICAvLyB0byBoYW5kbGUg
c2VsZWN0aW9uIGZyb20gZW5kIG9mIHRleHQgdG8gZW5kIG9mIGxpbmUKLSAgICAgICAgaWYgKHN0
YXJ0ICYmIHN0YXJ0ID09IGVuZCkKLSAgICAgICAgICAgIHN0YXJ0ID0gZW5kIC0gMTsKLSAgICB9
IGVsc2UgaWYgKHN0YXRlID09IFJlbmRlck9iamVjdDo6SGlnaGxpZ2h0U3RhdGU6OkVuZCkKLSAg
ICAgICAgc3RhcnQgPSAwOwotCi0gICAgZm9yIChhdXRvKiBib3ggPSBtX2ZpcnN0OyBib3g7IGJv
eCA9IGJveC0+bmV4dFRleHRCb3goKSkgewotICAgICAgICBpZiAoYm94LT5pc1NlbGVjdGVkKHN0
YXJ0LCBlbmQpKQotICAgICAgICAgICAgYm94LT5yb290KCkuc2V0SGFzU2VsZWN0ZWRDaGlsZHJl
bih0cnVlKTsKLSAgICB9Ci19Ci0KIHZvaWQgUmVuZGVyVGV4dExpbmVCb3hlczo6ZGlydHlBbGwo
KQogewogICAgIGZvciAoYXV0byogYm94ID0gbV9maXJzdDsgYm94OyBib3ggPSBib3gtPm5leHRU
ZXh0Qm94KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dExpbmVCb3hlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94
ZXMuaAppbmRleCA2ZWFiMTM3M2Q0MmIuLjc0ZDFlMDczY2JjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94ZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hlcy5oCkBAIC01Niw4ICs1Niw2IEBAIHB1
YmxpYzoKIAogICAgIElubGluZVRleHRCb3gqIGZpbmROZXh0KGludCBvZmZzZXQsIGludCYgcG9z
aXRpb24pIGNvbnN0OwogCi0gICAgdm9pZCBzZXRTZWxlY3Rpb25TdGF0ZShSZW5kZXJUZXh0Jiwg
UmVuZGVyT2JqZWN0OjpIaWdobGlnaHRTdGF0ZSk7Ci0KICAgICBMYXlvdXRSZWN0IHZpc3VhbE92
ZXJmbG93Qm91bmRpbmdCb3goY29uc3QgUmVuZGVyVGV4dCYpIGNvbnN0OwogCiAjaWYgQVNTRVJU
X0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5l
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCmluZGV4IGI5
NTE4ODI0MDI3OC4uZGRmODNhMjgxZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUm9vdElubGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290
SW5saW5lQm94LmgKQEAgLTEyMiw5ICsxMjIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWludChQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYsIExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0
VW5pdCBsaW5lQm90dG9tKSBvdmVycmlkZTsKICAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhp
dFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9j
YXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBM
YXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUJvdHRvbSwgSGl0VGVzdEFjdGlvbikg
b3ZlcnJpZGU7CiAKLSAgICB1c2luZyBJbmxpbmVCb3g6Omhhc1NlbGVjdGVkQ2hpbGRyZW47Ci0g
ICAgdXNpbmcgSW5saW5lQm94OjpzZXRIYXNTZWxlY3RlZENoaWxkcmVuOwotCiAgICAgUmVuZGVy
T2JqZWN0OjpIaWdobGlnaHRTdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpIGZpbmFsOwogICAgIElubGlu
ZUJveCogZmlyc3RTZWxlY3RlZEJveCgpOwogICAgIElubGluZUJveCogbGFzdFNlbGVjdGVkQm94
KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>