<?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>92060</bug_id>
          
          <creation_ts>2012-07-23 21:15:41 -0700</creation_ts>
          <short_desc>Replace some callsites of shadowAncestorNode() with shadowHost()</short_desc>
          <delta_ts>2012-07-24 02:17:57 -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>DOM</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>91821</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>rakuco</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676366</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-23 21:15:41 -0700</bug_when>
    <thetext>Replace some callsites of shadowAncestorNode() with shadowHost()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676380</commentid>
    <comment_count>1</comment_count>
      <attachid>153955</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-23 21:45:12 -0700</bug_when>
    <thetext>Created attachment 153955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676383</commentid>
    <comment_count>2</comment_count>
      <attachid>153955</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 21:52:18 -0700</bug_when>
    <thetext>Comment on attachment 153955
Patch

Attachment 153955 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13338115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676384</commentid>
    <comment_count>3</comment_count>
      <attachid>153957</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-23 22:05:13 -0700</bug_when>
    <thetext>Created attachment 153957
Patch 2

Fix Chromium-Skia build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676551</commentid>
    <comment_count>4</comment_count>
      <attachid>153957</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 02:17:51 -0700</bug_when>
    <thetext>Comment on attachment 153957
Patch 2

Clearing flags on attachment: 153957

Committed r123443: &lt;http://trac.webkit.org/changeset/123443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676553</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 02:17:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153955</attachid>
            <date>2012-07-23 21:45:12 -0700</date>
            <delta_ts>2012-07-23 22:05:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92060-20120724134503.patch</filename>
            <type>text/plain</type>
            <size>19653</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uODJjMzllODNjZDg3N2NlYWNhMWQxMTAxYzcyNmQy
