<?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>230957</bug_id>
          
          <creation_ts>2021-09-29 08:54:35 -0700</creation_ts>
          <short_desc>[JSC] Add objectTypeCounts to JSGetMemoryUsageStatistics</short_desc>
          <delta_ts>2021-09-29 17:20:27 -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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>basuke</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798360</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-09-29 08:54:35 -0700</bug_when>
    <thetext>It is very useful to have the numbers of each object types in the JS statistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798492</commentid>
    <comment_count>1</comment_count>
      <attachid>439639</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-09-29 12:11:35 -0700</bug_when>
    <thetext>Created attachment 439639
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798494</commentid>
    <comment_count>2</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-09-29 12:14:26 -0700</bug_when>
    <thetext>Added memoryUsageStatistics() to jsc.

Input:

function dump(values, indent = &apos;&apos;) {
    for (const key in values) {
        const value = values[key];
        if (typeof value === &apos;object&apos;) {
            print(`${indent}${key}:`);
            dump(value, indent + &apos;  &apos;);
        } else
            print(`${indent}${key}: ${value}`);
    }
}
dump(memoryUsageStatistics());

Output:

heapSize: 0
heapCapacity: 344064
extraMemorySize: 0
objectCount: 0
protectedObjectCount: 44
protectedGlobalObjectCount: 0
objectTypeCounts:
  JSProxy: 1
  Promise: 1
  Callee: 2
  Atomics: 1
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798579</commentid>
    <comment_count>3</comment_count>
      <attachid>439639</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-29 14:48:47 -0700</bug_when>
    <thetext>Comment on attachment 439639
PATCH

I think this is fine. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798587</commentid>
    <comment_count>4</comment_count>
      <attachid>439639</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-09-29 14:56:53 -0700</bug_when>
    <thetext>Comment on attachment 439639
PATCH

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

&gt; Source/JavaScriptCore/API/JSBase.cpp:208
&gt; +    JSObject* objectTypeCounts = constructEmptyObject(globalObject);

I think you could do `constructEmptyObject(vm, globalObject-&gt;nullPrototypeObjectStructure())` since this object is just holding key-value pairs and doesn&apos;t need access to the Object prototype.

&gt; Source/JavaScriptCore/API/JSBasePrivate.h:74
&gt; + objectTypeCounts: object which has kind as key and its number as value for each GC objects 

I think something like &quot;object with HeapCell kinds as keys and their current counts as values&quot; would be clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798627</commentid>
    <comment_count>5</comment_count>
      <attachid>439672</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-09-29 15:39:41 -0700</bug_when>
    <thetext>Created attachment 439672
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798629</commentid>
    <comment_count>6</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2021-09-29 15:41:01 -0700</bug_when>
    <thetext>Thanks Ross.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798694</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-29 17:19:15 -0700</bug_when>
    <thetext>Committed r283286 (242313@main): &lt;https://commits.webkit.org/242313@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439672.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798695</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-29 17:20:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/83696026&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439639</attachid>
            <date>2021-09-29 12:11:35 -0700</date>
            <delta_ts>2021-09-29 15:39:41 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4962</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcAppbmRleCA4ZDNiNDYwNjQ3ZjguLmEzMGI4
