<?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>200541</bug_id>
          
          <creation_ts>2019-08-08 10:36:24 -0700</creation_ts>
          <short_desc>OpenSource MemoryFootprint API for JSC command line tool</short_desc>
          <delta_ts>2019-08-08 13:49: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>JavaScriptCore</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1559554</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-08-08 10:36:24 -0700</bug_when>
    <thetext>The APIs needed for the memory peak are available in the current public SDKs for macOS and iOS, therefore these implementations can move to OpenSource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559568</commentid>
    <comment_count>1</comment_count>
      <attachid>375821</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-08-08 10:55:09 -0700</bug_when>
    <thetext>Created attachment 375821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559569</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-08-08 10:57:47 -0700</bug_when>
    <thetext>Attachment 375821 did not pass style-queue:


ERROR: Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:35:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:36:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:38:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5 in 5 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>1559605</commentid>
    <comment_count>3</comment_count>
      <attachid>375821</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-08 11:51:35 -0700</bug_when>
    <thetext>Comment on attachment 375821
Patch

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

r=me

&gt; Source/JavaScriptCore/jsc.cpp:144
&gt; +    MemoryFootprint(const ProcessMemoryFootprint&amp; o)
&gt; +        : ProcessMemoryFootprint(o)

style nit: let&apos;s give it a name instead of &quot;o&quot;

&gt; Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h:46
&gt; +#if !PLATFORM(IOS_FAMILY_SIMULATOR) &amp;&amp; __has_include(&lt;libproc.h&gt;)
&gt; +#    include &lt;libproc.h&gt;
&gt; +#    if RUSAGE_INFO_CURRENT &gt;= 4
&gt; +#        define HAS_MAX_FOOTPRINT
&gt; +#        if defined(RLIMIT_FOOTPRINT_INTERVAL) &amp;&amp; __has_include(&lt;libproc_internal.h&gt;) \
&gt; +             &amp;&amp; ((PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 120000) \
&gt; +                 || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400))
&gt; +#            define HAS_RESET_FOOTPRINT_INTERVAL
&gt; +#            define MAX_FOOTPRINT_FIELD ri_interval_max_phys_footprint
&gt; +#            include &lt;libproc_internal.h&gt;
&gt; +#        else
&gt; +#            define MAX_FOOTPRINT_FIELD ri_lifetime_max_phys_footprint
&gt; +#        endif
&gt; +#    else
&gt; +#        define HAS_ONLY_PHYS_FOOTPRINT
&gt; +#    endif
&gt; +#endif

I respect the indentation here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559645</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-08-08 13:38:29 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Comment on attachment 375821 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375821&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/jsc.cpp:144
&gt; &gt; +    MemoryFootprint(const ProcessMemoryFootprint&amp; o)
&gt; &gt; +        : ProcessMemoryFootprint(o)
&gt; 
&gt; style nit: let&apos;s give it a name instead of &quot;o&quot;

Called it &quot;src&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559647</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-08-08 13:48:39 -0700</bug_when>
    <thetext>Committed r248441: &lt;https://trac.webkit.org/changeset/248441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559648</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-08 13:49:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/54094516&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375821</attachid>
            <date>2019-08-08 10:55:09 -0700</date>
            <delta_ts>2019-08-08 11:51:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>200541.patch</filename>
            <type>text/plain</type>
            <size>10006</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ4NDI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE5LTA4LTA4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIE9wZW5Tb3VyY2UgTWVtb3J5Rm9vdHByaW50IEFQSSBmb3IgSlNDIGNvbW1hbmQgbGluZSB0
