<?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>97766</bug_id>
          
          <creation_ts>2012-09-27 01:17:51 -0700</creation_ts>
          <short_desc>[WK2] Injected bundle API implementation should use toWTFString()</short_desc>
          <delta_ts>2012-09-27 10:38:31 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>729306</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 01:17:51 -0700</bug_when>
    <thetext>Injected bundle API implementations should call toWTFString() rather than convert WKStringRef and WKURLRef to their impls and then call string() method directly. Rational for that is:
1) safety (toWTFString checks the given pointer)
2) code readability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729311</commentid>
    <comment_count>1</comment_count>
      <attachid>165949</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 01:25:13 -0700</bug_when>
    <thetext>Created attachment 165949
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729347</commentid>
    <comment_count>2</comment_count>
      <attachid>165949</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 02:32:18 -0700</bug_when>
    <thetext>Comment on attachment 165949
patch

Clearing flags on attachment: 165949

Committed r129743: &lt;http://trac.webkit.org/changeset/129743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729348</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 02:32:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165949</attachid>
            <date>2012-09-27 01:25:13 -0700</date>
            <delta_ts>2012-09-27 02:32:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug97766</filename>
            <type>text/plain</type>
            <size>16568</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ0YmRhMWE0MzIwM2ZmNGE0ZjYwYjNlMWExYWNmYjY5YTdlN2U1ZjQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VGh1IFNlcCAyNyAxMToyMzo1MSAyMDEyICswMzAwCgogICAgYnVnOTc3NjYKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOGY1YTZmYS4uOTI0OThlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA5