MTQzNmE5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcApAQCAtMjA0LDYgKzIw
NCwxMSBAQCBKU09iamVjdFJlZiBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRS
ZWYgY3R4KQogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBKU0xvY2tIb2xk
ZXIgbG9ja2VyKHZtKTsKIAorICAgIGF1dG8gdHlwZUNvdW50cyA9IHZtLmhlYXAub2JqZWN0VHlw
ZUNvdW50cygpOworICAgIEpTT2JqZWN0KiBvYmplY3RUeXBlQ291bnRzID0gY29uc3RydWN0RW1w
dHlPYmplY3QoZ2xvYmFsT2JqZWN0KTsKKyAgICBmb3IgKGF1dG8mIGl0IDogKnR5cGVDb3VudHMp
CisgICAgICAgIG9iamVjdFR5cGVDb3VudHMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgaXQua2V5KSwganNOdW1iZXIoaXQudmFsdWUpKTsKKwogICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QpOwogICAgIG9iamVj
dC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiaGVhcFNpemUiKSwg
anNOdW1iZXIodm0uaGVhcC5zaXplKCkpKTsKICAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgImhlYXBDYXBhY2l0eSIpLCBqc051bWJlcih2bS5oZWFw
LmNhcGFjaXR5KCkpKTsKQEAgLTIxMiw2ICsyMTcsNyBAQCBKU09iamVjdFJlZiBKU0dldE1lbW9y
eVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRSZWYgY3R4KQogICAgIG9iamVjdC0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAicHJvdGVjdGVkT2JqZWN0Q291bnQiKSwg
anNOdW1iZXIodm0uaGVhcC5wcm90ZWN0ZWRPYmplY3RDb3VudCgpKSk7CiAgICAgb2JqZWN0LT5w
dXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJnbG9iYWxPYmplY3RDb3Vu
dCIpLCBqc051bWJlcih2bS5oZWFwLmdsb2JhbE9iamVjdENvdW50KCkpKTsKICAgICBvYmplY3Qt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInByb3RlY3RlZEdsb2Jh
bE9iamVjdENvdW50IiksIGpzTnVtYmVyKHZtLmhlYXAucHJvdGVjdGVkR2xvYmFsT2JqZWN0Q291
bnQoKSkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCAib2JqZWN0VHlwZUNvdW50cyIpLCBvYmplY3RUeXBlQ291bnRzKTsKIAogICAgIHJldHVy
biB0b1JlZihvYmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0Jhc2VQcml2YXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZVByaXZh
dGUuaAppbmRleCA5MjM1MDIwZTg5ZjQuLjFhM2E1NGMzNTc0MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2VQcml2YXRlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0Jhc2VQcml2YXRlLmgKQEAgLTcxLDYgKzcxLDcgQEAgSlNfRVhQT1JUIGJv
b2wgSlNDb25maWd1cmVTaWduYWxGb3JHQyhpbnQgc2lnbmFsKTsKICBwcm90ZWN0ZWRPYmplY3RD
b3VudDogY3VycmVudCBjb3VudCBvZiBwcm90ZWN0ZWQgR0Mgb2JqZWN0cwogIGdsb2JhbE9iamVj
dENvdW50OiBjdXJyZW50IGNvdW50IG9mIGdsb2JhbCBHQyBvYmplY3RzCiAgcHJvdGVjdGVkR2xv
YmFsT2JqZWN0Q291bnQ6IGN1cnJlbnQgY291bnQgb2YgcHJvdGVjdGVkIGdsb2JhbCBHQyBvYmpl
Y3RzCisgb2JqZWN0VHlwZUNvdW50czogb2JqZWN0IHdoaWNoIGhhcyBraW5kIGFzIGtleSBhbmQg
aXRzIG51bWJlciBhcyB2YWx1ZSBmb3IgZWFjaCBHQyBvYmplY3RzIAogKi8KIEpTX0VYUE9SVCBK
U09iamVjdFJlZiBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRSZWYgY3R4KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzUwYzQ5YTE1NmNjLi4yMTc3NmY4YjM5NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA5LTI5ICBC
YXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBbSlNDXSBB
ZGQgb2JqZWN0VHlwZUNvdW50cyB0byBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwOTU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNCYXNlLmNw
cDogQWRkZWQgb2JqZWN0VHlwZUNvdW50cyBwcm9wZXJ0eQorICAgICAgICAoSlNHZXRNZW1vcnlV
c2FnZVN0YXRpc3RpY3MpOgorICAgICAgICAqIEFQSS9KU0Jhc2VQcml2YXRlLmg6IEFkZGVkIGRl
c2NyaXB0aW9uIG9mIG9iamVjdFR5cGVDb3VudHMgcHJvcGVydHkKKyAgICAgICAgKiBqc2MuY3Bw
OiBBZGRlZCBtZW1vcnlVc2FnZVN0YXRpc3RpY3MoKSBmdW5jdGlvbgorCiAyMDIxLTA5LTI4ICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERvZXNHQ0NoZWNrIGRv
ZXMgbm90IHVzZSBlbm91Z2ggYml0cyBmb3Igbm9kZUluZGV4CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmlu
ZGV4IGNjMjI2NGZjYTEwOC4uOTA4NmRjNzdjY2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAt
MjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRlICJBUElDYXN0
LmgiCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJCaWdJbnRDb25zdHJ1Y3Rv
ci5oIgogI2luY2x1ZGUgIkJ5dGVjb2RlQ2FjaGVFcnJvci5oIgpAQCAtNDQsNiArNDUsNyBAQAog
I2luY2x1ZGUgIkpJVFNpemVTdGF0aXN0aWNzLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2lu
Y2x1ZGUgIkpTQXJyYXlCdWZmZXIuaCIKKyNpbmNsdWRlICJKU0Jhc2VQcml2YXRlLmgiCiAjaW5j
bHVkZSAiSlNCaWdJbnQuaCIKICNpbmNsdWRlICJKU0ZpbmFsaXphdGlvblJlZ2lzdHJ5LmgiCiAj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgpAQCAtMjg1LDYgKzI4Nyw3IEBAIHN0YXRpYyBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uR0NBbmRTd2VlcCk7CiBzdGF0aWMgSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihmdW5jdGlvbkZ1bGxHQyk7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihmdW5jdGlvbkVkZW5HQyk7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5D
VElPTihmdW5jdGlvbkhlYXBTaXplKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGZ1bmN0aW9uTWVtb3J5VXNhZ2VTdGF0aXN0aWNzKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGZ1bmN0aW9uQ3JlYXRlTWVtb3J5Rm9vdHByaW50KTsKIHN0YXRpYyBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uUmVzZXRNZW1vcnlQZWFrKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uQWRkcmVzc09mKTsKQEAgLTUyOSw2ICs1MzIs
NyBAQCBwcml2YXRlOgogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImZ1bGxHQyIsIGZ1bmN0aW9u
RnVsbEdDLCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJlZGVuR0MiLCBmdW5jdGlvbkVk
ZW5HQywgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZ2NIZWFwU2l6ZSIsIGZ1bmN0aW9u
SGVhcFNpemUsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgIm1lbW9yeVVzYWdlU3RhdGlz
dGljcyIsIGZ1bmN0aW9uTWVtb3J5VXNhZ2VTdGF0aXN0aWNzLCAwKTsKICAgICAgICAgYWRkRnVu
Y3Rpb24odm0sICJNZW1vcnlGb290cHJpbnQiLCBmdW5jdGlvbkNyZWF0ZU1lbW9yeUZvb3Rwcmlu
dCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAicmVzZXRNZW1vcnlQZWFrIiwgZnVuY3Rp
b25SZXNldE1lbW9yeVBlYWssIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImFkZHJlc3NP
ZiIsIGZ1bmN0aW9uQWRkcmVzc09mLCAxKTsKQEAgLTE0NjEsNiArMTQ2NSwxMiBAQCBwcml2YXRl
OgogCiBjb25zdCBDbGFzc0luZm8gSlNDTWVtb3J5Rm9vdHByaW50OjpzX2luZm8gPSB7ICJNZW1v
cnlGb290cHJpbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTQ01lbW9yeUZvb3RwcmludCkgfTsKIAorSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGZ1bmN0aW9uTWVtb3J5VXNhZ2VTdGF0aXN0aWNzLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKikpCit7CisgICAgYXV0byBjb250ZXh0UmVmID0gdG9SZWYoZ2xv
YmFsT2JqZWN0KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlMoSlNHZXRNZW1vcnlV
c2FnZVN0YXRpc3RpY3MoY29udGV4dFJlZikpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGZ1bmN0aW9uQ3JlYXRlTWVtb3J5Rm9vdHByaW50LCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKikpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
Ow0K
</data>
<flag name="review"
          id="463330"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439672</attachid>
            <date>2021-09-29 15:39:41 -0700</date>
            <delta_ts>2021-09-29 17:19:16 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4958</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcAppbmRleCA4ZDNiNDYwNjQ3ZjguLmEzMGI4