ODQ1YjU1MGY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTA3LTIzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIHNvbWUgY2Fs
bHNpdGVzIG9mIHNoYWRvd0FuY2VzdG9yTm9kZSgpIHdpdGggc2hhZG93SG9zdCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjA2MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNoYWRvd0FuY2VzdG9yTm9k
ZSgpIGlzIGRlcHJlY2F0ZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHNob3VsZG4n
dCBjaGFuZ2UgYmVoYXZpb3JzLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QYXJlbnRNZWRpYUVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OmlzRW5hYmxlZEZvcm1Db250cm9sKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50Ojppc1JlYWRPbmx5Rm9ybUNvbnRyb2wp
OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVFZmw6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Z2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpj
ZW50ZXJSZWN0VmVydGljYWxseUluUGFyZW50SW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgUmVtb3ZlZCBhbiBB
U1NFUlQoKSBiZWNhdXNlIG51bGxuZXNzIG9mIG8tPm5vZGUoKSBpcyBhbHJlYWR5IGFzc2VydGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbnB1dFNwZWVjaC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbnB1dFNwZWVjaDo6cGFpbnRJbnB1dEZpZWxkU3BlZWNoQnV0dG9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisgICAgICAgIFBhc3Npbmcg
c2hhZG93SG9zdCgpIHRvIHRvUGFyZW50TWVkaWFFbGVtZW50KCksIHdoaWNoIGFjY2VwdHMgMCBh
bmQgd2lsbCByZXR1cm4gMC4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFWb2x1bWVTbGlk
ZXJUaHVtYik6IGRpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFp
bnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0
b24pOgorICAgICAgICBSZW1vdmUgYW4gQVNTRVJUKGlucHV0KSBiZWNhdXNlIGlucHV0IG5ldmVy
IGJlIG51bGwgdW5sZXNzIG8tPm5vZGUoKSBpcworICAgICAgICBudWxsLiBJZiBvLT5ub2RlKCkg
aXMgbnVsbCwgdGhpcyBmdW5jdGlvbiBjcmFzaGVzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToK
KyAgICAgICAgSXQncyBvayB0byBpZ25vcmUgIm5vZGUgaXMgYSBtZWRpYSBlbGVtZW50IiBjYXNl
IGJlY2F1c2UgdGhpcyBmdW5jdGlvbgorICAgICAgICB3b3JrcyBvbmx5IGlmIG5vZGUtPmlzTWVk
aWFDb250cm9sRWxlbWVudCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBh
aW50TWVkaWFQbGF5QnV0dG9uKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKTogZGl0dG8uCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lU2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lU2Fm
YXJpOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgUmVtb3ZlIGFuIEFT
U0VSVChpbnB1dCkgYmVjYXVzZSBpbnB1dCBuZXZlciBiZSBudWxsIHVubGVzcyBvLT5ub2RlKCkg
aXMKKyAgICAgICAgbnVsbC4gSWYgby0+bm9kZSgpIGlzIG51bGwsIHRoaXMgZnVuY3Rpb24gY3Jh
c2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lU2FmYXJpOjpwYWludFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb24pOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lU2FmYXJpOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbik6IGRpdHRvLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhRWxlbWVudFBhcmVudCk6CisKIDIwMTItMDctMjMgIEhhbnllZSBLaW0gIDxjaG9jb0Bjb21w
YW55MTAwLm5ldD4KIAogICAgICAgICBXaGVuIHVzaW5nIFRleHR1cmVNYXBwZXIsIFdlYktpdCBk
b2VzIG5vdCByZXRhaW4gZmluYWwgdmFsdWUgb2Ygb3BhY2l0eSBpbiBhbmltYXRpb25zLCB1bmxl
c3MgaXQgaXMgc3BlY2lmaWVkIG9uIHRoZSBsYXN0IGtleSBmcmFtZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA3NGY2
Nzg4YTIzYzRiMDE0Njc4MzM3YTA1MjA4MzVmMTlkMzk0NjIxLi43MzE0NDk2MTA3NjUyM2E0MDY5
ZjRiMjQxNTFkMGI1NjJjYTBkODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC02OCw3ICs2OCwxMSBAQCBzdGF0aWMg
Y29uc3QgZmxvYXQgY1NjYW5NYXhpbXVtUmF0ZSA9IDg7CiAKIEhUTUxNZWRpYUVsZW1lbnQqIHRv
UGFyZW50TWVkaWFFbGVtZW50KE5vZGUqIG5vZGUpCiB7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0g
bm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBpZiAoIW5vZGUpCisg
ICAgICAgIHJldHVybiAwOworICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUtPnNoYWRvd0hvc3Qo
KTsKKyAgICBpZiAoIW1lZGlhTm9kZSkKKyAgICAgICAgbWVkaWFOb2RlID0gbm9kZTsKICAgICBp
ZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXN0YXRpY19j
YXN0PEVsZW1lbnQqPihtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1
cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuaAppbmRleCA2ZjFhOTk5M2FlMjVjNjlmOGQ3ODVlOThlMjIwZjdiNmQy
NzA1ZjFhLi4zM2Q1ODkwYTlhYWU0MzgyNTQ0N2ZhMmFhYTJhYTVjMzRlM2JiMDIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuaApAQCAtMTE5LDggKzExOSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1NwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVsZW1lbnQqPihzaGFkb3dBbmNlc3Rvck5vZGUoKSktPmlz
RW5hYmxlZEZvcm1Db250cm9sKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZvcm1D
b250cm9sKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHNoYWRvd0FuY2Vz
dG9yTm9kZSgpKS0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aXNFbmFibGVkRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBzaGFkb3dIb3N0KCktPmlzRW5h
YmxlZEZvcm1Db250cm9sKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZvcm1Db250
cm9sKCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpLT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2wo
KTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAg
dm9pZCBkb1N0ZXBBY3Rpb24oaW50KTsKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nVGltZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwCmluZGV4
IGU1Nzg0YWYwMzhiNGU5Y2RmNjU3ZGEyOGIzMGU5MjVjMGQwZWY2ZTYuLmI0NjZjYmYwZmM4YWYy
NDFiZWQ1YTM5ZGI4MjM5OGQyMWQ4NjA2NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL1JlbmRlclRoZW1lRWZsLmNwcApAQCAtMTEwNSw3ICsxMTA1LDkgQEAgU3RyaW5nIFJl
bmRlclRoZW1lRWZsOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVu
dFRpbWUsIGZsb2F0IGQKIAogYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYUZ1bGxzY3Jl
ZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgaW5mbywgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBOb2RlKiBtZWRpYU5vZGUgPSBvYmplY3QtPm5vZGUo
KSA/IG9iamVjdC0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7CisgICAgTm9kZSog
bWVkaWFOb2RlID0gb2JqZWN0LT5ub2RlKCkgPyBvYmplY3QtPm5vZGUoKS0+c2hhZG93SG9zdCgp
IDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSkKKyAgICAgICAgbWVkaWFOb2RlID0gb2JqZWN0LT5u
b2RlKCk7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgKCFtZWRpYU5vZGUtPmhhc1RhZ05hbWUodmlk
ZW9UYWcpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMTE3LDcgKzExMTksOSBAQCBi
b29sIFJlbmRlclRoZW1lRWZsOjpwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUGFpbgogCiBib29sIFJlbmRlclRoZW1lRWZsOjpwYWludE1lZGlh
TXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZvLCBj
b25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIE5vZGUqIG1lZGlhTm9kZSA9IG9iamVjdC0+bm9k
ZSgpID8gb2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBOb2Rl
KiBtZWRpYU5vZGUgPSBvYmplY3QtPm5vZGUoKSA/IG9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0
KCkgOiAwOworICAgIGlmICghbWVkaWFOb2RlKQorICAgICAgICBtZWRpYU5vZGUgPSBvYmplY3Qt
Pm5vZGUoKTsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2Rl
KCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGNjNzA4NzU5ODVmZjFlZjhkMmMyNGEyM2M4ODZk
NWZlOTI2ZDJhM2EuLjIyYjU0ZjY1MTQ4ZDVlM2QxZDM3NjQxYzZlM2VlMjA3NGJmOTJjYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcApAQCAt
NjQsNyArNjQsOSBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogc3RhdGljIEhUTUxNZWRp
YUVsZW1lbnQqIGdldE1lZGlhRWxlbWVudEZyb21SZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBv
KQogewogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0g
bm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBOb2RlKiBtZWRpYU5v
ZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSkK
KyAgICAgICAgbWVkaWFOb2RlID0gbm9kZTsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFO
b2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihtZWRpYU5vZGUp
LT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMzEzLDcgKzMxNSw5
IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRp
b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuCiBzdGF0aWMgSW50UmVjdCBjZW50ZXJSZWN0VmVy
dGljYWxseUluUGFyZW50SW5wdXRFbGVtZW50KFJlbmRlck9iamVjdCogcmVuZGVyT2JqZWN0LCBj
b25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIC8vIEdldCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0
PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gcmVuZGVyT2JqZWN0LT5ub2RlKCktPnNoYWRv
d0FuY2VzdG9yTm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gcmVuZGVyT2JqZWN0LT5ub2RlKCkt
PnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IHJlbmRlck9i
amVjdC0+bm9kZSgpOwogICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCiAgICAg
ICAgIHJldHVybiBJbnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAKaW5kZXggMjZkYzJiM2NlZTU1ZmNlMTFjMDJjNzMxZmZlMGVjMmJiNmJi
MTI1NC4uMDlmNTE4Yjg2ZmZkNWE1YjcyZWQyMDJjNTdhMWRjMDBlYjkxMDJmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKQEAgLTQ1NSw3ICs0NTUs
OSBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZgogICAgIC8vIExvZ2ljIGNvcGllZCBmcm9tIFJl
bmRlclRoZW1lQ2hyb21pdW0uY3BwLgogCiAgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5w
dXQ+IGVsZW1lbnQuCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gby0+bm9kZSgpLT5zaGFkb3dIb3N0KCk7CisgICAg
aWYgKCFpbnB1dCkKKyAgICAgICAgaW5wdXQgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFpbnB1dC0+
cmVuZGVyZXIoKS0+aXNCb3goKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFJlbmRlckJv
eCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7CkBAIC04
MDUsOCArODA3LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhU2xpZGVyVHJhY2so
UmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW4KIGJvb2wgUmVuZGVyVGhlbWVR
dDo6cGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgQVNTRVJUKG8tPm5vZGUoKSk7
Ci0gICAgTm9kZSogaG9zdE5vZGUgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwot
ICAgIEFTU0VSVChob3N0Tm9kZSk7CisgICAgTm9kZSogaG9zdE5vZGUgPSBvLT5ub2RlKCktPnNo
YWRvd0hvc3QoKTsKKyAgICBpZiAoIWhvc3ROb2RlKQorICAgICAgICBob3N0Tm9kZSA9IG8tPm5v
ZGUoKTsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1lZGlh
RWxlbWVudChob3N0Tm9kZSk7CiAgICAgaWYgKCFtZWRpYUVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbnB1
dFNwZWVjaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5wdXRTcGVlY2gu
Y3BwCmluZGV4IDM3MGFlMGFlYzA0NDhjZWJlMzE4NmYzMDk5NDI1ZWM1MzA3NzEzOGUuLjhkNDJk
M2JlODVlMTliMDE5YTE3YzkwMWJjMTNhZTdmMjQ5NzJhZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbnB1dFNwZWVjaC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklucHV0U3BlZWNoLmNwcApAQCAtNjIsNyArNjIsNyBAQCBib29s
IFJlbmRlcklucHV0U3BlZWNoOjpwYWludElucHV0RmllbGRTcGVlY2hCdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvYmplY3QsIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIEdldCB0
aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gb2JqZWN0
LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gb2JqZWN0
LT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKICAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0Jv
eCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJv
eCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKaW5kZXgg
ZWZhMDUxODZkOWMzOGJlMGUyOTgzYjgzNzczZDVmMDU3OGZiYmEwMC4uYjNiODI5ODJjOTlmYTk1
YmU0Yjk5NmQzNDI0NWNmY2YxMDRjMTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKQEAgLTI0MCw5ICsy
NDAsNyBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9iamVjdCogb2JqZWN0
LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgYwogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNs
aWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5m
bywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBBU1NFUlQob2JqZWN0LT5ub2RlKCkpOwot
ICAgIE5vZGUqIGhvc3ROb2RlID0gb2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgp
OwotICAgIEFTU0VSVChob3N0Tm9kZSk7Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoaG9zdE5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1l
bnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdC0+bm9kZSgpLT5z
aGFkb3dIb3N0KCkpOwogICAgIGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKQEAgLTI5NSw5ICsyOTMsNyBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhVm9sdW1lU2xp
ZGVyKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SQogc3RhdGlj
IGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBj
b25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBB
U1NFUlQob2JqZWN0LT5ub2RlKCkpOwotICAgIE5vZGUqIGhvc3ROb2RlID0gb2JqZWN0LT5ub2Rl
KCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VSVChob3N0Tm9kZSk7Ci0gICAgSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoaG9zdE5v
ZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFF
bGVtZW50KG9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0KCkpOwogICAgIGlmICghbWVkaWFFbGVt
ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCmluZGV4IDNmMGU5MDdlMmY5ZTE1
YjU3MGU0ZjI1ODlkNzU5MDY2NDExY2JkYzcuLjg5NjdkNGI5ZGMwMjExNDlkNDJlOGNkMjg2YTE4
NmNlMDBiMzhkZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtMjgxLDEwICsyODEsMTEgQEAgSW50UmVjdCBSZW5k
ZXJUaGVtZUNocm9taXVtU2tpYTo6Y29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCog
aW5wdXRSZW5kZXIKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmll
bGRDYW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0KiBjYW5jZWxCdXR0b25PYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIC8vIEdldCB0aGUg
cmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gY2FuY2VsQnV0
dG9uT2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIGlmICghaW5wdXQt
PnJlbmRlcmVyKCktPmlzQm94KCkpCisgICAgTm9kZSogaW5wdXQgPSBjYW5jZWxCdXR0b25PYmpl
Y3QtPm5vZGUoKS0+c2hhZG93SG9zdCgpOworICAgIFJlbmRlcmVPYmplY3QqIGJhc2VSZW5kZXJl
ciA9IGlucHV0ID8gaW5wdXQtPnJlbmRlcmVyKCkgOiBjYW5jZWxCdXR0b25PYmplY3Q7CisgICAg
aWYgKCFiYXNlUmVuZGVyZXItPmlzQm94KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBS
ZW5kZXJCb3gqIGlucHV0UmVuZGVyQm94ID0gdG9SZW5kZXJCb3goaW5wdXQtPnJlbmRlcmVyKCkp
OworICAgIFJlbmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChiYXNlUmVuZGVy
ZXIpOwogICAgIExheW91dFJlY3QgaW5wdXRDb250ZW50Qm94ID0gaW5wdXRSZW5kZXJCb3gtPmNv
bnRlbnRCb3hSZWN0KCk7CiAKICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBidXR0b24gc3Rh
eXMgc3F1YXJlIGFuZCB3aWxsIGZpdCBpbiBpdHMgcGFyZW50J3MgYm94LgpAQCAtMzI0LDEwICsz
MjUsMTEgQEAgdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRqdXN0U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblN0eWxlKFN0eWxlUmVzb2wKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqIG1h
Z25pZmllck9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3Qm
IHIpCiB7CiAgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5wdXQ+IGVsZW1lbnQuCi0gICAg
Tm9kZSogaW5wdXQgPSBtYWduaWZpZXJPYmplY3QtPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2Rl
KCk7Ci0gICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIoKS0+aXNCb3goKSkKKyAgICBOb2RlKiBpbnB1
dCA9IG1hZ25pZmllck9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0KCk7CisgICAgUm5lZGVyT2Jq
ZWN0KiBiYXNlUmVuZGVyZXIgPSBpbnB1dCA/IGlucHV0LT5yZW5kZXJlcigpIDogbWFnbmlmaWVy
T2JqZWN0OworICAgIGlmICghYmFzZVJlbmRlcmVyLT5pc0JveCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0
LT5yZW5kZXJlcigpKTsKKyAgICBSZW5kZXJCb3gqIGlucHV0UmVuZGVyQm94ID0gdG9SZW5kZXJC
b3goYmFzZVJlbmRlcmVyKTsKICAgICBMYXlvdXRSZWN0IGlucHV0Q29udGVudEJveCA9IGlucHV0
UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpOwogCiAgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2Fs
ZWQgZGVjb3JhdGlvbiBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBi
b3guCkBAIC0zNTksMTAgKzM2MSwxMSBAQCB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjph
ZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKgogYm9vbCBS
ZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oUmVu
ZGVyT2JqZWN0KiBtYWduaWZpZXJPYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBJbnRSZWN0JiByKQogewogICAgIC8vIEdldCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBl
bGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gbWFnbmlmaWVyT2JqZWN0LT5ub2RlKCktPnNoYWRv
d0FuY2VzdG9yTm9kZSgpOwotICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCisg
ICAgTm9kZSogaW5wdXQgPSBtYWduaWZpZXJPYmplY3QtPm5vZGUoKS0+c2hhZG93SG9zdCgpOwor
ICAgIFJlbmRlck9iamVjdCogYmFzZVJlbmRlcmVyID0gaW5wdXQgPyBpbnB1dC0+cmVuZGVyZXIo
KSA6IG1hZ25pZmllck9iamVjdDsKKyAgICBpZiAoIWJhc2VSZW5kZXJlcigpLT5pc0JveCgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRv
UmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKKyAgICBSZW5kZXJCb3gqIGlucHV0UmVuZGVy
Qm94ID0gdG9SZW5kZXJCb3goYmFzZVJlbmRlcmVyKTsKICAgICBMYXlvdXRSZWN0IGlucHV0Q29u
dGVudEJveCA9IGlucHV0UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpOwogCiAgICAgLy8gTWFr
ZSBzdXJlIHRoZSBzY2FsZWQgZGVjb3JhdGlvbiB3aWxsIGZpdCBpbiBpdHMgcGFyZW50J3MgYm94
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDlkZTJi
MTI1MjA0ODY3NDk0MmU2ZjVjNTUyZjlkMjA1MzExOWRhZTguLjFiOTIwMDZmMTVjZWI0OGU3MjQ4
NmIyYjZkMTBhMmY5NWQ5MGUyOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTE1NTksOCArMTU1OSw5IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFk
anVzdFNlYXJjaEZpZWxkU3R5bGUoU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgUmVuZGVy
CiAKIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYg
cikKIHsKLSAgICBFbGVtZW50KiBpbnB1dCA9IHRvRWxlbWVudChvLT5ub2RlKCktPnNoYWRvd0Fu
Y2VzdG9yTm9kZSgpKTsKLSAgICBBU1NFUlQoaW5wdXQpOworICAgIEVsZW1lbnQqIGlucHV0ID0g
by0+bm9kZSgpLT5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFpbnB1dCkKKyAgICAgICAgaW5wdXQg
PSB0b0VsZW1lbnQoby0+bm9kZSgpKTsKIAogICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlz
Qm94KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE2NTIsNyArMTY1Myw5IEBAIHZvaWQg
UmVuZGVyVGhlbWVNYWM6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZShT
dHlsZVJlc29sdmVyKiwgUmVuCiAKIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmll
bGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewotICAgIE5vZGUqIGlucHV0ID0gby0+bm9kZSgp
LT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBOb2RlKiBpbnB1dCA9IG8tPm5vZGUoKS0+c2hh
ZG93SG9zdCgpOworICAgIGlmICghaW5wdXQpCisgICAgICAgIGlucHV0ID0gby0+bm9kZSgpOwog
ICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIApAQCAtMTY4NSw3ICsxNjg4LDkgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclMKIAogYm9v
bCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsK
LSAgICBOb2RlKiBpbnB1dCA9IG8tPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAg
Tm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQor
ICAgICAgICBpbnB1dCA9IG8tPm5vZGUoKTsKICAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5p
c0JveCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTE4NTksNyArMTg2NCw3IEBAIGJv
b2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVj
dCogbywgY29uc3QgUGFpbnRJbmZvCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludE1lZGlhTXV0
ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBJbnRSZWN0JiByKQogewogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7Ci0gICAgTm9kZSog
bWVkaWFOb2RlID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBO
b2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKICAgICBpZiAo
IW1lZGlhTm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFtZSh2aWRlb1RhZykgJiYgIW1lZGlh
Tm9kZS0+aGFzVGFnTmFtZShhdWRpb1RhZykpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTE4NzMsNyArMTg3OCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFNdXRlQnV0
dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwYWluCiBib29sIFJlbmRlclRo
ZW1lTWFjOjpwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIE5vZGUqIG5vZGUgPSBv
LT5ub2RlKCk7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2Vz
dG9yTm9kZSgpIDogMDsKKyAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93
SG9zdCgpIDogMDsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFt
ZSh2aWRlb1RhZykgJiYgIW1lZGlhTm9kZS0+aGFzVGFnTmFtZShhdWRpb1RhZykpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTE5MDksOCArMTkxNCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVN
YWM6OnBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBh
aW50SW5mCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludE1lZGlhU2xpZGVyVHJhY2soUmVuZGVy
T2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikK
IHsKICAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwotICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5v
ZGUgPyBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7Ci0gICAgaWYgKCFtZWRpYU5vZGUg
fHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bWVkaWFOb2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKKyAgICBFbGVtZW50KiBtZWRpYU5vZGUgPSBu
b2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVk
aWFOb2RlLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVt
ZW50Kj4obWVkaWFOb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZVNhZmFyaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVTYWZhcmkuY3BwCmluZGV4IDIzZmQ4YjE5MzQyZjYwMWY4NGE0YjIzYTY2NTExYzk5NWM4NTk1
NjIuLjRmZjBmZDA3YzljMTZiYjkzYWY0ODNjNTlmZDg4OWFlNGZkOTI0YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcApAQCAtMTA3NSw4ICsx
MDc1LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVNhZmFyaTo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1
dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW4KIHsKICAgICBBU1NFUlQoU2FmYXJpVGhl
bWVMaWJyYXJ5KCkpOwogCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2Vz
dG9yTm9kZSgpOwotICAgIEFTU0VSVChpbnB1dCk7CisgICAgTm9kZSogaW5wdXQgPSBvLT5ub2Rl
KCktPnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IG8tPm5v
ZGUoKTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaW5wdXQtPnJlbmRlcmVyKCk7CiAg
ICAgQVNTRVJUKHJlbmRlcmVyKTsKIApAQCAtMTEyOSw4ICsxMTMwLDkgQEAgYm9vbCBSZW5kZXJU
aGVtZVNhZmFyaTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVj
dCogbywgY29uc3QKIHsKICAgICBBU1NFUlQoU2FmYXJpVGhlbWVMaWJyYXJ5KCkpOwogCi0gICAg
Tm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VS
VChpbnB1dCk7CisgICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAg
ICBpZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IG8tPm5vZGUoKTsKICAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyID0gaW5wdXQtPnJlbmRlcmVyKCk7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsK
IApAQCAtMTE1Miw4ICsxMTU0LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVNhZmFyaTo6cGFpbnRTZWFy
Y2hGaWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWkKIHsKICAgICBB
U1NFUlQoU2FmYXJpVGhlbWVMaWJyYXJ5KCkpOwogCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2Rl
KCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VSVChpbnB1dCk7CisgICAgTm9kZSog
aW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAg
ICBpbnB1dCA9IG8tPm5vZGUoKTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaW5wdXQt
PnJlbmRlcmVyKCk7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwCmluZGV4IDQwMzQ5ZGUxMDY1NTg2N2QzYmI3
ZjdlM2RlNzU4ZjZjZDE2ZTQyNzUuLjE4OGNkOTBiOWFhYzRkN2E0MmI2OTI0NWU5MGFiZTIzOTJi
YTI3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdp
bkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5j
cHAKQEAgLTQ3OCw3ICs0NzgsOSBAQCBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50UGFyZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4g
MDsKLSAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAg
ICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlLT5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFtZWRpYU5v
ZGUpCisgICAgICAgIG1lZGlhTm9kZSA9IG5vZGU7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1l
ZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWVkaWFO
b2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153957</attachid>
            <date>2012-07-23 22:05:13 -0700</date>
            <delta_ts>2012-07-24 02:17:50 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-92060-20120724140504.patch</filename>
            <type>text/plain</type>
            <size>19650</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4NzNiOGRjNzNkODhk
