<?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>93857</bug_id>
          
          <creation_ts>2012-08-13 09:26:09 -0700</creation_ts>
          <short_desc>HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack</short_desc>
          <delta_ts>2012-08-22 14:54:51 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>693713</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-08-13 09:26:09 -0700</bug_when>
    <thetext>HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack because it traverses the element stack and finds the furthest formatting element. 

Currently, it belongs to HTMLTreeBuilder just because isSpecialNode(const HTMLStackItem*) function used by furthestBlockForFormattingElement is internal to HTMLTreeBuilder. By moving isSpecialNode to HTMLStackItem, we can move furthestBlockForFormattingElement to HTMLElementStack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693718</commentid>
    <comment_count>1</comment_count>
      <attachid>158016</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-08-13 09:32:13 -0700</bug_when>
    <thetext>Created attachment 158016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693720</commentid>
    <comment_count>2</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-08-13 09:33:01 -0700</bug_when>
    <thetext>This patch is just a refactoring, not relevant to speculative parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702382</commentid>
    <comment_count>3</comment_count>
      <attachid>158016</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 14:54:48 -0700</bug_when>
    <thetext>Comment on attachment 158016
Patch

Clearing flags on attachment: 158016

Committed r126355: &lt;http://trac.webkit.org/changeset/126355&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702383</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 14:54:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158016</attachid>
            <date>2012-08-13 09:32:13 -0700</date>
            <delta_ts>2012-08-22 14:54:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93857-20120814013130.patch</filename>
            <type>text/plain</type>
            <size>20538</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2ZGZlZWI5MmFlZWQ0
