<?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>70968</bug_id>
          
          <creation_ts>2011-10-26 14:24:05 -0700</creation_ts>
          <short_desc>De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject</short_desc>
          <delta_ts>2011-10-28 12:15:03 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>491179</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-26 14:24:05 -0700</bug_when>
    <thetext>These can all be de-virtualized by augmenting JSType with additional types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491834</commentid>
    <comment_count>1</comment_count>
      <attachid>112732</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-27 12:43:04 -0700</bug_when>
    <thetext>Created attachment 112732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492526</commentid>
    <comment_count>2</comment_count>
      <attachid>112732</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-28 10:52:53 -0700</bug_when>
    <thetext>Comment on attachment 112732
Patch

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

Seems like TypeInfo should eventually move to being specified in ClassInfo, even if a copy is cached in Structure. More elegant to specify TypeInfo declaratively, instead of through a bunch of function call arguments.

&gt; Source/JavaScriptCore/runtime/JSType.h:47
&gt; +    // VariableObjectType must be greater than all of the types of its subclasses.

Less than!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492586</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-28 12:15:03 -0700</bug_when>
    <thetext>Committed r98747: &lt;http://trac.webkit.org/changeset/98747&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112732</attachid>
            <date>2011-10-27 12:43:04 -0700</date>
            <delta_ts>2011-10-28 11:15:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70968-20111027124303.patch</filename>
            <type>text/plain</type>
            <size>20236</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2MDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDI4
