<?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>89841</bug_id>
          
          <creation_ts>2012-06-24 17:35:48 -0700</creation_ts>
          <short_desc>REGRESSION(r121106): Caused 85% performance regressions on Dromaeo/jslib-modify-jquery.html (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2012-06-24 17:41:25 -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>New Bugs</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>73853</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>andersca</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>656290</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-24 17:35:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/121106 broke the build:
Caused 85% performance regressions on Dromaeo/jslib-modify-jquery.html (Requested by rniwa on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656292</commentid>
    <comment_count>1</comment_count>
      <attachid>149215</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-24 17:36:34 -0700</bug_when>
    <thetext>Created attachment 149215
ROLLOUT of r121106

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656295</commentid>
    <comment_count>2</comment_count>
      <attachid>149215</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-24 17:41:21 -0700</bug_when>
    <thetext>Comment on attachment 149215
ROLLOUT of r121106

Clearing flags on attachment: 149215

Committed r121126: &lt;http://trac.webkit.org/changeset/121126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656296</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-24 17:41:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149215</attachid>
            <date>2012-06-24 17:36:34 -0700</date>
            <delta_ts>2012-06-24 17:41:21 -0700</delta_ts>
            <desc>ROLLOUT of r121106</desc>
            <filename>bug-89841-20120625004134.patch</filename>
            <type>text/plain</type>
            <size>21158</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMwOGM5NzExNTk0ZmFk
MjZmMDFiY2EzNGE1NTJlNzI3YTQyODEzNi4uODkzNTg3ZTBlMWViNTNhMmE0NTA4YzE4ZjI4M2M5
ZjNmNDUxMzQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA2LTI0ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTIxMTA2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjExMDYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5ODQxCisKKyAgICAgICAgQ2F1c2VkIDg1JSBwZXJmb3JtYW5jZSByZWdyZXNz
aW9ucyBvbiBEcm9tYWVvL2pzbGliLW1vZGlmeS0KKyAgICAgICAganF1ZXJ5Lmh0bWwgKFJlcXVl
c3RlZCBieSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y2xlYXJOb2RlTGlzdENhY2hlcyk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChEb2N1bWVudCk6CisgICAgICAgICogZG9t
L0R5bmFtaWNOb2RlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEeW5hbWljU3VidHJlZU5v
ZGVMaXN0Ojp+RHluYW1pY1N1YnRyZWVOb2RlTGlzdCk6CisgICAgICAgICogZG9tL0R5bmFtaWNO
b2RlTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6RHluYW1pY1N1YnRyZWVOb2RlTGlzdDo6RHlu
YW1pY1N1YnRyZWVOb2RlTGlzdCk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6Y2xlYXJSYXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpp
bnZhbGlkYXRlTm9kZUxpc3RzQ2FjaGVBZnRlckF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6aW52YWxpZGF0ZU5vZGVMaXN0c0NhY2hlQWZ0ZXJDaGlsZHJlbkNoYW5n
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWVOUyk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpnZXRFbGVtZW50c0J5TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjpnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJhZGlv
Tm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRh
dGVDYWNoZXMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFy
ZURhdGE6OmNyZWF0ZU5vZGVMaXN0cyk6CisgICAgICAgICogZG9tL05vZGVSYXJlRGF0YS5oOgor
ICAgICAgICAoTm9kZUxpc3RzTm9kZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3Rz
Tm9kZURhdGE6OmFkb3B0VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0
YTo6ZW5zdXJlTm9kZUxpc3RzKToKKyAgICAgICAgKE5vZGVSYXJlRGF0YSk6CisgICAgICAgICog
ZG9tL1RyZWVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OlRyZWVTY29w
ZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNj
b3BlOjphZGROb2RlTGlzdENhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZTo6cmVt
b3ZlTm9kZUxpc3RDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6Omhhc05vZGVM
aXN0Q2FjaGVzKToKKyAgICAgICAgKFRyZWVTY29wZSk6CisgICAgICAgICogZG9tL1RyZWVTY29w
ZUFkb3B0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRy
ZWVUb05ld1Njb3BlKToKKyAgICAgICAgKiBodG1sL0xhYmVsYWJsZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGFiZWxhYmxlRWxlbWVudDo6bGFiZWxzKToKKyAgICAgICAgKiBodG1s
L0xhYmVsc05vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxhYmVsc05vZGVMaXN0OjpM
YWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6fkxhYmVs
c05vZGVMaXN0KToKKyAgICAgICAgKiBodG1sL1JhZGlvTm9kZUxpc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmFkaW9Ob2RlTGlzdDo6UmFkaW9Ob2RlTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSYWRpb05vZGVMaXN0Ojp+UmFkaW9Ob2RlTGlzdCk6CisKIDIwMTItMDYtMjQgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDaGFuZ2UgdGhlIHR5cGUgb2YgdGhl
IHNlY29uZCBhcmd1bWVudCBvZiBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uIHRvIHVz
ZSBSZXZlYWxFeHRlbnRPcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFiZDcxOWU4
ZDY5YWMzNzcxZGFmMDQwZjViN2ZkYzE5ZDZjMmM1YzYuLjEzMjY4MGFiMDkxODgxZGNkMGE1NDFi
ZjUwZWM1MzFmNjQ0Y2MyY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzg3MiwxNCAr
Mzg3MiwxMSBAQCB2b2lkIERvY3VtZW50Ojp1bnJlZ2lzdGVyRHluYW1pY1N1YnRyZWVOb2RlTGlz
dChEeW5hbWljU3VidHJlZU5vZGVMaXN0KiBsaXN0KQogICAgIG1fbGlzdHNJbnZhbGlkYXRlZEF0
RG9jdW1lbnQucmVtb3ZlKGxpc3QpOwogfQogCi12b2lkIERvY3VtZW50OjpjbGVhck5vZGVMaXN0
Q2FjaGVzKGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0dHJOYW1lKQordm9pZCBEb2N1bWVudDo6Y2xl
YXJOb2RlTGlzdENhY2hlcygpCiB7Ci0gICAgLy8gRklYTUU6IE9ubHkgaW52YWxpZGF0ZSBjYWNo
ZXMgb2Ygbm9kZSBsaXN0cyB0aGF0IG1hdGNoIGF0dHJOYW1lLgogICAgIEhhc2hTZXQ8RHluYW1p
Y1N1YnRyZWVOb2RlTGlzdCo+OjppdGVyYXRvciBlbmQgPSBtX2xpc3RzSW52YWxpZGF0ZWRBdERv
Y3VtZW50LmVuZCgpOwotICAgIGZvciAoSGFzaFNldDxEeW5hbWljU3VidHJlZU5vZGVMaXN0Kj46
Oml0ZXJhdG9yIGl0ID0gbV9saXN0c0ludmFsaWRhdGVkQXREb2N1bWVudC5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgaWYgKCFhdHRyTmFtZSB8fCAoKml0KS0+c2hvdWxkSW52
YWxpZGF0ZU9uQXR0cmlidXRlQ2hhbmdlKCkpCi0gICAgICAgICAgICAoKml0KS0+aW52YWxpZGF0
ZUNhY2hlKCk7Ci0gICAgfQorICAgIGZvciAoSGFzaFNldDxEeW5hbWljU3VidHJlZU5vZGVMaXN0
Kj46Oml0ZXJhdG9yIGl0ID0gbV9saXN0c0ludmFsaWRhdGVkQXREb2N1bWVudC5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5pbnZhbGlkYXRlQ2FjaGUoKTsKIH0KIAog
dm9pZCBEb2N1bWVudDo6YXR0YWNoTm9kZUl0ZXJhdG9yKE5vZGVJdGVyYXRvciogbmkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDg0Yjg5NDAwZDY2OTFlMWMwY2E1M2YwZmQ3ZjE0NTNlYjliY2Qy
ZTIuLjY4ODg1ZmIzM2Y0OTUyMTRjMzFhMzcwMzM4ZmVjODA0YjRiMTFjYWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC03MTQsNyArNzE0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZWdpc3Rl
ckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QoRHluYW1pY1N1YnRyZWVOb2RlTGlzdCopOwogICAgIHZv
aWQgdW5yZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QoRHluYW1pY1N1YnRyZWVOb2RlTGlz
dCopOwotICAgIHZvaWQgY2xlYXJOb2RlTGlzdENhY2hlcyhjb25zdCBRdWFsaWZpZWROYW1lKiBh
dHRyTmFtZSk7CisgICAgdm9pZCBjbGVhck5vZGVMaXN0Q2FjaGVzKCk7CiAKICAgICB2b2lkIGF0
dGFjaE5vZGVJdGVyYXRvcihOb2RlSXRlcmF0b3IqKTsKICAgICB2b2lkIGRldGFjaE5vZGVJdGVy
YXRvcihOb2RlSXRlcmF0b3IqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EeW5h
bWljTm9kZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2RlTGlzdC5jcHAK
aW5kZXggNGY1YjU4Y2E3NTgyZDgzYzdlM2MwYTNjZDdkMzJlN2Y4NzJkMjY1Zi4uZDE2OWE2Y2Rh
NmM3ZDJlMzVlYTU3YzQ5OTY1N2Q0YWI2Y2VhOTBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0R5bmFtaWNOb2RlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0R5bmFt
aWNOb2RlTGlzdC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBE
eW5hbWljU3VidHJlZU5vZGVMaXN0Ojp+RHluYW1pY1N1YnRyZWVOb2RlTGlzdCgpCiB7Ci0gICAg
ZG9jdW1lbnQoKS0+dW5yZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QodGhpcyk7CiB9CiAK
IHVuc2lnbmVkIER5bmFtaWNTdWJ0cmVlTm9kZUxpc3Q6Omxlbmd0aCgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRHluYW1pY05vZGVMaXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRHluYW1pY05vZGVMaXN0LmgKaW5kZXggOTM0ZTMwMmVlZmJkYTBhNTE4MjM5ZDhlZTYx
N2Q2MzYzODJjYjFkOC4uOGIzM2UwZDBkOTlmNjkxZjAzNjE4NDY0ZDY5ZDc5ZDFlY2RiMGQyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2RlTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EeW5hbWljTm9kZUxpc3QuaApAQCAtMTIzLDkgKzEyMyw3IEBAIHB1
YmxpYzoKIHByb3RlY3RlZDoKICAgICBEeW5hbWljU3VidHJlZU5vZGVMaXN0KFBhc3NSZWZQdHI8
Tm9kZT4gbm9kZSwgUm9vdFR5cGUgcm9vdFR5cGUgPSBSb290ZWRBdE5vZGUsIEludmFsaWRhdGlv
blR5cGUgaW52YWxpZGF0aW9uVHlwZSA9IEFsd2F5c0ludmFsaWRhdGUpCiAgICAgICAgIDogRHlu
YW1pY05vZGVMaXN0KG5vZGUsIHJvb3RUeXBlLCBpbnZhbGlkYXRpb25UeXBlKQotICAgIHsKLSAg
ICAgICAgZG9jdW1lbnQoKS0+cmVnaXN0ZXJEeW5hbWljU3VidHJlZU5vZGVMaXN0KHRoaXMpOwot
ICAgIH0KKyAgICB7IH0KIAogcHJpdmF0ZToKICAgICBOb2RlKiBpdGVtRm9yd2FyZHNGcm9tQ3Vy
cmVudChOb2RlKiBzdGFydCwgdW5zaWduZWQgb2Zmc2V0LCBpbnQgcmVtYWluaW5nT2Zmc2V0KSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCAyZWNmOGIzNzg3YTk3YzdlNDBlYjNkOGY0ZWU0ZWIx
MzA2ZjhlZDkyLi43NDQ2Y2ZhMDQwMTEzMmQ5NmM0ZTc1NjYzMWQ0M2U1YTg0YmU2ZWZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC00ODIsNiArNDgyLDkgQEAgT3duUHRyPE5vZGVSYXJlRGF0YT4gTm9k
ZTo6Y3JlYXRlUmFyZURhdGEoKQogdm9pZCBOb2RlOjpjbGVhclJhcmVEYXRhKCkKIHsKICAgICBB
U1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgaWYgKHRyZWVTY29wZSgpICYmIHJhcmVEYXRhKCkt
Pm5vZGVMaXN0cygpKQorICAgICAgICB0cmVlU2NvcGUoKS0+cmVtb3ZlTm9kZUxpc3RDYWNoZSgp
OworCiAjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKICAgICBBU1NFUlQoIXRyYW5zaWVu
dE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpIHx8IHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyeSgpLT5pc0VtcHR5KCkpOwogI2VuZGlmCkBAIC05NDgsMTAgKzk1MSwxMCBAQCB2b2lk
IE5vZGU6OmludmFsaWRhdGVOb2RlTGlzdHNDYWNoZUFmdGVyQXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJiBhdAogICAgICAgICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogTW92
ZSB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIGVhY2ggTm9kZUxpc3QgdHlwZSBjYXJlcyBhYm91dCB0
byBiZSBhIHN0YXRpYyBvbiB0aGUKLSAgICAvLyBhcHByb3ByaWF0ZSBOb2RlTGlzdCBjbGFzcy4g
VGhlbiB1c2UgdGhvc2UgbGlzdHMgaGVyZSBhbmQgaW4gY2xlYXJOb2RlTGlzdENhY2hlcworICAg
IC8vIGFwcHJvcHJpYXRlIE5vZGVMaXN0IGNsYXNzLiBUaGVuIHVzZSB0aG9zZSBsaXN0cyBoZXJl
IGFuZCBpbiBpbnZhbGlkYXRlQ2FjaGVzVGhhdERlcGVuZE9uQXR0cmlidXRlcwogICAgIC8vIHRv
IG9ubHkgaW52YWxpZGF0ZSB0aGUgY2FjaGUgdHlwZXMgdGhhdCBkZXBlbmQgb24gdGhlIGF0dHJp
YnV0ZSB0aGF0IGNoYW5nZWQuCiAgICAgLy8gRklYTUU6IEtlZXAgdHJhY2sgb2Ygd2hlbiB3ZSBo
YXZlIG5vIGNhY2hlcyBvZiBhIGdpdmVuIHR5cGUgc28gdGhhdCB3ZSBjYW4gYXZvaWQgdGhlIGZv
ci1sb29wCi0gICAgLy8gaW4gY2xlYXJOb2RlTGlzdENhY2hlcyBldmVuIGlmIGEgcmVsYXRlZCBh
dHRyaWJ1dGUgY2hhbmdlZCAoZS5nLiBpZiB3ZSBoYXZlIG5vIFJhZGlvTm9kZUxpc3RzLCB3ZSBk
b24ndCBuZWVkCisgICAgLy8gYmVsb3cgZXZlbiBpZiBhIHJlbGF0ZWQgYXR0cmlidXRlIGNoYW5n
ZWQgKGUuZy4gaWYgd2UgaGF2ZSBubyBSYWRpb05vZGVMaXN0cywgd2UgZG9uJ3QgbmVlZAogICAg
IC8vIHRvIGludmFsaWRhdGUgYW55IGNhY2hlcyB3aGVuIGlkIGF0dHJpYnV0ZXMgY2hhbmdlLikK
ICAgICBpZiAoYXR0ck5hbWUgIT0gY2xhc3NBdHRyCiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKQEAg
LTk2NCw3ICs5NjcsMjEgQEAgdm9pZCBOb2RlOjppbnZhbGlkYXRlTm9kZUxpc3RzQ2FjaGVBZnRl
ckF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXQKICAgICAgICAgJiYgKGF0
dHJOYW1lICE9IGlkQXR0ciB8fCAhYXR0cmlidXRlT3duZXJFbGVtZW50LT5pc0Zvcm1Db250cm9s
RWxlbWVudCgpKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG9jdW1lbnQoKS0+Y2xlYXJOb2Rl
TGlzdENhY2hlcygmYXR0ck5hbWUpOworICAgIGRvY3VtZW50KCktPmNsZWFyTm9kZUxpc3RDYWNo
ZXMoKTsKKworICAgIGlmICghdHJlZVNjb3BlKCktPmhhc05vZGVMaXN0Q2FjaGVzKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGZvciAoTm9kZSogbm9kZSA9IHRoaXM7IG5vZGU7IG5vZGUgPSBu
b2RlLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgQVNTRVJUKHRoaXMgPT0gbm9kZSB8fCAhbm9k
ZS0+aXNBdHRyaWJ1dGVOb2RlKCkpOworICAgICAgICBpZiAoIW5vZGUtPmhhc1JhcmVEYXRhKCkp
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgTm9kZVJhcmVEYXRhKiBkYXRhID0gbm9k
ZS0+cmFyZURhdGEoKTsKKyAgICAgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgIGRhdGEtPm5vZGVMaXN0cygpLT5pbnZhbGlkYXRlQ2Fj
aGVzKCZhdHRyTmFtZSk7CisgICAgfQogfQogCiB2b2lkIE5vZGU6OmludmFsaWRhdGVOb2RlTGlz
dHNDYWNoZUFmdGVyQ2hpbGRyZW5DaGFuZ2VkKCkKQEAgLTk3Miw3ICs5ODksMjAgQEAgdm9pZCBO
b2RlOjppbnZhbGlkYXRlTm9kZUxpc3RzQ2FjaGVBZnRlckNoaWxkcmVuQ2hhbmdlZCgpCiAgICAg
aWYgKGhhc1JhcmVEYXRhKCkpCiAgICAgICAgIHJhcmVEYXRhKCktPmNsZWFyQ2hpbGROb2RlTGlz
dENhY2hlKCk7CiAKLSAgICBkb2N1bWVudCgpLT5jbGVhck5vZGVMaXN0Q2FjaGVzKDApOworICAg
IGRvY3VtZW50KCktPmNsZWFyTm9kZUxpc3RDYWNoZXMoKTsKKworICAgIGlmICghdHJlZVNjb3Bl
KCktPmhhc05vZGVMaXN0Q2FjaGVzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoTm9k
ZSogbm9kZSA9IHRoaXM7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKKyAgICAg
ICAgaWYgKCFub2RlLT5oYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IG5vZGUtPnJhcmVEYXRhKCk7CisgICAgICAgIGlmICgh
ZGF0YS0+bm9kZUxpc3RzKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBkYXRh
LT5ub2RlTGlzdHMoKS0+aW52YWxpZGF0ZUNhY2hlcygpOworICAgIH0KIH0KIAogTm9kZUxpc3Rz
Tm9kZURhdGEqIE5vZGU6Om5vZGVMaXN0cygpCkBAIC0xNTE4LDggKzE1NDgsOCBAQCBQYXNzUmVm
UHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBBdG9taWNTdHJp
bmcmIGxvY2FsTmFtZSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoZG9jdW1lbnQoKS0+
aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3Vy
ZU5vZGVMaXN0cygpLT5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPEhUTUxUYWdOb2RlTGlzdD4odGhp
cywgRHluYW1pY05vZGVMaXN0OjpUYWdOb2RlTGlzdFR5cGUsIGxvY2FsTmFtZSk7Ci0gICAgcmV0
dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cygpLT5hZGRDYWNoZVdpdGhBdG9t
aWNOYW1lPFRhZ05vZGVMaXN0Pih0aGlzLCBEeW5hbWljTm9kZUxpc3Q6OlRhZ05vZGVMaXN0VHlw
ZSwgbG9jYWxOYW1lKTsKKyAgICAgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5v
ZGVMaXN0cyh0aGlzKS0+YWRkQ2FjaGVXaXRoQXRvbWljTmFtZTxIVE1MVGFnTm9kZUxpc3Q+KHRo
aXMsIER5bmFtaWNOb2RlTGlzdDo6VGFnTm9kZUxpc3RUeXBlLCBsb2NhbE5hbWUpOworICAgIHJl
dHVybiBlbnN1cmVSYXJlRGF0YSgpLT5lbnN1cmVOb2RlTGlzdHModGhpcyktPmFkZENhY2hlV2l0
aEF0b21pY05hbWU8VGFnTm9kZUxpc3Q+KHRoaXMsIER5bmFtaWNOb2RlTGlzdDo6VGFnTm9kZUxp
c3RUeXBlLCBsb2NhbE5hbWUpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRF
bGVtZW50c0J5VGFnTmFtZU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25z
dCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSkKQEAgLTE1MzAsMjMgKzE1NjAsMjMgQEAgUGFzc1Jl
ZlB0cjxOb2RlTGlzdD4gTm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWVOUyhjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWVzcGFjZVUKICAgICBpZiAobmFtZXNwYWNlVVJJID09IHN0YXJBdG9tKQogICAg
ICAgICByZXR1cm4gZ2V0RWxlbWVudHNCeVRhZ05hbWUobG9jYWxOYW1lKTsKIAotICAgIHJldHVy
biBlbnN1cmVSYXJlRGF0YSgpLT5lbnN1cmVOb2RlTGlzdHMoKS0+YWRkQ2FjaGVXaXRoUXVhbGlm
aWVkTmFtZSh0aGlzLCBuYW1lc3BhY2VVUkkuaXNFbXB0eSgpID8gbnVsbEF0b20gOiBuYW1lc3Bh
Y2VVUkksIGxvY2FsTmFtZSk7CisgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5v
ZGVMaXN0cyh0aGlzKS0+YWRkQ2FjaGVXaXRoUXVhbGlmaWVkTmFtZSh0aGlzLCBuYW1lc3BhY2VV
UkkuaXNFbXB0eSgpID8gbnVsbEF0b20gOiBuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSk7CiB9CiAK
IFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IE5vZGU6OmdldEVsZW1lbnRzQnlOYW1lKGNvbnN0IFN0cmlu
ZyYgZWxlbWVudE5hbWUpCiB7Ci0gICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5v
ZGVMaXN0cygpLT5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPE5hbWVOb2RlTGlzdD4odGhpcywgRHlu
YW1pY05vZGVMaXN0OjpOYW1lTm9kZUxpc3RUeXBlLCBlbGVtZW50TmFtZSk7CisgICAgcmV0dXJu
IGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cyh0aGlzKS0+YWRkQ2FjaGVXaXRoQXRv
bWljTmFtZTxOYW1lTm9kZUxpc3Q+KHRoaXMsIER5bmFtaWNOb2RlTGlzdDo6TmFtZU5vZGVMaXN0
VHlwZSwgZWxlbWVudE5hbWUpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRF
bGVtZW50c0J5Q2xhc3NOYW1lKGNvbnN0IFN0cmluZyYgY2xhc3NOYW1lcykKIHsKLSAgICByZXR1
cm4gZW5zdXJlUmFyZURhdGEoKS0+ZW5zdXJlTm9kZUxpc3RzKCktPmFkZENhY2hlV2l0aE5hbWU8
Q2xhc3NOb2RlTGlzdD4odGhpcywgRHluYW1pY05vZGVMaXN0OjpDbGFzc05vZGVMaXN0VHlwZSwg
Y2xhc3NOYW1lcyk7CisgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0
cyh0aGlzKS0+YWRkQ2FjaGVXaXRoTmFtZTxDbGFzc05vZGVMaXN0Pih0aGlzLCBEeW5hbWljTm9k
ZUxpc3Q6OkNsYXNzTm9kZUxpc3RUeXBlLCBjbGFzc05hbWVzKTsKIH0KIAogUGFzc1JlZlB0cjxS
YWRpb05vZGVMaXN0PiBOb2RlOjpyYWRpb05vZGVMaXN0KGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb3JtVGFnKSB8fCBoYXNUYWdOYW1lKGZpZWxk
c2V0VGFnKSk7Ci0gICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cygp
LT5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPFJhZGlvTm9kZUxpc3Q+KHRoaXMsIER5bmFtaWNOb2Rl
TGlzdDo6UmFkaW9Ob2RlTGlzdFR5cGUsIG5hbWUpOworICAgIHJldHVybiBlbnN1cmVSYXJlRGF0
YSgpLT5lbnN1cmVOb2RlTGlzdHModGhpcyktPmFkZENhY2hlV2l0aEF0b21pY05hbWU8UmFkaW9O
b2RlTGlzdD4odGhpcywgRHluYW1pY05vZGVMaXN0OjpSYWRpb05vZGVMaXN0VHlwZSwgbmFtZSk7
CiB9CiAKIFBhc3NSZWZQdHI8RWxlbWVudD4gTm9kZTo6cXVlcnlTZWxlY3Rvcihjb25zdCBBdG9t
aWNTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0yMjA4LDYgKzIyMzgs
MjggQEAgdm9pZCBOb2RlOjpzaG93VHJlZUZvclRoaXNBY3Jvc3NGcmFtZSgpIGNvbnN0CiAKIC8v
IC0tLS0tLS0tCiAKK3ZvaWQgTm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMoY29u
c3QgUXVhbGlmaWVkTmFtZSogYXR0ck5hbWUpCit7CisgICAgTm9kZUxpc3RBdG9taWNOYW1lQ2Fj
aGVNYXA6OmNvbnN0X2l0ZXJhdG9yIGF0b21pY05hbWVDYWNoZUVuZCA9IG1fYXRvbWljTmFtZUNh
Y2hlcy5lbmQoKTsKKyAgICBmb3IgKE5vZGVMaXN0QXRvbWljTmFtZUNhY2hlTWFwOjpjb25zdF9p
dGVyYXRvciBpdCA9IG1fYXRvbWljTmFtZUNhY2hlcy5iZWdpbigpOyBpdCAhPSBhdG9taWNOYW1l
Q2FjaGVFbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKCFhdHRyTmFtZSB8fCBpdC0+c2Vjb25kLT5z
aG91bGRJbnZhbGlkYXRlT25BdHRyaWJ1dGVDaGFuZ2UoKSkKKyAgICAgICAgICAgIGl0LT5zZWNv
bmQtPmludmFsaWRhdGVDYWNoZSgpOworICAgIH0KKworICAgIE5vZGVMaXN0TmFtZUNhY2hlTWFw
Ojpjb25zdF9pdGVyYXRvciBuYW1lQ2FjaGVFbmQgPSBtX25hbWVDYWNoZXMuZW5kKCk7CisgICAg
Zm9yIChOb2RlTGlzdE5hbWVDYWNoZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX25hbWVDYWNo
ZXMuYmVnaW4oKTsgaXQgIT0gbmFtZUNhY2hlRW5kOyArK2l0KSB7CisgICAgICAgIGlmICghYXR0
ck5hbWUgfHwgaXQtPnNlY29uZC0+c2hvdWxkSW52YWxpZGF0ZU9uQXR0cmlidXRlQ2hhbmdlKCkp
CisgICAgICAgICAgICBpdC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKKyAgICB9CisKKyAg
ICBpZiAoIWF0dHJOYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBUYWdOb2RlTGlzdENhY2hl
TlM6Oml0ZXJhdG9yIHRhZ0NhY2hlRW5kID0gbV90YWdOb2RlTGlzdENhY2hlTlMuZW5kKCk7Cisg
ICAgZm9yIChUYWdOb2RlTGlzdENhY2hlTlM6Oml0ZXJhdG9yIGl0ID0gbV90YWdOb2RlTGlzdENh
Y2hlTlMuYmVnaW4oKTsgaXQgIT0gdGFnQ2FjaGVFbmQ7ICsraXQpCisgICAgICAgIGl0LT5zZWNv
bmQtPmludmFsaWRhdGVDYWNoZSgpOworfQorCiB2b2lkIE5vZGU6OmdldFN1YnJlc291cmNlVVJM
cyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscykgY29uc3QKIHsKICAgICBhZGRTdWJyZXNvdXJjZUF0
dHJpYnV0ZVVSTHModXJscyk7CkBAIC0yNzAyLDkgKzI3NTQsMTIgQEAgSFRNTFByb3BlcnRpZXND
b2xsZWN0aW9uKiBOb2RlOjpwcm9wZXJ0aWVzKCkKIH0KICNlbmRpZgogCi12b2lkIE5vZGVSYXJl
RGF0YTo6Y3JlYXRlTm9kZUxpc3RzKCkKK3ZvaWQgTm9kZVJhcmVEYXRhOjpjcmVhdGVOb2RlTGlz
dHMoTm9kZSogbm9kZSkKIHsKKyAgICBBU1NFUlQobm9kZSk7CiAgICAgc2V0Tm9kZUxpc3RzKE5v
ZGVMaXN0c05vZGVEYXRhOjpjcmVhdGUoKSk7CisgICAgaWYgKFRyZWVTY29wZSogdHJlZVNjb3Bl
ID0gbm9kZS0+dHJlZVNjb3BlKCkpCisgICAgICAgIHRyZWVTY29wZS0+YWRkTm9kZUxpc3RDYWNo
ZSgpOwogfQogCiB2b2lkIE5vZGVSYXJlRGF0YTo6Y2xlYXJDaGlsZE5vZGVMaXN0Q2FjaGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IDg0ZjAyMGUwZDMxZGEyMjZjMTQwZTUzNTA3
NWFmNTlhYTU2ZDM2MjYuLmI3ZjM1OWU2MDE1NWY2NjVkNmZjNzI2ZTlmOWJlZDU0M2Q1ZDg1ODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTEyMywzNiArMTIzLDM5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOb2RlTGlzdHNOb2RlRGF0YSk7CiAgICAg
fQogCisgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGVzKGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0dHJO
YW1lID0gMCk7CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVy
biBtX2F0b21pY05hbWVDYWNoZXMuaXNFbXB0eSgpICYmIG1fbmFtZUNhY2hlcy5pc0VtcHR5KCkg
JiYgbV90YWdOb2RlTGlzdENhY2hlTlMuaXNFbXB0eSgpOwogICAgIH0KIAotICAgIHZvaWQgYWRv
cHRUcmVlU2NvcGUoRG9jdW1lbnQqIG9sZERvY3VtZW50LCBEb2N1bWVudCogbmV3RG9jdW1lbnQp
CisgICAgdm9pZCBhZG9wdFRyZWVTY29wZShUcmVlU2NvcGUqIG9sZFRyZWVTY29wZSwgVHJlZVNj
b3BlKiBuZXdUcmVlU2NvcGUsIERvY3VtZW50KiBvbGREb2N1bWVudCwgRG9jdW1lbnQqIG5ld0Rv
Y3VtZW50KQogICAgIHsKLSAgICAgICAgTm9kZUxpc3RBdG9taWNOYW1lQ2FjaGVNYXA6OmNvbnN0
X2l0ZXJhdG9yIGF0b21pY05hbWVDYWNoZUVuZCA9IG1fYXRvbWljTmFtZUNhY2hlcy5lbmQoKTsK
LSAgICAgICAgZm9yIChOb2RlTGlzdEF0b21pY05hbWVDYWNoZU1hcDo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBtX2F0b21pY05hbWVDYWNoZXMuYmVnaW4oKTsgaXQgIT0gYXRvbWljTmFtZUNhY2hlRW5k
OyArK2l0KSB7Ci0gICAgICAgICAgICBEeW5hbWljU3VidHJlZU5vZGVMaXN0KiBsaXN0ID0gaXQt
PnNlY29uZDsKLSAgICAgICAgICAgIGxpc3QtPmludmFsaWRhdGVDYWNoZSgpOwotICAgICAgICAg
ICAgaWYgKG9sZERvY3VtZW50ICE9IG5ld0RvY3VtZW50ICYmIGxpc3QtPmlzUm9vdGVkQXREb2N1
bWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgb2xkRG9jdW1lbnQtPnVucmVnaXN0ZXJEeW5hbWlj
U3VidHJlZU5vZGVMaXN0KGxpc3QpOwotICAgICAgICAgICAgICAgIG5ld0RvY3VtZW50LT5yZWdp
c3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QobGlzdCk7CisgICAgICAgIGludmFsaWRhdGVDYWNo
ZXMoKTsKKworICAgICAgICBpZiAob2xkRG9jdW1lbnQgIT0gbmV3RG9jdW1lbnQpIHsKKyAgICAg
ICAgICAgIE5vZGVMaXN0QXRvbWljTmFtZUNhY2hlTWFwOjpjb25zdF9pdGVyYXRvciBhdG9taWNO
YW1lQ2FjaGVFbmQgPSBtX2F0b21pY05hbWVDYWNoZXMuZW5kKCk7CisgICAgICAgICAgICBmb3Ig
KE5vZGVMaXN0QXRvbWljTmFtZUNhY2hlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fYXRvbWlj
TmFtZUNhY2hlcy5iZWdpbigpOyBpdCAhPSBhdG9taWNOYW1lQ2FjaGVFbmQ7ICsraXQpIHsKKyAg
ICAgICAgICAgICAgICBEeW5hbWljU3VidHJlZU5vZGVMaXN0KiBsaXN0ID0gaXQtPnNlY29uZDsK
KyAgICAgICAgICAgICAgICBpZiAobGlzdC0+aXNSb290ZWRBdERvY3VtZW50KCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgb2xkRG9jdW1lbnQtPnVucmVnaXN0ZXJEeW5hbWljU3VidHJlZU5vZGVM
aXN0KGxpc3QpOworICAgICAgICAgICAgICAgICAgICBuZXdEb2N1bWVudC0+cmVnaXN0ZXJEeW5h
bWljU3VidHJlZU5vZGVMaXN0KGxpc3QpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KLSAgICAgICAgfQogCi0gICAgICAgIE5vZGVMaXN0TmFtZUNhY2hlTWFwOjpjb25zdF9pdGVy
YXRvciBuYW1lQ2FjaGVFbmQgPSBtX25hbWVDYWNoZXMuZW5kKCk7Ci0gICAgICAgIGZvciAoTm9k
ZUxpc3ROYW1lQ2FjaGVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9uYW1lQ2FjaGVzLmJlZ2lu
KCk7IGl0ICE9IG5hbWVDYWNoZUVuZDsgKytpdCkgewotICAgICAgICAgICAgRHluYW1pY1N1YnRy
ZWVOb2RlTGlzdCogbGlzdCA9IGl0LT5zZWNvbmQ7Ci0gICAgICAgICAgICBsaXN0LT5pbnZhbGlk
YXRlQ2FjaGUoKTsKLSAgICAgICAgICAgIGlmIChvbGREb2N1bWVudCAhPSBuZXdEb2N1bWVudCAm
JiBsaXN0LT5pc1Jvb3RlZEF0RG9jdW1lbnQoKSkgewotICAgICAgICAgICAgICAgIG9sZERvY3Vt
ZW50LT51bnJlZ2lzdGVyRHluYW1pY1N1YnRyZWVOb2RlTGlzdChsaXN0KTsKLSAgICAgICAgICAg
ICAgICBuZXdEb2N1bWVudC0+cmVnaXN0ZXJEeW5hbWljU3VidHJlZU5vZGVMaXN0KGxpc3QpOwor
ICAgICAgICAgICAgTm9kZUxpc3ROYW1lQ2FjaGVNYXA6OmNvbnN0X2l0ZXJhdG9yIG5hbWVDYWNo
ZUVuZCA9IG1fbmFtZUNhY2hlcy5lbmQoKTsKKyAgICAgICAgICAgIGZvciAoTm9kZUxpc3ROYW1l
Q2FjaGVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9uYW1lQ2FjaGVzLmJlZ2luKCk7IGl0ICE9
IG5hbWVDYWNoZUVuZDsgKytpdCkgeworICAgICAgICAgICAgICAgIER5bmFtaWNTdWJ0cmVlTm9k
ZUxpc3QqIGxpc3QgPSBpdC0+c2Vjb25kOworICAgICAgICAgICAgICAgIGlmIChsaXN0LT5pc1Jv
b3RlZEF0RG9jdW1lbnQoKSkgeworICAgICAgICAgICAgICAgICAgICBvbGREb2N1bWVudC0+dW5y
ZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QobGlzdCk7CisgICAgICAgICAgICAgICAgICAg
IG5ld0RvY3VtZW50LT5yZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QobGlzdCk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgVGFnTm9k
ZUxpc3RDYWNoZU5TOjppdGVyYXRvciB0YWdDYWNoZUVuZCA9IG1fdGFnTm9kZUxpc3RDYWNoZU5T
LmVuZCgpOwotICAgICAgICBmb3IgKFRhZ05vZGVMaXN0Q2FjaGVOUzo6aXRlcmF0b3IgaXQgPSBt
X3RhZ05vZGVMaXN0Q2FjaGVOUy5iZWdpbigpOyBpdCAhPSB0YWdDYWNoZUVuZDsgKytpdCkKLSAg
ICAgICAgICAgIGl0LT5zZWNvbmQtPmludmFsaWRhdGVDYWNoZSgpOworICAgICAgICBpZiAob2xk
VHJlZVNjb3BlKQorICAgICAgICAgICAgb2xkVHJlZVNjb3BlLT5yZW1vdmVOb2RlTGlzdENhY2hl
KCk7CisgICAgICAgIG5ld1RyZWVTY29wZS0+YWRkTm9kZUxpc3RDYWNoZSgpOwogICAgIH0KIAog
cHJpdmF0ZToKQEAgLTIxMiwxMCArMjE1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyTm9k
ZUxpc3RzKCkgeyBtX25vZGVMaXN0cy5jbGVhcigpOyB9CiAgICAgdm9pZCBzZXROb2RlTGlzdHMo
UGFzc093blB0cjxOb2RlTGlzdHNOb2RlRGF0YT4gbGlzdHMpIHsgbV9ub2RlTGlzdHMgPSBsaXN0
czsgfQogICAgIE5vZGVMaXN0c05vZGVEYXRhKiBub2RlTGlzdHMoKSBjb25zdCB7IHJldHVybiBt
X25vZGVMaXN0cy5nZXQoKTsgfQotICAgIE5vZGVMaXN0c05vZGVEYXRhKiBlbnN1cmVOb2RlTGlz
dHMoKQorICAgIE5vZGVMaXN0c05vZGVEYXRhKiBlbnN1cmVOb2RlTGlzdHMoTm9kZSogbm9kZSkK
ICAgICB7CiAgICAgICAgIGlmICghbV9ub2RlTGlzdHMpCi0gICAgICAgICAgICBjcmVhdGVOb2Rl
TGlzdHMoKTsKKyAgICAgICAgICAgIGNyZWF0ZU5vZGVMaXN0cyhub2RlKTsKICAgICAgICAgcmV0
dXJuIG1fbm9kZUxpc3RzLmdldCgpOwogICAgIH0KICAgICB2b2lkIGNsZWFyQ2hpbGROb2RlTGlz
dENhY2hlKCk7CkBAIC0zNDUsNyArMzQ4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0TmVl
ZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2goYm9vbCBuZWVkcykgeyBtX25l
ZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoID0gbmVlZHM7IH0KIAogcHJp
dmF0ZToKLSAgICB2b2lkIGNyZWF0ZU5vZGVMaXN0cygpOworICAgIHZvaWQgY3JlYXRlTm9kZUxp
c3RzKE5vZGUqKTsKIAogICAgIFRyZWVTY29wZSogbV90cmVlU2NvcGU7CiAgICAgT3duUHRyPE5v
ZGVMaXN0c05vZGVEYXRhPiBtX25vZGVMaXN0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9UcmVlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKaW5k
ZXggYmYwNDliMWRhYjAyMWJjODViZDU2NjY5YWNiMGRjNDM2MDk1YzI0My4uNTY0MmZjZjhkZDMz
ZmJjMWZiZjIwM2JkZGIxZmI4YmUyNTM3YWVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1RyZWVTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAK
QEAgLTU0LDYgKzU0LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFRyZWVTY29wZTo6
VHJlZVNjb3BlKENvbnRhaW5lck5vZGUqIHJvb3ROb2RlKQogICAgIDogbV9yb290Tm9kZShyb290
Tm9kZSkKICAgICAsIG1fcGFyZW50VHJlZVNjb3BlKDApCisgICAgLCBtX251bU5vZGVMaXN0Q2Fj
aGVzKDApCiB7CiAgICAgQVNTRVJUKHJvb3ROb2RlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UcmVlU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaApp
bmRleCA3N2UyMzA3YzE1YzZjZmU0ODRhNjk4ZDZjYzk0NGY5ZTU1YmNmNWQ0Li41ZWNjMDM5MmYz
NzE3MGJlZTMwNTM5OTIxNDI0OTdjZmFiN2FjYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJlZVNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCkBA
IC02MSw2ICs2MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJbWFnZU1hcChIVE1MTWFw
RWxlbWVudCopOwogICAgIEhUTUxNYXBFbGVtZW50KiBnZXRJbWFnZU1hcChjb25zdCBTdHJpbmcm
IHVybCkgY29uc3Q7CiAKKyAgICB2b2lkIGFkZE5vZGVMaXN0Q2FjaGUoKSB7ICsrbV9udW1Ob2Rl
TGlzdENhY2hlczsgfQorICAgIHZvaWQgcmVtb3ZlTm9kZUxpc3RDYWNoZSgpIHsgQVNTRVJUKG1f
bnVtTm9kZUxpc3RDYWNoZXMgPiAwKTsgLS1tX251bU5vZGVMaXN0Q2FjaGVzOyB9CisgICAgYm9v
bCBoYXNOb2RlTGlzdENhY2hlcygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtTm9kZUxpc3RDYWNoZXM7
IH0KKwogICAgIERPTVNlbGVjdGlvbiogZ2V0U2VsZWN0aW9uKCkgY29uc3Q7CiAKICAgICAvLyBG
aW5kIGZpcnN0IGFuY2hvciB3aXRoIHRoZSBnaXZlbiBuYW1lLgpAQCAtOTEsNiArOTUsOCBAQCBw
cml2YXRlOgogICAgIERvY3VtZW50T3JkZXJlZE1hcCBtX2VsZW1lbnRzQnlJZDsKICAgICBEb2N1
bWVudE9yZGVyZWRNYXAgbV9pbWFnZU1hcHNCeU5hbWU7CiAKKyAgICB1bnNpZ25lZCBtX251bU5v
ZGVMaXN0Q2FjaGVzOworCiAgICAgbXV0YWJsZSBSZWZQdHI8RE9NU2VsZWN0aW9uPiBtX3NlbGVj
dGlvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9w
dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcAppbmRleCBm
MmI4ZWU3MThlNmQ1MjVmNzYxNWVkZjU1Y2MzZDM0ZTU5OTdhZGVkLi4zZGI1MGU5OGNmMTNlYmVl
ZDE3ODg2YWUzZGRhMGIwMDM0YTc5MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlQWRvcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFk
b3B0ZXIuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHZvaWQgVHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRy
ZWVUb05ld1Njb3BlKE5vZGUqIHJvb3QpIGNvbnN0CiAgICAgZm9yIChOb2RlKiBub2RlID0gcm9v
dDsgbm9kZTsgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUocm9vdCkpIHsKICAgICAgICAg
Tm9kZVJhcmVEYXRhKiByYXJlRGF0YSA9IG5vZGUtPnNldFRyZWVTY29wZShuZXdEb2N1bWVudCA9
PSBtX25ld1Njb3BlID8gMCA6IG1fbmV3U2NvcGUpOwogICAgICAgICBpZiAocmFyZURhdGEgJiYg
cmFyZURhdGEtPm5vZGVMaXN0cygpKQotICAgICAgICAgICAgcmFyZURhdGEtPm5vZGVMaXN0cygp
LT5hZG9wdFRyZWVTY29wZShvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOworICAgICAgICAgICAg
cmFyZURhdGEtPm5vZGVMaXN0cygpLT5hZG9wdFRyZWVTY29wZShtX29sZFNjb3BlLCBtX25ld1Nj
b3BlLCBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogCiAgICAgICAgIGlmICh3aWxsTW92ZVRv
TmV3RG9jdW1lbnQpCiAgICAgICAgICAgICBtb3ZlTm9kZVRvTmV3RG9jdW1lbnQobm9kZSwgb2xk
RG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TGFiZWxhYmxlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVsYWJsZUVsZW1l
bnQuY3BwCmluZGV4IDFkODhmYjE4OTRiYWUxMDU4ZWFhZDUwOTcxODkxNDVmNjcxMjZkM2YuLjFk
NTk5MzZmNmUzNzRkYzAyMzE1YmExYjM1ZmI3YzIwNzZjNjkyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTGFiZWxhYmxlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcApAQCAtNDcsNyArNDcsNyBAQCBQYXNzUmVmUHRyPE5v
ZGVMaXN0PiBMYWJlbGFibGVFbGVtZW50OjpsYWJlbHMoKQogICAgIGlmICghZG9jdW1lbnQoKSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gTm9kZTo6ZW5zdXJlUmFyZURhdGEoKS0+
ZW5zdXJlTm9kZUxpc3RzKCktPmFkZENhY2hlV2l0aEF0b21pY05hbWU8TGFiZWxzTm9kZUxpc3Q+
KHRoaXMsIER5bmFtaWNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3RUeXBlLCBzdGFyQXRvbSk7Cisg
ICAgcmV0dXJuIE5vZGU6OmVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cyh0aGlzKS0+
YWRkQ2FjaGVXaXRoQXRvbWljTmFtZTxMYWJlbHNOb2RlTGlzdD4odGhpcywgRHluYW1pY05vZGVM
aXN0OjpMYWJlbHNOb2RlTGlzdFR5cGUsIHN0YXJBdG9tKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViY29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAppbmRleCBjYzJhNGUz
M2FjN2E0OWI1YjQ1YWRlNjNjNmJiZTRiODM1NDA3ZjhhLi44OWYwYmFmN2MwM2Q1NWU3OTE3MWJj
OTY1N2FjNzA1ODdkZDdhMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVs
c05vZGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNw
cApAQCAtMzYsMTEgKzM2LDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBMYWJlbHNO
b2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QoTm9kZSogZm9yTm9kZSkKICAgICA6IER5bmFtaWNTdWJ0
cmVlTm9kZUxpc3QoZm9yTm9kZSwgUm9vdGVkQXREb2N1bWVudCkKIHsKKyAgICBkb2N1bWVudCgp
LT5yZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QodGhpcyk7CiB9CiAKIExhYmVsc05vZGVM
aXN0Ojp+TGFiZWxzTm9kZUxpc3QoKQogewogICAgIG93bmVyTm9kZSgpLT5ub2RlTGlzdHMoKS0+
cmVtb3ZlQ2FjaGVXaXRoQXRvbWljTmFtZSh0aGlzLCBEeW5hbWljTm9kZUxpc3Q6OkxhYmVsc05v
ZGVMaXN0VHlwZSwgc3RhckF0b20pOworICAgIGRvY3VtZW50KCktPnVucmVnaXN0ZXJEeW5hbWlj
U3VidHJlZU5vZGVMaXN0KHRoaXMpOwogfSAKICAgICAKIGJvb2wgTGFiZWxzTm9kZUxpc3Q6Om5v
ZGVNYXRjaGVzKEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9O
b2RlTGlzdC5jcHAKaW5kZXggMDJiOTJjMDU2ZGE4MWI3NjBkMDhkN2NmZTdmOWEzNzc0ODQyZmFl
ZC4uMTVlZmI1MTU1ZDg0NzQzNGE4NDE5MjkxZGEzOWM4OTk2NDg3MTA1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1JhZGlvTm9kZUxpc3QuY3BwCkBAIC00MSwxMSArNDEsMTMgQEAgUmFkaW9Ob2RlTGlz
dDo6UmFkaW9Ob2RlTGlzdChOb2RlKiByb290Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KQogICAgIDogRHluYW1pY1N1YnRyZWVOb2RlTGlzdChyb290Tm9kZSwgcm9vdE5vZGUtPmhhc1Rh
Z05hbWUoZm9ybVRhZykgPyBSb290ZWRBdERvY3VtZW50IDogUm9vdGVkQXROb2RlKQogICAgICwg
bV9uYW1lKG5hbWUpCiB7CisgICAgZG9jdW1lbnQoKS0+cmVnaXN0ZXJEeW5hbWljU3VidHJlZU5v
ZGVMaXN0KHRoaXMpOwogfQogCiBSYWRpb05vZGVMaXN0Ojp+UmFkaW9Ob2RlTGlzdCgpCiB7CiAg
ICAgb3duZXJOb2RlKCktPm5vZGVMaXN0cygpLT5yZW1vdmVDYWNoZVdpdGhBdG9taWNOYW1lKHRo
aXMsIER5bmFtaWNOb2RlTGlzdDo6UmFkaW9Ob2RlTGlzdFR5cGUsIG1fbmFtZSk7CisgICAgZG9j
dW1lbnQoKS0+dW5yZWdpc3RlckR5bmFtaWNTdWJ0cmVlTm9kZUxpc3QodGhpcyk7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgSFRNTElucHV0RWxlbWVudCogdG9SYWRpb0J1dHRvbklucHV0RWxlbWVudChO
b2RlKiBub2RlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>