<?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>221175</bug_id>
          
          <creation_ts>2021-01-29 21:07:17 -0800</creation_ts>
          <short_desc>StaticRange should keep its start and end containers alive</short_desc>
          <delta_ts>2021-03-05 01:41:35 -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>DOM</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1724010</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-29 21:07:17 -0800</bug_when>
    <thetext>StaticRange doesn&apos;t keep its start and end containers alive right now.
As a result, some DOM nodes can get garbage collected prematurely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724011</commentid>
    <comment_count>1</comment_count>
      <attachid>418807</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-29 21:10:56 -0800</bug_when>
    <thetext>Created attachment 418807
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724012</commentid>
    <comment_count>2</comment_count>
      <attachid>418807</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-29 21:15:00 -0800</bug_when>
    <thetext>Comment on attachment 418807
Fixes the bug

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        To do that, we sff them as opaque roots during the marking phase in visitAdditionalChildren.

Nit - sff =&gt; add</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724020</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-30 00:52:16 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #2)
&gt; Comment on attachment 418807 [details]
&gt; Fixes the bug
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=418807&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        To do that, we sff them as opaque roots during the marking phase in visitAdditionalChildren.
&gt; 
&gt; Nit - sff =&gt; add

Fixed.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724021</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-30 00:53:12 -0800</bug_when>
    <thetext>Committed r272114: &lt;https://trac.webkit.org/changeset/272114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724022</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-30 00:54:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/73788028&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724475</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-01 17:04:43 -0800</bug_when>
    <thetext>Should we add a test to make sure that we can’t create a reference cycle that causes leaks by having a static range as the value of a property on one of its endpoint nodes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724528</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-01 21:57:51 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Should we add a test to make sure that we can’t create a reference cycle
&gt; that causes leaks by having a static range as the value of a property on one
&gt; of its endpoint nodes?

Maybe? I guess we can artificially introduce a leaking bug &amp; verify the test works?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724687</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-02 09:15:05 -0800</bug_when>
    <thetext>We have tests for this, like LayoutTests/fast/dom/reference-cycle-leaks.html, but I don’t think we have one that covers StaticRange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736242</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-05 01:41:35 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; We have tests for this, like
&gt; LayoutTests/fast/dom/reference-cycle-leaks.html, but I don’t think we have
&gt; one that covers StaticRange.

Alright, filed https://bugs.webkit.org/show_bug.cgi?id=222786 to add those tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418807</attachid>
            <date>2021-01-29 21:10:56 -0800</date>
            <delta_ts>2021-01-29 21:15:00 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-221175-20210129211055.patch</filename>
            <type>text/plain</type>
            <size>16129</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBhNTA5NGNmODhiMWZh