MDQ4NTNkMGMwYzBiN2RkNTMzZGJjMzNkOC4uODJjMzllODNjZDg3N2NlYWNhMWQxMTAxYzcyNmQy
ODQ1YjU1MGY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTA3LTIzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIHNvbWUgY2Fs
bHNpdGVzIG9mIHNoYWRvd0FuY2VzdG9yTm9kZSgpIHdpdGggc2hhZG93SG9zdCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjA2MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNoYWRvd0FuY2VzdG9yTm9k
ZSgpIGlzIGRlcHJlY2F0ZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHNob3VsZG4n
dCBjaGFuZ2UgYmVoYXZpb3JzLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QYXJlbnRNZWRpYUVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OmlzRW5hYmxlZEZvcm1Db250cm9sKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50Ojppc1JlYWRPbmx5Rm9ybUNvbnRyb2wp
OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVFZmw6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Z2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpj
ZW50ZXJSZWN0VmVydGljYWxseUluUGFyZW50SW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgUmVtb3ZlZCBhbiBB
U1NFUlQoKSBiZWNhdXNlIG51bGxuZXNzIG9mIG8tPm5vZGUoKSBpcyBhbHJlYWR5IGFzc2VydGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbnB1dFNwZWVjaC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbnB1dFNwZWVjaDo6cGFpbnRJbnB1dEZpZWxkU3BlZWNoQnV0dG9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisgICAgICAgIFBhc3Npbmcg
c2hhZG93SG9zdCgpIHRvIHRvUGFyZW50TWVkaWFFbGVtZW50KCksIHdoaWNoIGFjY2VwdHMgMCBh
bmQgd2lsbCByZXR1cm4gMC4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFWb2x1bWVTbGlk
ZXJUaHVtYik6IGRpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFp
bnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0
b24pOgorICAgICAgICBSZW1vdmUgYW4gQVNTRVJUKGlucHV0KSBiZWNhdXNlIGlucHV0IG5ldmVy
IGJlIG51bGwgdW5sZXNzIG8tPm5vZGUoKSBpcworICAgICAgICBudWxsLiBJZiBvLT5ub2RlKCkg
aXMgbnVsbCwgdGhpcyBmdW5jdGlvbiBjcmFzaGVzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToK
KyAgICAgICAgSXQncyBvayB0byBpZ25vcmUgIm5vZGUgaXMgYSBtZWRpYSBlbGVtZW50IiBjYXNl
IGJlY2F1c2UgdGhpcyBmdW5jdGlvbgorICAgICAgICB3b3JrcyBvbmx5IGlmIG5vZGUtPmlzTWVk
aWFDb250cm9sRWxlbWVudCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBh
aW50TWVkaWFQbGF5QnV0dG9uKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKTogZGl0dG8uCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lU2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lU2Fm
YXJpOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgUmVtb3ZlIGFuIEFT
U0VSVChpbnB1dCkgYmVjYXVzZSBpbnB1dCBuZXZlciBiZSBudWxsIHVubGVzcyBvLT5ub2RlKCkg
aXMKKyAgICAgICAgbnVsbC4gSWYgby0+bm9kZSgpIGlzIG51bGwsIHRoaXMgZnVuY3Rpb24gY3Jh
c2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lU2FmYXJpOjpwYWludFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb24pOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lU2FmYXJpOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbik6IGRpdHRvLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhRWxlbWVudFBhcmVudCk6CisKIDIwMTItMDctMjMgIEhhbnllZSBLaW0gIDxjaG9jb0Bjb21w
YW55MTAwLm5ldD4KIAogICAgICAgICBXaGVuIHVzaW5nIFRleHR1cmVNYXBwZXIsIFdlYktpdCBk
b2VzIG5vdCByZXRhaW4gZmluYWwgdmFsdWUgb2Ygb3BhY2l0eSBpbiBhbmltYXRpb25zLCB1bmxl
c3MgaXQgaXMgc3BlY2lmaWVkIG9uIHRoZSBsYXN0IGtleSBmcmFtZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA3NGY2
Nzg4YTIzYzRiMDE0Njc4MzM3YTA1MjA4MzVmMTlkMzk0NjIxLi43MzE0NDk2MTA3NjUyM2E0MDY5
ZjRiMjQxNTFkMGI1NjJjYTBkODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC02OCw3ICs2OCwxMSBAQCBzdGF0aWMg
Y29uc3QgZmxvYXQgY1NjYW5NYXhpbXVtUmF0ZSA9IDg7CiAKIEhUTUxNZWRpYUVsZW1lbnQqIHRv
UGFyZW50TWVkaWFFbGVtZW50KE5vZGUqIG5vZGUpCiB7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0g
bm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBpZiAoIW5vZGUpCisg
ICAgICAgIHJldHVybiAwOworICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUtPnNoYWRvd0hvc3Qo
KTsKKyAgICBpZiAoIW1lZGlhTm9kZSkKKyAgICAgICAgbWVkaWFOb2RlID0gbm9kZTsKICAgICBp
ZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXN0YXRpY19j
YXN0PEVsZW1lbnQqPihtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1
cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuaAppbmRleCA2ZjFhOTk5M2FlMjVjNjlmOGQ3ODVlOThlMjIwZjdiNmQy
NzA1ZjFhLi4zM2Q1ODkwYTlhYWU0MzgyNTQ0N2ZhMmFhYTJhYTVjMzRlM2JiMDIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuaApAQCAtMTE5LDggKzExOSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1NwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVsZW1lbnQqPihzaGFkb3dBbmNlc3Rvck5vZGUoKSktPmlz
RW5hYmxlZEZvcm1Db250cm9sKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZvcm1D
b250cm9sKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHNoYWRvd0FuY2Vz
dG9yTm9kZSgpKS0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aXNFbmFibGVkRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBzaGFkb3dIb3N0KCktPmlzRW5h
YmxlZEZvcm1Db250cm9sKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZvcm1Db250
cm9sKCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpLT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2wo
KTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAg
dm9pZCBkb1N0ZXBBY3Rpb24oaW50KTsKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nVGltZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwCmluZGV4
IGU1Nzg0YWYwMzhiNGU5Y2RmNjU3ZGEyOGIzMGU5MjVjMGQwZWY2ZTYuLmI0NjZjYmYwZmM4YWYy
NDFiZWQ1YTM5ZGI4MjM5OGQyMWQ4NjA2NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL1JlbmRlclRoZW1lRWZsLmNwcApAQCAtMTEwNSw3ICsxMTA1LDkgQEAgU3RyaW5nIFJl
bmRlclRoZW1lRWZsOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVu
dFRpbWUsIGZsb2F0IGQKIAogYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYUZ1bGxzY3Jl
ZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgaW5mbywgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBOb2RlKiBtZWRpYU5vZGUgPSBvYmplY3QtPm5vZGUo
KSA/IG9iamVjdC0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7CisgICAgTm9kZSog
bWVkaWFOb2RlID0gb2JqZWN0LT5ub2RlKCkgPyBvYmplY3QtPm5vZGUoKS0+c2hhZG93SG9zdCgp
IDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSkKKyAgICAgICAgbWVkaWFOb2RlID0gb2JqZWN0LT5u
b2RlKCk7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgKCFtZWRpYU5vZGUtPmhhc1RhZ05hbWUodmlk
ZW9UYWcpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMTE3LDcgKzExMTksOSBAQCBi
b29sIFJlbmRlclRoZW1lRWZsOjpwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUGFpbgogCiBib29sIFJlbmRlclRoZW1lRWZsOjpwYWludE1lZGlh
TXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZvLCBj
b25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIE5vZGUqIG1lZGlhTm9kZSA9IG9iamVjdC0+bm9k
ZSgpID8gb2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBOb2Rl
KiBtZWRpYU5vZGUgPSBvYmplY3QtPm5vZGUoKSA/IG9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0
KCkgOiAwOworICAgIGlmICghbWVkaWFOb2RlKQorICAgICAgICBtZWRpYU5vZGUgPSBvYmplY3Qt
Pm5vZGUoKTsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2Rl
KCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGNjNzA4NzU5ODVmZjFlZjhkMmMyNGEyM2M4ODZk
NWZlOTI2ZDJhM2EuLjIyYjU0ZjY1MTQ4ZDVlM2QxZDM3NjQxYzZlM2VlMjA3NGJmOTJjYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcApAQCAt
NjQsNyArNjQsOSBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogc3RhdGljIEhUTUxNZWRp
YUVsZW1lbnQqIGdldE1lZGlhRWxlbWVudEZyb21SZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBv
KQogewogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0g
bm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBOb2RlKiBtZWRpYU5v
ZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSkK
KyAgICAgICAgbWVkaWFOb2RlID0gbm9kZTsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFO
b2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihtZWRpYU5vZGUp
LT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMzEzLDcgKzMxNSw5
IEBAIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRp
b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuCiBzdGF0aWMgSW50UmVjdCBjZW50ZXJSZWN0VmVy
dGljYWxseUluUGFyZW50SW5wdXRFbGVtZW50KFJlbmRlck9iamVjdCogcmVuZGVyT2JqZWN0LCBj
b25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIC8vIEdldCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0
PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gcmVuZGVyT2JqZWN0LT5ub2RlKCktPnNoYWRv
d0FuY2VzdG9yTm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gcmVuZGVyT2JqZWN0LT5ub2RlKCkt
PnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IHJlbmRlck9i
amVjdC0+bm9kZSgpOwogICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCiAgICAg
ICAgIHJldHVybiBJbnRSZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAKaW5kZXggMjZkYzJiM2NlZTU1ZmNlMTFjMDJjNzMxZmZlMGVjMmJiNmJi
MTI1NC4uMDlmNTE4Yjg2ZmZkNWE1YjcyZWQyMDJjNTdhMWRjMDBlYjkxMDJmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKQEAgLTQ1NSw3ICs0NTUs
OSBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZgogICAgIC8vIExvZ2ljIGNvcGllZCBmcm9tIFJl
bmRlclRoZW1lQ2hyb21pdW0uY3BwLgogCiAgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5w
dXQ+IGVsZW1lbnQuCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gby0+bm9kZSgpLT5zaGFkb3dIb3N0KCk7CisgICAg
aWYgKCFpbnB1dCkKKyAgICAgICAgaW5wdXQgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFpbnB1dC0+
cmVuZGVyZXIoKS0+aXNCb3goKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFJlbmRlckJv
eCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7CkBAIC04
MDUsOCArODA3LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhU2xpZGVyVHJhY2so
UmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW4KIGJvb2wgUmVuZGVyVGhlbWVR
dDo6cGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgQVNTRVJUKG8tPm5vZGUoKSk7
Ci0gICAgTm9kZSogaG9zdE5vZGUgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwot
ICAgIEFTU0VSVChob3N0Tm9kZSk7CisgICAgTm9kZSogaG9zdE5vZGUgPSBvLT5ub2RlKCktPnNo
YWRvd0hvc3QoKTsKKyAgICBpZiAoIWhvc3ROb2RlKQorICAgICAgICBob3N0Tm9kZSA9IG8tPm5v
ZGUoKTsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1lZGlh
RWxlbWVudChob3N0Tm9kZSk7CiAgICAgaWYgKCFtZWRpYUVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbnB1
dFNwZWVjaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5wdXRTcGVlY2gu
Y3BwCmluZGV4IDM3MGFlMGFlYzA0NDhjZWJlMzE4NmYzMDk5NDI1ZWM1MzA3NzEzOGUuLjhkNDJk
M2JlODVlMTliMDE5YTE3YzkwMWJjMTNhZTdmMjQ5NzJhZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbnB1dFNwZWVjaC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklucHV0U3BlZWNoLmNwcApAQCAtNjIsNyArNjIsNyBAQCBib29s
IFJlbmRlcklucHV0U3BlZWNoOjpwYWludElucHV0RmllbGRTcGVlY2hCdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvYmplY3QsIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIEdldCB0
aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gb2JqZWN0
LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIE5vZGUqIGlucHV0ID0gb2JqZWN0
LT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKICAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0Jv
eCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJv
eCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKaW5kZXgg
ZWZhMDUxODZkOWMzOGJlMGUyOTgzYjgzNzczZDVmMDU3OGZiYmEwMC4uYjNiODI5ODJjOTlmYTk1
YmU0Yjk5NmQzNDI0NWNmY2YxMDRjMTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKQEAgLTI0MCw5ICsy
NDAsNyBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9iamVjdCogb2JqZWN0
LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgYwogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNs
aWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5m
bywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBBU1NFUlQob2JqZWN0LT5ub2RlKCkpOwot
ICAgIE5vZGUqIGhvc3ROb2RlID0gb2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgp
OwotICAgIEFTU0VSVChob3N0Tm9kZSk7Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoaG9zdE5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1l
bnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdC0+bm9kZSgpLT5z
aGFkb3dIb3N0KCkpOwogICAgIGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKQEAgLTI5NSw5ICsyOTMsNyBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhVm9sdW1lU2xp
ZGVyKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SQogc3RhdGlj
IGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBj
b25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBB
U1NFUlQob2JqZWN0LT5ub2RlKCkpOwotICAgIE5vZGUqIGhvc3ROb2RlID0gb2JqZWN0LT5ub2Rl
KCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VSVChob3N0Tm9kZSk7Ci0gICAgSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoaG9zdE5v
ZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFF
bGVtZW50KG9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0KCkpOwogICAgIGlmICghbWVkaWFFbGVt
ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCmluZGV4IDNmMGU5MDdlMmY5ZTE1
YjU3MGU0ZjI1ODlkNzU5MDY2NDExY2JkYzcuLmEzY2UyNDZkMGZmZjhlYmJhMjEzZWU4YWNmM2M4
MjZkNmVlMjVkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtMjgxLDEwICsyODEsMTEgQEAgSW50UmVjdCBSZW5k
ZXJUaGVtZUNocm9taXVtU2tpYTo6Y29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCog
aW5wdXRSZW5kZXIKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmll
bGRDYW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0KiBjYW5jZWxCdXR0b25PYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIC8vIEdldCB0aGUg
cmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgotICAgIE5vZGUqIGlucHV0ID0gY2FuY2VsQnV0
dG9uT2JqZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIGlmICghaW5wdXQt
PnJlbmRlcmVyKCktPmlzQm94KCkpCisgICAgTm9kZSogaW5wdXQgPSBjYW5jZWxCdXR0b25PYmpl
Y3QtPm5vZGUoKS0+c2hhZG93SG9zdCgpOworICAgIFJlbmRlck9iamVjdCogYmFzZVJlbmRlcmVy
ID0gaW5wdXQgPyBpbnB1dC0+cmVuZGVyZXIoKSA6IGNhbmNlbEJ1dHRvbk9iamVjdDsKKyAgICBp
ZiAoIWJhc2VSZW5kZXJlci0+aXNCb3goKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFJl
bmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7
CisgICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGJhc2VSZW5kZXJl
cik7CiAgICAgTGF5b3V0UmVjdCBpbnB1dENvbnRlbnRCb3ggPSBpbnB1dFJlbmRlckJveC0+Y29u
dGVudEJveFJlY3QoKTsKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGJ1dHRvbiBzdGF5
cyBzcXVhcmUgYW5kIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3guCkBAIC0zMjQsMTAgKzMy
NSwxMSBAQCB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RTZWFyY2hGaWVsZFJl
c3VsdHNEZWNvcmF0aW9uU3R5bGUoU3R5bGVSZXNvbAogYm9vbCBSZW5kZXJUaGVtZUNocm9taXVt
U2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCogbWFn
bmlmaWVyT2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYg
cikKIHsKICAgICAvLyBHZXQgdGhlIHJlbmRlcmVyIG9mIDxpbnB1dD4gZWxlbWVudC4KLSAgICBO
b2RlKiBpbnB1dCA9IG1hZ25pZmllck9iamVjdC0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUo
KTsKLSAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0JveCgpKQorICAgIE5vZGUqIGlucHV0
ID0gbWFnbmlmaWVyT2JqZWN0LT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBSZW5kZXJPYmpl
Y3QqIGJhc2VSZW5kZXJlciA9IGlucHV0ID8gaW5wdXQtPnJlbmRlcmVyKCkgOiBtYWduaWZpZXJP
YmplY3Q7CisgICAgaWYgKCFiYXNlUmVuZGVyZXItPmlzQm94KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBSZW5kZXJCb3gqIGlucHV0UmVuZGVyQm94ID0gdG9SZW5kZXJCb3goaW5wdXQt
PnJlbmRlcmVyKCkpOworICAgIFJlbmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJv
eChiYXNlUmVuZGVyZXIpOwogICAgIExheW91dFJlY3QgaW5wdXRDb250ZW50Qm94ID0gaW5wdXRS
ZW5kZXJCb3gtPmNvbnRlbnRCb3hSZWN0KCk7CiAKICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxl
ZCBkZWNvcmF0aW9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJv
eC4KQEAgLTM1OSwxMCArMzYxLDExIEBAIHZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OmFk
anVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXIqCiBib29sIFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihSZW5k
ZXJPYmplY3QqIG1hZ25pZmllck9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFJlY3QmIHIpCiB7CiAgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5wdXQ+IGVs
ZW1lbnQuCi0gICAgTm9kZSogaW5wdXQgPSBtYWduaWZpZXJPYmplY3QtPm5vZGUoKS0+c2hhZG93
QW5jZXN0b3JOb2RlKCk7Ci0gICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIoKS0+aXNCb3goKSkKKyAg
ICBOb2RlKiBpbnB1dCA9IG1hZ25pZmllck9iamVjdC0+bm9kZSgpLT5zaGFkb3dIb3N0KCk7Cisg
ICAgUmVuZGVyT2JqZWN0KiBiYXNlUmVuZGVyZXIgPSBpbnB1dCA/IGlucHV0LT5yZW5kZXJlcigp
IDogbWFnbmlmaWVyT2JqZWN0OworICAgIGlmICghYmFzZVJlbmRlcmVyLT5pc0JveCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVu
ZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKKyAgICBSZW5kZXJCb3gqIGlucHV0UmVuZGVyQm94
ID0gdG9SZW5kZXJCb3goYmFzZVJlbmRlcmVyKTsKICAgICBMYXlvdXRSZWN0IGlucHV0Q29udGVu
dEJveCA9IGlucHV0UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpOwogCiAgICAgLy8gTWFrZSBz
dXJlIHRoZSBzY2FsZWQgZGVjb3JhdGlvbiB3aWxsIGZpdCBpbiBpdHMgcGFyZW50J3MgYm94Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDlkZTJiMTI1
MjA0ODY3NDk0MmU2ZjVjNTUyZjlkMjA1MzExOWRhZTguLjFiOTIwMDZmMTVjZWI0OGU3MjQ4NmIy
YjZkMTBhMmY5NWQ5MGUyOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KQEAgLTE1NTksOCArMTU1OSw5IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVz
dFNlYXJjaEZpZWxkU3R5bGUoU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgUmVuZGVyCiAK
IGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVuZGVy
T2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikK
IHsKLSAgICBFbGVtZW50KiBpbnB1dCA9IHRvRWxlbWVudChvLT5ub2RlKCktPnNoYWRvd0FuY2Vz
dG9yTm9kZSgpKTsKLSAgICBBU1NFUlQoaW5wdXQpOworICAgIEVsZW1lbnQqIGlucHV0ID0gby0+
bm9kZSgpLT5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFpbnB1dCkKKyAgICAgICAgaW5wdXQgPSB0
b0VsZW1lbnQoby0+bm9kZSgpKTsKIAogICAgIGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE2NTIsNyArMTY1Myw5IEBAIHZvaWQgUmVu
ZGVyVGhlbWVNYWM6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuCiAKIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBJbnRSZWN0JiByKQogewotICAgIE5vZGUqIGlucHV0ID0gby0+bm9kZSgpLT5z
aGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBOb2RlKiBpbnB1dCA9IG8tPm5vZGUoKS0+c2hhZG93
SG9zdCgpOworICAgIGlmICghaW5wdXQpCisgICAgICAgIGlucHV0ID0gby0+bm9kZSgpOwogICAg
IGlmICghaW5wdXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IApAQCAtMTY4NSw3ICsxNjg4LDkgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0U2VhcmNo
RmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclMKIAogYm9vbCBS
ZW5kZXJUaGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2JqZWN0
KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsKLSAg
ICBOb2RlKiBpbnB1dCA9IG8tPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgTm9k
ZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAg
ICAgICBpbnB1dCA9IG8tPm5vZGUoKTsKICAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0Jv
eCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTE4NTksNyArMTg2NCw3IEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCog
bywgY29uc3QgUGFpbnRJbmZvCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludE1lZGlhTXV0ZUJ1
dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJ
bnRSZWN0JiByKQogewogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7Ci0gICAgTm9kZSogbWVk
aWFOb2RlID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKKyAgICBOb2Rl
KiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKICAgICBpZiAoIW1l
ZGlhTm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFtZSh2aWRlb1RhZykgJiYgIW1lZGlhTm9k
ZS0+aGFzVGFnTmFtZShhdWRpb1RhZykpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTE4
NzMsNyArMTg3OCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9u
KFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwYWluCiBib29sIFJlbmRlclRoZW1l
TWFjOjpwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIE5vZGUqIG5vZGUgPSBvLT5u
b2RlKCk7Ci0gICAgTm9kZSogbWVkaWFOb2RlID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpIDogMDsKKyAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9z
dCgpIDogMDsKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFtZSh2
aWRlb1RhZykgJiYgIW1lZGlhTm9kZS0+aGFzVGFnTmFtZShhdWRpb1RhZykpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKQEAgLTE5MDksOCArMTkxNCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6
OnBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50
SW5mCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludE1lZGlhU2xpZGVyVHJhY2soUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsK
ICAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwotICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUg
PyBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7Ci0gICAgaWYgKCFtZWRpYU5vZGUgfHwg
IW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWVk
aWFOb2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKKyAgICBFbGVtZW50KiBtZWRpYU5vZGUgPSBub2Rl
ID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKKyAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFO
b2RlLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50
Kj4obWVkaWFOb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVNhZmFyaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVT
YWZhcmkuY3BwCmluZGV4IDIzZmQ4YjE5MzQyZjYwMWY4NGE0YjIzYTY2NTExYzk5NWM4NTk1NjIu
LjRmZjBmZDA3YzljMTZiYjkzYWY0ODNjNTlmZDg4OWFlNGZkOTI0YTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcApAQCAtMTA3NSw4ICsxMDc1
LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVNhZmFyaTo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRv
bihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW4KIHsKICAgICBBU1NFUlQoU2FmYXJpVGhlbWVM
aWJyYXJ5KCkpOwogCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpOwotICAgIEFTU0VSVChpbnB1dCk7CisgICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCkt
PnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IG8tPm5vZGUo
KTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaW5wdXQtPnJlbmRlcmVyKCk7CiAgICAg
QVNTRVJUKHJlbmRlcmVyKTsKIApAQCAtMTEyOSw4ICsxMTMwLDkgQEAgYm9vbCBSZW5kZXJUaGVt
ZVNhZmFyaTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCog
bywgY29uc3QKIHsKICAgICBBU1NFUlQoU2FmYXJpVGhlbWVMaWJyYXJ5KCkpOwogCi0gICAgTm9k
ZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VSVChp
bnB1dCk7CisgICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBp
ZiAoIWlucHV0KQorICAgICAgICBpbnB1dCA9IG8tPm5vZGUoKTsKICAgICBSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gaW5wdXQtPnJlbmRlcmVyKCk7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsKIApA
QCAtMTE1Miw4ICsxMTU0LDkgQEAgYm9vbCBSZW5kZXJUaGVtZVNhZmFyaTo6cGFpbnRTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWkKIHsKICAgICBBU1NF
UlQoU2FmYXJpVGhlbWVMaWJyYXJ5KCkpOwogCi0gICAgTm9kZSogaW5wdXQgPSBvLT5ub2RlKCkt
PnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgIEFTU0VSVChpbnB1dCk7CisgICAgTm9kZSogaW5w
dXQgPSBvLT5ub2RlKCktPnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICBp
bnB1dCA9IG8tPm5vZGUoKTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaW5wdXQtPnJl
bmRlcmVyKCk7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwCmluZGV4IDQwMzQ5ZGUxMDY1NTg2N2QzYmI3Zjdl
M2RlNzU4ZjZjZDE2ZTQyNzUuLjE4OGNkOTBiOWFhYzRkN2E0MmI2OTI0NWU5MGFiZTIzOTJiYTI3
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNF
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAK
QEAgLTQ3OCw3ICs0NzgsOSBAQCBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50
UGFyZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsK
LSAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBO
b2RlKiBtZWRpYU5vZGUgPSBub2RlLT5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFtZWRpYU5vZGUp
CisgICAgICAgIG1lZGlhTm9kZSA9IG5vZGU7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1lZGlh
Tm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWVkaWFOb2Rl
KS0+aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>