<?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>175393</bug_id>
          
          <creation_ts>2017-08-09 12:19:45 -0700</creation_ts>
          <short_desc>[Repaint from Layout Removal] Move layer repaint rects into a map</short_desc>
          <delta_ts>2017-08-09 14:03:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337076</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2017-08-09 12:19:45 -0700</bug_when>
    <thetext>Move layer repaint rects into a map. Since many layers aren&apos;t self-painting, they&apos;re wasting space holding those rects. In addition, once we start caching rects for RenderLayerModelObjects that don&apos;t have layers (i.e., everyone using a LayoutRepainter right now), then we&apos;ll want to have a common structure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337078</commentid>
    <comment_count>1</comment_count>
      <attachid>317728</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2017-08-09 12:22:25 -0700</bug_when>
    <thetext>Created attachment 317728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337079</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-09 12:24:09 -0700</bug_when>
    <thetext>Attachment 317728 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderLayerModelObject.h:33:  One space before end of line comments  [whitespace/comments] [5]
ERROR: Source/WebCore/rendering/RenderLayerModelObject.h:35:  The parameter name &quot;geometryMap&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337116</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2017-08-09 14:03:17 -0700</bug_when>
    <thetext>Landed in r220479.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317728</attachid>
            <date>2017-08-09 12:22:25 -0700</date>
            <delta_ts>2017-08-09 13:47:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16685</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMDQ3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA4LTA5ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtSZXBhaW50IGZyb20gTGF5b3V0IFJl