LTI3ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtXSzJdIEluamVjdGVkIGJ1bmRsZSBBUEkgaW1wbGVtZW50YXRpb24gc2hvdWxk
IHVzZSB0b1dURlN0cmluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05Nzc2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluamVjdGVkIGJ1bmRsZSBBUEkgaW1wbGVtZW50YXRpb24gc2hvdWxkIGNhbGwg
dG9XVEZTdHJpbmcoKSByYXRoZXIgdGhhbiBjb252ZXJ0CisgICAgICAgIFdLU3RyaW5nUmVmIGFu
ZCBXS1VSTFJlZiB0byB0aGVpciBpbXBscyBhbmQgdGhlbiBjYWxsIHN0cmluZygpIG1ldGhvZCBk
aXJlY3RseS4KKyAgICAgICAgVGhlIHJhdGlvbmFsIGZvciB0aGF0IGFyZSBib3RoIHNhZmV0eSAo
dG9XVEZTdHJpbmcgY2hlY2tzIHRoZSBnaXZlbiBwb2ludGVyKSBhbmQKKyAgICAgICAgY29kZSBy
ZWFkYWJpbGl0eS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGUuY3BwOgorICAgICAgICAoV0tCdW5kbGVQb3N0TWVzc2FnZSk6CisgICAgICAgIChX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UpOgorICAgICAgICAoV0tCdW5kbGVPdmVycmlk
ZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChXS0J1bmRsZUFkZE9yaWdp
bkFjY2Vzc1doaXRlbGlzdEVudHJ5KToKKyAgICAgICAgKFdLQnVuZGxlUmVtb3ZlT3JpZ2luQWNj
ZXNzV2hpdGVsaXN0RW50cnkpOgorICAgICAgICAoV0tCdW5kbGVDbGVhckFwcGxpY2F0aW9uQ2Fj
aGVGb3JPcmlnaW4pOgorICAgICAgICAoV0tCdW5kbGVHZXRBcHBDYWNoZVVzYWdlRm9yT3JpZ2lu
KToKKyAgICAgICAgKFdLQnVuZGxlU2V0QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKToKKyAg
ICAgICAgKFdLQnVuZGxlUmVzZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEpOgorICAgICAg
ICAoV0tCdW5kbGVQYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQpOgorICAgICAgICAoV0tCdW5kbGVT
ZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKToKKyAgICAgICAgKFdLQnVuZGxlU2V0V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZUZyYW1lLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlRnJhbWVQYXVzZUFuaW1h
dGlvbk9uRWxlbWVudFdpdGhJZCk6CisgICAgICAgIChXS0J1bmRsZUZyYW1lUGF1c2VUcmFuc2l0
aW9uT25FbGVtZW50V2l0aElkKToKKyAgICAgICAgKFdLQnVuZGxlRnJhbWVBbGxvd3NGb2xsb3dp
bmdMaW5rKToKKyAgICAgICAgKFdLQnVuZGxlRnJhbWVDb3B5U3VnZ2VzdGVkRmlsZW5hbWVGb3JS
ZXNvdXJjZVdpdGhVUkwpOgorICAgICAgICAoV0tCdW5kbGVGcmFtZUNvcHlNSU1FVHlwZUZvclJl
c291cmNlV2l0aFVSTCk6CisgICAgICAgIChXS0J1bmRsZUZyYW1lU2V0VGV4dERpcmVjdGlvbik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3Bl
Y3Rvci5jcHA6CisgICAgICAgIChXS0J1bmRsZUluc3BlY3RvckV2YWx1YXRlU2NyaXB0Rm9yVGVz
dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUlu
dGVudC5jcHA6CisgICAgICAgIChXS0J1bmRsZUludGVudENyZWF0ZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAo
V0tCdW5kbGVQYWdlRXhlY3V0ZUVkaXRpbmdDb21tYW5kKToKKyAgICAgICAgKFdLQnVuZGxlUGFn
ZUlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKToKKyAgICAgICAgKFdLQnVuZGxlUGFnZUhhc0xvY2Fs
RGF0YUZvclVSTCk6CisgICAgICAgIChXS0J1bmRsZVBhZ2VGaW5kU3RyaW5nKToKKyAgICAgICAg
KFdLQnVuZGxlUGFnZVNldENvbXBvc2l0aW9uKToKKyAgICAgICAgKFdLQnVuZGxlUGFnZUNvbmZp
cm1Db21wb3NpdGlvbldpdGhUZXh0KToKKyAgICAgICAgKFdLQnVuZGxlUGFnZUNhblNob3dNSU1F
VHlwZSk6CisKIDIwMTItMDktMjYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggWFBDU2VydmljZXMgc3ltbGluayB0byBub3QgYmUgdG8gYW4gYWJzb2x1dGUgcGF0
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCAyMDg1MjUzLi42ZjgwYTQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlLmNwcApAQCAtNDYsMTMgKzQ2LDEzIEBAIHZvaWQgV0tCdW5kbGVTZXRDbGllbnQo
V0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZUNsaWVudCAqIHdrQ2xpZW50KQogCiB2b2lk
IFdLQnVuZGxlUG9zdE1lc3NhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBt
ZXNzYWdlTmFtZVJlZiwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5UmVmKQogewotICAgIHRvSW1wbChi
dW5kbGVSZWYpLT5wb3N0TWVzc2FnZSh0b0ltcGwobWVzc2FnZU5hbWVSZWYpLT5zdHJpbmcoKSwg
dG9JbXBsKG1lc3NhZ2VCb2R5UmVmKSk7CisgICAgdG9JbXBsKGJ1bmRsZVJlZiktPnBvc3RNZXNz
YWdlKHRvV1RGU3RyaW5nKG1lc3NhZ2VOYW1lUmVmKSwgdG9JbXBsKG1lc3NhZ2VCb2R5UmVmKSk7
CiB9CiAKIHZvaWQgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJlZiBtZXNzYWdlQm9k
eVJlZiwgV0tUeXBlUmVmKiByZXR1cm5EYXRhUmVmKQogewogICAgIFJlZlB0cjxBUElPYmplY3Q+
IHJldHVybkRhdGE7Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZiktPnBvc3RTeW5jaHJvbm91c01lc3Nh
Z2UodG9JbXBsKG1lc3NhZ2VOYW1lUmVmKS0+c3RyaW5nKCksIHRvSW1wbChtZXNzYWdlQm9keVJl
ZiksIHJldHVybkRhdGEpOworICAgIHRvSW1wbChidW5kbGVSZWYpLT5wb3N0U3luY2hyb25vdXNN
ZXNzYWdlKHRvV1RGU3RyaW5nKG1lc3NhZ2VOYW1lUmVmKSwgdG9JbXBsKG1lc3NhZ2VCb2R5UmVm
KSwgcmV0dXJuRGF0YSk7CiAgICAgaWYgKHJldHVybkRhdGFSZWYpCiAgICAgICAgICpyZXR1cm5E
YXRhUmVmID0gdG9BUEkocmV0dXJuRGF0YS5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KQEAgLTEz
NCw3ICsxMzQsNyBAQCB2b2lkIFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQoV0tCdW5kbGVS
ZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYQogCiB2b2lkIFdLQnVuZGxlT3Zl
cnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdLU3RyaW5nUmVmIHByZWZlcmVuY2Us
IGJvb2wgZW5hYmxlZCkKIHsKLSAgICB0b0ltcGwoYnVuZGxlUmVmKS0+b3ZlcnJpZGVCb29sUHJl
ZmVyZW5jZUZvclRlc3RSdW5uZXIodG9JbXBsKHBhZ2VHcm91cFJlZiksIHRvSW1wbChwcmVmZXJl
bmNlKS0+c3RyaW5nKCksIGVuYWJsZWQpOworICAgIHRvSW1wbChidW5kbGVSZWYpLT5vdmVycmlk
ZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcih0b0ltcGwocGFnZUdyb3VwUmVmKSwgdG9XVEZT
dHJpbmcocHJlZmVyZW5jZSksIGVuYWJsZWQpOwogfQogCiB2b2lkIFdLQnVuZGxlU2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKQEAgLTE5NCwxMiArMTk0
LDEyIEBAIHZvaWQgV0tCdW5kbGVTZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV0tCdW5kbGVS
ZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91CiAKIHZvaWQgV0tCdW5kbGVBZGRPcmlnaW5B
Y2Nlc3NXaGl0ZWxpc3RFbnRyeShXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLU3RyaW5nUmVmIHNv
dXJjZU9yaWdpbiwgV0tTdHJpbmdSZWYgZGVzdGluYXRpb25Qcm90b2NvbCwgV0tTdHJpbmdSZWYg
ZGVzdGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKQogewotICAg
IHRvSW1wbChidW5kbGVSZWYpLT5hZGRPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSh0b0ltcGwo
c291cmNlT3JpZ2luKS0+c3RyaW5nKCksIHRvSW1wbChkZXN0aW5hdGlvblByb3RvY29sKS0+c3Ry
aW5nKCksIHRvSW1wbChkZXN0aW5hdGlvbkhvc3QpLT5zdHJpbmcoKSwgYWxsb3dEZXN0aW5hdGlv
blN1YmRvbWFpbnMpOworICAgIHRvSW1wbChidW5kbGVSZWYpLT5hZGRPcmlnaW5BY2Nlc3NXaGl0
ZWxpc3RFbnRyeSh0b1dURlN0cmluZyhzb3VyY2VPcmlnaW4pLCB0b1dURlN0cmluZyhkZXN0aW5h
dGlvblByb3RvY29sKSwgdG9XVEZTdHJpbmcoZGVzdGluYXRpb25Ib3N0KSwgYWxsb3dEZXN0aW5h
dGlvblN1YmRvbWFpbnMpOwogfQogCiB2b2lkIFdLQnVuZGxlUmVtb3ZlT3JpZ2luQWNjZXNzV2hp
dGVsaXN0RW50cnkoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBzb3VyY2VPcmln
aW4sIFdLU3RyaW5nUmVmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIFdLU3RyaW5nUmVmIGRlc3RpbmF0
aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucykKIHsKLSAgICB0b0ltcGwo
YnVuZGxlUmVmKS0+cmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0RW50cnkodG9JbXBsKHNvdXJj
ZU9yaWdpbiktPnN0cmluZygpLCB0b0ltcGwoZGVzdGluYXRpb25Qcm90b2NvbCktPnN0cmluZygp
LCB0b0ltcGwoZGVzdGluYXRpb25Ib3N0KS0+c3RyaW5nKCksIGFsbG93RGVzdGluYXRpb25TdWJk
b21haW5zKTsKKyAgICB0b0ltcGwoYnVuZGxlUmVmKS0+cmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVs
aXN0RW50cnkodG9XVEZTdHJpbmcoc291cmNlT3JpZ2luKSwgdG9XVEZTdHJpbmcoZGVzdGluYXRp
b25Qcm90b2NvbCksIHRvV1RGU3RyaW5nKGRlc3RpbmF0aW9uSG9zdCksIGFsbG93RGVzdGluYXRp
b25TdWJkb21haW5zKTsKIH0KIAogdm9pZCBXS0J1bmRsZVJlc2V0T3JpZ2luQWNjZXNzV2hpdGVs
aXN0cyhXS0J1bmRsZVJlZiBidW5kbGVSZWYpCkBAIC0yMjksNyArMjI5LDcgQEAgdm9pZCBXS0J1
bmRsZUNsZWFyQXBwbGljYXRpb25DYWNoZShXS0J1bmRsZVJlZiBidW5kbGVSZWYpCiAKIHZvaWQg
V0tCdW5kbGVDbGVhckFwcGxpY2F0aW9uQ2FjaGVGb3JPcmlnaW4oV0tCdW5kbGVSZWYgYnVuZGxl
UmVmLCBXS1N0cmluZ1JlZiBvcmlnaW4pCiB7Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZiktPmNsZWFy
QXBwbGljYXRpb25DYWNoZUZvck9yaWdpbih0b0ltcGwob3JpZ2luKS0+c3RyaW5nKCkpOworICAg
IHRvSW1wbChidW5kbGVSZWYpLT5jbGVhckFwcGxpY2F0aW9uQ2FjaGVGb3JPcmlnaW4odG9XVEZT
dHJpbmcob3JpZ2luKSk7CiB9CiAKIHZvaWQgV0tCdW5kbGVTZXRBcHBDYWNoZU1heGltdW1TaXpl
KFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgdWludDY0X3Qgc2l6ZSkKQEAgLTIzOSwxNyArMjM5LDE3
IEBAIHZvaWQgV0tCdW5kbGVTZXRBcHBDYWNoZU1heGltdW1TaXplKFdLQnVuZGxlUmVmIGJ1bmRs
ZVJlZiwgdWludDY0X3Qgc2l6ZSkKIAogdWludDY0X3QgV0tCdW5kbGVHZXRBcHBDYWNoZVVzYWdl
Rm9yT3JpZ2luKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tTdHJpbmdSZWYgb3JpZ2luKQogewot
ICAgIHJldHVybiB0b0ltcGwoYnVuZGxlUmVmKS0+YXBwQ2FjaGVVc2FnZUZvck9yaWdpbih0b0lt
cGwob3JpZ2luKS0+c3RyaW5nKCkpOworICAgIHJldHVybiB0b0ltcGwoYnVuZGxlUmVmKS0+YXBw
Q2FjaGVVc2FnZUZvck9yaWdpbih0b1dURlN0cmluZyhvcmlnaW4pKTsKIH0KIAogdm9pZCBXS0J1
bmRsZVNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShXS0J1bmRsZVJlZiBidW5kbGVSZWYs
IFdLU3RyaW5nUmVmIG9yaWdpbiwgdWludDY0X3QgYnl0ZXMpCiB7Ci0gICAgdG9JbXBsKGJ1bmRs
ZVJlZiktPnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSh0b0ltcGwob3JpZ2luKS0+c3Ry
aW5nKCksIGJ5dGVzKTsKKyAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0QXBwbGljYXRpb25DYWNo
ZU9yaWdpblF1b3RhKHRvV1RGU3RyaW5nKG9yaWdpbiksIGJ5dGVzKTsKIH0KIAogdm9pZCBXS0J1
bmRsZVJlc2V0QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdLQnVuZGxlUmVmIGJ1bmRsZVJl
ZiwgV0tTdHJpbmdSZWYgb3JpZ2luKQogewotICAgIHRvSW1wbChidW5kbGVSZWYpLT5yZXNldEFw
cGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSh0b0ltcGwob3JpZ2luKS0+c3RyaW5nKCkpOworICAg
IHRvSW1wbChidW5kbGVSZWYpLT5yZXNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSh0b1dU
RlN0cmluZyhvcmlnaW4pKTsKIH0KIAogV0tBcnJheVJlZiBXS0J1bmRsZUNvcHlPcmlnaW5zV2l0
aEFwcGxpY2F0aW9uQ2FjaGUoV0tCdW5kbGVSZWYgYnVuZGxlUmVmKQpAQCAtMjcwLDcgKzI3MCw3
IEBAIGludCBXS0J1bmRsZU51bWJlck9mUGFnZXMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1
bmRsZUZyYW1lUmVmIGZyYW1lUmVmLCBkb3ViCiAKIGludCBXS0J1bmRsZVBhZ2VOdW1iZXJGb3JF
bGVtZW50QnlJZChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWVS
ZWYsIFdLU3RyaW5nUmVmIGlkUmVmLCBkb3VibGUgcGFnZVdpZHRoSW5QaXhlbHMsIGRvdWJsZSBw
YWdlSGVpZ2h0SW5QaXhlbHMpCiB7Ci0gICAgcmV0dXJuIHRvSW1wbChidW5kbGVSZWYpLT5wYWdl
TnVtYmVyRm9yRWxlbWVudEJ5SWQodG9JbXBsKGZyYW1lUmVmKSwgdG9JbXBsKGlkUmVmKS0+c3Ry
aW5nKCksIHBhZ2VXaWR0aEluUGl4ZWxzLCBwYWdlSGVpZ2h0SW5QaXhlbHMpOworICAgIHJldHVy
biB0b0ltcGwoYnVuZGxlUmVmKS0+cGFnZU51bWJlckZvckVsZW1lbnRCeUlkKHRvSW1wbChmcmFt
ZVJlZiksIHRvV1RGU3RyaW5nKGlkUmVmKSwgcGFnZVdpZHRoSW5QaXhlbHMsIHBhZ2VIZWlnaHRJ
blBpeGVscyk7CiB9CiAKIFdLU3RyaW5nUmVmIFdLQnVuZGxlUGFnZVNpemVBbmRNYXJnaW5zSW5Q
aXhlbHMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVmLCBp
bnQgcGFnZUluZGV4LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBt
YXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpCkBAIC0zMDEsMTIg
KzMwMSwxMiBAQCBzaXplX3QgV0tCdW5kbGVHZXRXb3JrZXJUaHJlYWRDb3VudChXS0J1bmRsZVJl
ZikKIAogdm9pZCBXS0J1bmRsZVNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV0tCdW5kbGVSZWYg
YnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdLU3RyaW5nUmVm
IGxvY2F0aW9uKQogewotICAgIHRvSW1wbChidW5kbGVSZWYpLT5zZXRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKHRvSW1wbChwYWdlR3JvdXBSZWYpLCB0b0ltcGwobG9jYXRpb24pLT5zdHJpbmcoKSk7
CisgICAgdG9JbXBsKGJ1bmRsZVJlZiktPnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24odG9JbXBs
KHBhZ2VHcm91cFJlZiksIHRvV1RGU3RyaW5nKGxvY2F0aW9uKSk7CiB9CiAKIHZvaWQgV0tCdW5k
bGVTZXRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tC
dW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIG9yaWdpblN0cmluZ1JlZiwgYm9vbCBh
bGxvd2VkKQogewotICAgIHRvSW1wbChidW5kbGVSZWYpLT5zZXRXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9uKHRvSW1wbChwYWdlUmVmKSwgdG9JbXBsKG9yaWdpblN0cmluZ1JlZiktPnN0cmluZygp
LCBhbGxvd2VkKTsKKyAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbih0b0ltcGwocGFnZVJlZiksIHRvV1RGU3RyaW5nKG9yaWdpblN0cmluZ1JlZiksIGFs
bG93ZWQpOwogfQogCiB2b2lkIFdLQnVuZGxlUmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbnMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwCmluZGV4IDlhMmI5ZmMuLmZlNmQ3OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcApAQCAtOTcsMTIgKzk3LDEyIEBAIHVuc2lnbmVk
IFdLQnVuZGxlRnJhbWVHZXROdW1iZXJPZkFjdGl2ZUFuaW1hdGlvbnMoV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZVJlZikKIAogYm9vbCBXS0J1bmRsZUZyYW1lUGF1c2VBbmltYXRpb25PbkVsZW1lbnRX
aXRoSWQoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwgV0tTdHJpbmdSZWYgYW5pbWF0aW9uTmFt
ZSwgV0tTdHJpbmdSZWYgZWxlbWVudElELCBkb3VibGUgdGltZSkKIHsKLSAgICByZXR1cm4gdG9J
bXBsKGZyYW1lUmVmKS0+cGF1c2VBbmltYXRpb25PbkVsZW1lbnRXaXRoSWQodG9JbXBsKGFuaW1h
dGlvbk5hbWUpLT5zdHJpbmcoKSwgdG9JbXBsKGVsZW1lbnRJRCktPnN0cmluZygpLCB0aW1lKTsK
KyAgICByZXR1cm4gdG9JbXBsKGZyYW1lUmVmKS0+cGF1c2VBbmltYXRpb25PbkVsZW1lbnRXaXRo
SWQodG9XVEZTdHJpbmcoYW5pbWF0aW9uTmFtZSksIHRvV1RGU3RyaW5nKGVsZW1lbnRJRCksIHRp
bWUpOwogfQogCiBib29sIFdLQnVuZGxlRnJhbWVQYXVzZVRyYW5zaXRpb25PbkVsZW1lbnRXaXRo
SWQoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwgV0tTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBX
S1N0cmluZ1JlZiBlbGVtZW50SUQsIGRvdWJsZSB0aW1lKQogewotICAgIHJldHVybiB0b0ltcGwo
ZnJhbWVSZWYpLT5wYXVzZVRyYW5zaXRpb25PbkVsZW1lbnRXaXRoSWQodG9JbXBsKHByb3BlcnR5
TmFtZSktPnN0cmluZygpLCB0b0ltcGwoZWxlbWVudElEKS0+c3RyaW5nKCksIHRpbWUpOworICAg
IHJldHVybiB0b0ltcGwoZnJhbWVSZWYpLT5wYXVzZVRyYW5zaXRpb25PbkVsZW1lbnRXaXRoSWQo
dG9XVEZTdHJpbmcocHJvcGVydHlOYW1lKSwgdG9XVEZTdHJpbmcoZWxlbWVudElEKSwgdGltZSk7
CiB9CiAKIHZvaWQgV0tCdW5kbGVGcmFtZVN1c3BlbmRBbmltYXRpb25zKFdLQnVuZGxlRnJhbWVS
ZWYgZnJhbWVSZWYpCkBAIC0xOTQsNyArMTk0LDcgQEAgV0tTdHJpbmdSZWYgV0tCdW5kbGVGcmFt
ZUNvcHlMYXllclRyZWVBc1RleHQoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKIAogYm9vbCBX
S0J1bmRsZUZyYW1lQWxsb3dzRm9sbG93aW5nTGluayhXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVm
LCBXS1VSTFJlZiB1cmxSZWYpCiB7Ci0gICAgcmV0dXJuIHRvSW1wbChmcmFtZVJlZiktPmFsbG93
c0ZvbGxvd2luZ0xpbmsoV2ViQ29yZTo6S1VSTChXZWJDb3JlOjpLVVJMKCksIHRvSW1wbCh1cmxS
ZWYpLT5zdHJpbmcoKSkpOworICAgIHJldHVybiB0b0ltcGwoZnJhbWVSZWYpLT5hbGxvd3NGb2xs
b3dpbmdMaW5rKFdlYkNvcmU6OktVUkwoV2ViQ29yZTo6S1VSTCgpLCB0b1dURlN0cmluZyh1cmxS
ZWYpKSk7CiB9CiAKIFdLUmVjdCBXS0J1bmRsZUZyYW1lR2V0Q29udGVudEJvdW5kcyhXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lUmVmKQpAQCAtMjM0LDEyICsyMzQsMTIgQEAgYm9vbCBXS0J1bmRsZUZy
YW1lR2V0RG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3IoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwg
ZG91YmxlKgogCiBXS1N0cmluZ1JlZiBXS0J1bmRsZUZyYW1lQ29weVN1Z2dlc3RlZEZpbGVuYW1l
Rm9yUmVzb3VyY2VXaXRoVVJMKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWVSZWYsIFdLVVJMUmVmIHVy
bFJlZikKIHsKLSAgICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKGZyYW1lUmVmKS0+c3VnZ2Vz
dGVkRmlsZW5hbWVGb3JSZXNvdXJjZVdpdGhVUkwoV2ViQ29yZTo6S1VSTChXZWJDb3JlOjpLVVJM
KCksIHRvSW1wbCh1cmxSZWYpLT5zdHJpbmcoKSkpKTsKKyAgICByZXR1cm4gdG9Db3BpZWRBUEko
dG9JbXBsKGZyYW1lUmVmKS0+c3VnZ2VzdGVkRmlsZW5hbWVGb3JSZXNvdXJjZVdpdGhVUkwoV2Vi
Q29yZTo6S1VSTChXZWJDb3JlOjpLVVJMKCksIHRvV1RGU3RyaW5nKHVybFJlZikpKSk7CiB9CiAK
IFdLU3RyaW5nUmVmIFdLQnVuZGxlRnJhbWVDb3B5TUlNRVR5cGVGb3JSZXNvdXJjZVdpdGhVUkwo
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwgV0tVUkxSZWYgdXJsUmVmKQogewotICAgIHJldHVy
biB0b0NvcGllZEFQSSh0b0ltcGwoZnJhbWVSZWYpLT5taW1lVHlwZUZvclJlc291cmNlV2l0aFVS
TChXZWJDb3JlOjpLVVJMKFdlYkNvcmU6OktVUkwoKSwgdG9JbXBsKHVybFJlZiktPnN0cmluZygp
KSkpOworICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoZnJhbWVSZWYpLT5taW1lVHlwZUZv
clJlc291cmNlV2l0aFVSTChXZWJDb3JlOjpLVVJMKFdlYkNvcmU6OktVUkwoKSwgdG9XVEZTdHJp
bmcodXJsUmVmKSkpKTsKIH0KIAogYm9vbCBXS0J1bmRsZUZyYW1lQ29udGFpbnNBbnlGb3JtRWxl
bWVudHMoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKQEAgLTI0OSw3ICsyNDksNyBAQCBib29s
IFdLQnVuZGxlRnJhbWVDb250YWluc0FueUZvcm1FbGVtZW50cyhXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lUmVmKQogCiB2b2lkIFdLQnVuZGxlRnJhbWVTZXRUZXh0RGlyZWN0aW9uKFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWVSZWYsIFdLU3RyaW5nUmVmIGRpcmVjdGlvblJlZikKIHsKLSAgICB0b0ltcGwo
ZnJhbWVSZWYpLT5zZXRUZXh0RGlyZWN0aW9uKHRvSW1wbChkaXJlY3Rpb25SZWYpLT5zdHJpbmco
KSk7CisgICAgdG9JbXBsKGZyYW1lUmVmKS0+c2V0VGV4dERpcmVjdGlvbih0b1dURlN0cmluZyhk
aXJlY3Rpb25SZWYpKTsKIH0KIAogV0tEYXRhUmVmIFdLQnVuZGxlRnJhbWVDb3B5V2ViQXJjaGl2
ZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5z
cGVjdG9yLmNwcAppbmRleCBhZTY5YTUzLi5jYzIyNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFdLQnVuZGxlSW5zcGVj
dG9yQ2xvc2UoV0tCdW5kbGVJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogCiB2b2lkIFdLQnVu
ZGxlSW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KFdLQnVuZGxlSW5zcGVjdG9yUmVmIGlu
c3BlY3RvclJlZiwgbG9uZyBjYWxsSUQsIFdLU3RyaW5nUmVmIHNjcmlwdCkKIHsKLSAgICByZXR1
cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPmV2YWx1YXRlU2NyaXB0Rm9yVGVzdChjYWxsSUQsIHRv
SW1wbChzY3JpcHQpLT5zdHJpbmcoKSk7CisgICAgcmV0dXJuIHRvSW1wbChpbnNwZWN0b3JSZWYp
LT5ldmFsdWF0ZVNjcmlwdEZvclRlc3QoY2FsbElELCB0b1dURlN0cmluZyhzY3JpcHQpKTsKIH0K
IAogdm9pZCBXS0J1bmRsZUluc3BlY3RvclNldFBhZ2VQcm9maWxpbmdFbmFibGVkKFdLQnVuZGxl
SW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUludGVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW50ZW50LmNwcAppbmRleCBkYzEzYzU3Li42NmJlZTkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW50ZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlSW50ZW50LmNwcApAQCAtNjQsNyArNjQsNyBAQCBXS0J1bmRsZUludGVudFJlZiBX
S0J1bmRsZUludGVudENyZWF0ZShXS0RpY3Rpb25hcnlSZWYgZGljdGlvbmFyeVJlZikKICAgICBN
ZXNzYWdlUG9ydEFycmF5IGR1bW15UG9ydHM7CiAgICAgRXhjZXB0aW9uQ29kZSBlYzsKIAotICAg
IFJlZlB0cjxJbnRlbnQ+IGNvcmVJbnRlbnQgPSBJbnRlbnQ6OmNyZWF0ZSh0b0ltcGwoYWN0aW9u
KS0+c3RyaW5nKCksIHRvSW1wbCh0eXBlKS0+c3RyaW5nKCksIGRhdGEgPyBzdGF0aWNfY2FzdDxT
ZXJpYWxpemVkU2NyaXB0VmFsdWUqPih0b0ltcGwoZGF0YSktPmludGVybmFsUmVwcmVzZW50YXRp
b24oKSkgOiAwLCBkdW1teVBvcnRzLCBlYyk7CisgICAgUmVmUHRyPEludGVudD4gY29yZUludGVu
dCA9IEludGVudDo6Y3JlYXRlKHRvV1RGU3RyaW5nKGFjdGlvbiksIHRvV1RGU3RyaW5nKHR5cGUp
LCBkYXRhID8gc3RhdGljX2Nhc3Q8U2VyaWFsaXplZFNjcmlwdFZhbHVlKj4odG9JbXBsKGRhdGEp
LT5pbnRlcm5hbFJlcHJlc2VudGF0aW9uKCkpIDogMCwgZHVtbXlQb3J0cywgZWMpOwogCiAgICAg
cmV0dXJuIHRvQVBJKEluamVjdGVkQnVuZGxlSW50ZW50OjpjcmVhdGUoY29yZUludGVudC5nZXQo
KSkubGVha1JlZigpKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXgg
MTUwODhlNy4uZTE4YmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtMjEy
LDEyICsyMTIsMTIgQEAgV0tTdHJpbmdSZWYgV0tCdW5kbGVQYWdlQ29weVJlbmRlclRyZWVFeHRl
cm5hbFJlcHJlc2VudGF0aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWcKIAogdm9pZCBXS0J1bmRsZVBh
Z2VFeGVjdXRlRWRpdGluZ0NvbW1hbmQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5n
UmVmIG5hbWUsIFdLU3RyaW5nUmVmIGFyZ3VtZW50KQogewotICAgIHRvSW1wbChwYWdlUmVmKS0+
ZXhlY3V0ZUVkaXRpbmdDb21tYW5kKHRvSW1wbChuYW1lKS0+c3RyaW5nKCksIHRvSW1wbChhcmd1
bWVudCktPnN0cmluZygpKTsKKyAgICB0b0ltcGwocGFnZVJlZiktPmV4ZWN1dGVFZGl0aW5nQ29t
bWFuZCh0b1dURlN0cmluZyhuYW1lKSwgdG9XVEZTdHJpbmcoYXJndW1lbnQpKTsKIH0KIAogYm9v
bCBXS0J1bmRsZVBhZ2VJc0VkaXRpbmdDb21tYW5kRW5hYmxlZChXS0J1bmRsZVBhZ2VSZWYgcGFn
ZVJlZiwgV0tTdHJpbmdSZWYgbmFtZSkKIHsKLSAgICByZXR1cm4gdG9JbXBsKHBhZ2VSZWYpLT5p
c0VkaXRpbmdDb21tYW5kRW5hYmxlZCh0b0ltcGwobmFtZSktPnN0cmluZygpKTsKKyAgICByZXR1
cm4gdG9JbXBsKHBhZ2VSZWYpLT5pc0VkaXRpbmdDb21tYW5kRW5hYmxlZCh0b1dURlN0cmluZyhu
YW1lKSk7CiB9CiAKIHZvaWQgV0tCdW5kbGVQYWdlQ2xlYXJNYWluRnJhbWVOYW1lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlUmVmKQpAQCAtMjc3LDcgKzI3Nyw3IEBAIHZvaWQgV0tCdW5kbGVQYWdlVW5p
bnN0YWxsUGFnZU92ZXJsYXkoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZU92
ZXJsCiAKIGJvb2wgV0tCdW5kbGVQYWdlSGFzTG9jYWxEYXRhRm9yVVJMKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmLCBXS1VSTFJlZiB1cmxSZWYpCiB7Ci0gICAgcmV0dXJuIHRvSW1wbChwYWdlUmVm
KS0+aGFzTG9jYWxEYXRhRm9yVVJMKFdlYkNvcmU6OktVUkwoV2ViQ29yZTo6S1VSTCgpLCB0b0lt
cGwodXJsUmVmKS0+c3RyaW5nKCkpKTsKKyAgICByZXR1cm4gdG9JbXBsKHBhZ2VSZWYpLT5oYXNM
b2NhbERhdGFGb3JVUkwoV2ViQ29yZTo6S1VSTChXZWJDb3JlOjpLVVJMKCksIHRvV1RGU3RyaW5n
KHVybFJlZikpKTsKIH0KIAogYm9vbCBXS0J1bmRsZVBhZ2VDYW5IYW5kbGVSZXF1ZXN0KFdLVVJM
UmVxdWVzdFJlZiByZXF1ZXN0UmVmKQpAQCAtMjg3LDcgKzI4Nyw3IEBAIGJvb2wgV0tCdW5kbGVQ
YWdlQ2FuSGFuZGxlUmVxdWVzdChXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdFJlZikKIAogYm9vbCBX
S0J1bmRsZVBhZ2VGaW5kU3RyaW5nKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1Jl
ZiB0YXJnZXQsIFdLRmluZE9wdGlvbnMgZmluZE9wdGlvbnMpCiB7Ci0gICAgcmV0dXJuIHRvSW1w
bChwYWdlUmVmKS0+ZmluZFN0cmluZ0Zyb21JbmplY3RlZEJ1bmRsZSh0b0ltcGwodGFyZ2V0KS0+
c3RyaW5nKCksIHRvRmluZE9wdGlvbnMoZmluZE9wdGlvbnMpKTsKKyAgICByZXR1cm4gdG9JbXBs
KHBhZ2VSZWYpLT5maW5kU3RyaW5nRnJvbUluamVjdGVkQnVuZGxlKHRvV1RGU3RyaW5nKHRhcmdl
dCksIHRvRmluZE9wdGlvbnMoZmluZE9wdGlvbnMpKTsKIH0KIAogV0tJbWFnZVJlZiBXS0J1bmRs
ZVBhZ2VDcmVhdGVTbmFwc2hvdFdpdGhPcHRpb25zKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBX
S1JlY3QgcmVjdCwgV0tTbmFwc2hvdE9wdGlvbnMgb3B0aW9ucykKQEAgLTQwMyw3ICs0MDMsNyBA
QCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlUcmFja2VkUmVwYWludFJlY3RzKFdLQnVuZGxl
UGFnZVJlZiBwYWdlUmVmKQogCiB2b2lkIFdLQnVuZGxlUGFnZVNldENvbXBvc2l0aW9uKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiB0ZXh0LCBpbnQgZnJvbSwgaW50IGxlbmd0
aCkKIHsKLSAgICB0b0ltcGwocGFnZVJlZiktPnNldENvbXBvc2l0aW9uRm9yVGVzdGluZyh0b0lt
cGwodGV4dCktPnN0cmluZygpLCBmcm9tLCBsZW5ndGgpOworICAgIHRvSW1wbChwYWdlUmVmKS0+
c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKHRvV1RGU3RyaW5nKHRleHQpLCBmcm9tLCBsZW5ndGgp
OwogfQogCiBib29sIFdLQnVuZGxlUGFnZUhhc0NvbXBvc2l0aW9uKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmKQpAQCAtNDE4LDE0ICs0MTgsMTQgQEAgdm9pZCBXS0J1bmRsZVBhZ2VDb25maXJtQ29t
cG9zaXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAKIHZvaWQgV0tCdW5kbGVQYWdlQ29u
ZmlybUNvbXBvc2l0aW9uV2l0aFRleHQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5n
UmVmIHRleHQpCiB7Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5jb25maXJtQ29tcG9zaXRpb25Gb3JU
ZXN0aW5nKHRvSW1wbCh0ZXh0KS0+c3RyaW5nKCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+Y29u
ZmlybUNvbXBvc2l0aW9uRm9yVGVzdGluZyh0b1dURlN0cmluZyh0ZXh0KSk7CiB9CiAKIGJvb2wg
V0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYg
bWltZVR5cGVSZWYpCiB7CiAgICAgdXNpbmcgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTsKIAot
ICAgIGNvbnN0IFdURjo6U3RyaW5nIG1pbWVUeXBlID0gdG9JbXBsKG1pbWVUeXBlUmVmKS0+c3Ry
aW5nKCk7CisgICAgY29uc3QgU3RyaW5nIG1pbWVUeXBlID0gdG9XVEZTdHJpbmcobWltZVR5cGVS
ZWYpOwogCiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTm9uSW1hZ2VNSU1F
VHlwZShtaW1lVHlwZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>