<?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>239431</bug_id>
          
          <creation_ts>2022-04-16 23:37:00 -0700</creation_ts>
          <short_desc>Make release assertion in Document::updateLayout more precise for FrameSelection::setSelection</short_desc>
          <delta_ts>2022-05-03 11:15:23 -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>REOPENED</bug_status>
          <resolution></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>
          <dependson>239520</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</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>1862117</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-16 23:37:00 -0700</bug_when>
    <thetext>Introduce a new mechanism to denote that layout is up-to-date so that
the release assertion in Document::updateLayout can allow such a construct
even when ScriptDisallowedScope exists.

This will be used in FrameSelection::setSelection for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862119</commentid>
    <comment_count>1</comment_count>
      <attachid>457766</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-16 23:41:18 -0700</bug_when>
    <thetext>Created attachment 457766
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862120</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-16 23:41:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/90482211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862126</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-17 01:08:05 -0700</bug_when>
    <thetext>Committed r292947 (?): &lt;https://commits.webkit.org/r292947&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862127</commentid>
    <comment_count>4</comment_count>
      <attachid>457766</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-17 01:08:12 -0700</bug_when>
    <thetext>Comment on attachment 457766
Patch for landing

Sigh... CQ is taking forever here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862128</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-17 01:08:57 -0700</bug_when>
    <thetext>https://commits.webkit.org/249712@main</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862734</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-04-19 14:59:55 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 239520</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457766</attachid>
            <date>2022-04-16 23:41:18 -0700</date>
            <delta_ts>2022-04-17 01:08:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-239431-20220416234117.patch</filename>
            <type>text/plain</type>
            <size>23882</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5Mjk0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIyLTA0LTE2ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1ha2UgcmVsZWFzZSBhc3NlcnRp