bW92YWxdIE1vdmUgbGF5ZXIgcmVwYWludCByZWN0cyBpbnRvIGEgbWFwCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzOTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHRoZSB0d28gcmVwYWludCBy
ZWN0cyBoZWxkIGJ5IFJlbmRlckxheWVyIGludG8gYSBSZW5kZXJMYXllck1vZGVsT2JqZWN0IC0+
IFJlcGFpbnRMYXlvdXRSZWN0cyBoYXNoIG1hcC4KKyAgICAgICAgUmVwYWludExheW91dFJlY3Rz
IGlzIGEgbmV3IHN0cnVjdCB0aGF0IGhvbGRzIGJvdGggcmVjdHMuCisKKyAgICAgICAgRXZlbnR1
YWxseSBtb3JlIG9iamVjdHMgdGhhbiBqdXN0IHNlbGYgcGFpbnRpbmcgbGF5ZXJzIHdpbGwgYmUg
Y2FjaGluZyByZXBhaW50IHJlY3RzLCBzbyB0aGlzIHRha2VzIGEgZmlyc3QKKyAgICAgICAgc3Rl
cCB0b3dhcmRzIGhhdmluZyBhIGNvbW1vbiBjYWNoZSBmb3IgdGhlc2UgcmVwYWludCByZWN0cy4g
SW4gYWRkaXRpb24gdGhpcyBjaGFuZ2Ugc2F2ZXMgbWVtb3J5LCBzaW5jZQorICAgICAgICBsYXll
cnMgdGhhdCBhcmVuJ3Qgc2VsZi1wYWludGluZyBubyBsb25nZXIgaGF2ZSBlbXB0eSByZXBhaW50
IHJlY3RzIHRha2luZyB1cCBzcGFjZSBpbiBSZW5kZXJMYXllci4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2tGbG93OjpsYXlvdXRSdW5zQW5kRmxvYXRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OlJlbmRlckxheWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25D
b21wb3NpdGluZ0Rlc2NlbmRhbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpj
b21wdXRlUmVwYWludFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjbGVh
clJlcGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTGF5
ZXJQb3NpdGlvbnNBZnRlclNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
c2Nyb2xsVG8pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlcGFpbnRMYXlvdXRSZWN0czo6UmVwYWludExheW91dFJlY3RzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OndpbGxCZURlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpkZXN0cm95TGF5ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6aGFzUmVwYWludExheW91dFJlY3Rz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnNldFJlcGFpbnRM
YXlvdXRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpj
bGVhclJlcGFpbnRMYXlvdXRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1v
ZGVsT2JqZWN0OjpyZXBhaW50TGF5b3V0UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJNb2RlbE9iamVjdDo6Y29tcHV0ZVJlcGFpbnRMYXlvdXRSZWN0cyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
cGFpbnRMYXlvdXRSZWN0czo6UmVwYWludExheW91dFJlY3RzKToKKwogMjAxNy0wOC0wOSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIERuRF0g
RU5BQkxFX0RSQUdfU1VQUE9SVCBzaG91bGQgYmUgdHVybmVkIG9mZiBmb3IgaU9TIDEwIGFuZCBl
bmFibGVkIGJ5IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAyMTk5ODUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTI4MSwxMiArMTI4MSwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0UnVu
c0FuZEZsb2F0CiAgICAgLy8gZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbiBmaXJzdCB3aWxsIGJyZWFr
IGZhc3QvcmVwYWludC9saW5lLWZsb3ctd2l0aC1mbG9hdHMtOS5odG1sLgogICAgIGlmIChsYXlv
dXRTdGF0ZS5pc0Z1bGxMYXlvdXQoKSAmJiBoYXNJbmxpbmVDaGlsZCAmJiAhc2VsZk5lZWRzTGF5
b3V0KCkpIHsKICAgICAgICAgc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsgLy8gTWFyayBh
cyBuZWVkaW5nIGEgZnVsbCBsYXlvdXQgdG8gZm9yY2UgdXMgdG8gcmVwYWludC4KLSAgICAgICAg
aWYgKCF2aWV3KCkuZG9pbmdGdWxsUmVwYWludCgpICYmIGhhc1NlbGZQYWludGluZ0xheWVyKCkg
JiYgbGF5ZXIoKS0+aGFzQ29tcHV0ZWRSZXBhaW50UmVjdCgpKSB7CisgICAgICAgIGlmICghdmll
dygpLmRvaW5nRnVsbFJlcGFpbnQoKSAmJiBoYXNTZWxmUGFpbnRpbmdMYXllcigpICYmIGhhc1Jl
cGFpbnRMYXlvdXRSZWN0cygpKSB7CiAgICAgICAgICAgICAvLyBCZWNhdXNlIHdlIHdhaXRlZCB1
bnRpbCB3ZSB3ZXJlIGFscmVhZHkgaW5zaWRlIGxheW91dCB0byBkaXNjb3ZlcgogICAgICAgICAg
ICAgLy8gdGhhdCB0aGUgYmxvY2sgcmVhbGx5IG5lZWRlZCBhIGZ1bGwgbGF5b3V0LCB3ZSBtaXNz
ZWQgb3VyIGNoYW5jZSB0byByZXBhaW50IHRoZSBsYXllcgogICAgICAgICAgICAgLy8gYmVmb3Jl
IGxheW91dCBzdGFydGVkLiAgTHVja2lseSB0aGUgbGF5ZXIgaGFzIGNhY2hlZCB0aGUgcmVwYWlu
dCByZWN0IGZvciBpdHMgb3JpZ2luYWwKICAgICAgICAgICAgIC8vIHBvc2l0aW9uIGFuZCBzaXpl
LCBhbmQgc28gd2UgY2FuIHVzZSB0aGF0IHRvIG1ha2UgYSByZXBhaW50IGhhcHBlbiBub3cuCi0g
ICAgICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIoY29udGFpbmVyRm9yUmVwYWludCgpLCBs
YXllcigpLT5yZXBhaW50UmVjdCgpKTsKKyAgICAgICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5l
cihjb250YWluZXJGb3JSZXBhaW50KCksIHJlcGFpbnRMYXlvdXRSZWN0cygpLm1fcmVwYWludFJl
Y3QpOwogICAgICAgICB9CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDIxOTk4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMCw3ICszMTAsNiBAQCBS
ZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVuZGVyTGF5ZXJNb2RlCiAgICAgLCBtX2xheWVyTGlz
dE11dGF0aW9uQWxsb3dlZCh0cnVlKQogI2VuZGlmCiAgICAgLCBtX2hhc0ZpbHRlckluZm8oZmFs
c2UpCi0gICAgLCBtX2hhc0NvbXB1dGVkUmVwYWludFJlY3QoZmFsc2UpCiAjaWYgRU5BQkxFKENT
U19DT01QT1NJVElORykKICAgICAsIG1fYmxlbmRNb2RlKEJsZW5kTW9kZU5vcm1hbCkKICAgICAs
IG1faGFzTm90SXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyhmYWxzZSkKQEAg
LTUxNiwyMyArNTE1LDI5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25z
KFIKICAgICAgICAgQVNTRVJUKCFyZW5kZXJlcigpLnZpZXcoKS5sYXlvdXRTdGF0ZUVuYWJsZWQo
KSk7CiAKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9
IHJlbmRlcmVyKCkuY29udGFpbmVyRm9yUmVwYWludCgpOwotICAgICAgICBMYXlvdXRSZWN0IG9s
ZFJlcGFpbnRSZWN0ID0gbV9yZXBhaW50UmVjdDsKLSAgICAgICAgTGF5b3V0UmVjdCBvbGRPdXRs
aW5lQm94ID0gbV9vdXRsaW5lQm94OworICAgICAgICAKKyAgICAgICAgYXV0byBoYWRSZXBhaW50
TGF5b3V0UmVjdHMgPSByZW5kZXJlcigpLmhhc1JlcGFpbnRMYXlvdXRSZWN0cygpOworICAgICAg
ICBSZXBhaW50TGF5b3V0UmVjdHMgb2xkUmVjdHMgPSBoYWRSZXBhaW50TGF5b3V0UmVjdHMgPyBy
ZW5kZXJlcigpLnJlcGFpbnRMYXlvdXRSZWN0cygpIDogUmVwYWludExheW91dFJlY3RzKCk7CiAg
ICAgICAgIGNvbXB1dGVSZXBhaW50UmVjdHMocmVwYWludENvbnRhaW5lciwgZ2VvbWV0cnlNYXAp
OwotCisgICAgICAgIAorICAgICAgICBhdXRvIGhhc1JlcGFpbnRMYXlvdXRSZWN0cyA9IHJlbmRl
cmVyKCkuaGFzUmVwYWludExheW91dFJlY3RzKCk7CisgICAgICAgIFJlcGFpbnRMYXlvdXRSZWN0
cyBuZXdSZWN0cyA9IGhhc1JlcGFpbnRMYXlvdXRSZWN0cyA/IHJlbmRlcmVyKCkucmVwYWludExh
eW91dFJlY3RzKCkgOiBSZXBhaW50TGF5b3V0UmVjdHMoKTsKICAgICAgICAgLy8gRklYTUU6IFNo
b3VsZCBBU1NFUlQgdGhhdCB2YWx1ZSBjYWxjdWxhdGVkIGZvciBtX291dGxpbmVCb3ggdXNpbmcg
dGhlIGNhY2hlZCBvZmZzZXQgaXMgdGhlIHNhbWUKICAgICAgICAgLy8gYXMgdGhlIHZhbHVlIG5v
dCB1c2luZyB0aGUgY2FjaGVkIG9mZnNldCwgYnV0IHdlIGNhbid0IGR1ZSB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzcwNDgKLSAgICAgICAgaWYgKChmbGFncyAm
IENoZWNrRm9yUmVwYWludCkgJiYgbV9oYXNDb21wdXRlZFJlcGFpbnRSZWN0KSB7CisgICAgICAg
IGlmICgoZmxhZ3MgJiBDaGVja0ZvclJlcGFpbnQpICYmIGhhc1JlcGFpbnRMYXlvdXRSZWN0cykg
ewogICAgICAgICAgICAgaWYgKCFyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpKSB7CiAgICAg
ICAgICAgICAgICAgYm9vbCBkaWRSZXBhaW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYg
KG1fcmVwYWludFN0YXR1cyAmIE5lZWRzRnVsbFJlcGFpbnQpIHsKLSAgICAgICAgICAgICAgICAg
ICAgcmVuZGVyZXIoKS5yZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgb2xk
UmVwYWludFJlY3QpOwotICAgICAgICAgICAgICAgICAgICBpZiAobV9yZXBhaW50UmVjdCAhPSBv
bGRSZXBhaW50UmVjdCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBh
aW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgbV9yZXBhaW50UmVjdCk7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChoYWRSZXBhaW50TGF5b3V0UmVjdHMpCisgICAgICAgICAgICAg
ICAgICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFp
bmVyLCBvbGRSZWN0cy5tX3JlcGFpbnRSZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFo
YWRSZXBhaW50TGF5b3V0UmVjdHMgfHwgbmV3UmVjdHMubV9yZXBhaW50UmVjdCAhPSBvbGRSZWN0
cy5tX3JlcGFpbnRSZWN0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlcigpLnJl
cGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBuZXdSZWN0cy5tX3JlcGFpbnRS
ZWN0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRpZFJlcGFpbnQgPSB0cnVlOwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRSZXBhaW50
QWZ0ZXJMYXlvdXQoKSkgewotICAgICAgICAgICAgICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRB
ZnRlckxheW91dElmTmVlZGVkKHJlcGFpbnRDb250YWluZXIsIG9sZFJlcGFpbnRSZWN0LCBvbGRP
dXRsaW5lQm94LCAmbV9yZXBhaW50UmVjdCwgJm1fb3V0bGluZUJveCk7CisgICAgICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiBXZSB3aWxsIGNvbnZlcnQgdGhpcyB0byBqdXN0IHRha2UgdGhlIG9s
ZCBhbmQgbmV3IFJlcGFpbnRMYXlvdXRSZWN0cyBvbmNlCisgICAgICAgICAgICAgICAgICAgIC8v
IHdlIGNoYW5nZSBvdGhlciBjYWxsZXJzIHRvIHVzZSBSZXBhaW50TGF5b3V0UmVjdHMuCisgICAg
ICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkucmVwYWludEFmdGVyTGF5b3V0SWZOZWVkZWQocmVw
YWludENvbnRhaW5lciwgb2xkUmVjdHMubV9yZXBhaW50UmVjdCwgb2xkUmVjdHMubV9vdXRsaW5l
Qm94LCAmbmV3UmVjdHMubV9yZXBhaW50UmVjdCwgJm5ld1JlY3RzLm1fb3V0bGluZUJveCk7CiAg
ICAgICAgICAgICAgICAgICAgIGRpZFJlcGFpbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K
IApAQCAtNjAxLDcgKzYwNiw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRp
b25zKFIKIAogTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25D
b21wb3NpdGluZ0Rlc2NlbmRhbnRzKCkgY29uc3QKIHsKLSAgICBMYXlvdXRSZWN0IHJlcGFpbnRS
ZWN0ID0gbV9yZXBhaW50UmVjdDsKKyAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0ID0gcmVuZGVy
ZXIoKS5yZXBhaW50TGF5b3V0UmVjdHMoKS5tX3JlcGFpbnRSZWN0OwogICAgIGZvciAoUmVuZGVy
TGF5ZXIqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmcoKSkgewogICAgICAgICAvLyBEb24ndCBpbmNsdWRlIHJlcGFpbnQgcmVjdHMgZm9yIGNv
bXBvc2l0ZWQgY2hpbGQgbGF5ZXJzOyB0aGV5IHdpbGwgcGFpbnQgdGhlbXNlbHZlcyBhbmQgaGF2
ZSBhIGRpZmZlcmVudCBvcmlnaW4uCiAgICAgICAgIGlmIChjaGlsZC0+aXNDb21wb3NpdGVkKCkp
CkBAIC03OTcsMTggKzgwMiw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnRz
QXJlQ28KIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVSZXBhaW50UmVjdHMoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgY29uc3QgUmVuZGVyR2VvbWV0cnlN
YXAqIGdlb21ldHJ5TWFwKQogewogICAgIEFTU0VSVCghbV92aXNpYmxlQ29udGVudFN0YXR1c0Rp
cnR5KTsKLQotICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAgIGNsZWFy
UmVwYWludFJlY3RzKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgbV9oYXND
b21wdXRlZFJlcGFpbnRSZWN0ID0gdHJ1ZTsKLSAgICBtX3JlcGFpbnRSZWN0ID0gcmVuZGVyZXIo
KS5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKLSAgICBt
X291dGxpbmVCb3ggPSByZW5kZXJlcigpLm91dGxpbmVCb3VuZHNGb3JSZXBhaW50KHJlcGFpbnRD
b250YWluZXIsIGdlb21ldHJ5TWFwKTsKKyAgICByZW5kZXJlcigpLmNvbXB1dGVSZXBhaW50TGF5
b3V0UmVjdHMocmVwYWludENvbnRhaW5lciwgZ2VvbWV0cnlNYXApOwogfQogCi0KIHZvaWQgUmVu
ZGVyTGF5ZXI6OmNvbXB1dGVSZXBhaW50UmVjdHNJbmNsdWRpbmdEZXNjZW5kYW50cygpCiB7CiAg
ICAgLy8gRklYTUU6IGNvbXB1dGVSZXBhaW50UmVjdHMoKSBoYXMgdG8gd2FsayB1cCB0aGUgcGFy
ZW50IGNoYWluIGZvciBldmVyeSBsYXllciB0byBjb21wdXRlIHRoZSByZWN0cy4KQEAgLTgyNCw5
ICs4MjAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjbGVhclJlcGFpbnRSZWN0cygpCiB7CiAgICAg
QVNTRVJUKCFtX3Zpc2libGVDb250ZW50U3RhdHVzRGlydHkpOwogCi0gICAgbV9oYXNDb21wdXRl
ZFJlcGFpbnRSZWN0ID0gZmFsc2U7Ci0gICAgbV9yZXBhaW50UmVjdCA9IExheW91dFJlY3QoKTsK
LSAgICBtX291dGxpbmVCb3ggPSBMYXlvdXRSZWN0KCk7CisgICAgcmVuZGVyZXIoKS5jbGVhclJl
cGFpbnRMYXlvdXRSZWN0cygpOwogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBv
c2l0aW9uc0FmdGVyRG9jdW1lbnRTY3JvbGwoKQpAQCAtODg5LDggKzg4Myw4IEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zQWYKICAgICAgICAgICAgIGNvbXB1dGVSZXBh
aW50UmVjdHMocmVuZGVyZXIoKS5jb250YWluZXJGb3JSZXBhaW50KCksIGdlb21ldHJ5TWFwKTsK
ICAgICB9IGVsc2UgewogICAgICAgICAvLyBDaGVjayB0aGF0IG91ciBjYWNoZWQgcmVjdHMgYXJl
IGNvcnJlY3QuCi0gICAgICAgIEFTU0VSVCghbV9oYXNDb21wdXRlZFJlcGFpbnRSZWN0IHx8ICht
X3JlcGFpbnRSZWN0ID09IHJlbmRlcmVyKCkuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQo
cmVuZGVyZXIoKS5jb250YWluZXJGb3JSZXBhaW50KCkpKSk7Ci0gICAgICAgIEFTU0VSVCghbV9o
YXNDb21wdXRlZFJlcGFpbnRSZWN0IHx8IG1fb3V0bGluZUJveCA9PSByZW5kZXJlcigpLm91dGxp
bmVCb3VuZHNGb3JSZXBhaW50KHJlbmRlcmVyKCkuY29udGFpbmVyRm9yUmVwYWludCgpKSk7Cisg
ICAgICAgIEFTU0VSVCghcmVuZGVyZXIoKS5oYXNSZXBhaW50TGF5b3V0UmVjdHMoKSB8fCByZW5k
ZXJlcigpLnJlcGFpbnRMYXlvdXRSZWN0cygpLm1fcmVwYWludFJlY3QgPT0gcmVuZGVyZXIoKS5j
bGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZW5kZXJlcigpLmNvbnRhaW5lckZvclJlcGFp
bnQoKSkpOworICAgICAgICBBU1NFUlQoIXJlbmRlcmVyKCkuaGFzUmVwYWludExheW91dFJlY3Rz
KCkgfHwgcmVuZGVyZXIoKS5yZXBhaW50TGF5b3V0UmVjdHMoKS5tX291dGxpbmVCb3ggPT0gcmVu
ZGVyZXIoKS5vdXRsaW5lQm91bmRzRm9yUmVwYWludChyZW5kZXJlcigpLmNvbnRhaW5lckZvclJl
cGFpbnQoKSkpOwogICAgIH0KICAgICAKICAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGZp
cnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCkBAIC0yNDQw
LDcgKzI0MzQsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQCiAg
ICAgLy8gVGhlIGNhcmV0IHJlY3QgbmVlZHMgdG8gYmUgaW52YWxpZGF0ZWQgYWZ0ZXIgc2Nyb2xs
aW5nCiAgICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0Q2FyZXRSZWN0TmVlZHNVcGRhdGUoKTsKICAg
ICAKLSAgICBMYXlvdXRSZWN0IHJlY3RGb3JSZXBhaW50ID0gbV9oYXNDb21wdXRlZFJlcGFpbnRS
ZWN0ID8gbV9yZXBhaW50UmVjdCA6IHJlbmRlcmVyKCkuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQocmVwYWludENvbnRhaW5lcik7CisgICAgTGF5b3V0UmVjdCByZWN0Rm9yUmVwYWludCA9
IHJlbmRlcmVyKCkuaGFzUmVwYWludExheW91dFJlY3RzKCkgPyByZW5kZXJlcigpLnJlcGFpbnRM
YXlvdXRSZWN0cygpLm1fcmVwYWludFJlY3QgOiByZW5kZXJlcigpLmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIpOwogCiAgICAgRmxvYXRRdWFkIHF1YWRGb3JG
YWtlTW91c2VNb3ZlRXZlbnQgPSBGbG9hdFF1YWQocmVjdEZvclJlcGFpbnQpOwogICAgIGlmIChy
ZXBhaW50Q29udGFpbmVyKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgJKHJldmlzaW9uIDIxOTk4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC01ODEsOCArNTgxLDcgQEAgcHVibGljOgogICAgIExh
eW91dFJlY3QgY2FsY3VsYXRlTGF5ZXJCb3VuZHMoY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9y
TGF5ZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJv
dW5kc0ZsYWdzID0gRGVmYXVsdENhbGN1bGF0ZUxheWVyQm91bmRzRmxhZ3MpIGNvbnN0OwogICAg
IAogICAgIC8vIFJldHVybiBhIGNhY2hlZCByZXBhaW50IHJlY3QsIGNvbXB1dGVkIHJlbGF0aXZl
IHRvIHRoZSBsYXllciByZW5kZXJlcidzIGNvbnRhaW5lckZvclJlcGFpbnQuCi0gICAgYm9vbCBo
YXNDb21wdXRlZFJlcGFpbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDb21wdXRlZFJlcGFp
bnRSZWN0OyB9Ci0gICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdCgpIGNvbnN0IHsgQVNTRVJUKGhh
c0NvbXB1dGVkUmVwYWludFJlY3QoKSk7IHJldHVybiBtX3JlcGFpbnRSZWN0OyB9CisgICAgYm9v
bCBoYXNDb21wdXRlZFJlcGFpbnRSZWN0cygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCkuaGFz
UmVwYWludExheW91dFJlY3RzKCk7IH0KICAgICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0SW5jbHVk
aW5nTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cygpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRSZXBh
aW50U3RhdHVzKFJlcGFpbnRTdGF0dXMgc3RhdHVzKSB7IG1fcmVwYWludFN0YXR1cyA9IHN0YXR1
czsgfQpAQCAtMTExNSw4ICsxMTE0LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgYm9vbCBt
X2hhc0ZpbHRlckluZm8gOiAxOwotICAgIAotICAgIGJvb2wgbV9oYXNDb21wdXRlZFJlcGFpbnRS
ZWN0IDogMTsKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgdW5zaWduZWQgbV9i
bGVuZE1vZGUgOiA1OwpAQCAtMTEzMyw5ICsxMTMwLDYgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJM
YXllciogbV9maXJzdDsKICAgICBSZW5kZXJMYXllciogbV9sYXN0OwogCi0gICAgTGF5b3V0UmVj
dCBtX3JlcGFpbnRSZWN0OyAvLyBDYWNoZWQgcmVwYWludCByZWN0cy4gVXNlZCBieSBsYXlvdXQu
Ci0gICAgTGF5b3V0UmVjdCBtX291dGxpbmVCb3g7Ci0KICAgICAvLyBPdXIgY3VycmVudCByZWxh
dGl2ZSBwb3NpdGlvbiBvZmZzZXQuCiAgICAgTGF5b3V0U2l6ZSBtX29mZnNldEZvckluRmxvd1Bv
c2l0aW9uOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyTW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAyMTk5ODUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDYgKzM4LDE1IEBAIGJvb2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c19oYWRMYXllciAK
IGJvb2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c19oYWRUcmFuc2Zvcm0gPSBmYWxzZTsKIGJv
b2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c19sYXllcldhc1NlbGZQYWludGluZyA9IGZhbHNl
OwogCit0eXBlZGVmIFdURjo6SGFzaE1hcDxjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Kiwg
UmVwYWludExheW91dFJlY3RzPiBSZXBhaW50TGF5b3V0UmVjdHNNYXA7CitzdGF0aWMgUmVwYWlu
dExheW91dFJlY3RzTWFwKiBnUmVwYWludExheW91dFJlY3RzTWFwID0gbnVsbHB0cjsKKworUmVw
YWludExheW91dFJlY3RzOjpSZXBhaW50TGF5b3V0UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIsIGNvbnN0IFJlbmRlckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcCkKKyAgICA6IG1f
cmVwYWludFJlY3QocmVuZGVyZXIuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWlu
dENvbnRhaW5lcikpCisgICAgLCBtX291dGxpbmVCb3gocmVuZGVyZXIub3V0bGluZUJvdW5kc0Zv
clJlcGFpbnQocmVwYWludENvbnRhaW5lciwgZ2VvbWV0cnlNYXApKQoreworfQorCiBSZW5kZXJM
YXllck1vZGVsT2JqZWN0OjpSZW5kZXJMYXllck1vZGVsT2JqZWN0KEVsZW1lbnQmIGVsZW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIEJhc2VUeXBlRmxhZ3MgYmFzZVR5cGVGbGFncykKICAgICA6
IFJlbmRlckVsZW1lbnQoZWxlbWVudCwgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZykKIHsKQEAgLTYxLDcgKzcwLDkgQEAgdm9pZCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0Ojp3aWxsQmVEZXN0cgogICAgIH0KIAogICAgIFJlbmRlckVsZW1l
bnQ6OndpbGxCZURlc3Ryb3llZCgpOwotCisgICAgCisgICAgY2xlYXJSZXBhaW50TGF5b3V0UmVj
dHMoKTsKKyAgICAKICAgICAvLyBPdXIgbGF5ZXIgc2hvdWxkIGhhdmUgYmVlbiBkZXN0cm95ZWQg
YW5kIGNsZWFyZWQgYnkgbm93CiAgICAgQVNTRVJUKCFoYXNMYXllcigpKTsKICAgICBBU1NFUlQo
IW1fbGF5ZXIpOwpAQCAtNzEsNiArODIsOCBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OmRlc3Ryb3lMYXllCiB7CiAgICAgQVNTRVJUKCFoYXNMYXllcigpKTsgLy8gQ2FsbGVycyBzaG91
bGQgaGF2ZSBhbHJlYWR5IGNhbGxlZCBzZXRIYXNMYXllcihmYWxzZSkKICAgICBBU1NFUlQobV9s
YXllcik7CisgICAgaWYgKG1fbGF5ZXItPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSkKKyAgICAgICAg
Y2xlYXJSZXBhaW50TGF5b3V0UmVjdHMoKTsKICAgICBtX2xheWVyID0gbnVsbHB0cjsKIH0KIApA
QCAtMTY2LDggKzE3OSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVEaWRD
aGEKICAgICAgICAgc2V0SGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KGZhbHNlKTsgLy8gQWxs
IHRyYW5zZm9ybS1yZWxhdGVkIHByb3BldGllcyBmb3JjZSBsYXllcnMsIHNvIHdlIGtub3cgd2Ug
ZG9uJ3QgaGF2ZSBvbmUgb3IgdGhlIG9iamVjdCBkb2Vzbid0IHN1cHBvcnQgdGhlbS4KICAgICAg
ICAgc2V0SGFzUmVmbGVjdGlvbihmYWxzZSk7CiAgICAgICAgIC8vIFJlcGFpbnQgdGhlIGFib3V0
IHRvIGJlIGRlc3Ryb3llZCBzZWxmLXBhaW50aW5nIGxheWVyIHdoZW4gc3R5bGUgY2hhbmdlIGFs
c28gdHJpZ2dlcnMgcmVwYWludC4KLSAgICAgICAgaWYgKGxheWVyKCktPmlzU2VsZlBhaW50aW5n
TGF5ZXIoKSAmJiBsYXllcigpLT5yZXBhaW50U3RhdHVzKCkgPT0gTmVlZHNGdWxsUmVwYWludCAm
JiBsYXllcigpLT5oYXNDb21wdXRlZFJlcGFpbnRSZWN0KCkpCi0gICAgICAgICAgICByZXBhaW50
VXNpbmdDb250YWluZXIoY29udGFpbmVyRm9yUmVwYWludCgpLCBsYXllcigpLT5yZXBhaW50UmVj
dCgpKTsKKyAgICAgICAgaWYgKGxheWVyKCktPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiBsYXll
cigpLT5yZXBhaW50U3RhdHVzKCkgPT0gTmVlZHNGdWxsUmVwYWludCAmJiBoYXNSZXBhaW50TGF5
b3V0UmVjdHMoKSkKKyAgICAgICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb250YWluZXJG
b3JSZXBhaW50KCksIHJlcGFpbnRMYXlvdXRSZWN0cygpLm1fcmVwYWludFJlY3QpOwogICAgICAg
ICBsYXllcigpLT5yZW1vdmVPbmx5VGhpc0xheWVyKCk7IC8vIGNhbGxzIGRlc3Ryb3lMYXllcigp
IHdoaWNoIGNsZWFycyBtX2xheWVyCiAgICAgICAgIGlmIChzX3dhc0Zsb2F0aW5nICYmIGlzRmxv
YXRpbmcoKSkKICAgICAgICAgICAgIHNldENoaWxkTmVlZHNMYXlvdXQoKTsKQEAgLTIzNSw1ICsy
NDgsMzggQEAgYm9vbCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzaG91bGRQbGFjZQogI2VuZGlm
CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6aGFzUmVwYWludExheW91dFJlY3Rz
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ1JlcGFpbnRMYXlvdXRSZWN0c01hcCAmJiBnUmVwYWlu
dExheW91dFJlY3RzTWFwLT5jb250YWlucyh0aGlzKTsKK30KKwordm9pZCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0OjpzZXRSZXBhaW50TGF5b3V0UmVjdHMoY29uc3QgUmVwYWludExheW91dFJlY3Rz
JiByZWN0cykKK3sKKyAgICBpZiAoIWdSZXBhaW50TGF5b3V0UmVjdHNNYXApCisgICAgICAgIGdS
ZXBhaW50TGF5b3V0UmVjdHNNYXAgPSBuZXcgUmVwYWludExheW91dFJlY3RzTWFwKCk7CisgICAg
Z1JlcGFpbnRMYXlvdXRSZWN0c01hcC0+c2V0KHRoaXMsIHJlY3RzKTsKK30KKwordm9pZCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpjbGVhclJlcGFpbnRMYXlvdXRSZWN0cygpCit7CisgICAgaWYg
KGdSZXBhaW50TGF5b3V0UmVjdHNNYXApCisgICAgICAgIGdSZXBhaW50TGF5b3V0UmVjdHNNYXAt
PnJlbW92ZSh0aGlzKTsKK30KKworUmVwYWludExheW91dFJlY3RzIFJlbmRlckxheWVyTW9kZWxP
YmplY3Q6OnJlcGFpbnRMYXlvdXRSZWN0cygpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSZXBhaW50
TGF5b3V0UmVjdHMoKSkKKyAgICAgICAgcmV0dXJuIFJlcGFpbnRMYXlvdXRSZWN0cygpOworICAg
IHJldHVybiBnUmVwYWludExheW91dFJlY3RzTWFwLT5nZXQodGhpcyk7Cit9CisKK3ZvaWQgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdDo6Y29tcHV0ZVJlcGFpbnRMYXlvdXRSZWN0cyhjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBSZW5kZXJHZW9tZXRy
eU1hcCogZ2VvbWV0cnlNYXApCit7CisgICAgaWYgKCFtX2xheWVyIHx8ICFtX2xheWVyLT5pc1Nl
bGZQYWludGluZ0xheWVyKCkpCisgICAgICAgIGNsZWFyUmVwYWludExheW91dFJlY3RzKCk7Cisg
ICAgZWxzZQorICAgICAgICBzZXRSZXBhaW50TGF5b3V0UmVjdHMoUmVwYWludExheW91dFJlY3Rz
KCp0aGlzLCByZXBhaW50Q29udGFpbmVyLCBnZW9tZXRyeU1hcCkpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyTW9kZWxPYmplY3QuaAkocmV2aXNpb24gMjE5OTg1KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJMYXllcjsK
IAorc3RydWN0IFJlcGFpbnRMYXlvdXRSZWN0cyB7CisgICAgTGF5b3V0UmVjdCBtX3JlcGFpbnRS
ZWN0OyAvLyBUaGlzIHJlY3QgaXMgY2xpcHBlZCBieSBlbmNsb3Npbmcgb2JqZWN0cyAoZS5nLiwg
b3ZlcmZsb3c6aGlkZGVuKS4KKyAgICBMYXlvdXRSZWN0IG1fb3V0bGluZUJveDsgIC8vIFRoaXMg
cmVjdCBpcyB1bmNsaXBwZWQuCisKKyAgICBSZXBhaW50TGF5b3V0UmVjdHMoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIGNvbnN0IFJlbmRlckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcCA9
IG51bGxwdHIpOworICAgIFJlcGFpbnRMYXlvdXRSZWN0cygpIHsgfTsKK307CisKIGNsYXNzIFJl
bmRlckxheWVyTW9kZWxPYmplY3QgOiBwdWJsaWMgUmVuZGVyRWxlbWVudCB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpOwpAQCAtNTEsNiArNTksMTQgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQm94
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0OworICAgIAorICAgIHZvaWQgY29tcHV0ZVJl
cGFpbnRMYXlvdXRSZWN0cyhjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyLCBjb25zdCBSZW5kZXJHZW9tZXRyeU1hcCogPSBudWxscHRyKTsKKworICAgIFJlcGFp
bnRMYXlvdXRSZWN0cyByZXBhaW50TGF5b3V0UmVjdHMoKSBjb25zdDsKKyAgICAKKyAgICBib29s
IGhhc1JlcGFpbnRMYXlvdXRSZWN0cygpIGNvbnN0OworICAgIHZvaWQgc2V0UmVwYWludExheW91
dFJlY3RzKGNvbnN0IFJlcGFpbnRMYXlvdXRSZWN0cyYpOworICAgIHZvaWQgY2xlYXJSZXBhaW50
TGF5b3V0UmVjdHMoKTsKIAogcHJvdGVjdGVkOgogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3Qo
RWxlbWVudCYsIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwo=
</data>
<flag name="review"
          id="338236"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>