OWVkYmEyNWFiM2M2OTZmZDkyYWNmM2QwMmY4NmUzYTk0NDFiYjMuLjdiODdjYzRmNzIzZGZiYzEy
M2MwNmNlOWE2ZWZiNGNlZjY5OTBlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM3IEBACiAyMDExLTEwLTI3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBpc0dsb2JhbE9iamVjdCwgaXNWYXJpYWJs
ZU9iamVjdCwgaXNBY3RpdmF0aW9uT2JqZWN0LCBhbmQgaXNFcnJvckluc3RhbmNlIGluIEpTT2Jq
ZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuY3BwOiBBZGRlZCB0d28gc3BlY2lhbGl6YXRpb25zIGZvciBjcmVh
dGVTdHJ1Y3R1cmUgdGhhdCB1c2UgZGlmZmVyZW50IEpTVHlwZXMgaW4gdGhlaXIKKyAgICAgICAg
VHlwZUluZm8uICBIYWQgdG8gYWxzbyBjcmVhdGUgYSBzcGVjaWFsaXphdGlvbiBmb3IgSlNOb25G
aW5hbE9iamVjdCwgZXZlbiBKU0dsb2JhbE9iamVjdCB3YXMgdGhlIG9ubHkgdGhhdCAKKyAgICAg
ICAgbmVlZGVkIGl0IGJlY2F1c2UgV2luZG93cyB3b3VsZG4ndCBidWlsZCB3aXRob3V0IGl0Lgor
ICAgICAgICAoSlNDOjo6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tPYmplY3QuaDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9ySW5zdGFuY2UuaDogUmVtb3ZlZCB2aXJ0dWFsIGZ1bmN0aW9u
IGFuZCBjaGFuZ2VkIEpTVHlwZSBwcm92aWRlZCB0byBUeXBlSW5mbyBpbiBjcmVhdGVTdHJ1Y3R1
cmUuIAorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXJyb3JQcm90b3R5cGUuaDogRGl0dG8KKyAgICAgICAgKEpTQzo6RXJy
b3JQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU0FjdGl2
YXRpb24uaDogRGl0dG8KKyAgICAgICAgKEpTQzo6SlNBY3RpdmF0aW9uOjpjcmVhdGVTdHJ1Y3R1
cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDogRGl0dG8KKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGlt
ZS9KU09iamVjdC5oOiBEZS12aXJ0dWFsaXplZCBmdW5jdGlvbnMuICBUaGV5IG5vdyBjaGVjayB0
aGUgSlNUeXBlIG9mIHRoZSBvYmplY3QgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHR5cGUuCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0Ojppc0dsb2JhbE9iamVjdCk6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0Ojppc1ZhcmlhYmxlT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmlzQWN0aXZh
dGlvbk9iamVjdCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojppc0Vycm9ySW5zdGFuY2UpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlLmg6IEFkZGVkIG5ldyB0eXBlcyBmb3IgR2xvYmFsT2Jq
ZWN0LCBWYXJpYWJsZU9iamVjdCwgQWN0aXZhdGlvbk9iamVjdCwgYW5kIEVycm9ySW5zdGFuY2Uu
CisgICAgICAgICogcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcDogUmVtb3ZlZCB2aXJ0dWFs
IGZ1bmN0aW9uLgorICAgICAgICAqIHJ1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oOiBDaGFuZ2Vk
IEpTVHlwZSBwcm92aWRlZCB0byBUeXBlSW5mbyBpbiBjcmVhdGVTdHJ1Y3R1cmUuCisgICAgICAg
IChKU0M6OkpTVmFyaWFibGVPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisKKzIwMTEtMTAtMjcg
IE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBGaXhp
bmcgd2luZG93cyBidWlsZAogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNjBmNTQwOGY0YmExYTE3NzFkNmYxZThhN2M1YzI1YjBkNmZiMDUyMS4uOGQ0YmZjMDIz
MmNhNjJjNTEwMTIxZWE5ZGMzNzk3YzU0M2ZhYzM5MCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDExLTEwLTI3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBpc0dsb2JhbE9iamVjdCwgaXNWYXJpYWJsZU9iamVj
dCwgaXNBY3RpdmF0aW9uT2JqZWN0LCBhbmQgaXNFcnJvckluc3RhbmNlIGluIEpTT2JqZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk2OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6IENoYW5nZWQg
SlNUeXBlIHByb3ZpZGVkIHRvIFR5cGVJbmZvIGluIGNyZWF0ZVN0cnVjdHVyZSBzaW5jZSB0aGlz
IAorICAgICAgICBjbGFzcyBpbmhlcml0cyBmcm9tIEpTR2xvYmFsT2JqZWN0LiAKKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOiBEaXR0bworICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTV29ya2VyQ29udGV4dEJhc2UuaDogRGl0dG8KKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2Vy
Q29udGV4dEJhc2U6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG06IEFkZGVkIGV4dHJhIGNoZWNrIHRvIG1ha2Ugc3VyZSBzdWJj
bGFzc2VzIG9mIEpTR2xvYmFsT2JqZWN0LAorICAgICAgICBuYW1lbHkgSlNET01XaW5kb3cgYW5k
IEpTV29ya2VyQ29udGV4dCwgZ2V0IHRoZWlyIHNwZWNpYWwgSlNUeXBlIGluIHRoZWlyIGNyZWF0
ZVN0cnVjdHVyZSBmdW5jdGlvbi4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKwogMjAxMS0x
MC0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMDI2MjIwNT4gQWxsb3cgY29sdW1uIHByb2dyZXNzaW9uIHRvIGJlIGluZGVwZW5k
ZW50IG9mIHdyaXRpbmcgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NhbGxiYWNrT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5jcHAKaW5kZXggNzAwZWIzY2NlNDRhZmRkOWQxMjljMmRlMWNiZTUyZTA3NzM2
YmVkYi4uZmI5ZDczMDI5YzYzMDIwYjg3OTViOWFmZmYxNzg1YjNhY2ZlYTU2YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCkBAIC0zOSw2ICsz
OSwxOCBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9i
YWxPYmplY3Q+KTsKIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0
PEpTTm9uRmluYWxPYmplY3Q+OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZKU05vbkZp
bmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09i
amVjdCkgfTsKIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpT
R2xvYmFsT2JqZWN0Pjo6c19pbmZvID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmSlNHbG9i
YWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2Jq
ZWN0KSB9OwogCit0ZW1wbGF0ZSA8PgorU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTTm9u
RmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQoreyAKKyAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlw
ZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsgCit9CisgICAgCit0
ZW1wbGF0ZSA8PgorU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6
Y3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK3sgCisgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9i
amVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7IAorfQorCiB2b2lkIEpTQ2FsbGJh
Y2tPYmplY3REYXRhOjpmaW5hbGl6ZShIYW5kbGU8VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250
ZXh0KQogewogICAgIEpTQ2xhc3NSZWYganNDbGFzcyA9IHN0YXRpY19jYXN0PEpTQ2xhc3NSZWY+
KGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3Qu
aAppbmRleCBlY2RlYzY5OGNjYTFlYzJhYmY4ZjY4M2RhNDM0MDI3MmFjMWIyMzZjLi5mNjYwNGQ4
MzlmZTRkNTlmNGE5ZjE2MDY2ODc3YWVmODZiNDVmMjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTUyLDEwICsxNTIsNyBAQCBwdWJsaWM6
CiAgICAgSlNDbGFzc1JlZiBjbGFzc1JlZigpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tPYmpl
Y3REYXRhLT5qc0NsYXNzOyB9CiAgICAgYm9vbCBpbmhlcml0cyhKU0NsYXNzUmVmKSBjb25zdDsK
IAotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pIAot
ICAgIHsgCi0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9i
YWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZz
X2luZm8pOyAKLSAgICB9CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpT
R2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAgICAgCiAgICAgSlNWYWx1
ZSBnZXRQcml2YXRlUHJvcGVydHkoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKSBjb25z
dAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDlk
YjM1ZWY0ZjM5YTY5ZDkwNTM3NzU3YTgwYTZkYmExNzI3MjIyMTIuLjYzM2VhMjU5Y2NhNDZmMGI1
YmU1NmUwYmRiYzQ5YTg4YjBhYmZjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmV4cApAQCAtNTM2LDcgKzUzNiw2IEBAIF9fWk5LM0pTQzExSW50ZXJwcmV0ZXIxNHJl
dHJpZXZlQ2FsbGVyRVBOU185RXhlY1N0YXRlRVBOU18xMEpTRnVuY3Rpb25FCiBfX1pOSzNKU0Mx
MUludGVycHJldGVyMThyZXRyaWV2ZUxhc3RDYWxsZXJFUE5TXzlFeGVjU3RhdGVFUmlSbFJOU183
VVN0cmluZ0VSTlNfN0pTVmFsdWVFCiBfX1pOSzNKU0MxMlByb3BlcnR5U2xvdDE0ZnVuY3Rpb25H
ZXR0ZXJFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNKU0MxNEpTR2xvYmFsT2JqZWN0MTRpc0R5bmFt
aWNTY29wZUVSYgotX19aTkszSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTZpc1ZhcmlhYmxlT2JqZWN0
RXYKIF9fWk5LM0pTQzE3RGVidWdnZXJDYWxsRnJhbWUxMHRoaXNPYmplY3RFdgogX19aTkszSlND
MTdEZWJ1Z2dlckNhbGxGcmFtZTEyZnVuY3Rpb25OYW1lRXYKIF9fWk5LM0pTQzE3RGVidWdnZXJD
YWxsRnJhbWUyMmNhbGN1bGF0ZWRGdW5jdGlvbk5hbWVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCBmOWMzMmQ0ZWI2OTVkMzJl
OTAxYjZiNDlhNGMwY2I3NzQ2N2IyMDVjLi4yZDM5N2U5NzNlNDQ2NDg0ZjEzYzc2NTI1MzA3MDEz
OTU0N2JlMDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmRlZgpAQCAtMjMzLDcgKzIzMyw2IEBAIEVYUE9SVFMKICAgICA/aXNUZXJtaW5h
dGVkRXhlY3V0aW9uRXhjZXB0aW9uQEpTQ0BAWUFfTlZKU1ZhbHVlQDFAQFoKICAgICA/aXNWYWxp
ZEFsbG9jYXRpb25ASGVhcEBKU0NAQEFBRV9OSUBaCiAgICAgP2lzVmFsaWRDYWxsZWVASlNWYWx1
ZUBKU0NAQFFBRV9OWFoKLSAgICA/aXNWYXJpYWJsZU9iamVjdEBKU1ZhcmlhYmxlT2JqZWN0QEpT
Q0BAVUJFX05YWgogICAgID9qc093bmVkU3RyaW5nQEpTQ0BAWUFQQVZKU1N0cmluZ0AxQFBBVkpT
R2xvYmFsRGF0YUAxQEFCVlVTdHJpbmdAMUBAWgogICAgID9qc1N0cmluZ0BKU0NAQFlBUEFWSlNT
dHJpbmdAMUBQQVZKU0dsb2JhbERhdGFAMUBBQlZVU3RyaW5nQDFAQFoKICAgICA/bGVuZ3RoQENT
dHJpbmdAV1RGQEBRQkVJWFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
SW5zdGFuY2UuaAppbmRleCAzOWQ2YzIyZjNhOWI0YjExZWYyODc2NGUwZDAzZDhlODk3NzVmODdj
Li5kOWFjYTBmNjFmZWExZWNhZGYyYzFmYjI0MWRkM2RjNTRjY2ZjODQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCkBAIC0zMyw3ICszMyw3IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgcHJvdG90eXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAgICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKEVycm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8p
OwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0ZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5n
JiBtZXNzYWdlKQpAQCAtNTYsOCArNTYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9p
ZCBzZXRBcHBlbmRTb3VyY2VUb01lc3NhZ2UoKSB7IG1fYXBwZW5kU291cmNlVG9NZXNzYWdlID0g
dHJ1ZTsgfQogICAgICAgICB2b2lkIGNsZWFyQXBwZW5kU291cmNlVG9NZXNzYWdlKCkgeyBtX2Fw
cGVuZFNvdXJjZVRvTWVzc2FnZSA9IGZhbHNlOyB9CiAKLSAgICAgICAgdmlydHVhbCBib29sIGlz
RXJyb3JJbnN0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQogICAgIHByb3RlY3RlZDoK
ICAgICAgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgK
aW5kZXggZmFlNDgyZmNiMGYyMTk2MDUxM2FhM2IwN2YzMzJhZjBmNDNmMjBjNS4uNjdjNTQ0NjMz
ZmY1NDliZTU1NjY1MTNmZjM3MDQxODlhZjAwYzA0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgcHJvdG90eXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVj
dFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAgICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKEVycm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAg
ICB9CiAKICAgICBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FjdGl2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QWN0aXZhdGlvbi5oCmluZGV4IDM5NzdiNmZjYmJkMjMxZTNhZGVjMzM4Nzc4MWRjNzdmZmZhYzVj
MmIuLmYxZWQxOTA5MzNjYjI4NjNhM2E2ZTdhNjBjMTg2Y2E4MzA1NWE1MTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCkBAIC01OSw4ICs1OSw2IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0R5bmFtaWNTY29wZShi
b29sJiByZXF1aXJlc0R5bmFtaWNDaGVja3MpIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgYm9v
bCBpc0FjdGl2YXRpb25PYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0KICAgICAgICAg
c3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGdldE93
blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlv
bk1vZGUpOwogCkBAIC03NSw3ICs3Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAg
ICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAKLSAgICAgICAgc3RhdGljIFN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykgeyByZXR1cm4gU3RydWN0dXJl
OjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8oT2JqZWN0
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsgfQorICAgICAgICBzdGF0aWMgU3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKSB7IHJldHVybiBTdHJ1Y3R1cmU6OmNy
ZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhBY3RpdmF0aW9u
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsgfQogCiAgICAgcHJvdGVjdGVk
OgogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKENhbGxGcmFtZSopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggMzMxMzNmMjk3NTU5
MzI3MGFlNGU5MzAwYWYxMzczZDNkN2NiN2RlMS4uMTE1NDExNDdlMGU4NDQyNjNjODBlMDIxYTM3
NDdmMzRlODZhZGUzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCkBAIC0yNjcsOCArMjY3LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgU2NvcGVDaGFpbk5vZGUqIGdsb2JhbFNjb3BlQ2hhaW4oKSB7IHJldHVybiBtX2dsb2JhbFNj
b3BlQ2hhaW4uZ2V0KCk7IH0KIAotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNHbG9iYWxPYmplY3Qo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0KICAgICAgICAgRXhlY1N0YXRlKiBnbG9iYWxFeGVj
KCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlwdCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KQEAgLTI4OCw3ICsyODYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIDAsIHByb3RvdHlwZSwgVHlwZUluZm8o
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsKKyAgICAgICAgICAgIHJldHVy
biBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCAwLCBwcm90b3R5cGUsIFR5cGVJbmZvKEds
b2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAog
ICAgICAgICB2b2lkIHJlZ2lzdGVyV2Vha01hcChPcGFxdWVKU1dlYWtPYmplY3RNYXAqIG1hcCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDkxNjljZjE4ZTg3
YzlmNmI3ZWZiMGEwY2ZjNWVmZjQ4NDVjYzVjMGYuLjZlMTUzNTJlNjhmMjI0YmY3YTYwOGUyY2Vm
MmRhNGU3NzMxMzQwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aApAQCAtMTkxLDEwICsxOTEsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwg
SlNWYWx1ZSBsb29rdXBTZXR0ZXIoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKTsKICAgICAgICAgdmlydHVhbCBib29sIGRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0
ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiwg
Ym9vbCBzaG91bGRUaHJvdyk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGlzR2xvYmFsT2JqZWN0
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAgICAgdmlydHVhbCBib29sIGlzVmFyaWFi
bGVPYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNBY3RpdmF0aW9uT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAgICAgdmly
dHVhbCBib29sIGlzRXJyb3JJbnN0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
ICAgIGJvb2wgaXNHbG9iYWxPYmplY3QoKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ZhcmlhYmxl
T2JqZWN0KCkgY29uc3Q7CisgICAgICAgIGJvb2wgaXNBY3RpdmF0aW9uT2JqZWN0KCkgY29uc3Q7
CisgICAgICAgIGJvb2wgaXNFcnJvckluc3RhbmNlKCkgY29uc3Q7CiAKICAgICAgICAgdm9pZCBz
ZWFsKEpTR2xvYmFsRGF0YSYpOwogICAgICAgICB2b2lkIGZyZWV6ZShKU0dsb2JhbERhdGEmKTsK
QEAgLTQwNCw2ICs0MDQsMjYgQEAgaW5saW5lIHNpemVfdCBKU09iamVjdDo6b2Zmc2V0T2ZJbmhl
cml0b3JJRCgpCiAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU09iamVjdCwgbV9pbmhlcml0
b3JJRCk7CiB9CiAKK2lubGluZSBib29sIEpTT2JqZWN0Ojppc0dsb2JhbE9iamVjdCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT50eXBlSW5mbygpLnR5cGUoKSA9PSBHbG9iYWxP
YmplY3RUeXBlOworfQorCitpbmxpbmUgYm9vbCBKU09iamVjdDo6aXNWYXJpYWJsZU9iamVjdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT50eXBlSW5mbygpLnR5cGUoKSA+PSBW
YXJpYWJsZU9iamVjdFR5cGU7Cit9CisKK2lubGluZSBib29sIEpTT2JqZWN0Ojppc0FjdGl2YXRp
b25PYmplY3QoKSBjb25zdAoreworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+dHlwZUluZm8oKS50
eXBlKCkgPT0gQWN0aXZhdGlvbk9iamVjdFR5cGU7Cit9CisKK2lubGluZSBib29sIEpTT2JqZWN0
Ojppc0Vycm9ySW5zdGFuY2UoKSBjb25zdAoreworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+dHlw
ZUluZm8oKS50eXBlKCkgPT0gRXJyb3JJbnN0YW5jZVR5cGU7Cit9CisKIGlubGluZSBKU09iamVj
dCogY29uc3RydWN0RW1wdHlPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKIHsKICAgICByZXR1cm4gSlNGaW5hbE9iamVjdDo6Y3JlYXRlKGV4ZWMsIHN0cnVjdHVy
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oCmluZGV4IGM3ZTNhMmJlMTMy
NzJmZDYxNTM2ZGM4NTVjNTEyMWNiYTUzYzM4NzQuLmYxZWE5OGM4ZWQ4NTk3NTk1Njc2NDJiZDIw
NjRjMzJhMDQwMDhkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oCkBA
IC00Miw2ICs0MiwxMiBAQCBlbnVtIEpTVHlwZSB7CiAgICAgRmluYWxPYmplY3RUeXBlICAgICA9
IDExLAogICAgIEpTRnVuY3Rpb25UeXBlICAgICAgPSAxMiwKICAgICBOdW1iZXJPYmplY3RUeXBl
ICAgID0gMTMsCisgICAgRXJyb3JJbnN0YW5jZVR5cGUgICA9IDE0LAorCisgICAgLy8gVmFyaWFi
bGVPYmplY3RUeXBlIG11c3QgYmUgZ3JlYXRlciB0aGFuIGFsbCBvZiB0aGUgdHlwZXMgb2YgaXRz
IHN1YmNsYXNzZXMuCisgICAgVmFyaWFibGVPYmplY3RUeXBlICA9IDE1LAorICAgIEdsb2JhbE9i
amVjdFR5cGUgICAgPSAxNiwKKyAgICBBY3RpdmF0aW9uT2JqZWN0VHlwZSA9IDE3LAogfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVmFyaWFibGVPYmplY3QuY3BwCmluZGV4IDA5Yzg3YTE2OTJjZmUzOGRkNjE1YzAyMjc3ZDAw
YjFhMzdhNjcwZDEuLjBhM2QyZjg2MThhOTFkNmQ3NWY3NDY2NDRmZWUzZjA4YmVmZDEzYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3Qu
Y3BwCkBAIC01NCwxMSArNTQsNiBAQCB2b2lkIEpTVmFyaWFibGVPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcAogICAgIEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKGV4ZWMsIHByb3BlcnR5TmFtZXMsIG1vZGUpOwogfQog
Ci1ib29sIEpTVmFyaWFibGVPYmplY3Q6OmlzVmFyaWFibGVPYmplY3QoKSBjb25zdAotewotICAg
IHJldHVybiB0cnVlOwotfQotCiBib29sIEpTVmFyaWFibGVPYmplY3Q6OnN5bWJvbFRhYmxlR2V0
KGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNj
cmlwdG9yKQogewogICAgIFN5bWJvbFRhYmxlRW50cnkgZW50cnkgPSBzeW1ib2xUYWJsZSgpLmlu
bGluZUdldChwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuaAppbmRleCAwZjg2ZTM1ZTI5YTk2YTZiNDgwZTAw
YWRhZWYzNGMyNWQ4YTU1NDU1Li42MjY5YzY2YmQ0ZmYzNmFhNWEzMjAzYTQ3MzgwYTViOWEyYWMy
ZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxl
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9i
amVjdC5oCkBAIC01Myw3ICs1Myw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMg
Ym9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
Jik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVu
dW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1ZhcmlhYmxl
T2JqZWN0KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0R5bmFtaWNTY29wZShib29s
JiByZXF1aXJlc0R5bmFtaWNDaGVja3MpIGNvbnN0ID0gMDsKIAogICAgICAgICBXcml0ZUJhcnJp
ZXI8VW5rbm93bj4mIHJlZ2lzdGVyQXQoaW50IGluZGV4KSBjb25zdCB7IHJldHVybiBtX3JlZ2lz
dGVyc1tpbmRleF07IH0KQEAgLTYzLDcgKzYyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRh
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCAmc19pbmZvKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oVmFyaWFibGVPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAgICB9CiAgICAgICAgIAog
ICAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5oCmluZGV4IDNmYTEyNWM5YTFjNTVhNWM5ZDFkMmVmZTZiN2UwNTY4ZjQ5YjhkY2Eu
LjNiYTRjMzdjZTc3OWM1ZTJlOGJhYWZjOGQzNzE0MGMyMDUyMjFkMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtNzUsNyArNzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQzo6SlNWYWx1
ZSBwcm90b3R5cGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVy
ZTo6Y3JlYXRlKGdsb2JhbERhdGEsIDAsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9i
amVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAgICAgICAgICByZXR1cm4g
SlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCAwLCBwcm90b3R5cGUsIEpTQzo6VHlw
ZUluZm8oSlNDOjpHbG9iYWxPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwog
ICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93QmFzZS5oCmluZGV4IGM1NWUyM2MwMzM1NDMwMDZlZjFjNzc1ZWU2ZWNjYzQy
ZGMyNDA4ZDcuLjQ5OTQ3YzYxNWU1MDBmOTY0YTJlMzlmM2U1M2RhNDdhMDI0MWVlZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC01Myw3ICs1
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1
cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpK
U1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgMCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpT
Qzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsKKyAgICAgICAgICAgIHJl
dHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIDAsIHByb3RvdHlwZSwgSlND
OjpUeXBlSW5mbyhKU0M6Okdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5m
byk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNQcm9maWxpbmco
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
Q29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4
dEJhc2UuaAppbmRleCA3NmM5ZThhMGE3ZWRhN2RhMjY3ODc4Y2I5ZjM3YmNmYjdjNmU5NDAyLi5k
ODE3MWMxNTdlZWRiZTk5ZWY3Mjk3MDUyNmU4Yzc0MjVkYzVlZmQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5oCkBAIC01MCw3ICs1MCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRh
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpTdHJ1
Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpU
eXBlSW5mbyhKU0M6Okdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7
CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZTg1ZTBhYzA4YzZmNmYwNWU3
YWZmMmEzODkxNDVjZWQ3ZTY2YTIyYS4uNjAwZWY4Mjk1OTMzNzhlNDA0N2Y2ZDRkMmM0NDE4YTAx
NWY4YTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KQEAgLTgwOCwxMSArODA4LDE0IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgog
ICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewogICAgICAgICAkc3RydWN0
dXJlRmxhZ3N7IkpTQzo6SW1wbGVtZW50c0hhc0luc3RhbmNlIn0gPSAxOwogICAgIH0KLSAgICBw
dXNoKEBoZWFkZXJDb250ZW50LAotICAgICAgICAiICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OkpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpXG4iIC4KLSAg
ICAgICAgIiAgICB7XG4iIC4KLSAgICAgICAgIiAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUlu
Zm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pO1xuIiAuCi0gICAg
ICAgICIgICAgfVxuXG4iKTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90
b3R5cGUpXG4iKTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHtcbiIpOworICAgIGlm
ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IiB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJJc1dvcmtlckNvbnRleHQifSkgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAiICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Okdsb2JhbE9iamVjdFR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7XG4iKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNy
ZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhK
U0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7XG4iKTsKKyAgICB9Cisg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB9XG5cbiIpOwogCiAgICAgIyBDdXN0b20gcHVz
aEV2ZW50SGFuZGxlclNjb3BlIGZ1bmN0aW9uCiAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAg
ICB2aXJ0dWFsIEpTQzo6U2NvcGVDaGFpbk5vZGUqIHB1c2hFdmVudEhhbmRsZXJTY29wZShKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6U2NvcGVDaGFpbk5vZGUqKSBjb25zdDtcblxuIikgaWYgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHVzaEV2ZW50SGFuZGxlclNjb3BlIn07
Cg==
</data>
<flag name="review"
          id="110868"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>