b24gaW4gRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCBtb3JlIHByZWNpc2UgZm9yIEZyYW1lU2VsZWN0
aW9uOjpzZXRTZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTQzMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisg
ICAgICAgIEF2b2lkIHRoZSBhc3NlcnRpb24gZmFpbHVyZSBieSBhbGxvd2luZyBuby1vcCBsYXlv
dXQgdXBkYXRlcyB3aXRoaW4gRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbi4KKworICAgICAg
ICBUbyBkbyB0aGlzLCB0aGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgUkFJSSBvYmplY3QsIFVw
VG9EYXRlTGF5b3V0U2NvcGUsIHdoaWNoIGRlbm90ZXMgd2hlbiB3aGVuIHRoZSBsYXlvdXQKKyAg
ICAgICAgaXMgdXAtdG8tZGF0ZSBhbmQgdGhlcmVmb3JlIGRvZXMgbm90IHJlcXVpcmUgYSBuZXcg
bGF5b3V0IHVwZGF0ZS4gV2hlbiB0aGlzIHNjb3BlIGV4aXN0cyBpbiB0aGUgc3RhY2sgZnJhbWUs
CisgICAgICAgIHdlIGFsbG93IGNhbGxzIHRvIERvY3VtZW50Ojp1cGRhdGVMYXlvdXQgZXZlbiBp
bnNpZGUgU2NyaXB0RGlzYWxsb3dlZFNjb3BlLiBXZSBhbHNvIGFzc2VydCB0aGF0IG5vYm9keSBh
dHRlbXB0cworICAgICAgICB0byBzY2hlZHVsZSBhIG5ldyBzdHlsZSByZXNvbHV0aW9uIG9yIGxh
eW91dCB3aGVuIHRoaXMgb2JqZWN0IGV4aXN0cy4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1z
L3RleHRhcmVhLXNlbGVjdGlvbi11cGRhdGUtZHVyaW5nLURPTU5vZGVSZW1vdmVkLWNyYXNoLmh0
bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNjaGVk
dWxlU3R5bGVSZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxheW91
dCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6dXBUb0RhdGVMYXlvdXRTY29wZUNvdW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjppbmNyZW1lbnRVcFRvRGF0ZUxheW91dFNjb3BlQ291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudFVwVG9EYXRlTGF5b3V0U2NvcGVDb3VudCk6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlld0xheW91
dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6
c2NoZWR1bGVMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNTZXROZWVkc0xheW91dEZvcmJpZGRlbiBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1VwVG9EYXRlTGF5b3V0U2NvcGUuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpVcFRvRGF0ZUxheW91dFNjb3BlOjpVcFRvRGF0ZUxheW91dFNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OlVwVG9EYXRlTGF5b3V0U2NvcGU6On5VcFRvRGF0ZUxh
eW91dFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OlVwVG9EYXRlTGF5b3V0U2NvcGU6OnNjb3Bl
SWZMYXlvdXRJc1VwVG9VcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VXBUb0RhdGVMYXlvdXRT
Y29wZTo6bmVlZHNMYXlvdXQpOgorCiAyMDIyLTA0LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBTdHJpbmc6OnRydW5jYXRlKCkgYW5kIHVzZSBTdHJp
bmc6OmxlZnQoKSBpbnN0ZWFkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyOTI5NDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTMyODEsNiArMzI4MSw3IEBACiAJCTlCMjdGQzYwMjM0RDlBREIwMDM5NEE0NiAvKiBXaW5kb3dF
dmVudExvb3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlCMjdGQzVFMjM0RDlBREEwMDM5NEE0NiAvKiBXaW5kb3dFdmVudExvb3AuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5QjJEOEE3OTE0OTk3Q0NG
MDBFQ0VGM0UgLyogVW5kb1N0ZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlCMkQ4QTc4MTQ5OTdDQ0YwMEVDRUYzRSAvKiBVbmRvU3RlcC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlCMzJDREE5MTNE
RjdGQTkwMEYzNEQxMyAvKiBSZW5kZXJlZFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjMyQ0RBNzEzREY3RkE5MDBGMzREMTMgLyogUmVu
ZGVyZWRQb3NpdGlvbi5oICovOyB9OworCQk5QjMzREY4NjI4MDkwQjU2MDBFQ0ZBRTcgLyogVXBU
b0RhdGVMYXlvdXRTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOUIzM0RGODQyODA5MEI1NjAwRUNGQUU3IC8qIFVwVG9EYXRlTGF5b3V0U2NvcGUu
aCAqLzsgfTsKIAkJOUI0MTcwNjQxMjU2NjJCMzAwNkIyOEZDIC8qIEFwcGx5QmxvY2tFbGVtZW50
Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUI0MTcwNjIxMjU2NjJCMzAwNkIyOEZDIC8qIEFwcGx5QmxvY2tFbGVtZW50Q29tbWFuZC5oICov
OyB9OwogCQk5QjUwQjFERTE3Q0Q0QzBGMDA4N0Y2M0MgLyogRm9ybU5hbWVkSXRlbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUI1MEIxREMxN0NENEMw
RjAwODdGNjNDIC8qIEZvcm1OYW1lZEl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5QjUzMkVBNDFCQTkyODU3MDAzOEE4MjcgLyogU2xvdEFz
c2lnbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlCNTMyRUEyMUJBOTI4NTcwMDM4QTgyNyAvKiBTbG90QXNzaWdubWVudC5oICovOyB9OwpAQCAt
MTM0NjYsNiArMTM0NjcsNyBAQAogCQk5QjJEOEE3ODE0OTk3Q0NGMDBFQ0VGM0UgLyogVW5kb1N0
ZXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5kb1N0ZXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIzMkNEQTcxM0RGN0ZBOTAwRjM0RDEzIC8qIFJlbmRl
cmVkUG9zaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyZWRQ
b3NpdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjMyQ0RBODEzREY3RkE5
MDBGMzREMTMgLyogUmVuZGVyZWRQb3NpdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZW5kZXJlZFBvc2l0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOUIzM0RGODQyODA5MEI1NjAwRUNGQUU3IC8qIFVwVG9EYXRlTGF5b3V0U2NvcGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVXBUb0RhdGVMYXlvdXRTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5QjQxNzA2MjEyNTY2MkIzMDA2QjI4RkMgLyogQXBwbHlCbG9ja0VsZW1l
bnRDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGx5QmxvY2tF
bGVtZW50Q29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjQxNzA2MzEy
NTY2MkIzMDA2QjI4RkMgLyogQXBwbHlCbG9ja0VsZW1lbnRDb21tYW5kLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGx5QmxvY2tFbGVtZW50Q29tbWFuZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCNDM3NkVGMjExN0U4NzIwMDlEMDNBMCAv
KiBUaHJvd09uRHluYW1pY01hcmt1cEluc2VydGlvbkNvdW50SW5jcmVtZW50ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVGhyb3dPbkR5bmFtaWNNYXJrdXBJbnNlcnRpb25Db3VudEluY3JlbWVudGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMjQyMSw2ICszMjQyMyw3IEBACiAJCQkJ
MUMxOERBNTcxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmggKi8sCiAJCQkJRTRDOTFB
MEYxODAyMzQzOTAwQTE3RjZEIC8qIFRleHRQYWludFN0eWxlLmNwcCAqLywKIAkJCQlFNEM5MUEw
RDE4MDIzNDMxMDBBMTdGNkQgLyogVGV4dFBhaW50U3R5bGUuaCAqLywKKwkJCQk5QjMzREY4NDI4
MDkwQjU2MDBFQ0ZBRTcgLyogVXBUb0RhdGVMYXlvdXRTY29wZS5oICovLAogCQkJCUJDQTI1NzE0
MTI5M0MwMTAwMDdBMjYzRCAvKiBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gcmVuZGVyaW5nOwpAQCAtMzgwNDAsNiArMzgwNDMsNyBAQAogCQkJCUMxOENDMEE0
MjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEMDg2RkU5ODA5RDUzQUFCMDA1QkM3NEQgLyogVW5saW5rQ29tbWFuZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkQxNzYyRTAxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOUIzM0RGODYyODA5MEI1NjAwRUNGQUU3IC8qIFVwVG9EYXRlTGF5b3V0
U2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzN0EyMUQ1N0IzRkUwMEFCODVFQSAvKiBV
UkxEZWNvbXBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjc3MjYwNTFBNURGNkYyMDAz
QzI0REQgLyogVVJMRmlsdGVyUGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RERTEy
NTFGMTJEMDAzRUYyNjkgLyogVVJMSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjkyOTQ2KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUyLDYgKzI1Miw3IEBACiAjaW5j
bHVkZSAiVHJhbnNmb3JtU291cmNlLmgiCiAjaW5jbHVkZSAiVHJlZVdhbGtlci5oIgogI2luY2x1
ZGUgIlVuZG9NYW5hZ2VyLmgiCisjaW5jbHVkZSAiVXBUb0RhdGVMYXlvdXRTY29wZS5oIgogI2lu
Y2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVmFsaWRhdGlvbk1lc3Nh
Z2VDbGllbnQuaCIKICNpbmNsdWRlICJWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50LmgiCkBAIC0xOTc3
LDYgKzE5NzgsNyBAQCB2b2lkIERvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICBp
ZiAobV9zdHlsZVJlY2FsY1RpbWVyLmlzQWN0aXZlKCkgfHwgYmFja0ZvcndhcmRDYWNoZVN0YXRl
KCkgIT0gTm90SW5CYWNrRm9yd2FyZENhY2hlKQogICAgICAgICByZXR1cm47CiAKKyAgICBSRUxF
QVNFX0FTU0VSVCghbV91cFRvRGF0ZUxheW91dFNjb3BlQ291bnQpOwogICAgIEFTU0VSVChjaGls
ZE5lZWRzU3R5bGVSZWNhbGMoKSB8fCBtX25lZWRzRnVsbFN0eWxlUmVidWlsZCk7CiAKICAgICBt
X3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CkBAIC0yMjI0LDcgKzIyMjYsOSBA
QCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKGlzU2FmZVRvVXBkYXRlU3R5bGVPckxheW91dCgqdGhpcykpOwor
CisgICAgYm9vbCBzYWZlVG9VcGRhdGVTdHlsZU9yTGF5b3V0ID0gaXNTYWZlVG9VcGRhdGVTdHls
ZU9yTGF5b3V0KCp0aGlzKTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKHNhZmVUb1VwZGF0ZVN0eWxlT3JMYXlvdXQgfHwgKG1fdXBUb0RhdGVMYXlvdXRTY29w
ZUNvdW50ICYmICFVcFRvRGF0ZUxheW91dFNjb3BlOjpuZWVkc0xheW91dCgqdGhpcykpKTsKIAog
ICAgIFJlbmRlclZpZXc6OlJlcGFpbnRSZWdpb25BY2N1bXVsYXRvciByZXBhaW50UmVnaW9uQWNj
dW11bGF0b3IocmVuZGVyVmlldygpKTsKIApAQCAtMjI0MCw2ICsyMjQ0LDkgQEAgdm9pZCBEb2N1
bWVudDo6dXBkYXRlTGF5b3V0KCkKICAgICBpZiAoIWZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgp
LmlzTGF5b3V0UGVuZGluZygpICYmICFyZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIC8vIG5lZWRzTGF5b3V0IG1heSBoYXZlIGNoYW5nZWQuCisgICAg
UkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihzYWZlVG9VcGRhdGVTdHls
ZU9yTGF5b3V0KTsKKwogICAgIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmxheW91dCgpOwog
CiAgICAgU3R5bGU6OlNjb3BlOjpRdWVyeUNvbnRhaW5lclVwZGF0ZUNvbnRleHQgcXVlcnlDb250
YWluZXJVcGRhdGVDb250ZXh0OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDI5
Mjk0NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02MjEsNyArNjIxLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBsYXN0U3R5bGVVcGRhdGVT
aXplRm9yVGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFN0eWxlVXBkYXRlU2l6ZUZvclRl
c3Rpbmc7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5b3V0KCk7Ci0gICAg
CisKKyAgICB1bnNpZ25lZCB1cFRvRGF0ZUxheW91dFNjb3BlQ291bnQoKSBjb25zdCB7IHJldHVy
biBtX3VwVG9EYXRlTGF5b3V0U2NvcGVDb3VudDsgfQorICAgIHZvaWQgaW5jcmVtZW50VXBUb0Rh
dGVMYXlvdXRTY29wZUNvdW50KCkgeyArK21fdXBUb0RhdGVMYXlvdXRTY29wZUNvdW50OyB9Cisg
ICAgdm9pZCBkZWNyZW1lbnRVcFRvRGF0ZUxheW91dFNjb3BlQ291bnQoKSB7IEFTU0VSVChtX3Vw
VG9EYXRlTGF5b3V0U2NvcGVDb3VudCk7IC0tbV91cFRvRGF0ZUxheW91dFNjb3BlQ291bnQ7IH0K
KwogICAgIC8vIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpIGZvcmNlcyBs
YXlvdXQgZXZlbiBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgcGVuZGluZyBzdHlsZXNoZWV0IGxvYWRz
LAogICAgIC8vIHNvIGNhbGxpbmcgdGhpcyBtYXkgY2F1c2UgYSBmbGFzaCBvZiB1bnN0eWxlZCBj
b250ZW50IChGT1VDKS4KICAgICBlbnVtIGNsYXNzIFJ1blBvc3RMYXlvdXRUYXNrcyB7IEFzeW5j
aHJvbm91c2x5LCBTeW5jaHJvbm91c2x5IH07CkBAIC0yMTA3LDYgKzIxMTEsOCBAQCBwcml2YXRl
OgogCiAgICAgdW5zaWduZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoIHsgMCB9OwogCisgICAgdW5z
aWduZWQgbV91cFRvRGF0ZUxheW91dFNjb3BlQ291bnQgeyAwIH07CisKICAgICBJbmhlcml0ZWRC
b29sIG1fZGVzaWduTW9kZSB7IGluaGVyaXQgfTsKICAgICBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZUZsYWdzIG1fbWVkaWFTdGF0ZTsKICAgICBib29sIG1fdXNlckhhc0ludGVyYWN0ZWRXaXRoTWVk
aWFFbGVtZW50IHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCShyZXZpc2lvbiAyOTI5NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsNyBAQAogI2lu
Y2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0eWxlVHJlZVJlc29sdmVyLmgi
CiAjaW5jbHVkZSAiVHlwaW5nQ29tbWFuZC5oIgorI2luY2x1ZGUgIlVwVG9EYXRlTGF5b3V0U2Nv
cGUuaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlIDxzdGRpby5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTQ0NywxMSArNDQ4LDggQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IAogICAgIG1fc2VsZWN0aW9uUmV2ZWFsSW50
ZW50ID0gaW50ZW50OwogICAgIG1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZSA9IHRydWU7CiAKLSAg
ICBpZiAocHJvdGVjdGVkRG9jdW1lbnQtPmhhc1BlbmRpbmdTdHlsZVJlY2FsYygpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBhdXRvIGZyYW1lVmlldyA9IHByb3RlY3RlZERvY3VtZW50LT52aWV3
KCk7Ci0gICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xh
eW91dFBlbmRpbmcoKSkKKyAgICBhdXRvIGxheW91dFNjb3BlID0gVXBUb0RhdGVMYXlvdXRTY29w
ZTo6c2NvcGVJZkxheW91dElzVXBUb1VwZGF0ZSgqcHJvdGVjdGVkRG9jdW1lbnQpOworICAgIGlm
ICghbGF5b3V0U2NvcGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgb3B0aW9ucy5jb250YWlu
cyhSZXZlYWxTZWxlY3Rpb25Cb3VuZHMpID8gUmV2ZWFsRXh0ZW50T3B0aW9uOjpEb05vdFJldmVh
bEV4dGVudCA6IFJldmVhbEV4dGVudE9wdGlvbjo6UmV2ZWFsRXh0ZW50KTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAkocmV2aXNpb24g
MjkyOTQ2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzczLDYgKzM3Myw4IEBAIHZvaWQgRnJhbWVWaWV3TGF5b3V0
Q29udGV4dDo6c2NoZWR1bGVMYXkKICAgICAvLyB0b28gbWFueSBmYWxzZSBhc3NlcnRpb25zLiBT
ZWUgPHJkYXI6Ly9wcm9ibGVtLzcyMTgxMTg+LgogICAgIEFTU0VSVChmcmFtZSgpLnZpZXcoKSA9
PSAmdmlldygpKTsKIAorICAgIFJFTEVBU0VfQVNTRVJUKCFmcmFtZSgpLmRvY3VtZW50KCktPnVw
VG9EYXRlTGF5b3V0U2NvcGVDb3VudCgpKTsKKwogICAgIGlmIChzdWJ0cmVlTGF5b3V0Um9vdCgp
KQogICAgICAgICBjb252ZXJ0U3VidHJlZUxheW91dFRvRnVsbExheW91dCgpOwogICAgIGlmICgh
aXNMYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMjkyOTQ2KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTY2LDcgKzExNjYsNyBA
QCBpbmxpbmUgYXV0byBSZW5kZXJPYmplY3Q6OnZpc2libGVSZWN0Q29uCiBpbmxpbmUgYm9vbCBS
ZW5kZXJPYmplY3Q6OmlzU2V0TmVlZHNMYXlvdXRGb3JiaWRkZW4oKSBjb25zdAogewogI2lmIEFT
U0VSVF9FTkFCTEVECi0gICAgcmV0dXJuIG1fc2V0TmVlZHNMYXlvdXRGb3JiaWRkZW47CisgICAg
cmV0dXJuIG1fc2V0TmVlZHNMYXlvdXRGb3JiaWRkZW4gfHwgZG9jdW1lbnQoKS51cFRvRGF0ZUxh
eW91dFNjb3BlQ291bnQoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVXBUb0RhdGVMYXlvdXRTY29wZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9VcFRvRGF0ZUxheW91dFNjb3BlLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1VwVG9EYXRlTGF5b3V0U2Nv
cGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgor
I2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBV
cFRvRGF0ZUxheW91dFNjb3BlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVcFRvRGF0ZUxh
eW91dFNjb3BlKTsKK3B1YmxpYzoKKyAgICBVcFRvRGF0ZUxheW91dFNjb3BlKERvY3VtZW50JiBk
b2N1bWVudCkKKyAgICAgICAgOiBtX2RvY3VtZW50IHsgJmRvY3VtZW50IH0KKyAgICB7CisgICAg
ICAgIG1fZG9jdW1lbnQtPmluY3JlbWVudFVwVG9EYXRlTGF5b3V0U2NvcGVDb3VudCgpOworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghbmVlZHNMYXlvdXQoZG9jdW1lbnQpKTsKKyAgICB9CisgICAg
CisgICAgVXBUb0RhdGVMYXlvdXRTY29wZShVcFRvRGF0ZUxheW91dFNjb3BlJiYgc291cmNlKQor
ICAgICAgICA6IG1fZG9jdW1lbnQgeyBzdGQ6OmV4Y2hhbmdlKHNvdXJjZS5tX2RvY3VtZW50LCBu
dWxscHRyKSB9CisgICAgeworICAgIH0KKworICAgIH5VcFRvRGF0ZUxheW91dFNjb3BlKCkKKyAg
ICB7CisgICAgICAgIGlmIChtX2RvY3VtZW50KQorICAgICAgICAgICAgbV9kb2N1bWVudC0+ZGVj
cmVtZW50VXBUb0RhdGVMYXlvdXRTY29wZUNvdW50KCk7CisgICAgfQorCisgICAgc3RhdGljIHN0
ZDo6b3B0aW9uYWw8VXBUb0RhdGVMYXlvdXRTY29wZT4gc2NvcGVJZkxheW91dElzVXBUb1VwZGF0
ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICBpZiAobmVlZHNMYXlvdXQoZG9j
dW1lbnQpKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJu
IFVwVG9EYXRlTGF5b3V0U2NvcGUgeyBkb2N1bWVudCB9OworICAgIH0KKworICAgIHN0YXRpYyBi
b29sIG5lZWRzTGF5b3V0KERvY3VtZW50JiBkb2N1bWVudCkKKyAgICB7CisgICAgICAgIGlmIChk
b2N1bWVudC5uZWVkc1N0eWxlUmVjYWxjKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgUmVmUHRyIGZyYW1lVmlldyA9IGRvY3VtZW50LnZpZXcoKTsKKyAgICAgICAgcmV0dXJu
IGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5uZWVkc0xheW91dCgpOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Cit9Owor
Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyOTI5NDYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAyMi0wNC0xNiAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHJlbGVhc2UgYXNzZXJ0aW9uIGlu
IERvY3VtZW50Ojp1cGRhdGVMYXlvdXQgbW9yZSBwcmVjaXNlIGZvciBGcmFtZVNlbGVjdGlvbjo6
c2V0U2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzk0MzEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAg
ICBBZGQgYSByZWdyZXNzaW9uIHRlc3QsIGFuZCBmaXggZXhpc3RpbmcgYWNjZXNzaWJpbGl0eSB0
ZXN0cyB3aGljaCB3ZXJlIG11dGF0aW5nIERPTSBpbnNpZGUgc2V0U2VsZWN0aW9uCisgICAgICAg
IHZpYSBzaG91bGQqIGZ1bmN0aW9ucy4gSW4gcHJvZHVjdGlvbiwgdGhpcyB3aWxsIG5ldmVyIGhh
cHBlbiBzaW5jZSBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbiB3aWxsIGJlIHNlbnQKKyAgICAg
ICAgdG8gVUkgcHJvY2VzcyBhc3luY2hyb25vdXNseSBhbmQgYWNjZXNzc2liaWxpdHkgY29kZSB3
b24ndCB0cnkgdG8gbXV0YXRlIERPTSBzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5nLW5vdC1jbGVh
cmluZy1leHBlY3RlZC50eHQ6IFJlYmFzZWxpbmVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
bWFjL2ZvY3VzLXNldHRpbmctc2VsZWN0aW9uLXN5bmNyb25pemluZy1ub3QtY2xlYXJpbmcuaHRt
bDogRGVsYXkgRE9NIG11dGF0aW9ucyBpbiBzaG91bGQqCisgICAgICAgIHVudGlsIHRoZSBub3Rp
ZmljYXRpb24gaXMgb3Zlci4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24t
Y2hhbmdlLXVzZXJpbmZvLmh0bWw6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFj
L3NlbGVjdGlvbi1zeW5jLmh0bWw6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFj
L3NlbGVjdGlvbi12YWx1ZS1jaGFuZ2VzLWZvci1hcmlhLXRleHRib3guaHRtbDogRGl0dG8uCisg
ICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZWxlY3Rpb24tdXBkYXRlLWR1cmluZy1ET01O
b2RlUmVtb3ZlZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvdGV4dGFyZWEtc2VsZWN0aW9uLXVwZGF0ZS1kdXJpbmctRE9NTm9kZVJlbW92ZWQtY3Jhc2gu
aHRtbDogQWRkZWQuCisKIDIwMjItMDQtMTUgIE1hdHRlbyBGbG9yZXMgIDxtYXR0ZW9fZmxvcmVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUJBU0xJTkU6IFsgTW9udGVyZXkgd2syIF0gNyAvcGF5
bWVudHJlcXVlc3QvKiB0ZXN0cyBhcmUgY29uc3RhbnQgdGV4dCBmYWlsdXJlcwpJbmRleDogTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jv
bml6aW5nLW5vdC1jbGVhcmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3luY3Jvbml6aW5n
LW5vdC1jbGVhcmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI5Mjk0NikKKysrIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL2ZvY3VzLXNldHRpbmctc2VsZWN0aW9uLXN5bmNyb25pemlu
Zy1ub3QtY2xlYXJpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDkgKzcsOSBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyBhZGRl
ZE5vdGlmaWNhdGlvbiBpcyB0cnVlCi1QQVNTIGF4VGV4dFN0YXRlU3luY09uZSBpcyB1bmRlZmlu
ZWQKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCIx
IikuaXNGb2N1c2FibGUgaXMgdHJ1ZQogUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1
c2VkRWxlbWVudC5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgiMSIpKSBpcyB0cnVlCitQQVNTIGF4VGV4dFN0YXRlU3luY09uZSBpcyB1bmRlZmlu
ZWQKK1BBU1MgYWNjZXNzaWJsZUVsZW1lbnQxV2FzRm9jdXNhYmxlIGlzIHRydWUKIFBBU1MgYXhU
ZXh0U3RhdGVTeW5jVHdvIGlzIHVuZGVmaW5lZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9mb2N1cy1zZXR0aW5n
LXNlbGVjdGlvbi1zeW5jcm9uaXppbmctbm90LWNsZWFyaW5nLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvZm9jdXMtc2V0dGluZy1zZWxlY3Rpb24tc3lu
Y3Jvbml6aW5nLW5vdC1jbGVhcmluZy5odG1sCShyZXZpc2lvbiAyOTI5NDYpCisrKyBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9mb2N1cy1zZXR0aW5nLXNlbGVjdGlvbi1zeW5jcm9uaXpp
bmctbm90LWNsZWFyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKIAog
ICAgIHZhciB3ZWJBcmVhID0gMDsKICAgICB2YXIgYXhUZXh0U3RhdGVTeW5jT25lID0gMDsKKyAg
ICB2YXIgYWNjZXNzaWJsZUVsZW1lbnQxV2FzRm9jdXNhYmxlID0gZmFsc2U7CiAgICAgdmFyIGF4
VGV4dFN0YXRlU3luY1R3byA9IDA7CiAgICAgdmFyIHNlbGVjdENvdW50ID0gMDsKICAgICB2YXIg
Zm9jdXNDb3VudCA9IDA7CkBAIC0zOSwxMyArNDAsMTAgQEAKICAgICAgICAgICAgIHNlbGVjdENv
dW50Kys7CiAgICAgICAgICAgICBpZiAoc2VsZWN0Q291bnQgPT0gMSkgewogICAgICAgICAgICAg
ICAgIGF4VGV4dFN0YXRlU3luY09uZSA9IHVzZXJJbmZvWyJBWFRleHRTdGF0ZVN5bmMiXTsKLSAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiYXhUZXh0U3RhdGVTeW5jT25lIiwgInVuZGVmaW5lZCIp
OwotCi0gICAgICAgICAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZChcIjFcIikuaXNGb2N1c2FibGUiLCAidHJ1ZSIpOworICAgICAg
ICAgICAgICAgIGFjY2Vzc2libGVFbGVtZW50MVdhc0ZvY3VzYWJsZSA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiMSIpLmlzRm9jdXNhYmxlOwogICAgICAg
ICAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
MSIpLnRha2VGb2N1cygpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RDb3VudCA9PSAy
KSB7CiAgICAgICAgICAgICAgICAgYXhUZXh0U3RhdGVTeW5jVHdvID0gdXNlckluZm9bIkFYVGV4
dFN0YXRlU3luYyJdOwotICAgICAgICAgICAgICAgIHNob3VsZEJlKCJheFRleHRTdGF0ZVN5bmNU
d28iLCAidW5kZWZpbmVkIik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAobm90
aWZpY2F0aW9uID09ICJBWEZvY3VzQ2hhbmdlZCIpIHsKICAgICAgICAgICAgIGZvY3VzQ291bnQr
KzsKQEAgLTU1LDcgKzUzLDEyIEBACiAgICAgICAgIH0KICAgICAgICAgaWYgKHNlbGVjdENvdW50
ID09IDIgJiYgZm9jdXNDb3VudCA9PSAzKSB7CiAgICAgICAgICAgICB3ZWJBcmVhLnJlbW92ZU5v
dGlmaWNhdGlvbkxpc3RlbmVyKCk7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJheFRl
eHRTdGF0ZVN5bmNPbmUiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImFjY2Vzc2libGVFbGVtZW50MVdhc0ZvY3VzYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImF4VGV4dFN0YXRlU3luY1R3byIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0sIDApOwogICAgICAgICB9CiAg
ICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tY2hh
bmdlLXVzZXJpbmZvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9tYWMvc2VsZWN0aW9uLWNoYW5nZS11c2VyaW5mby5odG1sCShyZXZpc2lvbiAyOTI5NDYpCisr
KyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tY2hhbmdlLXVzZXJpbmZv
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDEyIEBACiAgICAgICAgICAgICBjb3Vu
dCsrOwogICAgICAgICAgICAgaWYgKHVzZXJJbmZvKQogICAgICAgICAgICAgICAgIHJlc3VsdHMu
cHVzaCh1c2VySW5mbyk7Ci0gICAgICAgICAgICBpZiAoY291bnQgPT0gZ3Jhbi5sZW5ndGggKiA0
KSB7CisgICAgICAgICAgICBpZiAoY291bnQgIT0gZ3Jhbi5sZW5ndGggKiA0KQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgd2ViQXJlYS5yZW1vdmVOb3RpZmljYXRpb25M
aXN0ZW5lcigpOworCisgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAg
ICAgICByZXN1bHRJbmRleCsrOwogICAgICAgICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHRzW3Jl
c3VsdEluZGV4XVtcIkFYVGV4dFN0YXRlQ2hhbmdlVHlwZVwiXSIsICJBWFRleHRTdGF0ZUNoYW5n
ZVR5cGVTZWxlY3Rpb25Nb3ZlIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUoInJlc3VsdHNb
cmVzdWx0SW5kZXhdW1wiQVhUZXh0U2VsZWN0aW9uR3JhbnVsYXJpdHlcIl0iLCAiQVhUZXh0U2Vs
ZWN0aW9uR3JhbnVsYXJpdHlDaGFyYWN0ZXIiKTsKQEAgLTE3OSw5ICsxODQsOCBAQAogICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHRzW3Jlc3VsdEluZGV4XVtcIkFYVGV4dFNlbGVjdGlv
bkdyYW51bGFyaXR5XCJdIiwgIkFYVGV4dFNlbGVjdGlvbkdyYW51bGFyaXR5RG9jdW1lbnQiKTsK
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgicmVzdWx0c1tyZXN1bHRJbmRleF1bXCJBWFRleHRT
ZWxlY3Rpb25EaXJlY3Rpb25cIl0iLCAiQVhUZXh0U2VsZWN0aW9uRGlyZWN0aW9uRW5kIik7CiAK
LSAgICAgICAgICAgICAgICB3ZWJBcmVhLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7CiAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCAwKTsKICAgICAgICAgfQogICAgIH0KIApJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvc2VsZWN0aW9uLXN5bmMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tc3luYy5odG1sCShyZXZpc2lvbiAyOTI5NDYpCisr
KyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Rpb24tc3luYy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSwxMiBAQAogICAgICAgICAgICAgY291bnQrKzsKICAgICAg
ICAgICAgIGlmICh1c2VySW5mbykKICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2godXNlcklu
Zm8pOwotICAgICAgICAgICAgaWYgKGNvdW50ID09IDUpIHsKKyAgICAgICAgICAgIGlmIChjb3Vu
dCAhPSA1KQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgd2ViQXJlYS5y
ZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOworCisgICAgICAgICAgICBzZXRUaW1lb3V0KCgp
ID0+IHsKICAgICAgICAgICAgICAgICBzaG91bGRCZSgicmVzdWx0c1tyZXN1bHRJbmRleF1bXCJB
WFRleHRTdGF0ZUNoYW5nZVR5cGVcIl0iLCAiQVhUZXh0U3RhdGVDaGFuZ2VUeXBlU2VsZWN0aW9u
TW92ZSIpOwogICAgICAgICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHRzW3Jlc3VsdEluZGV4XVtc
IkFYVGV4dFNlbGVjdGlvbkRpcmVjdGlvblwiXSIsICJBWFRleHRTZWxlY3Rpb25EaXJlY3Rpb25E
aXNjb250aWd1b3VzIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUoInJlc3VsdHNbcmVzdWx0
SW5kZXhdW1wiQVhUZXh0U3RhdGVTeW5jXCJdIiwgInRydWUiKTsKQEAgLTU2LDkgKzYxLDggQEAK
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgicmVzdWx0c1tyZXN1bHRJbmRleF1bXCJBWFRleHRT
ZWxlY3Rpb25EaXJlY3Rpb25cIl0iLCAiQVhUZXh0U2VsZWN0aW9uRGlyZWN0aW9uRGlzY29udGln
dW91cyIpOwogICAgICAgICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHRzW3Jlc3VsdEluZGV4XVtc
IkFYVGV4dFN0YXRlU3luY1wiXSIsICJ0cnVlIik7CiAKLSAgICAgICAgICAgICAgICB3ZWJBcmVh
LnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7CiAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgfQogICAg
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0aW9uLXZhbHVl
LWNoYW5nZXMtZm9yLWFyaWEtdGV4dGJveC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdGlvbi12YWx1ZS1jaGFuZ2VzLWZvci1hcmlhLXRleHRi
b3guaHRtbAkocmV2aXNpb24gMjkyOTQ2KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvc2VsZWN0aW9uLXZhbHVlLWNoYW5nZXMtZm9yLWFyaWEtdGV4dGJveC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xOCwxNCArMTgsMTggQEAgY29udGVudCBpbnNpZGUKICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IEFSSUEgcmVtb3ZpbmcgYW4gZWxlbWVudCBmcm9tIGEgbGl2ZSBy
ZWdpb24gc2VuZHMgdGhlIGNvcnJlY3Qgbm90aWZpY2F0aW9uLiIpOwogCiAgICAgdmFyIGF4VGV4
dGJveCA9IDA7CisgICAgdmFyIHJlc3VsdCA9ICcnOwogICAgIGZ1bmN0aW9uIG5vdGlmaWNhdGlv
bkNhbGxiYWNrKG5vdGlmaWNhdGlvbikgewogICAgICAgICBpZiAobm90aWZpY2F0aW9uID09ICJB
WFZhbHVlQ2hhbmdlZCIpIHsKLSAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5v
dGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gIlN1Y2Nlc3NmdWxseSByZWNlaXZlZCAiICsgbm90
aWZpY2F0aW9uICsgIjxicj4iOworICAgICAgICAgICByZXN1bHQgKz0gIlN1Y2Nlc3NmdWxseSBy
ZWNlaXZlZCAiICsgbm90aWZpY2F0aW9uICsgIjxicj4iOwogICAgICAgICAgICBheFRleHRib3gu
cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKLSAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gcmVzdWx0OworICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgfSwgMCk7CiAgICAgICAgIH0K
ICAgICAgICAgZWxzZSBpZiAobm90aWZpY2F0aW9uID09ICJBWFNlbGVjdGVkVGV4dENoYW5nZWQi
KSB7Ci0gICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb25zIiku
aW5uZXJIVE1MICs9ICJTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgIiArIG5vdGlmaWNhdGlvbiArICI8
YnI+IjsKKyAgICAgICAgICAgcmVzdWx0ICs9ICJTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgIiArIG5v
dGlmaWNhdGlvbiArICI8YnI+IjsKICAgICAgICAgfQogICAgIH0KIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZWxlY3Rpb24tdXBkYXRlLWR1cmluZy1ET01Ob2RlUmVt
b3ZlZC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1zZWxlY3Rpb24tdXBkYXRlLWR1cmluZy1ET01Ob2RlUmVtb3ZlZC1jcmFz
aC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
ZXh0YXJlYS1zZWxlY3Rpb24tdXBkYXRlLWR1cmluZy1ET01Ob2RlUmVtb3ZlZC1jcmFzaC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3RzIHVwZGF0
aW5nIHNlbGVjdGlvbiB3aXRoaW4gRE9NTm9kZVJlbW92ZWQuIFdlYktpdCBzaG91bGQgbm90IGhp
dCBhbnkgcmVsZWFzZSBhc3NlcnRpb25zLgorCitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RleHRhcmVhLXNlbGVjdGlvbi11cGRhdGUtZHVyaW5nLURPTU5vZGVSZW1vdmVkLWNy
YXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1z
ZWxlY3Rpb24tdXBkYXRlLWR1cmluZy1ET01Ob2RlUmVtb3ZlZC1jcmFzaC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2VsZWN0aW9uLXVwZGF0
ZS1kdXJpbmctRE9NTm9kZVJlbW92ZWQtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMzIEBACis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisK
K3NldFRpbWVvdXQoKCkgPT4geworICAgIHRleHRhcmVhMS5zZWxlY3Rpb25TdGFydCA9IDE7CisK
KyAgICBzcGFuMi5hcHBlbmRDaGlsZCh0ZXh0YXJlYTEpOworICAgIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5hcHBlbmRDaGlsZChjYW52YXMxKTsKKworICAgIHRleHRhcmVhMS5hZGRFdmVudExp
c3RlbmVyKCJET01Ob2RlUmVtb3ZlZCIsICgpID0+IHsKKyAgICAgICAgb3RoZXIxLmFwcGVuZENo
aWxkKHNwYW4xKTsKKyAgICAgICAgdGV4dGFyZWExLnNlbGVjdGlvblN0YXJ0ID0gLTE7CisgICAg
ICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmNvbGxhcHNlKHNwYW4xKTsKKyAgICB9KTsKKwor
ICAgIHRleHRhcmVhMS5pbm5lckhUTUwgPSAnJzsKKworICAgIGRvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gJzxwPlRoaXMgdGVzdHMgdXBkYXRpbmcgc2VsZWN0aW9uIHdpdGhpbiBET01Ob2RlUmVt
b3ZlZC4gV2ViS2l0IHNob3VsZCBub3QgaGl0IGFueSByZWxlYXNlIGFzc2VydGlvbnMuPC9wPlBB
U1MnOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKK30sIDApOworPC9zY3JpcHQ+Cis8dGV4dGFyZWEgaWQ9InRleHRhcmVhMSI+
aGVsbG88L3RleHRhcmVhPgorPGNhbnZhcyBpZD0iY2FudmFzMSI+PG90aGVyLWVsZW1lbnQgaWQ9
Im90aGVyMSI+PC9vdGhlci1lbGVtZW50PjwvY2FudmFzPgorPHNwYW4gaWQ9InNwYW4xIj4KKyAg
ICA8YXVkaW8gY29udHJvbHM9ImNvbnRyb2xzIiBzcmM9IngiPgorICAgICAgICA8c3BhbiBpZD0i
c3BhbjIiPkcmI3gyNztsektzYjZbWGF2YTwvc3Bhbj4KKyAgICA8L2F1ZGlvPgorPC9zcGFuPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>