NWM1Mzc3OWE4OTc2MTdjMmZiMTVhZjQxMS4uMDk3NjBmMDE0NTI2MWNlNzA0YTcyNmExYWUyOGUz
MTk5OTk5ZGRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA4LTEzICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgSFRNTFRyZWVCdWls
ZGVyOjpmdXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1lbnQgc2hvdWxkIGJlbG9uZyB0byBI
VE1MRWxlbWVudFN0YWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05Mzg1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEhUTUxUcmVlQnVpbGRlcjo6ZnVydGhlc3RCbG9ja0ZvckZvcm1hdHRpbmdFbGVtZW50
IHNob3VsZCBiZWxvbmcgdG8KKyAgICAgICAgSFRNTEVsZW1lbnRTdGFjayBiZWNhdXNlIGl0IHRy
YXZlcnNlcyB0aGUgZWxlbWVudCBzdGFjayBhbmQgZmluZHMgdGhlCisgICAgICAgIGZ1cnRoZXN0
IGJsb2NrIGZvciB0aGUgZ2l2ZW4gZm9ybWF0dGluZyBlbGVtZW50LgorCisgICAgICAgIEN1cnJl
bnRseSwgaXQgYmVsb25ncyB0byBIVE1MVHJlZUJ1aWxkZXIganVzdCBiZWNhdXNlCisgICAgICAg
IGlzU3BlY2lhbE5vZGUoY29uc3QgSFRNTFN0YWNrSXRlbSopIGZ1bmN0aW9uIHVzZWQgYnkKKyAg
ICAgICAgZnVydGhlc3RCbG9ja0ZvckZvcm1hdHRpbmdFbGVtZW50IGlzIGludGVybmFsIHRvIEhU
TUxUcmVlQnVpbGRlci4KKworICAgICAgICBNb3ZlZCBpc1NwZWNpYWxOb2RlIHRvIEhUTUxTdGFj
a0l0ZW0gYW5kIGNoYW5nZWQKKyAgICAgICAgZnVydGhlc3RCbG9ja0ZvckZvcm1hdHRpbmdFbGVt
ZW50IHRvIGJlIGEgbWV0aG9kIG9mIEhUTUxFbGVtZW50U3RhY2suCisKKyAgICAgICAgTm8gYmVo
YXZpb3IgY2hhbmdlLiBKdXN0IGEgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MRWxlbWVudFN0YWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnRTdGFjazo6cG9wVW50aWxOdW1iZXJlZEhlYWRlckVsZW1lbnRQb3Bw
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6aGFzTnVtYmVyZWRIZWFk
ZXJFbGVtZW50SW5TY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNrOjpm
dXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaDoKKyAgICAgICAgKEhUTUxFbGVtZW50U3RhY2spOgorICAgICAg
ICAqIGh0bWwvcGFyc2VyL0hUTUxTdGFja0l0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dGFja0l0ZW06OmlzSW5IVE1MTmFtZXNwYWNlKToKKyAgICAgICAgKEhUTUxTdGFja0l0ZW0pOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFN0YWNrSXRlbTo6aXNOdW1iZXJlZEhlYWRlckVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN0YWNrSXRlbTo6aXNUYWJsZUJvZHlDb250ZXh0RWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3RhY2tJdGVtOjppc1NwZWNpYWxOb2RlKToK
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRyZWVCdWlsZGVyOjpjb25zdHJ1Y3RUcmVlRnJvbUF0b21pY1Rva2VuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0Nsb3NlV2hlbk5lc3RlZFRh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0Zv
ckluQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NBbnlP
dGhlckVuZFRhZ0ZvckluQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6
OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxk
ZXI6OnNob3VsZFByb2Nlc3NUb2tlbkluRm9yZWlnbkNvbnRlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVG9rZW5JbkZvcmVpZ25Db250ZW50KToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaDoKKwogMjAxMi0wOC0xMyAgQW5kcmV5
IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHdoZW4gc3RhdHVzIGJhciBpcyB0b28gbmFycm93LCBjdXQgcGFuZWwgc3RhdHVzIGJhciwgbm90
IG1haW4gc3RhdHVzIGJhciBpdGVtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmNwcAppbmRleCA2MmVkNmY0ZTM5ZDIyOWRlOGI0Yjg2ODE5MzQxMWIx
NzgxOTQ5Yzc0Li42YzIyMGM5NzM5YTY0MDIwZWQwZjI3Y2MzMjAxYjJjNGUwMTYxNTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcApAQCAt
MzgsMTYgKzM4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNOdW1iZXJlZEhlYWRlckVsZW1lbnQoSFRN
TFN0YWNrSXRlbSogaXRlbSkKLXsKLSAgICByZXR1cm4gaXRlbS0+aGFzVGFnTmFtZShoMVRhZykK
LSAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShoMlRhZykKLSAgICAgICAgfHwgaXRlbS0+aGFz
VGFnTmFtZShoM1RhZykKLSAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShoNFRhZykKLSAgICAg
ICAgfHwgaXRlbS0+aGFzVGFnTmFtZShoNVRhZykKLSAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFt
ZShoNlRhZyk7Ci19Ci0gICAgCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNSb290Tm9kZShIVE1MU3Rh
Y2tJdGVtKiBpdGVtKQogewogICAgIHJldHVybiBpdGVtLT5pc0RvY3VtZW50RnJhZ21lbnROb2Rl
KCkKQEAgLTEwOCw3ICs5OCw3IEBAIGlubGluZSBib29sIGlzRm9yZWlnbkNvbnRlbnRTY29wZU1h
cmtlcihIVE1MU3RhY2tJdGVtKiBpdGVtKQogewogICAgIHJldHVybiBIVE1MRWxlbWVudFN0YWNr
Ojppc01hdGhNTFRleHRJbnRlZ3JhdGlvblBvaW50KGl0ZW0pCiAgICAgICAgIHx8IEhUTUxFbGVt
ZW50U3RhY2s6OmlzSFRNTEludGVncmF0aW9uUG9pbnQoaXRlbSkKLSAgICAgICAgfHwgaXNJbkhU
TUxOYW1lc3BhY2UoaXRlbSk7CisgICAgICAgIHx8IGl0ZW0tPmlzSW5IVE1MTmFtZXNwYWNlKCk7
CiB9CiAKIGlubGluZSBib29sIGlzQnV0dG9uU2NvcGVNYXJrZXIoSFRNTFN0YWNrSXRlbSogaXRl
bSkKQEAgLTIzMSw3ICsyMjEsNyBAQCB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsUG9w
cGVkKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIAogdm9pZCBIVE1MRWxlbWVudFN0YWNr
Ojpwb3BVbnRpbE51bWJlcmVkSGVhZGVyRWxlbWVudFBvcHBlZCgpCiB7Ci0gICAgd2hpbGUgKCFp
c051bWJlcmVkSGVhZGVyRWxlbWVudCh0b3BTdGFja0l0ZW0oKSkpCisgICAgd2hpbGUgKCF0b3BT
dGFja0l0ZW0oKS0+aXNOdW1iZXJlZEhlYWRlckVsZW1lbnQoKSkKICAgICAgICAgcG9wKCk7CiAg
ICAgcG9wKCk7CiB9CkBAIC00NjAsNyArNDUwLDcgQEAgYm9vbCBIVE1MRWxlbWVudFN0YWNrOjpo
YXNOdW1iZXJlZEhlYWRlckVsZW1lbnRJblNjb3BlKCkgY29uc3QKIHsKICAgICBmb3IgKEVsZW1l
bnRSZWNvcmQqIHJlY29yZCA9IG1fdG9wLmdldCgpOyByZWNvcmQ7IHJlY29yZCA9IHJlY29yZC0+
bmV4dCgpKSB7CiAgICAgICAgIEhUTUxTdGFja0l0ZW0qIGl0ZW0gPSByZWNvcmQtPnN0YWNrSXRl
bSgpLmdldCgpOwotICAgICAgICBpZiAoaXNOdW1iZXJlZEhlYWRlckVsZW1lbnQoaXRlbSkpCisg
ICAgICAgIGlmIChpdGVtLT5pc051bWJlcmVkSGVhZGVyRWxlbWVudCgpKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChpc1Njb3BlTWFya2VyKGl0ZW0pKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtNTk4LDYgKzU4OCwxOSBAQCB2b2lkIEhUTUxFbGVtZW50U3Rh
Y2s6OnJlbW92ZU5vblRvcENvbW1vbihFbGVtZW50KiBlbGVtZW50KQogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCitIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkKiBIVE1MRWxl
bWVudFN0YWNrOjpmdXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1lbnQoRWxlbWVudCogZm9y
bWF0dGluZ0VsZW1lbnQpIGNvbnN0Cit7CisgICAgRWxlbWVudFJlY29yZCogZnVydGhlc3RCbG9j
ayA9IDA7CisgICAgZm9yIChFbGVtZW50UmVjb3JkKiBwb3MgPSBtX3RvcC5nZXQoKTsgcG9zOyBw
b3MgPSBwb3MtPm5leHQoKSkgeworICAgICAgICBpZiAocG9zLT5lbGVtZW50KCkgPT0gZm9ybWF0
dGluZ0VsZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZnVydGhlc3RCbG9jazsKKyAgICAgICAg
aWYgKHBvcy0+c3RhY2tJdGVtKCktPmlzU3BlY2lhbE5vZGUoKSkKKyAgICAgICAgICAgIGZ1cnRo
ZXN0QmxvY2sgPSBwb3M7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiAwOworfQorCiAjaWZuZGVmIE5ERUJVRwogCiB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnNo
b3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRT
dGFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCmlu
ZGV4IDYyMGM1YTE5NDNlYzdjMGJlYWI1NzQ4MjQ0NjZjYzQxZjE3NjRmMDQuLjFhYWEyMDQ0ODc3
MzlkYzIxYWEwZTAyOTU3YjFmMWNlMWI1N2MyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAgLTEwMSw2ICsxMDEsNyBAQCBwdWJsaWM6CiAg
ICAgSFRNTFN0YWNrSXRlbSogb25lQmVsb3dUb3AoKSBjb25zdDsKICAgICBFbGVtZW50UmVjb3Jk
KiB0b3BSZWNvcmQoKSBjb25zdDsKICAgICBFbGVtZW50UmVjb3JkKiBmaW5kKEVsZW1lbnQqKSBj
b25zdDsKKyAgICBFbGVtZW50UmVjb3JkKiBmdXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1l
bnQoRWxlbWVudCopIGNvbnN0OwogICAgIEVsZW1lbnRSZWNvcmQqIHRvcG1vc3QoY29uc3QgQXRv
bWljU3RyaW5nJiB0YWdOYW1lKSBjb25zdDsKIAogICAgIHZvaWQgaW5zZXJ0QWJvdmUoUGFzc1Jl
ZlB0cjxIVE1MU3RhY2tJdGVtPiwgRWxlbWVudFJlY29yZCopOwpAQCAtMTgwLDE1ICsxODEsNiBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fc3RhY2tEZXB0aDsKIH07CiAgICAgCi1pbmxpbmUg
Ym9vbCBpc0luSFRNTE5hbWVzcGFjZShjb25zdCBIVE1MU3RhY2tJdGVtKiBpdGVtKQotewotICAg
IC8vIEEgRG9jdW1lbnRGcmFnbWVudCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIGRvY3VtZW50IGVs
ZW1lbnQgd2hlbiBwYXJzaW5nCi0gICAgLy8gZnJhZ21lbnRzIGFuZCBzaG91bGQgYmUgY29uc2lk
ZXJlZCBpbiB0aGUgSFRNTCBuYW1lc3BhY2UuCi0gICAgcmV0dXJuIGl0ZW0tPm5hbWVzcGFjZVVS
SSgpID09IEhUTUxOYW1lczo6eGh0bWxOYW1lc3BhY2VVUkkKLSAgICAgICAgfHwgaXRlbS0+aXNE
b2N1bWVudEZyYWdtZW50Tm9kZSgpOyAvLyBGSVhNRTogRG9lcyB0aGlzIGFsc28gYXBwbHkgdG8g
U2hhZG93Um9vdD8KLX0KLQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBI
VE1MRWxlbWVudFN0YWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxTdGFja0l0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTdGFja0l0
ZW0uaAppbmRleCAzNzFhYzQzZjQ0OGFkNWUyZTY3NDljNGY1NTkxNWZiYzk1OTJlZDJhLi4wYTE4
M2JjMjZiZGYzNTE4NmNkMTA0YjY0NDY2ZmMyMTk3MGE5ZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU3RhY2tJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFN0YWNrSXRlbS5oCkBAIC0yOSw2ICsyOSw4IEBACiAjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5o
IgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzks
NiArODEsMTIzIEBAIHB1YmxpYzoKICAgICAgICAgICAgIHx8IGhhc1RhZ05hbWUoSFRNTE5hbWVz
Ojp0clRhZyk7CiAgICAgfQogCisgICAgYm9vbCBpc0luSFRNTE5hbWVzcGFjZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICAvLyBBIERvY3VtZW50RnJhZ21lbnQgdGFrZXMgdGhlIHBsYWNlIG9mIHRo
ZSBkb2N1bWVudCBlbGVtZW50IHdoZW4gcGFyc2luZworICAgICAgICAvLyBmcmFnbWVudHMgYW5k
IHNob3VsZCBiZSBjb25zaWRlcmVkIGluIHRoZSBIVE1MIG5hbWVzcGFjZS4KKyAgICAgICAgcmV0
dXJuIG5hbWVzcGFjZVVSSSgpID09IEhUTUxOYW1lczo6eGh0bWxOYW1lc3BhY2VVUkkKKyAgICAg
ICAgICAgIHx8IGlzRG9jdW1lbnRGcmFnbWVudE5vZGUoKTsgLy8gRklYTUU6IERvZXMgdGhpcyBh
bHNvIGFwcGx5IHRvIFNoYWRvd1Jvb3Q/CisgICAgfQorCisgICAgYm9vbCBpc051bWJlcmVkSGVh
ZGVyRWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gaGFzVGFnTmFtZShIVE1M
TmFtZXM6OmgxVGFnKQorICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShIVE1MTmFtZXM6OmgyVGFn
KQorICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShIVE1MTmFtZXM6OmgzVGFnKQorICAgICAgICAg
ICAgfHwgaGFzVGFnTmFtZShIVE1MTmFtZXM6Omg0VGFnKQorICAgICAgICAgICAgfHwgaGFzVGFn
TmFtZShIVE1MTmFtZXM6Omg1VGFnKQorICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShIVE1MTmFt
ZXM6Omg2VGFnKTsKKyAgICB9CisKKyAgICBib29sIGlzVGFibGVCb2R5Q29udGV4dEVsZW1lbnQo
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0Ym9k
eVRhZykKKyAgICAgICAgICAgIHx8IGhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0Zm9vdFRhZykKKyAg
ICAgICAgICAgIHx8IGhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0aGVhZFRhZyk7CisgICAgfQorCisg
ICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9t
dWx0aXBhZ2UvcGFyc2luZy5odG1sI3NwZWNpYWwKKyAgICBib29sIGlzU3BlY2lhbE5vZGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgaWYgKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1pVGFnKQor
ICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShNYXRoTUxOYW1lczo6bW9UYWcpCisgICAgICAgICAg
ICB8fCBoYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptblRhZykKKyAgICAgICAgICAgIHx8IGhhc1Rh
Z05hbWUoTWF0aE1MTmFtZXM6Om1zVGFnKQorICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShNYXRo
TUxOYW1lczo6bXRleHRUYWcpCisgICAgICAgICAgICB8fCBoYXNUYWdOYW1lKE1hdGhNTE5hbWVz
Ojphbm5vdGF0aW9uX3htbFRhZykKKyAgICAgICAgICAgIHx8IGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmZvcmVpZ25PYmplY3RUYWcpCisgICAgICAgICAgICB8fCBoYXNUYWdOYW1lKFNWR05hbWVzOjpk
ZXNjVGFnKQorICAgICAgICAgICAgfHwgaGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmIChpc0RvY3VtZW50RnJhZ21lbnRO
b2RlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKCFpc0luSFRNTE5h
bWVzcGFjZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIHRhZ05hbWUgPSBsb2NhbE5hbWUoKTsKKyAgICAgICAgcmV0dXJuIHRhZ05hbWUg
PT0gSFRNTE5hbWVzOjphZGRyZXNzVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxO
YW1lczo6YXBwbGV0VGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6YXJl
YVRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmFydGljbGVUYWcKKyAg
ICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjphc2lkZVRhZworICAgICAgICAgICAg
fHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmJhc2VUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUg
PT0gSFRNTE5hbWVzOjpiYXNlZm9udFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1M
TmFtZXM6OmJnc291bmRUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjpi
bG9ja3F1b3RlVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6Ym9keVRh
ZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmJyVGFnCisgICAgICAgICAg
ICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6YnV0dG9uVGFnCisgICAgICAgICAgICB8fCB0YWdO
YW1lID09IEhUTUxOYW1lczo6Y2FwdGlvblRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBI
VE1MTmFtZXM6OmNlbnRlclRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6
OmNvbFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmNvbGdyb3VwVGFn
CisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6Y29tbWFuZFRhZworICAgICAg
ICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmRkVGFnCisgICAgICAgICAgICB8fCB0YWdO
YW1lID09IEhUTUxOYW1lczo6ZGV0YWlsc1RhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBI
VE1MTmFtZXM6OmRpclRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmRp
dlRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmRsVGFnCisgICAgICAg
ICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6ZHRUYWcKKyAgICAgICAgICAgIHx8IHRhZ05h
bWUgPT0gSFRNTE5hbWVzOjplbWJlZFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1M
TmFtZXM6OmZpZWxkc2V0VGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6
ZmlnY2FwdGlvblRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmZpZ3Vy
ZVRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmZvb3RlclRhZworICAg
ICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmZvcm1UYWcKKyAgICAgICAgICAgIHx8
IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjpmcmFtZVRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9
PSBIVE1MTmFtZXM6OmZyYW1lc2V0VGFnCisgICAgICAgICAgICB8fCBpc051bWJlcmVkSGVhZGVy
RWxlbWVudCgpCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6aGVhZFRhZwor
ICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmhlYWRlclRhZworICAgICAgICAg
ICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6Omhncm91cFRhZworICAgICAgICAgICAgfHwgdGFn
TmFtZSA9PSBIVE1MTmFtZXM6OmhyVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxO
YW1lczo6aHRtbFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmlmcmFt
ZVRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmltZ1RhZworICAgICAg
ICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OmlucHV0VGFnCisgICAgICAgICAgICB8fCB0
YWdOYW1lID09IEhUTUxOYW1lczo6aXNpbmRleFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9
PSBIVE1MTmFtZXM6OmxpVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6
bGlua1RhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6Omxpc3RpbmdUYWcK
KyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjptYXJxdWVlVGFnCisgICAgICAg
ICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6bWVudVRhZworICAgICAgICAgICAgfHwgdGFn
TmFtZSA9PSBIVE1MTmFtZXM6Om1ldGFUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRN
TE5hbWVzOjpuYXZUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjpub2Vt
YmVkVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6bm9mcmFtZXNUYWcK
KyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjpub3NjcmlwdFRhZworICAgICAg
ICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6Om9iamVjdFRhZworICAgICAgICAgICAgfHwg
dGFnTmFtZSA9PSBIVE1MTmFtZXM6Om9sVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhU
TUxOYW1lczo6cFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OnBhcmFt
VGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6cGxhaW50ZXh0VGFnCisg
ICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6cHJlVGFnCisgICAgICAgICAgICB8
fCB0YWdOYW1lID09IEhUTUxOYW1lczo6c2NyaXB0VGFnCisgICAgICAgICAgICB8fCB0YWdOYW1l
ID09IEhUTUxOYW1lczo6c2VjdGlvblRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1M
TmFtZXM6OnNlbGVjdFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OnN0
eWxlVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6c3VtbWFyeVRhZwor
ICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OnRhYmxlVGFnCisgICAgICAgICAg
ICB8fCBpc1RhYmxlQm9keUNvbnRleHRFbGVtZW50KCkKKyAgICAgICAgICAgIHx8IHRhZ05hbWUg
PT0gSFRNTE5hbWVzOjp0ZFRhZworICAgICAgICAgICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6
OnRleHRhcmVhVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1lID09IEhUTUxOYW1lczo6dGhUYWcK
KyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjp0aXRsZVRhZworICAgICAgICAg
ICAgfHwgdGFnTmFtZSA9PSBIVE1MTmFtZXM6OnRyVGFnCisgICAgICAgICAgICB8fCB0YWdOYW1l
ID09IEhUTUxOYW1lczo6dWxUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVz
Ojp3YnJUYWcKKyAgICAgICAgICAgIHx8IHRhZ05hbWUgPT0gSFRNTE5hbWVzOjp4bXBUYWc7Cisg
ICAgfQorCiBwcml2YXRlOgogICAgIEhUTUxTdGFja0l0ZW0oUGFzc1JlZlB0cjxDb250YWluZXJO
b2RlPiBub2RlLCBJdGVtVHlwZSB0eXBlKQogICAgICAgICA6IG1fbm9kZShub2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggYTdmMTQ1
MTllZTIzMTVhY2Y1YWNhMThjYjA1NjE5ZmE3OTNjMTQ1Yy4uOWI2ZTFjZTI3MGFkODZlYTQzNDAx
NGQyNzhkMzg1MzhjY2MwZTE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0xMTAsOTggKzExMCw2IEBAIHN0YXRpYyBib29sIGlzVGFi
bGVCb2R5Q29udGV4dFRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiAgICAgICAgIHx8
IHRhZ05hbWUgPT0gdGhlYWRUYWc7CiB9CiAKLS8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVj
cy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNzcGVjaWFsCi1z
dGF0aWMgYm9vbCBpc1NwZWNpYWxOb2RlKGNvbnN0IEhUTUxTdGFja0l0ZW0qIGl0ZW0pCi17Ci0g
ICAgaWYgKGl0ZW0tPmhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1pVGFnKQotICAgICAgICB8fCBp
dGVtLT5oYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptb1RhZykKLSAgICAgICAgfHwgaXRlbS0+aGFz
VGFnTmFtZShNYXRoTUxOYW1lczo6bW5UYWcpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUo
TWF0aE1MTmFtZXM6Om1zVGFnKQotICAgICAgICB8fCBpdGVtLT5oYXNUYWdOYW1lKE1hdGhNTE5h
bWVzOjptdGV4dFRhZykKLSAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShNYXRoTUxOYW1lczo6
YW5ub3RhdGlvbl94bWxUYWcpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmZvcmVpZ25PYmplY3RUYWcpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmRlc2NUYWcpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRpdGxlVGFn
KSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGl0ZW0tPmlzRG9jdW1lbnRGcmFnbWVu
dE5vZGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKCFpc0luSFRNTE5hbWVzcGFj
ZShpdGVtKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
dGFnTmFtZSA9IGl0ZW0tPmxvY2FsTmFtZSgpOwotICAgIHJldHVybiB0YWdOYW1lID09IGFkZHJl
c3NUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBhcHBsZXRUYWcKLSAgICAgICAgfHwgdGFnTmFt
ZSA9PSBhcmVhVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gYXJ0aWNsZVRhZwotICAgICAgICB8
fCB0YWdOYW1lID09IGFzaWRlVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gYmFzZVRhZwotICAg
ICAgICB8fCB0YWdOYW1lID09IGJhc2Vmb250VGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gYmdz
b3VuZFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IGJsb2NrcXVvdGVUYWcKLSAgICAgICAgfHwg
dGFnTmFtZSA9PSBib2R5VGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gYnJUYWcKLSAgICAgICAg
fHwgdGFnTmFtZSA9PSBidXR0b25UYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBjYXB0aW9uVGFn
Ci0gICAgICAgIHx8IHRhZ05hbWUgPT0gY2VudGVyVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0g
Y29sVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gY29sZ3JvdXBUYWcKLSAgICAgICAgfHwgdGFn
TmFtZSA9PSBjb21tYW5kVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZGRUYWcKLSAgICAgICAg
fHwgdGFnTmFtZSA9PSBkZXRhaWxzVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZGlyVGFnCi0g
ICAgICAgIHx8IHRhZ05hbWUgPT0gZGl2VGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZGxUYWcK
LSAgICAgICAgfHwgdGFnTmFtZSA9PSBkdFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IGVtYmVk
VGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZmllbGRzZXRUYWcKLSAgICAgICAgfHwgdGFnTmFt
ZSA9PSBmaWdjYXB0aW9uVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZmlndXJlVGFnCi0gICAg
ICAgIHx8IHRhZ05hbWUgPT0gZm9vdGVyVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gZm9ybVRh
ZwotICAgICAgICB8fCB0YWdOYW1lID09IGZyYW1lVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0g
ZnJhbWVzZXRUYWcKLSAgICAgICAgfHwgaXNOdW1iZXJlZEhlYWRlclRhZyh0YWdOYW1lKQotICAg
ICAgICB8fCB0YWdOYW1lID09IGhlYWRUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBoZWFkZXJU
YWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBoZ3JvdXBUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9
PSBoclRhZwotICAgICAgICB8fCB0YWdOYW1lID09IGh0bWxUYWcKLSAgICAgICAgfHwgdGFnTmFt
ZSA9PSBpZnJhbWVUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBpbWdUYWcKLSAgICAgICAgfHwg
dGFnTmFtZSA9PSBpbnB1dFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IGlzaW5kZXhUYWcKLSAg
ICAgICAgfHwgdGFnTmFtZSA9PSBsaVRhZwotICAgICAgICB8fCB0YWdOYW1lID09IGxpbmtUYWcK
LSAgICAgICAgfHwgdGFnTmFtZSA9PSBsaXN0aW5nVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0g
bWFycXVlZVRhZwotICAgICAgICB8fCB0YWdOYW1lID09IG1lbnVUYWcKLSAgICAgICAgfHwgdGFn
TmFtZSA9PSBtZXRhVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gbmF2VGFnCi0gICAgICAgIHx8
IHRhZ05hbWUgPT0gbm9lbWJlZFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IG5vZnJhbWVzVGFn
Ci0gICAgICAgIHx8IHRhZ05hbWUgPT0gbm9zY3JpcHRUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9
PSBvYmplY3RUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBvbFRhZwotICAgICAgICB8fCB0YWdO
YW1lID09IHBUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBwYXJhbVRhZwotICAgICAgICB8fCB0
YWdOYW1lID09IHBsYWludGV4dFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IHByZVRhZwotICAg
ICAgICB8fCB0YWdOYW1lID09IHNjcmlwdFRhZwotICAgICAgICB8fCB0YWdOYW1lID09IHNlY3Rp
b25UYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSBzZWxlY3RUYWcKLSAgICAgICAgfHwgdGFnTmFt
ZSA9PSBzdHlsZVRhZwotICAgICAgICB8fCB0YWdOYW1lID09IHN1bW1hcnlUYWcKLSAgICAgICAg
fHwgdGFnTmFtZSA9PSB0YWJsZVRhZwotICAgICAgICB8fCBpc1RhYmxlQm9keUNvbnRleHRUYWco
dGFnTmFtZSkKLSAgICAgICAgfHwgdGFnTmFtZSA9PSB0ZFRhZwotICAgICAgICB8fCB0YWdOYW1l
ID09IHRleHRhcmVhVGFnCi0gICAgICAgIHx8IHRhZ05hbWUgPT0gdGhUYWcKLSAgICAgICAgfHwg
dGFnTmFtZSA9PSB0aXRsZVRhZwotICAgICAgICB8fCB0YWdOYW1lID09IHRyVGFnCi0gICAgICAg
IHx8IHRhZ05hbWUgPT0gdWxUYWcKLSAgICAgICAgfHwgdGFnTmFtZSA9PSB3YnJUYWcKLSAgICAg
ICAgfHwgdGFnTmFtZSA9PSB4bXBUYWc7Ci19Ci0KIHN0YXRpYyBib29sIGlzTm9uQW5jaG9yTm9u
Tm9ickZvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQogewogICAgIHJl
dHVybiB0YWdOYW1lID09IGJUYWcKQEAgLTQ3MSw3ICszNzksNyBAQCB2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6Y29uc3RydWN0VHJlZUZyb21BdG9taWNUb2tlbihBdG9taWNIVE1MVG9rZW4qIHRva2Vu
KQogICAgICAgICBwcm9jZXNzVG9rZW4odG9rZW4pOwogCiAgICAgYm9vbCBpbkZvcmVpZ25Db250
ZW50ID0gIW1fdHJlZS5pc0VtcHR5KCkKLSAgICAgICAgJiYgIWlzSW5IVE1MTmFtZXNwYWNlKG1f
dHJlZS5jdXJyZW50U3RhY2tJdGVtKCkpCisgICAgICAgICYmICFtX3RyZWUuY3VycmVudFN0YWNr
SXRlbSgpLT5pc0luSFRNTE5hbWVzcGFjZSgpCiAgICAgICAgICYmICFIVE1MRWxlbWVudFN0YWNr
Ojppc0hUTUxJbnRlZ3JhdGlvblBvaW50KG1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkpCiAgICAg
ICAgICYmICFIVE1MRWxlbWVudFN0YWNrOjppc01hdGhNTFRleHRJbnRlZ3JhdGlvblBvaW50KG1f
dHJlZS5jdXJyZW50U3RhY2tJdGVtKCkpOwogCkBAIC02MzAsNyArNTM4LDcgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NDbG9zZVdoZW5OZXN0ZWRUYWcoQXRvbWljSFRNTFRva2VuKiB0
b2tlbikKICAgICAgICAgICAgIHByb2Nlc3NGYWtlRW5kVGFnKGl0ZW0tPmxvY2FsTmFtZSgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGlmIChpc1NwZWNpYWxOb2Rl
KGl0ZW0uZ2V0KCkpICYmICFpdGVtLT5oYXNUYWdOYW1lKGFkZHJlc3NUYWcpICYmICFpdGVtLT5o
YXNUYWdOYW1lKGRpdlRhZykgJiYgIWl0ZW0tPmhhc1RhZ05hbWUocFRhZykpCisgICAgICAgIGlm
IChpdGVtLT5pc1NwZWNpYWxOb2RlKCkgJiYgIWl0ZW0tPmhhc1RhZ05hbWUoYWRkcmVzc1RhZykg
JiYgIWl0ZW0tPmhhc1RhZ05hbWUoZGl2VGFnKSAmJiAhaXRlbS0+aGFzVGFnTmFtZShwVGFnKSkK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBub2RlUmVjb3JkID0gbm9kZVJlY29yZC0+bmV4
dCgpOwogICAgIH0KQEAgLTgwNiw3ICs3MTQsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJv
Y2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgfQogICAg
IGlmIChpc051bWJlcmVkSGVhZGVyVGFnKHRva2VuLT5uYW1lKCkpKSB7CiAgICAgICAgIHByb2Nl
c3NGYWtlUEVuZFRhZ0lmUEluQnV0dG9uU2NvcGUoKTsKLSAgICAgICAgaWYgKGlzTnVtYmVyZWRI
ZWFkZXJUYWcobV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+bG9jYWxOYW1lKCkpKSB7CisgICAg
ICAgIGlmIChtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5pc051bWJlcmVkSGVhZGVyRWxlbWVu
dCgpKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgICAgIG1fdHJl
ZS5vcGVuRWxlbWVudHMoKS0+cG9wKCk7CiAgICAgICAgIH0KQEAgLTE0ODQsNyArMTM5Miw3IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQW55T3RoZXJFbmRUYWdGb3JJbkJvZHkoQXRv
bWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+
cG9wVW50aWxQb3BwZWQoaXRlbS0+ZWxlbWVudCgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQotICAgICAgICBpZiAoaXNTcGVjaWFsTm9kZShpdGVtLmdldCgpKSkgeworICAgICAg
ICBpZiAoaXRlbS0+aXNTcGVjaWFsTm9kZSgpKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTQ5MiwyMSArMTQwMCw2
IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQW55T3RoZXJFbmRUYWdGb3JJbkJvZHko
QXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICB9CiB9CiAKLS8vIEZJWE1FOiBUaGlzIHByb2Jh
Ymx5IGJlbG9uZ3Mgb24gSFRNTEVsZW1lbnRTdGFjay4KLUhUTUxFbGVtZW50U3RhY2s6OkVsZW1l
bnRSZWNvcmQqIEhUTUxUcmVlQnVpbGRlcjo6ZnVydGhlc3RCbG9ja0ZvckZvcm1hdHRpbmdFbGVt
ZW50KEVsZW1lbnQqIGZvcm1hdHRpbmdFbGVtZW50KQotewotICAgIEhUTUxFbGVtZW50U3RhY2s6
OkVsZW1lbnRSZWNvcmQqIGZ1cnRoZXN0QmxvY2sgPSAwOwotICAgIEhUTUxFbGVtZW50U3RhY2s6
OkVsZW1lbnRSZWNvcmQqIHJlY29yZCA9IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+dG9wUmVjb3Jk
KCk7Ci0gICAgZm9yICg7IHJlY29yZDsgcmVjb3JkID0gcmVjb3JkLT5uZXh0KCkpIHsKLSAgICAg
ICAgaWYgKHJlY29yZC0+ZWxlbWVudCgpID09IGZvcm1hdHRpbmdFbGVtZW50KQotICAgICAgICAg
ICAgcmV0dXJuIGZ1cnRoZXN0QmxvY2s7Ci0gICAgICAgIGlmIChpc1NwZWNpYWxOb2RlKHJlY29y
ZC0+c3RhY2tJdGVtKCkuZ2V0KCkpKQotICAgICAgICAgICAgZnVydGhlc3RCbG9jayA9IHJlY29y
ZDsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0K
IC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVs
dGlwYWdlL3Rva2VuaXphdGlvbi5odG1sI3BhcnNpbmctbWFpbi1pbmJvZHkKIHZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpjYWxsVGhlQWRvcHRpb25BZ2VuY3koQXRvbWljSFRNTFRva2VuKiB0b2tlbikK
IHsKQEAgLTE1MzQsNyArMTQyNyw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpjYWxsVGhlQWRv
cHRpb25BZ2VuY3koQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgaWYgKGZvcm1hdHRp
bmdFbGVtZW50ICE9IG1fdHJlZS5jdXJyZW50RWxlbWVudCgpKQogICAgICAgICAgICAgcGFyc2VF
cnJvcih0b2tlbik7CiAgICAgICAgIC8vIDIuCi0gICAgICAgIEhUTUxFbGVtZW50U3RhY2s6OkVs
ZW1lbnRSZWNvcmQqIGZ1cnRoZXN0QmxvY2sgPSBmdXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0Vs
ZW1lbnQoZm9ybWF0dGluZ0VsZW1lbnQpOworICAgICAgICBIVE1MRWxlbWVudFN0YWNrOjpFbGVt
ZW50UmVjb3JkKiBmdXJ0aGVzdEJsb2NrID0gbV90cmVlLm9wZW5FbGVtZW50cygpLT5mdXJ0aGVz
dEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1lbnQoZm9ybWF0dGluZ0VsZW1lbnQpOwogICAgICAgICAv
LyAzLgogICAgICAgICBpZiAoIWZ1cnRoZXN0QmxvY2spIHsKICAgICAgICAgICAgIG1fdHJlZS5v
cGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQoZm9ybWF0dGluZ0VsZW1lbnQpOwpAQCAtMjY0
Niw3ICsyNTM5LDcgQEAgYm9vbCBIVE1MVHJlZUJ1aWxkZXI6OnNob3VsZFByb2Nlc3NUb2tlbklu
Rm9yZWlnbkNvbnRlbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICBpZiAobV90cmVlLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEhUTUxTdGFja0l0ZW0qIGl0ZW0g
PSBtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpOwotICAgIGlmIChpc0luSFRNTE5hbWVzcGFjZShp
dGVtKSkKKyAgICBpZiAoaXRlbS0+aXNJbkhUTUxOYW1lc3BhY2UoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmIChIVE1MRWxlbWVudFN0YWNrOjppc01hdGhNTFRleHRJbnRlZ3JhdGlv
blBvaW50KGl0ZW0pKSB7CiAgICAgICAgIGlmICh0b2tlbi0+dHlwZSgpID09IEhUTUxUb2tlblR5
cGVzOjpTdGFydFRhZwpAQCAtMjc0Niw3ICsyNjM5LDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NUb2tlbkluRm9yZWlnbkNvbnRlbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAg
ICAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wKCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFpc0luSFRNTE5hbWVzcGFjZShtX3RyZWUuY3Vy
cmVudFN0YWNrSXRlbSgpKSkgeworICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVt
KCktPmlzSW5IVE1MTmFtZXNwYWNlKCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNv
ZGUganVzdCB3YW50cyBhbiBFbGVtZW50KiBpdGVyYXRvciwgaW5zdGVhZCBvZiBhbiBFbGVtZW50
UmVjb3JkKgogICAgICAgICAgICAgSFRNTEVsZW1lbnRTdGFjazo6RWxlbWVudFJlY29yZCogbm9k
ZVJlY29yZCA9IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+dG9wUmVjb3JkKCk7CiAgICAgICAgICAg
ICBpZiAoIW5vZGVSZWNvcmQtPnN0YWNrSXRlbSgpLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUo
KSkpCkBAIC0yNzU4LDcgKzI2NTEsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1Rv
a2VuSW5Gb3JlaWduQ29udGVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBub2RlUmVjb3JkID0gbm9kZVJlY29yZC0+bmV4dCgpOwog
Ci0gICAgICAgICAgICAgICAgaWYgKGlzSW5IVE1MTmFtZXNwYWNlKG5vZGVSZWNvcmQtPnN0YWNr
SXRlbSgpLmdldCgpKSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZVJlY29yZC0+c3RhY2tJdGVt
KCktPmlzSW5IVE1MTmFtZXNwYWNlKCkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCmluZGV4IDg2ZDIyOWRlMGRlNDU1Y2RmOWNiNTRhMWQxZjMyMTQ1N2RkNmU0
NGMuLmM1NzM2Mjc4M2VhNDlmMDk4OTQ2NDQyZGNhYzY4MTU1NjY3ZTc1MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC0xNzQsNyArMTc0LDYg
QEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxBdHRyaWJ1dGU+IGF0dHJpYnV0ZXNGb3JJc2luZGV4
SW5wdXQoQXRvbWljSFRNTFRva2VuKik7CiAKLSAgICBIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50
UmVjb3JkKiBmdXJ0aGVzdEJsb2NrRm9yRm9ybWF0dGluZ0VsZW1lbnQoRWxlbWVudCopOwogICAg
IHZvaWQgY2FsbFRoZUFkb3B0aW9uQWdlbmN5KEF0b21pY0hUTUxUb2tlbiopOwogCiAgICAgdm9p
ZCBjbG9zZVRoZUNlbGwoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>