<?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>234957</bug_id>
          
          <creation_ts>2022-01-07 07:42:17 -0800</creation_ts>
          <short_desc>Expose iterators on AnimationList</short_desc>
          <delta_ts>2022-01-07 11:11:19 -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>Animations</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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828894</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-07 07:42:17 -0800</bug_when>
    <thetext>Expose iterators on AnimationList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828895</commentid>
    <comment_count>1</comment_count>
      <attachid>448589</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-07 07:43:08 -0800</bug_when>
    <thetext>Created attachment 448589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828926</commentid>
    <comment_count>2</comment_count>
      <attachid>448589</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-07 09:12:17 -0800</bug_when>
    <thetext>Comment on attachment 448589
Patch

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

&gt; Source/WebCore/platform/animation/AnimationList.h:63
&gt; +    using const_reverse_iterator = Vector&lt;Ref&lt;Animation&gt;&gt;::const_reverse_iterator;
&gt; +    const_reverse_iterator rbegin() const { return m_animations.rbegin(); }
&gt; +    const_reverse_iterator rend() const { return m_animations.rend(); }

Pretty sure you can just use auto:

    auto rbegin() const { return m_animations.rbegin(); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828981</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-07 10:48:56 -0800</bug_when>
    <thetext>Committed r287762 (245825@trunk): &lt;https://commits.webkit.org/245825@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828982</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-07 10:49:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/87261244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828996</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-07 11:11:19 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 448589 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448589&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/animation/AnimationList.h:63
&gt; &gt; +    using const_reverse_iterator = Vector&lt;Ref&lt;Animation&gt;&gt;::const_reverse_iterator;
&gt; &gt; +    const_reverse_iterator rbegin() const { return m_animations.rbegin(); }
&gt; &gt; +    const_reverse_iterator rend() const { return m_animations.rend(); }
&gt; 
&gt; Pretty sure you can just use auto:
&gt; 
&gt;     auto rbegin() const { return m_animations.rbegin(); }

Sadly, not possible, see https://webkit.slack.com/archives/C01ARTA5TDM/p1641565899019200?thread_ts=1641557977.011000&amp;cid=C01ARTA5TDM.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448589</attachid>
            <date>2022-01-07 07:43:08 -0800</date>
            <delta_ts>2022-01-07 07:51:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234957-20220107164306.patch</filename>
            <type>text/plain</type>
            <size>9797</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQwYTBjNzk4NDg5MWQw
NWExMjk0YWQzZGM0ZjIxMDM0ODE0MzcyMC4uMGYxYjMyZjYyMGNkMDA5ODEzMmEyOWEzZDFjYTJl
NjBmMDRiOTY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAxLTA3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEV4cG9zZSBpdGVyYXRv
cnMgb24gQW5pbWF0aW9uTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM0OTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmNvbXBhcmVDU1NBbmltYXRpb25zKToKKyAgICAgICAgKiBjc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVlTGlzdEZv
ckFuaW1hdGlvbk9yVHJhbnNpdGlvblByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OmFuaW1h
dGlvblNob3J0aGFuZFZhbHVlKToKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAg
IChnZW5lcmF0ZUFuaW1hdGlvblByb3BlcnR5SW5pdGlhbFZhbHVlU2V0dGVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6
QW5pbWF0aW9uTGlzdDo6YmVnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9u
TGlzdDo6ZW5kIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkxpc3Q6OnJiZWdp
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25MaXN0OjpyZW5kIGNvbnN0KToK
KyAgICAgICAgKiBzdHlsZS9TdHlsZWFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVh
YmxlOjp1cGRhdGVDU1NBbmltYXRpb25zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBp
bGVUcmFuc2l0aW9uUHJvcGVydGllc0luU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRl
Q1NTVHJhbnNpdGlvbnNGb3JTdHlsZWFibGVBbmRQcm9wZXJ0eSk6CisKIDIwMjItMDEtMDYgIEFu
dG9pbmUgUXVpbnQgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZW1vdmluZyBkdXBsaWNhdGVkIGNvZGUgYWRkZWQgaW4gaHR0cHM6Ly9jb21taXRzLndlYmtpdC5v
cmcvMjQ1NzkzQHRydW5rLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dl
YkFuaW1hdGlvblV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uVXRpbGl0aWVzLmNwcAppbmRleCA5MjE1OTE2MThjNWFkZDliOWUzMWVjMTlkMzZmYzQ0
YmY5OTk4ZWUyLi5mZjdhYWQ1ZGQ3OTBmNDE0YTljM2I5OWMzNTFjMWEzYzBmNTQ5ZDg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNw
cApAQCAtMTMyLDExICsxMzIsMTAgQEAgc3RhdGljIGJvb2wgY29tcGFyZUNTU0FuaW1hdGlvbnMo
Y29uc3QgQ1NTQW5pbWF0aW9uJiBhLCBjb25zdCBDU1NBbmltYXRpb24mIGIpCiAKICAgICBhdXRv
JiBhQmFja2luZ0FuaW1hdGlvbiA9IGEuYmFja2luZ0FuaW1hdGlvbigpOwogICAgIGF1dG8mIGJC
YWNraW5nQW5pbWF0aW9uID0gYi5iYWNraW5nQW5pbWF0aW9uKCk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjc3NBbmltYXRpb25MaXN0LT5zaXplKCk7ICsraSkgewotICAgICAgICBhdXRv
JiBhbmltYXRpb24gPSBjc3NBbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSk7Ci0gICAgICAgIGlm
ICgmYW5pbWF0aW9uID09ICZhQmFja2luZ0FuaW1hdGlvbikKKyAgICBmb3IgKGF1dG8mIGFuaW1h
dGlvbiA6ICpjc3NBbmltYXRpb25MaXN0KSB7CisgICAgICAgIGlmIChhbmltYXRpb24ucHRyKCkg
PT0gJmFCYWNraW5nQW5pbWF0aW9uKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IGlmICgmYW5pbWF0aW9uID09ICZiQmFja2luZ0FuaW1hdGlvbikKKyAgICAgICAgaWYgKGFuaW1h
dGlvbi5wdHIoKSA9PSAmYkJhY2tpbmdBbmltYXRpb24pCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCmluZGV4IDUxMTk2MjJjMjUwYWFlYzFiODVmNzZhN2U1Y2JjNzY3MzEx
ZDE1ZTEuLjdjMzg1OGJiNjQ3YjI5NDlkNjZlZjg4ZjA0MzNlYzVkNzRkODU4NjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xNDc0LDggKzE0NzQsOCBAQCBzdGF0aWMgUmVmPENTU1ZhbHVlTGlzdD4gdmFsdWVMaXN0Rm9y
QW5pbWF0aW9uT3JUcmFuc2l0aW9uUHJvcGVydHkoQ1NTUHJvcGVydHlJRAogewogICAgIGF1dG8g
bGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKICAgICBpZiAoYW5p
bWF0aW9uTGlzdCkgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFuaW1hdGlvbkxp
c3QtPnNpemUoKTsgKytpKQotICAgICAgICAgICAgQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6YWRk
VmFsdWVGb3JBbmltYXRpb25Qcm9wZXJ0eVRvTGlzdChsaXN0LmdldCgpLCBwcm9wZXJ0eSwgJmFu
aW1hdGlvbkxpc3QtPmFuaW1hdGlvbihpKSk7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYW5p
bWF0aW9uIDogKmFuaW1hdGlvbkxpc3QpCisgICAgICAgICAgICBDb21wdXRlZFN0eWxlRXh0cmFj
dG9yOjphZGRWYWx1ZUZvckFuaW1hdGlvblByb3BlcnR5VG9MaXN0KGxpc3QuZ2V0KCksIHByb3Bl
cnR5LCBhbmltYXRpb24ucHRyKCkpOwogICAgIH0gZWxzZQogICAgICAgICBDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOjphZGRWYWx1ZUZvckFuaW1hdGlvblByb3BlcnR5VG9MaXN0KGxpc3QuZ2V0KCks
IHByb3BlcnR5LCBudWxscHRyKTsKICAgICByZXR1cm4gbGlzdDsKQEAgLTE0ODUsMTEgKzE0ODUs
MTAgQEAgc3RhdGljIFJlZjxDU1NWYWx1ZUxpc3Q+IGFuaW1hdGlvblNob3J0aGFuZFZhbHVlKENT
U1Byb3BlcnR5SUQgcHJvcGVydHksIGNvbnN0IEEKIHsKICAgICBhdXRvIHBhcmVudExpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CiAgICAgaWYgKGFuaW1hdGlvbkxp
c3QpIHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhbmltYXRpb25MaXN0LT5zaXpl
KCk7ICsraSkgewotICAgICAgICAgICAgY29uc3QgYXV0byYgYW5pbWF0aW9uID0gYW5pbWF0aW9u
TGlzdC0+YW5pbWF0aW9uKGkpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGFuaW1hdGlvbiA6
ICphbmltYXRpb25MaXN0KSB7CiAgICAgICAgICAgICBhdXRvIGNoaWxkTGlzdCA9IENTU1ZhbHVl
TGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICAgICAgICAgIGZvciAoYXV0byBsb25n
aGFuZCA6IHNob3J0aGFuZEZvclByb3BlcnR5KHByb3BlcnR5KSkKLSAgICAgICAgICAgICAgICBD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjphZGRWYWx1ZUZvckFuaW1hdGlvblByb3BlcnR5VG9MaXN0
KGNoaWxkTGlzdC5nZXQoKSwgbG9uZ2hhbmQsICZhbmltYXRpb24pOworICAgICAgICAgICAgICAg
IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OmFkZFZhbHVlRm9yQW5pbWF0aW9uUHJvcGVydHlUb0xp
c3QoY2hpbGRMaXN0LmdldCgpLCBsb25naGFuZCwgYW5pbWF0aW9uLnB0cigpKTsKICAgICAgICAg
ICAgIHBhcmVudExpc3QtPmFwcGVuZChjaGlsZExpc3QpOwogICAgICAgICB9CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL21ha2Vwcm9wLnBsCmluZGV4IGY5NDE5MTc0ZjVhMDllNWQwZmE5ZmU1ZDZkZTZlYmFjNTA0
MmJiODAuLjFhOWY5YzA4YmUwZmY2MjYxNDRmOTI2OGM2ODJlZDFkZDI3MjNmZWMgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWFrZXByb3AucGwKQEAgLTEwNjcsOCArMTA2Nyw4IEBAIHN1YiBnZW5lcmF0ZUFuaW1hdGlv
blByb3BlcnR5SW5pdGlhbFZhbHVlU2V0dGVyIHsKICAgbXkgJHNldHRlciA9ICRwcm9wZXJ0aWVz
V2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJzZXR0ZXIifTsKICAgbXkgJGluaXRpYWwg
PSAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiaW5pdGlhbCJ9Owog
ICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gImxpc3QuYW5pbWF0aW9uKDApLiIgLiAkc2V0
dGVyIC4gIihBbmltYXRpb246OiIgLiAkaW5pdGlhbCAuICIoKSk7XG4iOwotICAkc2V0dGVyQ29u
dGVudCAuPSAkaW5kZW50IC4gImZvciAoc2l6ZV90IGkgPSAxOyBpIDwgbGlzdC5zaXplKCk7ICsr
aSlcbiI7Ci0gICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIGxpc3QuYW5pbWF0aW9u
KGkpLiIgLiBnZXRDbGVhckZ1bmN0aW9uKCRuYW1lKSAuICIoKTtcbiI7CisgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAiZm9yIChhdXRvJiBhbmltYXRpb24gOiBsaXN0KVxuIjsKKyAgJHNl
dHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgYW5pbWF0aW9uLT4iIC4gZ2V0Q2xlYXJGdW5j
dGlvbigkbmFtZSkgLiAiKCk7XG4iOwogCiAgIHJldHVybiAkc2V0dGVyQ29udGVudDsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmlu
ZGV4IGZlYzljNDUzZjVhY2QyY2U2YzU2ZjZlNmVmMWIyZjhhMDY4YTRhN2UuLmFiNmUwMjRkZjc0
NDlmMGY4MmFlODRmNjk1NTVlYTAyMDgxYmFlNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtNTQsNyArNTQsMTQgQEAgcHVi
bGljOgogCiAgICAgQW5pbWF0aW9uJiBhbmltYXRpb24oc2l6ZV90IGkpIHsgcmV0dXJuIG1fYW5p
bWF0aW9uc1tpXS5nZXQoKTsgfQogICAgIGNvbnN0IEFuaW1hdGlvbiYgYW5pbWF0aW9uKHNpemVf
dCBpKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlvbnNbaV0uZ2V0KCk7IH0KLSAgICAKKworICAg
IGF1dG8gYmVnaW4oKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlvbnMuYmVnaW4oKTsgfQorICAg
IGF1dG8gZW5kKCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25zLmVuZCgpOyB9CisKKyAgICB1
c2luZyBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yID0gVmVjdG9yPFJlZjxBbmltYXRpb24+Pjo6Y29u
c3RfcmV2ZXJzZV9pdGVyYXRvcjsKKyAgICBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHJiZWdpbigp
IGNvbnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9ucy5yYmVnaW4oKTsgfQorICAgIGNvbnN0X3JldmVy
c2VfaXRlcmF0b3IgcmVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9ucy5yZW5kKCk7IH0K
KwogcHJpdmF0ZToKICAgICBBbmltYXRpb25MaXN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFi
bGUuY3BwCmluZGV4IDNjYWNiZTZjNzRhYmM2ZWRmOGNjZTljNTExODMzY2Q2Zjk1NGNmOTUuLjY4
NTBkNDM5YmUxMzA2MTNlZTYyYjdiMmMxZGQ1MDAxM2MwMzZiMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVhYmxlLmNwcApAQCAtMjQ2LDE3ICsyNDYsMTYgQEAgdm9pZCBTdHlsZWFibGU6OnVwZGF0
ZUNTU0FuaW1hdGlvbnMoY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgY29uc3QgUmVu
ZGUKICAgICAvLyBjYXVzZSB0aGUgZXhpc3RpbmcgYW5pbWF0aW9uIGZvciDigJhh4oCZIHRvIGJl
Y29tZSB0aGUgc2Vjb25kIGFuaW1hdGlvbiBpbiB0aGUgbGlzdCBhbmQgYSBuZXcgYW5pbWF0aW9u
IHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhlCiAgICAgLy8gZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC4K
ICAgICBpZiAoY3VycmVudEFuaW1hdGlvbkxpc3QpIHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9
IGN1cnJlbnRBbmltYXRpb25MaXN0LT5zaXplKCk7IGkgPiAwOyAtLWkpIHsKLSAgICAgICAgICAg
IGF1dG8mIGN1cnJlbnRBbmltYXRpb24gPSBjdXJyZW50QW5pbWF0aW9uTGlzdC0+YW5pbWF0aW9u
KGkgLSAxKTsKLSAgICAgICAgICAgIGlmICghc2hvdWxkQ29uc2lkZXJBbmltYXRpb24odGhpcy0+
ZWxlbWVudCwgY3VycmVudEFuaW1hdGlvbikpCisgICAgICAgIGZvciAoYXV0byYgY3VycmVudEFu
aW1hdGlvbiA6IG1ha2VSZXZlcnNlZFJhbmdlKCpjdXJyZW50QW5pbWF0aW9uTGlzdCkpIHsKKyAg
ICAgICAgICAgIGlmICghc2hvdWxkQ29uc2lkZXJBbmltYXRpb24odGhpcy0+ZWxlbWVudCwgY3Vy
cmVudEFuaW1hdGlvbi5nZXQoKSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgICAgIGJvb2wgZm91bmRNYXRjaGluZ0FuaW1hdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAg
Zm9yIChhdXRvJiBwcmV2aW91c0FuaW1hdGlvbiA6IHByZXZpb3VzQW5pbWF0aW9ucykgewotICAg
ICAgICAgICAgICAgIGlmIChwcmV2aW91c0FuaW1hdGlvbi0+YW5pbWF0aW9uTmFtZSgpID09IGN1
cnJlbnRBbmltYXRpb24ubmFtZSgpLnN0cmluZykgeworICAgICAgICAgICAgICAgIGlmIChwcmV2
aW91c0FuaW1hdGlvbi0+YW5pbWF0aW9uTmFtZSgpID09IGN1cnJlbnRBbmltYXRpb24tPm5hbWUo
KS5zdHJpbmcpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gVGltaW5nIHByb3BlcnRpZXMgb3Ig
cGxheSBzdGF0ZSBtYXkgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBiYWNr
aW5nIGFuaW1hdGlvbiB3aXRoCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBBbmltYXRpb24g
Zm91bmQgaW4gdGhlIGN1cnJlbnQgc3R5bGUuCi0gICAgICAgICAgICAgICAgICAgIHByZXZpb3Vz
QW5pbWF0aW9uLT5zZXRCYWNraW5nQW5pbWF0aW9uKGN1cnJlbnRBbmltYXRpb24pOworICAgICAg
ICAgICAgICAgICAgICBwcmV2aW91c0FuaW1hdGlvbi0+c2V0QmFja2luZ0FuaW1hdGlvbihjdXJy
ZW50QW5pbWF0aW9uLmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAgLy8gS2V5ZnJhbWVzIG1h
eSBoYXZlIGJlZW4gY2xlYXJlZCBpZiB0aGUgQGtleWZyYW1lcyBydWxlcyB3YXMgY2hhbmdlZCBz
aW5jZQogICAgICAgICAgICAgICAgICAgICAvLyB0aGUgbGFzdCBzdHlsZSB1cGRhdGUsIHNvIHdl
IG11c3QgZW5zdXJlIGtleWZyYW1lcyBhcmUgcGlja2VkIHVwLgogICAgICAgICAgICAgICAgICAg
ICBwcmV2aW91c0FuaW1hdGlvbi0+dXBkYXRlS2V5ZnJhbWVzSWZOZWVkZWQoY3VycmVudFN0eWxl
LCBuZXdTdHlsZSwgcmVzb2x1dGlvbkNvbnRleHQpOwpAQCAtMjY5LDcgKzI2OCw3IEBAIHZvaWQg
U3R5bGVhYmxlOjp1cGRhdGVDU1NBbmltYXRpb25zKGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50
U3R5bGUsIGNvbnN0IFJlbmRlCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICghZm91
bmRNYXRjaGluZ0FuaW1hdGlvbikKLSAgICAgICAgICAgICAgICBuZXdBbmltYXRpb25zLmFkZChD
U1NBbmltYXRpb246OmNyZWF0ZSgqdGhpcywgY3VycmVudEFuaW1hdGlvbiwgY3VycmVudFN0eWxl
LCBuZXdTdHlsZSwgcmVzb2x1dGlvbkNvbnRleHQpKTsKKyAgICAgICAgICAgICAgICBuZXdBbmlt
YXRpb25zLmFkZChDU1NBbmltYXRpb246OmNyZWF0ZSgqdGhpcywgY3VycmVudEFuaW1hdGlvbi5n
ZXQoKSwgY3VycmVudFN0eWxlLCBuZXdTdHlsZSwgcmVzb2x1dGlvbkNvbnRleHQpKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtMzQyLDExICszNDEsMTAgQEAgc3RhdGljIHZvaWQgY29tcGlsZVRy
YW5zaXRpb25Qcm9wZXJ0aWVzSW5TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEhhc2hT
ZXQKICAgICBpZiAoIXRyYW5zaXRpb25zKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHRyYW5zaXRpb25zLT5zaXplKCk7ICsraSkgewotICAgICAgICBjb25z
dCBhdXRvJiBhbmltYXRpb24gPSB0cmFuc2l0aW9ucy0+YW5pbWF0aW9uKGkpOwotICAgICAgICBh
dXRvIG1vZGUgPSBhbmltYXRpb24ucHJvcGVydHkoKS5tb2RlOworICAgIGZvciAoY29uc3QgYXV0
byYgYW5pbWF0aW9uIDogKnRyYW5zaXRpb25zKSB7CisgICAgICAgIGF1dG8gbW9kZSA9IGFuaW1h
dGlvbi0+cHJvcGVydHkoKS5tb2RlOwogICAgICAgICBpZiAobW9kZSA9PSBBbmltYXRpb246OlRy
YW5zaXRpb25Nb2RlOjpTaW5nbGVQcm9wZXJ0eSkgewotICAgICAgICAgICAgYXV0byBwcm9wZXJ0
eSA9IGFuaW1hdGlvbi5wcm9wZXJ0eSgpLmlkOworICAgICAgICAgICAgYXV0byBwcm9wZXJ0eSA9
IGFuaW1hdGlvbi0+cHJvcGVydHkoKS5pZDsKICAgICAgICAgICAgIGlmIChpc1Nob3J0aGFuZENT
U1Byb3BlcnR5KHByb3BlcnR5KSkgewogICAgICAgICAgICAgICAgIGZvciAoYXV0byBsb25naGFu
ZCA6IHNob3J0aGFuZEZvclByb3BlcnR5KHByb3BlcnR5KSkKICAgICAgICAgICAgICAgICAgICAg
dHJhbnNpdGlvblByb3BlcnRpZXMuYWRkKGxvbmdoYW5kKTsKQEAgLTM3NSwxMCArMzczLDkgQEAg
c3RhdGljIHZvaWQgdXBkYXRlQ1NTVHJhbnNpdGlvbnNGb3JTdHlsZWFibGVBbmRQcm9wZXJ0eShj
b25zdCBTdHlsZWFibGUmIHN0eWxlYWIKIAogICAgIGNvbnN0IEFuaW1hdGlvbiogbWF0Y2hpbmdC
YWNraW5nQW5pbWF0aW9uID0gbnVsbHB0cjsKICAgICBpZiAoYXV0byogdHJhbnNpdGlvbnMgPSBu
ZXdTdHlsZS50cmFuc2l0aW9ucygpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
dHJhbnNpdGlvbnMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBiYWNraW5nQW5p
bWF0aW9uID0gdHJhbnNpdGlvbnMtPmFuaW1hdGlvbihpKTsKLSAgICAgICAgICAgIGlmICh0cmFu
c2l0aW9uTWF0Y2hlc1Byb3BlcnR5KGJhY2tpbmdBbmltYXRpb24sIHByb3BlcnR5KSkKLSAgICAg
ICAgICAgICAgICBtYXRjaGluZ0JhY2tpbmdBbmltYXRpb24gPSAmYmFja2luZ0FuaW1hdGlvbjsK
KyAgICAgICAgZm9yIChhdXRvJiBiYWNraW5nQW5pbWF0aW9uIDogKnRyYW5zaXRpb25zKSB7Cisg
ICAgICAgICAgICBpZiAodHJhbnNpdGlvbk1hdGNoZXNQcm9wZXJ0eShiYWNraW5nQW5pbWF0aW9u
LmdldCgpLCBwcm9wZXJ0eSkpCisgICAgICAgICAgICAgICAgbWF0Y2hpbmdCYWNraW5nQW5pbWF0
aW9uID0gYmFja2luZ0FuaW1hdGlvbi5wdHIoKTsKICAgICAgICAgfQogICAgIH0KIAo=
</data>
<flag name="review"
          id="474492"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>