YWY5Y2Y4YmRjOTQzNmQwNzM4ZDVkZDQ3Mi4uNzk1ZjE2ZmM2MzMwN2UwMzZjZTc5NTg0OWQxNzdj
ZmNjNzRlNTFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI5ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFN0YXRpY1JhbmdlIHNob3Vs
ZCBrZWVwIGl0cyBzdGFydCBhbmQgZW5kIGNvbnRhaW5lcnMgYWxpdmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE3NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIHRoZSBidWcgdGhhdCB0aGUg
cm9vdCBub2RlcyBvZiBTdGF0aWNSYW5nZSdzIHN0YXJ0IGFuZCBlbmQgY29udGFpbmVycyB3ZXJl
IG5vdCBrZXB0IGFsaXZlIGJ5IEdDLgorICAgICAgICBUbyBkbyB0aGF0LCB3ZSBzZmYgdGhlbSBh
cyBvcGFxdWUgcm9vdHMgZHVyaW5nIHRoZSBtYXJraW5nIHBoYXNlIGluIHZpc2l0QWRkaXRpb25h
bENoaWxkcmVuLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3N0YXRpYy1yYW5nZS1nYy5odG1s
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTdGF0aWNSYW5nZUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1N0YXRpY1JhbmdlOjp2aXNpdEFkZGl0aW9uYWxD
aGlsZHJlbik6CisgICAgICAgICogZG9tL1N0YXRpY1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0YXRpY1JhbmdlOjp2aXNpdE5vZGVzQ29uY3VycmVudGx5IGNvbnN0KToKKyAgICAgICAg
KiBkb20vU3RhdGljUmFuZ2UuaDoKKyAgICAgICAgKiBkb20vU3RhdGljUmFuZ2UuaWRsOgorCiAy
MDIxLTAxLTI5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgcmVzdG9yZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CmluZGV4IGUzMGZhMGJjZjU2NjU1MWYyYTNhMGNmZmY1ZWMzNmQ3NGRiOTlh
MjEuLjg5OGE5MDdkODRjZmFhYTQ5NWIwMjQ5ODBiYjMxNjJiZThkMDFhNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CkBAIC02MDEsNiArNjAxLDcgQEAgYmluZGluZ3MvanMvSlNTVkdQYXRoU2VnQ3VzdG9tLmNw
cAogYmluZGluZ3MvanMvSlNTVkdWaWV3U3BlY0N1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTU2Vy
dmljZVdvcmtlckNsaWVudEN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTU2VydmljZVdvcmtlckds
b2JhbFNjb3BlQ3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNTdGF0aWNSYW5nZUN1c3RvbS5jcHAK
IGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTVGV4dEN1
c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhNmM5
NTZjZWFlMjVmMDMzODgxNmJkOTc5MDExNTY3YTYzMzcwYWQuLjQ3NDE1ZGRlY2JhM2MwMjU0YzY1
M2ZkODUyNjVlMDI3ZmMzNjY5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMTAwLDYgKzEyMTAwLDcgQEAKIAkJOUJERDE4
MjYxRjdFMDVGNDAwRThFNTc3IC8qIFdlYkNvcmVQYXN0ZWJvYXJkRmlsZVJlYWRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlUGFzdGVib2FyZEZpbGVSZWFkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5QkU2NzEwOTFENUFFQjA0MDAzNDU1MTQgLyogSlNDdXN0
b21FbGVtZW50UmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5QkU2NzEwQTFENUFFQjA0MDAzNDU1MTQgLyogSlNDdXN0b21FbGVtZW50UmVnaXN0cnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDdXN0b21FbGVtZW50UmVnaXN0
cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUJFODRFREMyNUM1MTEyRTAwNjY1
RTkzIC8qIEpTU3RhdGljUmFuZ2VDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdGF0
aWNSYW5nZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCRUQyQ0FG
MUY3Q0MwNjIwMDY2NjAxOCAvKiBQYXN0ZWJvYXJkQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBQYXN0ZWJvYXJkQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlC
RjQzMzc2MUY2NzYxOUIwMEUxRkQ3MSAvKiBXZWJDb250ZW50UmVhZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRlbnRSZWFkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOUJGOUE4N0UxNjQ4REQyRjAwMUM2QjIzIC8qIEpTSFRNTEZvcm1Db250
cm9sc0NvbGxlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMTkxNCw4ICsyMTkxNSw4IEBACiAJCQkJNDQ1Nzc1RTQyMDQ3MkY3MzAwOERDRTVE
IC8qIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCAqLywKIAkJCQk0NDU3NzVFOTIwNDcz
MDNCMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5tbSAqLywKIAkJCQkx
NDAyNjQ1RDBBRkRDMTlCMDA1OTE5RTIgLyogTG9nZ2luZ01hYy5tbSAqLywKLQkJCQlDRDhBQ0E4
QzFEMjM5NzE5MDBFQ0M1OUUgLyogTWVkaWFSZW1vdGVTb2Z0TGluay5tbSAqLywKIAkJCQlDRDhB
Q0E4RDFEMjM5NzE5MDBFQ0M1OUUgLyogTWVkaWFSZW1vdGVTb2Z0TGluay5oICovLAorCQkJCUNE
OEFDQThDMUQyMzk3MTkwMEVDQzU5RSAvKiBNZWRpYVJlbW90ZVNvZnRMaW5rLm1tICovLAogCQkJ
CTkzNTAwRjMxMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5oICovLAog
CQkJCTUyRjUyRTEwMTRBMDEzNEYwMEFDQzM5NyAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5tbSAq
LywKIAkJCQk0QjI3MDk4MTBBRjJFNUUwMDA2NTEyN0YgLyogUGFzdGVib2FyZE1hYy5tbSAqLywK
QEAgLTIyNzc4LDYgKzIyNzc5LDcgQEAKIAkJCQk1ODg0RkU1NjIyODEzRTJEMDA0MEFGRjYgLyog
SlNSZXNpemVPYnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKIAkJCQk4M0Y1NzI5NDFGQTEwNjZG
MDAzODM3QkUgLyogSlNTZXJ2aWNlV29ya2VyQ2xpZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk0NjBE
MTk0NDFGQ0UyMUREMDBDM0RCODUgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVDdXN0b20u
Y3BwICovLAorCQkJCTlCRTg0RURDMjVDNTExMkUwMDY2NUU5MyAvKiBKU1N0YXRpY1JhbmdlQ3Vz
dG9tLmNwcCAqLywKIAkJCQlCQzk4QTI3QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0
Q3VzdG9tLmNwcCAqLywKIAkJCQlBRDcyNkZFQzE2RDlGNEI5MDAzQTRFNkQgLyogSlNTdHlsZVNo
ZWV0Q3VzdG9tLmggKi8sCiAJCQkJQjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0
aFNlZ0N1c3RvbS5jcHAgKi8sCkBAIC0yNzQwNiw5ICsyNzQwOCw5IEBACiAJCQkJQ0JCNkIyRDIx
Q0I3QUREMDAwOUVERTFBIC8qIExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnRzLmggKi8sCiAJCQkJ
NTFBQkY2NEMxNjM5MkUyODAwMTMyQTdBIC8qIExvYWRlclN0cmF0ZWd5LmNwcCAqLywKIAkJCQk1
MUU2ODIwRjE2Mzg3MzAyMDAzQkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCAqLywKKwkJCQlFNDdG
QzhBMTI1Qjg0RDcxMDA1NDk1RkMgLyogTG9hZFNjaGVkdWxpbmdNb2RlLmggKi8sCiAJCQkJODYx
QzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIExvYWRUaW1pbmcuY3BwICovLAogCQkJCThBMTJFMzVD
MTFGQTMzMjgwMDI1ODM2QSAvKiBMb2FkVGltaW5nLmggKi8sCi0JCQkJRTQ3RkM4QTEyNUI4NEQ3
MTAwNTQ5NUZDIC8qIExvYWRTY2hlZHVsaW5nTW9kZS5oICovLAogCQkJCUNFRUZDRDc3MTlEQjMx
RjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCAqLywKIAkJCQlDRUVGQ0Q3ODE5
REIzMUY3MDAzODc2RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5oICovLAogCQkJCTUyRjEwODYy
MTYyQjZEODIwMDlBQzgxRSAvKiBNaXhlZENvbnRlbnRDaGVja2VyLmNwcCAqLywKQEAgLTMzNjQ1
LDYgKzMzNjQ3LDcgQEAKIAkJCQk5NzU5RTk0OTE0RUYxRDQ5MDAyNkEyREQgLyogTG9hZGFibGVU
ZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NkQzNzMyMEFEQkE1REUwMEE0NTU0RCAv
KiBMb2FkZXJOU1VSTEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFFNjgyMTAxNjM4NzMw
MjAwM0JCRjNDIC8qIExvYWRlclN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDdGQzhB
MzI1Qjg0RDcyMDA1NDk1RkMgLyogTG9hZFNjaGVkdWxpbmdNb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4QTEyRTM1RDExRkEzMzI4MDAyNTgzNkEgLyogTG9hZFRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDZFODFFRDcwQUI1RDVFOTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8q
IExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDM0Miw3
ICszNDM0NSw2IEBACiAJCQkJNDM2NzA4RDUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jl
c291cmNlRmlsdGVyUHJpbWl0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzY3MDhENzEyRDlD
QTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDM2NzA4RDkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTRGRTMyMjVCRUJEMTkwMDlEOUYyMCAv
KiBSVENSdGNwUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4REIxMkQ5Q0E0
QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jlc291cmNlTWFya2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MzY3MDhERDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQzNjcwOERGMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdS
ZXNvdXJjZVBhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtMzQ0NTYsNiArMzQ0NTgsNyBAQAog
CQkJCTA3OEUwOTQyMTdEMTZFMUMwMDQyMEFBMSAvKiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOUU2RUM5MjU2NkQyNzgwMDJCNTAxMCAvKiBS
VENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUw
OTI0MTdEMTREMUMwMDQyMEFBMSAvKiBSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTE0RkUzMjI1QkVCRDE5MDA5RDlGMjAgLyogUlRDUnRjcFBhcmFtZXRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNBNyAvKiBSVENS
dHBDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYzMUJDRUUzMkIwMDAx
RTJCQyAvKiBSVENSdHBSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzQzhCMzUyNTUy
RjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zNDk1Nyw3ICszNDk2MCw2IEBACiAJCQkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIw
IC8qIFNWR1BhdGhVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTg4MEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NF
NThENEExREQ2NEE1QjAwMTI4NTUyIC8qIFNWR1BvaW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlF
NDdGQzhBMzI1Qjg0RDcyMDA1NDk1RkMgLyogTG9hZFNjaGVkdWxpbmdNb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMjIyN0E4QzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0E4RjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9seUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTkxMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQ
b2x5Z29uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N0YXRpY1JhbmdlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU3RhdGljUmFuZ2VDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwZjkxMWEyZjQ5
M2M2MTIzYjI2NGNlM2YzMDMxZDljM2U2MWI1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0YXRpY1JhbmdlQ3VzdG9tLmNwcApAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTU3RhdGlj
UmFuZ2UuaCIKKworI2luY2x1ZGUgIlN0YXRpY1JhbmdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordm9pZCBKU1N0YXRpY1JhbmdlOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihKU0M6OlNs
b3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHdyYXBwZWQoKS52aXNpdE5vZGVzQ29uY3VycmVu
dGx5KHZpc2l0b3IpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0
YXRpY1JhbmdlLmNwcAppbmRleCA5NmJjZmI4MjE2Y2ZkYTZjN2E3ZThmNzU2YWVjMDhjNjk4NzJk
YmY0Li42ZjhhY2Q0NGFkZjZkNDhjYmRhZWU1MmMyMTNiZjEwZjBjZmViZGE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdGF0aWNSYW5nZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdGF0aWNS
YW5nZS5oIgogCiAjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgorI2luY2x1ZGUgIkpTTm9kZS5o
IgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
CkBAIC03NSw0ICs3NiwxMCBAQCBFeGNlcHRpb25PcjxSZWY8U3RhdGljUmFuZ2U+PiBTdGF0aWNS
YW5nZTo6Y3JlYXRlKEluaXQmJiBpbml0KQogICAgIHJldHVybiBjcmVhdGUoeyB7IGluaXQuc3Rh
cnRDb250YWluZXIucmVsZWFzZU5vbk51bGwoKSwgaW5pdC5zdGFydE9mZnNldCB9LCB7IGluaXQu
ZW5kQ29udGFpbmVyLnJlbGVhc2VOb25OdWxsKCksIGluaXQuZW5kT2Zmc2V0IH0gfSk7CiB9CiAK
K3ZvaWQgU3RhdGljUmFuZ2U6OnZpc2l0Tm9kZXNDb25jdXJyZW50bHkoSlNDOjpTbG90VmlzaXRv
ciYgdmlzaXRvcikgY29uc3QKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qocm9vdChzdGFy
dC5jb250YWluZXIuZ2V0KCkpKTsKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qocm9vdChlbmQu
Y29udGFpbmVyLmdldCgpKSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdGF0aWNSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY1JhbmdlLmgKaW5kZXgg
ZjdkN2Y1YjRmMzQwNzc2YzAyMDM3ZmM5ODM0OThhMTU1ZTk0ZTExZi4uMGIzMDlhNmY5NTFmNGNi
Yzg0NzFjOTAwZWZhMzg2OTg0YzA3NDdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1N0YXRpY1JhbmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY1JhbmdlLmgKQEAg
LTI4LDYgKzI4LDEyIEBACiAjaW5jbHVkZSAiQWJzdHJhY3RSYW5nZS5oIgogI2luY2x1ZGUgIlNp
bXBsZVJhbmdlLmgiCiAKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBTbG90VmlzaXRvcjsKKwor
fQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBFeGNl
cHRpb25PcjsKQEAgLTUyLDYgKzU4LDggQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGVuZE9mZnNl
dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFNpbXBsZVJhbmdlOjplbmRPZmZzZXQoKTsgfQogICAg
IGJvb2wgY29sbGFwc2VkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gU2ltcGxlUmFuZ2U6OmNvbGxh
cHNlZCgpOyB9CiAKKyAgICB2b2lkIHZpc2l0Tm9kZXNDb25jdXJyZW50bHkoSlNDOjpTbG90Vmlz
aXRvciYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFN0YXRpY1JhbmdlKFNpbXBsZVJhbmdlJiYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL1N0YXRpY1JhbmdlLmlkbAppbmRleCAxMTI2NDhhMDgxNjkyNjRiODVh
NmQxODQ5M2M2MzgwOGI1NDg5MjY2Li5kMjM3NGNlMDMzOTQwOWZjN2I4YWU1YzE1YTkyZDQ2OWU0
YmU5YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwKQEAgLTI2LDYgKzI2LDcgQEAK
IFsKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisg
ICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBdIGludGVyZmFjZSBTdGF0aWNSYW5nZSA6IEFic3Ry
YWN0UmFuZ2UgewogICAgIGNvbnN0cnVjdG9yKFN0YXRpY1JhbmdlSW5pdCBpbml0KTsKIH07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYTVkODcwMzAzZWViZTE2ZTg3ZDdlZTU5NmI4MjVmNzc1MjEzOTc4OC4uZmI0N2NkZGFj
ZjQ5ZjUyMTM1Y2Y0Mjg4NDhkOTRiZGI3MzE1NWFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDIxLTAxLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFN0
YXRpY1JhbmdlIHNob3VsZCBrZWVwIGl0cyBzdGFydCBhbmQgZW5kIGNvbnRhaW5lcnMgYWxpdmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEg
cmVncmVzc2lvbiB0ZXN0LgorCisgICAgICAgICogZmFzdC9kb20vc3RhdGljLXJhbmdlLWdjLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc3RhdGljLXJhbmdlLWdjLmh0
bWw6IEFkZGVkLgorCiAyMDIxLTAxLTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IGRvZXNuJ3QgYXV0b21hdGljYWxseSByaWdodC1h
bGlnbiBBZGxhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc3RhdGljLXJhbmdl
LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3N0YXRpYy1yYW5nZS1nYy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThjOWU2Njk5ZGZmYzQ0MTE3M2Y1N2IyZTRkZDViMGU2
NmViNGQ2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3N0YXRpYy1y
YW5nZS1nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OSBAQAorVGhpcyB0ZXN0cyBrZWVwaW5n
IG5vZGVzIGFsaXZlIHZpYSBTdGF0aWNSYW5nZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyByYW5nZS5zdGFydENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBp
cyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUg
aXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1l
IGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFt
ZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRDb250YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5h
bWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5kQ29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxO
YW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFydENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2Fs
TmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2Nh
bE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9j
YWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxv
Y2FsTmFtZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRDb250YWluZXIuZ2V0Um9vdE5vZGUoKS5s
b2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5kQ29udGFpbmVyLmdldFJvb3ROb2RlKCku
bG9jYWxOYW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFydENvbnRhaW5lci5nZXRSb290Tm9kZSgp
LmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250YWluZXIuZ2V0Um9vdE5vZGUo
KS5sb2NhbE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29udGFpbmVyLmdldFJvb3ROb2Rl
KCkubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENvbnRhaW5lci5nZXRSb290Tm9k
ZSgpLmxvY2FsTmFtZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRDb250YWluZXIuZ2V0Um9vdE5v
ZGUoKS5sb2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5kQ29udGFpbmVyLmdldFJvb3RO
b2RlKCkubG9jYWxOYW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFydENvbnRhaW5lci5nZXRSb290
Tm9kZSgpLmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250YWluZXIuZ2V0Um9v
dE5vZGUoKS5sb2NhbE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29udGFpbmVyLmdldFJv
b3ROb2RlKCkubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENvbnRhaW5lci5nZXRS
b290Tm9kZSgpLmxvY2FsTmFtZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRDb250YWluZXIuZ2V0
Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5kQ29udGFpbmVyLmdl
dFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFydENvbnRhaW5lci5n
ZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250YWluZXIu
Z2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29udGFpbmVy
LmdldFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENvbnRhaW5l
ci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRDb250YWlu
ZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5kQ29udGFp
bmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFydENvbnRh
aW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5lbmRDb250
YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0YXJ0Q29u
dGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdlLmVuZENv
bnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAicCIKK1BBU1MgcmFuZ2Uuc3RhcnRD
b250YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgcmFuZ2UuZW5k
Q29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJwIgorUEFTUyByYW5nZS5zdGFy
dENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyByYW5nZS5l
bmRDb250YWluZXIuZ2V0Um9vdE5vZGUoKS5sb2NhbE5hbWUgaXMgInAiCitQQVNTIHJhbmdlLnN0
YXJ0Q29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIHJhbmdl
LmVuZENvbnRhaW5lci5nZXRSb290Tm9kZSgpLmxvY2FsTmFtZSBpcyAicCIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zdGF0aWMtcmFuZ2UtZ2MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3N0YXRpYy1yYW5nZS1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3YzdmODdhZTVjNzM4N2VlZmI1
N2MxNzIzOTNiOTE4OTE3YWVjNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zdGF0aWMtcmFuZ2UtZ2MuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiIGNvbnRlbnRlZGl0YWJsZT48
L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KworZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMga2VlcGluZyBub2RlcyBhbGl2ZSB2aWEgU3RhdGlj
UmFuZ2UnKTsKKworZnVuY3Rpb24gY3JlYXRlUmFuZ2UoKSB7CisgICAgY29udGFpbmVyLmlubmVy
SFRNTCA9ICc8ZGl2PjxlbT5oZWxsbzwvZW0+PC9kaXY+PHA+PGI+PHNwYW4+d29ybGQ8L3NwYW4+
PC9wPic7CisgICAgY29udGFpbmVyLmZvY3VzKCk7CisgICAgZ2V0U2VsZWN0aW9uKCkuc2V0QmFz
ZUFuZEV4dGVudChjb250YWluZXIsIDAsIGNvbnRhaW5lciwgMik7CisgICAgbGV0IHJhbmdlOwor
ICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmVpbnB1dCcsIChldmVudCkgPT4g
eworICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICByYW5nZSA9IGV2ZW50
LmdldFRhcmdldFJhbmdlcygpWzBdOworICAgIH0sIHtvbmNlOiB0cnVlfSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoJ2RlbGV0ZScsIGZhbHNlLCBudWxsKTsKKyAgICByZXR1cm4gcmFuZ2U7
Cit9CisKK2NvbnN0IHJhbmdlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7
CisgICAgcmFuZ2VzLnB1c2goY3JlYXRlUmFuZ2UoKSk7CisgICAgZ2MoKTsKK30KK2NvbnRhaW5l
ci5pbm5lckhUTUwgPSAnJzsKKworbGV0IHJhbmdlOworZm9yIChyYW5nZSBvZiByYW5nZXMpIHsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3JhbmdlLnN0YXJ0Q29udGFpbmVyLmdldFJvb3RO
b2RlKCkubG9jYWxOYW1lJywgJ2RpdicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncmFu
Z2UuZW5kQ29udGFpbmVyLmdldFJvb3ROb2RlKCkubG9jYWxOYW1lJywgJ3AnKTsKK30KKworc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="436875"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>