b29sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA1
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2Ug
d3RmL3NwaS9kYXJ3aW4vUHJvY2Vzc01lbW9yeUZvb3RwcmludC5oIGluc3RlYWQgb2YgV2ViS2l0
QWRkaXRpb25zL01lbW9yeUZvb3RwcmludC5oCisgICAgICAgIGZvciBwcm9jZXNzIG1lbW9yeSBz
dGF0cy4KKworICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChNZW1vcnlGb290cHJpbnQ6Ok1l
bW9yeUZvb3RwcmludCk6CisKIDIwMTktMDgtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlYmFzZSBpbnNwZWN0b3IgZ2VuZXJhdG9yIHRlc3RzLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDI0ODMyNSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsMTMgKzEzNywxOSBAQAogI2lu
Y2x1ZGUgPGFybS9hcmNoLmg+CiAjZW5kaWYKIAotI2lmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFk
ZGl0aW9ucy9NZW1vcnlGb290cHJpbnQuaD4pCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01l
bW9yeUZvb3RwcmludC5oPgorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndp
bi9Qcm9jZXNzTWVtb3J5Rm9vdHByaW50Lmg+CitzdHJ1Y3QgTWVtb3J5Rm9vdHByaW50IDogUHJv
Y2Vzc01lbW9yeUZvb3RwcmludCB7CisgICAgTWVtb3J5Rm9vdHByaW50KGNvbnN0IFByb2Nlc3NN
ZW1vcnlGb290cHJpbnQmIG8pCisgICAgICAgIDogUHJvY2Vzc01lbW9yeUZvb3RwcmludChvKQor
ICAgIHsKKyAgICB9Cit9OwogI2Vsc2UKIHN0cnVjdCBNZW1vcnlGb290cHJpbnQgewogICAgIHVp
bnQ2NF90IGN1cnJlbnQ7CiAgICAgdWludDY0X3QgcGVhazsKLSAgICAKKwogICAgIHN0YXRpYyBN
ZW1vcnlGb290cHJpbnQgbm93KCkKICAgICB7CiAgICAgICAgIHJldHVybiB7IDBMLCAwTCB9OwpJ
bmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI0ODMyNSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDgtMDggIE1pY2hhZWwgU2Fib2ZmICA8bXNh
Ym9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgT3BlblNvdXJjZSBNZW1vcnlGb290cHJpbnQgQVBJ
IGZvciBKU0MgY29tbWFuZCBsaW5lIHRvb2wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMDU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE9wZW5Tb3VyY2UgdmVyc2lvbiBvZiBXZWJLaXRBZGRpdGlvbnMv
TWVtb3J5Rm9vdHByaW50LmguCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiB3dGYvc3BpL2Rhcndpbi9Qcm9jZXNzTWVtb3J5Rm9vdHByaW50Lmg6
IEFkZGVkLgorICAgICAgICAoUHJvY2Vzc01lbW9yeUZvb3RwcmludDo6bm93KToKKyAgICAgICAg
KFByb2Nlc3NNZW1vcnlGb290cHJpbnQ6OnJlc2V0UGVhayk6CisKIDIwMTktMDgtMDYgIEppZXdl
biBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhIGJ1
aWxkIGZpeCBhZnRlciByMjQ4MzA4CkluZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODMyNSkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM5Nyw2ICszOTcsNyBAQAogCQk1
RkFEM0FFMDIxQjk2MzY2MDBCRUUxNzggLyogVVJMSGVscGVycy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBVUkxIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVGQUQzQUUxMjFCOTYzNjYwMEJFRTE3OCAvKiBVUkxIZWxwZXJzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTEhlbHBlcnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2NTQxQ0FGNDE2MzBEQjI2MDA2RDBERUMgLyogQ29weVdURkhlYWRl
cnMueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQ29weVdURkhlYWRl
cnMueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1OTNDREU5MjJGQTRB
NTIwMDg3NzE0QiAvKiBQcm9jZXNzTWVtb3J5Rm9vdHByaW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NNZW1vcnlGb290cHJpbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzBBOTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5bWJvbFJlZ2lzdHJ5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBBOTkzRkQxQUQ3MTUxMzAwRkE2
MTVCIC8qIFN5bWJvbFJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN5bWJvbFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcwRUNBNjBB
MUIwMjQyNjgwMDQ0OTczOSAvKiBBdG9tU3RyaW5nSW1wbC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBdG9tU3RyaW5nSW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMzc0LDYgKzEzNzUsNyBAQAogCQkJCTE0OTMzRTIxMjI4QzIyREYwMEY3
OUU0NiAvKiBEYXRhVmF1bHRTUEkuaCAqLywKIAkJCQlFNDMxQ0M0QTIxMTg3QURCMDAwQzhBMDcg
LyogRGlzcGF0Y2hTUEkuaCAqLywKIAkJCQk5M0RERTkzMTFDREMwNTJEMDBGRDM0OTEgLyogZHls
ZFNQSS5oICovLAorCQkJCTY1OTNDREU5MjJGQTRBNTIwMDg3NzE0QiAvKiBQcm9jZXNzTWVtb3J5
Rm9vdHByaW50LmggKi8sCiAJCQkJQTUwOThBRkYxQzE2OUUwNzAwMDg3Nzk3IC8qIFNhbmRib3hT
UEkuaCAqLywKIAkJCQlDRTczRTAyNDE5RENCN0FCMDA1ODBENUMgLyogWFBDU1BJLmggKi8sCiAJ
CQkpOwpAQCAtMTQ5Niw3ICsxNDk4LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNj
cmlwdCA9ICJpZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIk5PXCIgXV07IHRo
ZW5cbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUvfS8ke1BS
SVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuICAgIElDVV9QUklWQVRFX0hFQURFUlNfUEFU
SD1cIiR7VEFSR0VUX0JVSUxEX0RJUiUvfS8ke0lDVV9QUklWQVRFX0hFQURFUlNfRk9MREVSX1BB
VEh9XCJcbmVsc2VcbiAgICBQUklWQVRFX0hFQURFUlNfUEFUSD1cIiR7RFNUUk9PVH0vJHtQUklW
QVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbiAgICBJQ1VfUFJJVkFURV9IRUFERVJTX1BBVEg9
XCIke0RTVFJPT1R9LyR7SUNVX1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmk7XG5c
bm1rZGlyIC1wIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxucnN5bmMgLWF2IC0tbm8tb3du
ZXIgLS1uby1ncm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhj
bHVkZSBcInVzclwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9c
IiAtLWluY2x1ZGUgXCIqLmhcIiAtLWV4Y2x1ZGUgXCIqXCIgXCIke1NSQ1JPT1R9L3d0Zi9cIiBc
IiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcblxucnN5bmMgLWF2IC0tbm8tb3duZXIgLS1uby1n
cm91cCAtLXBydW5lLWVtcHR5LWRpcnMgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcInVz
clwiIC0tZXhjbHVkZSBcIkRlcml2ZWRTb3VyY2VzXCIgLS1pbmNsdWRlIFwiKi9cIiAtLWluY2x1
ZGUgXCIqLnJiXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNST09UfS9TY3JpcHRzXCIgXCIke1BS
SVZBVEVfSEVBREVSU19QQVRIfVwiXG5cbmlmIFtbIFwiJHtVU0VfSU5URVJOQUxfU0RLfVwiICE9
IFwiWUVTXCIgXV07IHRoZW5cbm1rZGlyIC1wIFwiJHtJQ1VfUFJJVkFURV9IRUFERVJTX1BBVEh9
XCJcbnJzeW5jIC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0t
ZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291
cmNlc1wiIC0taW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwi
IFwiJHtTUkNST09UfS9pY3UvXCIgXCIke0lDVV9QUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuZmki
OworCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0g
XCJOT1wiIF1dOyB0aGVuXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlM
RF9ESVIlL30vJHtQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbiAgICBJQ1VfUFJJVkFU
RV9IRUFERVJTX1BBVEg9XCIke1RBUkdFVF9CVUlMRF9ESVIlL30vJHtJQ1VfUFJJVkFURV9IRUFE
RVJTX0ZPTERFUl9QQVRIfVwiXG5lbHNlXG4gICAgUFJJVkFURV9IRUFERVJTX1BBVEg9XCIke0RT
VFJPT1R9LyR7UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG4gICAgSUNVX1BSSVZBVEVf
SEVBREVSU19QQVRIPVwiJHtEU1RST09UfS8ke0lDVV9QUklWQVRFX0hFQURFUlNfRk9MREVSX1BB
VEh9XCJcbmZpO1xuXG5ta2RpciAtcCBcIiR7UFJJVkFURV9IRUFERVJTX1BBVEh9XCJcbnJzeW5j
IC1hdiAtLW5vLW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBc
Ii5zdm5cIiAtLWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0t
aW5jbHVkZSBcIiovXCIgLS1pbmNsdWRlIFwiKi5oXCIgLS1leGNsdWRlIFwiKlwiIFwiJHtTUkNS
T09UfS93dGYvXCIgXCIke1BSSVZBVEVfSEVBREVSU19QQVRIfVwiXG5cbnJzeW5jIC1hdiAtLW5v
LW93bmVyIC0tbm8tZ3JvdXAgLS1wcnVuZS1lbXB0eS1kaXJzIC0tZXhjbHVkZSBcIi5zdm5cIiAt
LWV4Y2x1ZGUgXCJ1c3JcIiAtLWV4Y2x1ZGUgXCJEZXJpdmVkU291cmNlc1wiIC0taW5jbHVkZSBc
IiovXCIgLS1pbmNsdWRlIFwiKi5yYlwiIC0tZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vU2Ny
aXB0c1wiIFwiJHtQUklWQVRFX0hFQURFUlNfUEFUSH1cIlxuXG5pZiBbWyBcIiR7VVNFX0lOVEVS
TkFMX1NES31cIiAhPSBcIllFU1wiIF1dOyB0aGVuXG5ta2RpciAtcCBcIiR7SUNVX1BSSVZBVEVf
SEVBREVSU19QQVRIfVwiXG5yc3luYyAtYXYgLS1uby1vd25lciAtLW5vLWdyb3VwIC0tcHJ1bmUt
ZW1wdHktZGlycyAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1leGNsdWRlIFwidXNyXCIgLS1leGNsdWRl
IFwiRGVyaXZlZFNvdXJjZXNcIiAtLWluY2x1ZGUgXCIqL1wiIC0taW5jbHVkZSBcIiouaFwiIC0t
ZXhjbHVkZSBcIipcIiBcIiR7U1JDUk9PVH0vaWN1L1wiIFwiJHtJQ1VfUFJJVkFURV9IRUFERVJT
X1BBVEh9XCJcbmZpXG4iOwogCQl9OwogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vUHJvY2Vzc01lbW9y
eUZvb3RwcmludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vUHJv
Y2Vzc01lbW9yeUZvb3RwcmludC5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XVEYvd3RmL3Nw
aS9kYXJ3aW4vUHJvY2Vzc01lbW9yeUZvb3RwcmludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgT1MoREFSV0lOKQorCisjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFlfU0lNVUxBVE9SKSAmJiBfX2hhc19pbmNsdWRlKDxsaWJwcm9jLmg+KQorIyAgICBpbmNs
dWRlIDxsaWJwcm9jLmg+CisjICAgIGlmIFJVU0FHRV9JTkZPX0NVUlJFTlQgPj0gNAorIyAgICAg
ICAgZGVmaW5lIEhBU19NQVhfRk9PVFBSSU5UCisjICAgICAgICBpZiBkZWZpbmVkKFJMSU1JVF9G
T09UUFJJTlRfSU5URVJWQUwpICYmIF9faGFzX2luY2x1ZGUoPGxpYnByb2NfaW50ZXJuYWwuaD4p
IFwKKyAgICAgICAgICAgICAmJiAoKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkgXAorICAgICAgICAgICAgICAgICB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MCkpCisjICAgICAgICAgICAgZGVmaW5lIEhBU19SRVNFVF9GT09UUFJJTlRfSU5URVJWQUwKKyMg
ICAgICAgICAgICBkZWZpbmUgTUFYX0ZPT1RQUklOVF9GSUVMRCByaV9pbnRlcnZhbF9tYXhfcGh5
c19mb290cHJpbnQKKyMgICAgICAgICAgICBpbmNsdWRlIDxsaWJwcm9jX2ludGVybmFsLmg+Cisj
ICAgICAgICBlbHNlCisjICAgICAgICAgICAgZGVmaW5lIE1BWF9GT09UUFJJTlRfRklFTEQgcmlf
bGlmZXRpbWVfbWF4X3BoeXNfZm9vdHByaW50CisjICAgICAgICBlbmRpZgorIyAgICBlbHNlCisj
ICAgICAgICBkZWZpbmUgSEFTX09OTFlfUEhZU19GT09UUFJJTlQKKyMgICAgZW5kaWYKKyNlbmRp
ZgorCitzdHJ1Y3QgUHJvY2Vzc01lbW9yeUZvb3RwcmludCB7CitwdWJsaWM6CisgICAgdWludDY0
X3QgY3VycmVudDsKKyAgICB1aW50NjRfdCBwZWFrOworCisgICAgc3RhdGljIFByb2Nlc3NNZW1v
cnlGb290cHJpbnQgbm93KCkKKyAgICB7CisjaWZkZWYgSEFTX01BWF9GT09UUFJJTlQKKyAgICAg
ICAgcnVzYWdlX2luZm9fdjQgcnVzYWdlOworICAgICAgICBpZiAocHJvY19waWRfcnVzYWdlKGdl
dHBpZCgpLCBSVVNBR0VfSU5GT19WNCwgKHJ1c2FnZV9pbmZvX3QgKikmcnVzYWdlKSkKKyAgICAg
ICAgICAgIHJldHVybiB7IDBMLCAwTCB9OworCisgICAgICAgIHJldHVybiB7IHJ1c2FnZS5yaV9w
aHlzX2Zvb3RwcmludCwgcnVzYWdlLk1BWF9GT09UUFJJTlRfRklFTEQgfTsKKyNlbGlmIGRlZmlu
ZWQoSEFTX09OTFlfUEhZU19GT09UUFJJTlQpCisgICAgICAgIHJ1c2FnZV9pbmZvX3YwIHJ1c2Fn
ZTsKKyAgICAgICAgaWYgKHByb2NfcGlkX3J1c2FnZShnZXRwaWQoKSwgUlVTQUdFX0lORk9fVjAs
IChydXNhZ2VfaW5mb190ICopJnJ1c2FnZSkpCisgICAgICAgICAgICByZXR1cm4geyAwTCwgMEwg
fTsKKworICAgICAgICByZXR1cm4geyBydXNhZ2UucmlfcGh5c19mb290cHJpbnQsIDBMIH07Cisj
ZWxzZQorICAgICAgICByZXR1cm4geyAwTCwgMEwgfTsKKyNlbmRpZgorICAgIH0KKworICAgIHN0
YXRpYyB2b2lkIHJlc2V0UGVhaygpCisgICAgeworI2lmZGVmIEhBU19SRVNFVF9GT09UUFJJTlRf
SU5URVJWQUwKKyAgICAgICAgcHJvY19yZXNldF9mb290cHJpbnRfaW50ZXJ2YWwoZ2V0cGlkKCkp
OworI2VuZGlmCisgICAgfQorfTsKKworI2VuZGlmCg==
</data>
<flag name="review"
          id="391608"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>