MTQzNmE5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcApAQCAtMjA0LDYgKzIw
NCwxMSBAQCBKU09iamVjdFJlZiBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRS
ZWYgY3R4KQogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBKU0xvY2tIb2xk
ZXIgbG9ja2VyKHZtKTsKIAorICAgIGF1dG8gdHlwZUNvdW50cyA9IHZtLmhlYXAub2JqZWN0VHlw
ZUNvdW50cygpOworICAgIEpTT2JqZWN0KiBvYmplY3RUeXBlQ291bnRzID0gY29uc3RydWN0RW1w
dHlPYmplY3QoZ2xvYmFsT2JqZWN0KTsKKyAgICBmb3IgKGF1dG8mIGl0IDogKnR5cGVDb3VudHMp
CisgICAgICAgIG9iamVjdFR5cGVDb3VudHMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgaXQua2V5KSwganNOdW1iZXIoaXQudmFsdWUpKTsKKwogICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QpOwogICAgIG9iamVj
dC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiaGVhcFNpemUiKSwg
anNOdW1iZXIodm0uaGVhcC5zaXplKCkpKTsKICAgICBvYmplY3QtPnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgImhlYXBDYXBhY2l0eSIpLCBqc051bWJlcih2bS5oZWFw
LmNhcGFjaXR5KCkpKTsKQEAgLTIxMiw2ICsyMTcsNyBAQCBKU09iamVjdFJlZiBKU0dldE1lbW9y
eVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRSZWYgY3R4KQogICAgIG9iamVjdC0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAicHJvdGVjdGVkT2JqZWN0Q291bnQiKSwg
anNOdW1iZXIodm0uaGVhcC5wcm90ZWN0ZWRPYmplY3RDb3VudCgpKSk7CiAgICAgb2JqZWN0LT5w
dXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJnbG9iYWxPYmplY3RDb3Vu
dCIpLCBqc051bWJlcih2bS5oZWFwLmdsb2JhbE9iamVjdENvdW50KCkpKTsKICAgICBvYmplY3Qt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInByb3RlY3RlZEdsb2Jh
bE9iamVjdENvdW50IiksIGpzTnVtYmVyKHZtLmhlYXAucHJvdGVjdGVkR2xvYmFsT2JqZWN0Q291
bnQoKSkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCAib2JqZWN0VHlwZUNvdW50cyIpLCBvYmplY3RUeXBlQ291bnRzKTsKIAogICAgIHJldHVy
biB0b1JlZihvYmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0Jhc2VQcml2YXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZVByaXZh
dGUuaAppbmRleCA5MjM1MDIwZTg5ZjQuLjY4NWVmMTNhMTJmNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2VQcml2YXRlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0Jhc2VQcml2YXRlLmgKQEAgLTcxLDYgKzcxLDcgQEAgSlNfRVhQT1JUIGJv
b2wgSlNDb25maWd1cmVTaWduYWxGb3JHQyhpbnQgc2lnbmFsKTsKICBwcm90ZWN0ZWRPYmplY3RD
b3VudDogY3VycmVudCBjb3VudCBvZiBwcm90ZWN0ZWQgR0Mgb2JqZWN0cwogIGdsb2JhbE9iamVj
dENvdW50OiBjdXJyZW50IGNvdW50IG9mIGdsb2JhbCBHQyBvYmplY3RzCiAgcHJvdGVjdGVkR2xv
YmFsT2JqZWN0Q291bnQ6IGN1cnJlbnQgY291bnQgb2YgcHJvdGVjdGVkIGdsb2JhbCBHQyBvYmpl
Y3RzCisgb2JqZWN0VHlwZUNvdW50czogb2JqZWN0IHdpdGggR0Mgb2JqZWN0IHR5cGVzIGFzIGtl
eXMgYW5kIHRoZWlyIGN1cnJlbnQgY291bnRzIGFzIHZhbHVlcwogKi8KIEpTX0VYUE9SVCBKU09i
amVjdFJlZiBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcyhKU0NvbnRleHRSZWYgY3R4KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzUwYzQ5YTE1NmNjLi4zZjg0NjVhOTg2ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA5LTI5ICBCYXN1
a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBbSlNDXSBBZGQg
b2JqZWN0VHlwZUNvdW50cyB0byBKU0dldE1lbW9yeVVzYWdlU3RhdGlzdGljcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwOTU3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICAqIEFQSS9KU0Jhc2UuY3BwOiBB
ZGRlZCBvYmplY3RUeXBlQ291bnRzIHByb3BlcnR5CisgICAgICAgIChKU0dldE1lbW9yeVVzYWdl
U3RhdGlzdGljcyk6CisgICAgICAgICogQVBJL0pTQmFzZVByaXZhdGUuaDogQWRkZWQgZGVzY3Jp
cHRpb24gb2Ygb2JqZWN0VHlwZUNvdW50cyBwcm9wZXJ0eQorICAgICAgICAqIGpzYy5jcHA6IEFk
ZGVkIG1lbW9yeVVzYWdlU3RhdGlzdGljcygpIGZ1bmN0aW9uCisKIDIwMjEtMDktMjggIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9lc0dDQ2hlY2sgZG9lcyBu
b3QgdXNlIGVub3VnaCBiaXRzIGZvciBub2RlSW5kZXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXgg
Y2MyMjY0ZmNhMTA4Li45MDg2ZGM3N2NjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0yMiw2
ICsyMiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAorI2luY2x1ZGUgIkFQSUNhc3QuaCIK
ICNpbmNsdWRlICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkJpZ0ludENvbnN0cnVjdG9yLmgi
CiAjaW5jbHVkZSAiQnl0ZWNvZGVDYWNoZUVycm9yLmgiCkBAIC00NCw2ICs0NSw3IEBACiAjaW5j
bHVkZSAiSklUU2l6ZVN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVk
ZSAiSlNBcnJheUJ1ZmZlci5oIgorI2luY2x1ZGUgIkpTQmFzZVByaXZhdGUuaCIKICNpbmNsdWRl
ICJKU0JpZ0ludC5oIgogI2luY2x1ZGUgIkpTRmluYWxpemF0aW9uUmVnaXN0cnkuaCIKICNpbmNs
dWRlICJKU0Z1bmN0aW9uLmgiCkBAIC0yODUsNiArMjg3LDcgQEAgc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25HQ0FuZFN3ZWVwKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9I
T1NUX0ZVTkNUSU9OKGZ1bmN0aW9uRnVsbEdDKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZV
TkNUSU9OKGZ1bmN0aW9uRWRlbkdDKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGZ1bmN0aW9uSGVhcFNpemUpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZnVu
Y3Rpb25NZW1vcnlVc2FnZVN0YXRpc3RpY3MpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZnVuY3Rpb25DcmVhdGVNZW1vcnlGb290cHJpbnQpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25SZXNldE1lbW9yeVBlYWspOwogc3RhdGljIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25BZGRyZXNzT2YpOwpAQCAtNTI5LDYgKzUzMiw3IEBA
IHByaXZhdGU6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZnVsbEdDIiwgZnVuY3Rpb25GdWxs
R0MsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImVkZW5HQyIsIGZ1bmN0aW9uRWRlbkdD
LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJnY0hlYXBTaXplIiwgZnVuY3Rpb25IZWFw
U2l6ZSwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibWVtb3J5VXNhZ2VTdGF0aXN0aWNz
IiwgZnVuY3Rpb25NZW1vcnlVc2FnZVN0YXRpc3RpY3MsIDApOwogICAgICAgICBhZGRGdW5jdGlv
bih2bSwgIk1lbW9yeUZvb3RwcmludCIsIGZ1bmN0aW9uQ3JlYXRlTWVtb3J5Rm9vdHByaW50LCAw
KTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJyZXNldE1lbW9yeVBlYWsiLCBmdW5jdGlvblJl
c2V0TWVtb3J5UGVhaywgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiYWRkcmVzc09mIiwg
ZnVuY3Rpb25BZGRyZXNzT2YsIDEpOwpAQCAtMTQ2MSw2ICsxNDY1LDEyIEBAIHByaXZhdGU6CiAK
IGNvbnN0IENsYXNzSW5mbyBKU0NNZW1vcnlGb290cHJpbnQ6OnNfaW5mbyA9IHsgIk1lbW9yeUZv
b3RwcmludCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNDTWVtb3J5Rm9vdHByaW50KSB9OwogCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04o
ZnVuY3Rpb25NZW1vcnlVc2FnZVN0YXRpc3RpY3MsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqKSkKK3sKKyAgICBhdXRvIGNvbnRleHRSZWYgPSB0b1JlZihnbG9iYWxP
YmplY3QpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhKU0dldE1lbW9yeVVzYWdl
U3RhdGlzdGljcyhjb250ZXh0UmVmKSkpOworfQorCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04o
ZnVuY3Rpb25DcmVhdGVNZW1vcnlGb290cHJpbnQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqKSkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>