<?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>124957</bug_id>
          
          <creation_ts>2013-11-27 20:17:33 -0800</creation_ts>
          <short_desc>Move space-ignoring inline functions into MidpointState</short_desc>
          <delta_ts>2013-12-04 01:14:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>121261</blocked>
    
    <blocked>124956</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954644</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-11-27 20:17:33 -0800</bug_when>
    <thetext>Since:
- The following inline functions were used only with a mandatory LineMidpointState argument: startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
- TrailingObjects class uses these functions. Since they&apos;re inline in BreakingContextInlineHeaders.h, it&apos;s hard to separate TrailingObjects into it&apos;s own file. (blocks bug #124956)
I made these functions as a member of LineMidpointState, and I also updated the call sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954645</commentid>
    <comment_count>1</comment_count>
      <attachid>217976</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-11-27 20:20:46 -0800</bug_when>
    <thetext>Created attachment 217976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956097</commentid>
    <comment_count>2</comment_count>
      <attachid>217976</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-12-03 14:21:34 -0800</bug_when>
    <thetext>Comment on attachment 217976
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956116</commentid>
    <comment_count>3</comment_count>
      <attachid>217976</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-03 14:33:07 -0800</bug_when>
    <thetext>Comment on attachment 217976
Patch

Rejecting attachment 217976 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 217976, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
Core/rendering/line/BreakingContextInlineHeaders.h
Hunk #2 succeeded at 127 with fuzz 2.
Hunk #4 FAILED at 334.
Hunk #7 FAILED at 481.
Hunk #8 FAILED at 510.
Hunk #9 FAILED at 642.
Hunk #10 FAILED at 825.
Hunk #12 FAILED at 980.
6 out of 13 hunks FAILED -- saving rejects to file Source/WebCore/rendering/line/BreakingContextInlineHeaders.h.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;David Hyatt&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/42978025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956288</commentid>
    <comment_count>4</comment_count>
      <attachid>218385</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-12-03 23:21:46 -0800</bug_when>
    <thetext>Created attachment 218385
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956299</commentid>
    <comment_count>5</comment_count>
      <attachid>218385</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-04 00:26:59 -0800</bug_when>
    <thetext>Comment on attachment 218385
patch for landing

Clearing flags on attachment: 218385

Committed r160074: &lt;http://trac.webkit.org/changeset/160074&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956300</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-04 00:27:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956307</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-04 00:59:24 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 218385 [details])
&gt; Clearing flags on attachment: 218385
&gt; 
&gt; Committed r160074: &lt;http://trac.webkit.org/changeset/160074&gt;

It broke the debug builds. Could you fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956310</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-04 01:14:41 -0800</bug_when>
    <thetext>fix landed in http://trac.webkit.org/changeset/160076</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217976</attachid>
            <date>2013-11-27 20:20:46 -0800</date>
            <delta_ts>2013-12-03 23:21:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>spaceignore.patch</filename>
            <type>text/plain</type>
            <size>14461</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ODM3MjY2Li5hZDNhN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTMtMTEtMjcgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSBzcGFjZS1pZ25vcmluZyBpbmxpbmUgZnVuY3Rpb25zIGludG8gTWlkcG9pbnRT
dGF0ZQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI0OTU3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbmNlOgorICAgICAgICAgLSBU
aGUgZm9sbG93aW5nIGlubGluZSBmdW5jdGlvbnMgd2VyZSB1c2VkIG9ubHkgd2l0aCBhIG1hbmRh
dG9yeSBMaW5lTWlkcG9pbnRTdGF0ZSBhcmd1bWVudDoKKyAgICAgICAgICAgc3RhcnRJZ25vcmlu
Z1NwYWNlcywgc3RvcElnbm9yaW5nU3BhY2VzLCBlbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNw
YWNlcywgZGVwcmVjYXRlZEFkZE1pZHBvaW50LgorICAgICAgICAgLSBUcmFpbGluZ09iamVjdHMg
Y2xhc3MgdXNlcyB0aGVzZSBmdW5jdGlvbnMuIFNpbmNlIHRoZXkncmUgaW5saW5lIGluIEJyZWFr
aW5nQ29udGV4dElubGluZUhlYWRlcnMuaCwKKyAgICAgICAgICAgaXQncyBoYXJkIHRvIHNlcGFy
YXRlIFRyYWlsaW5nT2JqZWN0cyBpbnRvIGl0J3Mgb3duIGZpbGUuIChibG9ja3MgYnVnICMxMjQ5
NTYpCisgICAgICAgICBJIG1hZGUgdGhlc2UgZnVuY3Rpb25zIGFzIGEgbWVtYmVyIG9mIExpbmVN
aWRwb2ludFN0YXRlLCBhbmQgSSBhbHNvIHVwZGF0ZWQgdGhlIGNhbGwgc2l0ZXMuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS90ZXh0L0JpZGlSZXNvbHZlci5oOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9pbnRTdGF0ZTo6
c3RhcnRJZ25vcmluZ1NwYWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpNaWRwb2ludFN0YXRlOjpz
dG9wSWdub3JpbmdTcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9pbnRTdGF0ZTo6ZW5z
dXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9p
bnRTdGF0ZTo6ZGVwcmVjYXRlZEFkZE1pZHBvaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxp
bmVIZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1p
ZHBvaW50c0ZvclRyYWlsaW5nQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250
ZXh0OjpoYW5kbGVCUik6CisgICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRs
ZU91dE9mRmxvd1Bvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2tpcFdoaXRl
c3BhY2VBZnRlclN0YXJ0T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4
dDo6aGFuZGxlRW1wdHlJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVSZXBsYWNlZCk6CisgICAgICAgIChXZWJDb3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRz
TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQp
OgorCiAyMDEzLTExLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIEFsbG93IHRoZSBRdWlja1RpbWUgcGx1Zy1pbiB0byBiZSByZXBsYWNlZCBieSBz
Y3JpcHQgaW4gYW4gaXNvbGF0ZWQgd29yZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
QmlkaVJlc29sdmVyLmgKaW5kZXggNmFkYmVmNy4uZWY2ODBhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCkBAIC0zMSw3ICszMSwxMCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4gc3RydWN0IE1pZHBv
aW50U3RhdGUgeworY2xhc3MgUmVuZGVyT2JqZWN0OworCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0
b3I+IGNsYXNzIE1pZHBvaW50U3RhdGUgeworcHVibGljOgogICAgIE1pZHBvaW50U3RhdGUoKQog
ICAgIHsKICAgICAgICAgcmVzZXQoKTsKQEAgLTUxLDYgKzU0LDM2IEBAIHRlbXBsYXRlIDxjbGFz
cyBJdGVyYXRvcj4gc3RydWN0IE1pZHBvaW50U3RhdGUgewogICAgIHVuc2lnbmVkIG51bU1pZHBv
aW50czsKICAgICB1bnNpZ25lZCBjdXJyZW50TWlkcG9pbnQ7CiAgICAgYm9vbCBiZXR3ZWVuTWlk
cG9pbnRzOworCisgICAgaW5saW5lIHZvaWQgc3RhcnRJZ25vcmluZ1NwYWNlcyhjb25zdCBJdGVy
YXRvciYgbWlkcG9pbnQpCisgICAgeworICAgICAgICBBU1NFUlQoIShudW1NaWRwb2ludHMgJSAy
KSk7CisgICAgICAgIGRlcHJlY2F0ZWRBZGRNaWRwb2ludChtaWRwb2ludCk7CisgICAgfQorCisg
ICAgaW5saW5lIHZvaWQgc3RvcElnbm9yaW5nU3BhY2VzKGNvbnN0IEl0ZXJhdG9yJiBtaWRwb2lu
dCkKKyAgICB7CisgICAgICAgIEFTU0VSVChsaW5lTWlkcG9pbnRTdGF0ZS5udW1NaWRwb2ludHMg
JSAyKTsKKyAgICAgICAgZGVwcmVjYXRlZEFkZE1pZHBvaW50KG1pZHBvaW50KTsKKyAgICB9CisK
KyAgICAvLyBXaGVuIGlnbm9yaW5nIHNwYWNlcywgdGhpcyBuZWVkcyB0byBiZSBjYWxsZWQgZm9y
IG9iamVjdHMgdGhhdCBuZWVkIGxpbmUgYm94ZXMgc3VjaCBhcyBSZW5kZXJJbmxpbmVzIG9yCisg
ICAgLy8gaGFyZCBsaW5lIGJyZWFrcyB0byBlbnN1cmUgdGhhdCB0aGV5J3JlIG5vdCBpZ25vcmVk
LgorICAgIGlubGluZSB2b2lkIGVuc3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVkU3BhY2VzKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpCisgICAgeworICAgICAgICBJdGVyYXRvciBtaWRwb2ludCgwLCBy
ZW5kZXJlciwgMCk7CisgICAgICAgIHN0b3BJZ25vcmluZ1NwYWNlcyhtaWRwb2ludCk7CisgICAg
ICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobWlkcG9pbnQpOworICAgIH0KK3ByaXZhdGU6CisgICAg
aW5saW5lIHZvaWQgZGVwcmVjYXRlZEFkZE1pZHBvaW50KGNvbnN0IEl0ZXJhdG9yJiBtaWRwb2lu
dCkKKyAgICB7CisgICAgICAgIGlmIChtaWRwb2ludHMuc2l6ZSgpIDw9IG51bU1pZHBvaW50cykK
KyAgICAgICAgICAgIG1pZHBvaW50cy5ncm93KG51bU1pZHBvaW50cyArIDEwKTsKKworICAgICAg
ICBJdGVyYXRvciogbWlkcG9pbnRzSXRlcmF0b3IgPSBtaWRwb2ludHMuZGF0YSgpOworICAgICAg
ICBtaWRwb2ludHNJdGVyYXRvcltudW1NaWRwb2ludHMrK10gPSBtaWRwb2ludDsKKyAgICB9CiB9
OwogCiAvLyBUaGUgQmlkaVN0YXR1cyBhdCBhIGdpdmVuIHBvc2l0aW9uICh0eXBpY2FsbHkgdGhl
IGVuZCBvZiBhIGxpbmUpIGNhbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApp
bmRleCBmYjcyNmRjLi44ZjYzODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaApAQCAtNjEsNyArNjEsNyBAQCBjbGFzcyBXb3JkTWVhc3VyZW1lbnQ7CiAKIHRlbXBsYXRl
IDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXI7CiB0ZW1wbGF0
ZSA8Y2xhc3MgUnVuPiBjbGFzcyBCaWRpUnVuTGlzdDsKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRv
cj4gc3RydWN0IE1pZHBvaW50U3RhdGU7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+IGNsYXNz
IE1pZHBvaW50U3RhdGU7CiB0eXBlZGVmIEJpZGlSZXNvbHZlcjxJbmxpbmVJdGVyYXRvciwgQmlk
aVJ1bj4gSW5saW5lQmlkaVJlc29sdmVyOwogdHlwZWRlZiBNaWRwb2ludFN0YXRlPElubGluZUl0
ZXJhdG9yPiBMaW5lTWlkcG9pbnRTdGF0ZTsKIHR5cGVkZWYgV1RGOjpMaXN0SGFzaFNldDxSZW5k
ZXJCb3gqLCAxNj4gVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFk
ZXJzLmgKaW5kZXggN2I5OTU3NS4uOTJlYTcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaApA
QCAtMTA2LDM3ICsxMDYsNiBAQCBpbmxpbmUgdm9pZCBUcmFpbGluZ09iamVjdHM6OmFwcGVuZEJv
eElmTmVlZGVkKFJlbmRlckJveE1vZGVsT2JqZWN0KiBib3gpCiAgICAgICAgIG1fYm94ZXMuYXBw
ZW5kKGJveCk7CiB9CiAKLS8vIERvbid0IGNhbGwgdGhpcyBkaXJlY3RseS4gVXNlIG9uZSBvZiB0
aGUgZGVzY3JpcHRpdmUgaGVscGVyIGZ1bmN0aW9ucyBiZWxvdy4KLWlubGluZSB2b2lkIGRlcHJl
Y2F0ZWRBZGRNaWRwb2ludChMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIGNv
bnN0IElubGluZUl0ZXJhdG9yJiBtaWRwb2ludCkKLXsKLSAgICBpZiAobGluZU1pZHBvaW50U3Rh
dGUubWlkcG9pbnRzLnNpemUoKSA8PSBsaW5lTWlkcG9pbnRTdGF0ZS5udW1NaWRwb2ludHMpCi0g
ICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50cy5ncm93KGxpbmVNaWRwb2ludFN0YXRl
Lm51bU1pZHBvaW50cyArIDEwKTsKLQotICAgIElubGluZUl0ZXJhdG9yKiBtaWRwb2ludHMgPSBs
aW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHMuZGF0YSgpOwotICAgIG1pZHBvaW50c1tsaW5lTWlk
cG9pbnRTdGF0ZS5udW1NaWRwb2ludHMrK10gPSBtaWRwb2ludDsKLX0KLQotaW5saW5lIHZvaWQg
c3RhcnRJZ25vcmluZ1NwYWNlcyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUs
IGNvbnN0IElubGluZUl0ZXJhdG9yJiBtaWRwb2ludCkKLXsKLSAgICBBU1NFUlQoIShsaW5lTWlk
cG9pbnRTdGF0ZS5udW1NaWRwb2ludHMgJSAyKSk7Ci0gICAgZGVwcmVjYXRlZEFkZE1pZHBvaW50
KGxpbmVNaWRwb2ludFN0YXRlLCBtaWRwb2ludCk7Ci19Ci0KLWlubGluZSB2b2lkIHN0b3BJZ25v
cmluZ1NwYWNlcyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIGNvbnN0IElu
bGluZUl0ZXJhdG9yJiBtaWRwb2ludCkKLXsKLSAgICBBU1NFUlQobGluZU1pZHBvaW50U3RhdGUu
bnVtTWlkcG9pbnRzICUgMik7Ci0gICAgZGVwcmVjYXRlZEFkZE1pZHBvaW50KGxpbmVNaWRwb2lu
dFN0YXRlLCBtaWRwb2ludCk7Ci19Ci0KLS8vIFdoZW4gaWdub3Jpbmcgc3BhY2VzLCB0aGlzIG5l
ZWRzIHRvIGJlIGNhbGxlZCBmb3Igb2JqZWN0cyB0aGF0IG5lZWQgbGluZSBib3hlcyBzdWNoIGFz
IFJlbmRlcklubGluZXMgb3IKLS8vIGhhcmQgbGluZSBicmVha3MgdG8gZW5zdXJlIHRoYXQgdGhl
eSdyZSBub3QgaWdub3JlZC4KLWlubGluZSB2b2lkIGVuc3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVk
U3BhY2VzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKLXsKLSAgICBJbmxpbmVJdGVyYXRvciBtaWRwb2ludCgwLCByZW5kZXJlciwg
MCk7Ci0gICAgc3RvcElnbm9yaW5nU3BhY2VzKGxpbmVNaWRwb2ludFN0YXRlLCBtaWRwb2ludCk7
Ci0gICAgc3RhcnRJZ25vcmluZ1NwYWNlcyhsaW5lTWlkcG9pbnRTdGF0ZSwgbWlkcG9pbnQpOwot
fQotCiB2b2lkIFRyYWlsaW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hl
cyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIGNvbnN0IElubGluZUl0ZXJh
dG9yJiBsQnJlYWssIENvbGxhcHNlRmlyc3RTcGFjZU9yTm90IGNvbGxhcHNlRmlyc3RTcGFjZSkK
IHsKICAgICBpZiAoIW1fd2hpdGVzcGFjZSkKQEAgLTE1OCw3ICsxMjcsNyBAQCB2b2lkIFRyYWls
aW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9pbnRT
dGF0ZSYgbGluZU1pZAogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYm94ZXMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChjdXJyZW50TWlkcG9pbnQgPj0gbGluZU1pZHBv
aW50U3RhdGUubnVtTWlkcG9pbnRzKSB7CiAgICAgICAgICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2
ZSBhIG1pZHBvaW50IGZvciB0aGlzIGJveCB5ZXQuCi0gICAgICAgICAgICAgICAgZW5zdXJlTGlu
ZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIG1fYm94ZXNbaV0pOwor
ICAgICAgICAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLmVuc3VyZUxpbmVCb3hJbnNpZGVJZ25v
cmVkU3BhY2VzKG1fYm94ZXNbaV0pOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICBBU1NFUlQobGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW2N1cnJlbnRNaWRwb2ludF0u
bV9vYmogPT0gbV9ib3hlc1tpXSk7CiAgICAgICAgICAgICAgICAgQVNTRVJUKGxpbmVNaWRwb2lu
dFN0YXRlLm1pZHBvaW50c1tjdXJyZW50TWlkcG9pbnQgKyAxXS5tX29iaiA9PSBtX2JveGVzW2ld
KTsKQEAgLTE3Miw5ICsxNDEsOSBAQCB2b2lkIFRyYWlsaW5nT2JqZWN0czo6dXBkYXRlTWlkcG9p
bnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZAogICAgICAgICB1
bnNpZ25lZCBsZW5ndGggPSBtX3doaXRlc3BhY2UtPnRleHRMZW5ndGgoKTsKICAgICAgICAgdW5z
aWduZWQgcG9zID0gbGVuZ3RoID49IDIgPyBsZW5ndGggLSAyIDogVUlOVF9NQVg7CiAgICAgICAg
IElubGluZUl0ZXJhdG9yIGVuZE1pZCgwLCBtX3doaXRlc3BhY2UsIHBvcyk7Ci0gICAgICAgIHN0
YXJ0SWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIGVuZE1pZCk7CisgICAgICAgIGxp
bmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMoZW5kTWlkKTsKICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBtX2JveGVzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgZW5z
dXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIG1fYm94ZXNb
aV0pOworICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJveEluc2lkZUln
bm9yZWRTcGFjZXMobV9ib3hlc1tpXSk7CiAgICAgfQogfQogCkBAIC0zNjUsMTIgKzMzNCwxMiBA
QCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUJSKEVDbGVhciYgY2xlYXIpCiAg
ICAgICAgIC8vIG5lZWQgdG8gY2hlY2sgZm9yIGZsb2F0cyB0byBjbGVhciAtIHNvIGlmIHdlJ3Jl
IGlnbm9yaW5nIHNwYWNlcywgc3RvcCBpZ25vcmluZyB0aGVtIGFuZCBhZGQgYQogICAgICAgICAv
LyBydW4gZm9yIHRoaXMgb2JqZWN0LgogICAgICAgICBpZiAobV9pZ25vcmluZ1NwYWNlcyAmJiBt
X2N1cnJlbnRTdHlsZS0+Y2xlYXIoKSAhPSBDTk9ORSkKLSAgICAgICAgICAgIGVuc3VyZUxpbmVC
b3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fbGluZU1pZHBvaW50U3RhdGUsIGJyKTsKKyAgICAgICAg
ICAgIG1fbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMo
YnIpOwogICAgICAgICAvLyBJZiB3ZSB3ZXJlIHByZWNlZGVkIGJ5IGNvbGxhcHNpbmcgc3BhY2Ug
YW5kIGFyZSBpbiBhIHJpZ2h0LWFsaWduZWQgY29udGFpbmVyIHdlIG5lZWQgdG8gZW5zdXJlIHRo
ZSBzcGFjZSBnZXRzCiAgICAgICAgIC8vIGNvbGxhcHNlZCBhd2F5IHNvIHRoYXQgaXQgZG9lc24n
dCBwdXNoIHRoZSB0ZXh0IG91dCBmcm9tIHRoZSBjb250YWluZXIncyByaWdodC1oYW5kIGVkZ2Uu
CiAgICAgICAgIC8vIEZJWE1FOiBEbyB0aGlzIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbnRhaW5lcidz
IGFsaWdubWVudCAtIHdpbGwgcmVxdWlyZSByZWJhc2VsaW5pbmcgYSBsb3Qgb2YgdGVzdCByZXN1
bHRzLgogICAgICAgICBlbHNlIGlmIChtX2lnbm9yaW5nU3BhY2VzICYmIChtX2Jsb2NrU3R5bGUu
dGV4dEFsaWduKCkgPT0gUklHSFQgfHwgbV9ibG9ja1N0eWxlLnRleHRBbGlnbigpID09IFdFQktJ
VF9SSUdIVCkpCi0gICAgICAgICAgICBzdG9wSWdub3JpbmdTcGFjZXMobV9saW5lTWlkcG9pbnRT
dGF0ZSwgSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50Lm1fb2JqLCBtX2N1cnJlbnQubV9wb3Mp
KTsKKyAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElu
bGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5tX29iaiwgbV9jdXJyZW50Lm1fcG9zKSk7CiAKICAg
ICAgICAgaWYgKCFtX2xpbmVJbmZvLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGNsZWFyID0gbV9j
dXJyZW50U3R5bGUtPmNsZWFyKCk7CkBAIC00NDMsNyArNDEyLDcgQEAgaW5saW5lIHZvaWQgQnJl
YWtpbmdDb250ZXh0OjpoYW5kbGVPdXRPZkZsb3dQb3NpdGlvbmVkKFZlY3RvcjxSZW5kZXJCb3gq
PiYgcG9zaXQKICAgICAvLyB0aGVuIHN0YXJ0IGlnbm9yaW5nIHNwYWNlcyBhZ2Fpbi4KICAgICBp
ZiAoaXNJbmxpbmVUeXBlIHx8IGJveC0+Y29udGFpbmVyKCktPmlzUmVuZGVySW5saW5lKCkpIHsK
ICAgICAgICAgaWYgKG1faWdub3JpbmdTcGFjZXMpCi0gICAgICAgICAgICBlbnN1cmVMaW5lQm94
SW5zaWRlSWdub3JlZFNwYWNlcyhtX2xpbmVNaWRwb2ludFN0YXRlLCBib3gpOworICAgICAgICAg
ICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5lbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNwYWNlcyhi
b3gpOwogICAgICAgICBtX3RyYWlsaW5nT2JqZWN0cy5hcHBlbmRCb3hJZk5lZWRlZChib3gpOwog
ICAgIH0gZWxzZQogICAgICAgICBwb3NpdGlvbmVkT2JqZWN0cy5hcHBlbmQoYm94KTsKQEAgLTQ4
NSw3ICs0NTQsNyBAQCBpbmxpbmUgYm9vbCBzaG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhcnRP
YmplY3QoUmVuZGVyQmxvY2tGbG93JiBibG9jaywgUmVuZGVyTwogICAgICAgICBSZW5kZXJUZXh0
KiBuZXh0VGV4dCA9IHRvUmVuZGVyVGV4dChuZXh0KTsKICAgICAgICAgVUNoYXIgbmV4dENoYXIg
PSBuZXh0VGV4dC0+Y2hhcmFjdGVyQXQoMCk7CiAgICAgICAgIGlmIChuZXh0VGV4dC0+c3R5bGUo
KS5pc0NvbGxhcHNpYmxlV2hpdGVTcGFjZShuZXh0Q2hhcikpIHsKLSAgICAgICAgICAgIHN0YXJ0
SWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9yKDAsIG8sIDAp
KTsKKyAgICAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMoSW5s
aW5lSXRlcmF0b3IoMCwgbywgMCkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KICAgICB9CkBAIC01MTIsNyArNDgxLDcgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVFbXB0eUlubGluZSgpCiAgICAgICAgICAgICBtX2xpbmVJbmZvLnNldEVtcHR5KGZh
bHNlLCAmbV9ibG9jaywgJm1fd2lkdGgpOwogICAgICAgICBpZiAobV9pZ25vcmluZ1NwYWNlcykg
ewogICAgICAgICAgICAgbV90cmFpbGluZ09iamVjdHMuY2xlYXIoKTsKLSAgICAgICAgICAgIGVu
c3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fbGluZU1pZHBvaW50U3RhdGUsIG1fY3Vy
cmVudC5tX29iaik7CisgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLmVuc3VyZUxpbmVC
b3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fY3VycmVudC5tX29iaik7CiAgICAgICAgIH0gZWxzZSBp
ZiAobV9ibG9ja1N0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpICYmIG1fcmVzb2x2ZXIucG9zaXRp
b24oKS5tX29iaiA9PSBtX2N1cnJlbnQubV9vYmoKICAgICAgICAgICAgICYmIHNob3VsZFNraXBX
aGl0ZXNwYWNlQWZ0ZXJTdGFydE9iamVjdChtX2Jsb2NrLCBtX2N1cnJlbnQubV9vYmosIG1fbGlu
ZU1pZHBvaW50U3RhdGUpKSB7CiAgICAgICAgICAgICAvLyBMaWtlIHdpdGggbGlzdCBtYXJrZXJz
LCB3ZSBzdGFydCBpZ25vcmluZyBzcGFjZXMgdG8gbWFrZSBzdXJlIHRoYXQgYW55CkBAIC01NDEs
NyArNTEwLDcgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVSZXBsYWNlZCgp
CiAgICAgfQogCiAgICAgaWYgKG1faWdub3JpbmdTcGFjZXMpCi0gICAgICAgIHN0b3BJZ25vcmlu
Z1NwYWNlcyhtX2xpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQu
bV9vYmosIDApKTsKKyAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFj
ZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50Lm1fb2JqLCAwKSk7CiAKICAgICBtX2xpbmVJ
bmZvLnNldEVtcHR5KGZhbHNlLCAmbV9ibG9jaywgJm1fd2lkdGgpOwogICAgIG1faWdub3JpbmdT
cGFjZXMgPSBmYWxzZTsKQEAgLTY3Myw4ICs2NDIsOCBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IHRl
eHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bgogaW5saW5lIHZvaWQgZW5zdXJlQ2hhcmFjdGVyR2V0c0xpbmVCb3goTGluZU1pZHBvaW50U3Rh
dGUmIGxpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvciYgdGV4dFBhcmFncmFwaFNlcGFy
YXRvcikKIHsKICAgICBJbmxpbmVJdGVyYXRvciBtaWRwb2ludCgwLCB0ZXh0UGFyYWdyYXBoU2Vw
YXJhdG9yLm1fb2JqLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zKTsKLSAgICBzdGFydEln
bm9yaW5nU3BhY2VzKGxpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFy
YWdyYXBoU2VwYXJhdG9yLm1fb2JqLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zIC0gMSkp
OwotICAgIHN0b3BJZ25vcmluZ1NwYWNlcyhsaW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0
b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX29iaiwgdGV4dFBhcmFncmFwaFNlcGFyYXRv
ci5tX3BvcykpOworICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMoSW5s
aW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX29iaiwgdGV4dFBhcmFncmFw
aFNlcGFyYXRvci5tX3BvcyAtIDEpKTsKKyAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3Jp
bmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX29iaiwg
dGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX3BvcykpOwogfQogCiBpbmxpbmUgdm9pZCB0cnlIeXBo
ZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNT
dHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIHVuc2lnbmVkIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExp
bmVzLCBpbnQgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXNMaW1pdCwgaW50IG1pbmltdW1QcmVm
aXhMaW1pdCwgaW50IG1pbmltdW1TdWZmaXhMaW1pdCwgdW5zaWduZWQgbGFzdFNwYWNlLCB1bnNp
Z25lZCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0
Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElu
bGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5h
dGVkKQpAQCAtODU2LDcgKzgyNSw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFu
ZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAg
ICAgICAgICAgICAgIG1faWdub3JpbmdTcGFjZXMgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAg
ICAgd29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAwOwogICAgICAgICAgICAgICAgICAg
ICBsYXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9u
J3QgYWRkIGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCi0gICAgICAgICAgICAgICAgICAg
IHN0b3BJZ25vcmluZ1NwYWNlcyhtX2xpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvcigw
LCBtX2N1cnJlbnQubV9vYmosIG1fY3VycmVudC5tX3BvcykpOworICAgICAgICAgICAgICAgICAg
ICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigw
LCBtX2N1cnJlbnQubV9vYmosIG1fY3VycmVudC5tX3BvcykpOwogICAgICAgICAgICAgICAgICAg
ICBzdG9wcGVkSWdub3JpbmdTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgICAgIC8vIEp1c3Qga2VlcCBpZ25vcmluZyB0aGVzZSBzcGFjZXMu
CkBAIC0xMDAwLDcgKzk2OSw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxl
VGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgICAg
ICAgICAgICAgIC8vIFdlIGp1c3QgZW50ZXJlZCBhIG1vZGUgd2hlcmUgd2UgYXJlIGlnbm9yaW5n
CiAgICAgICAgICAgICAgICAgICAgIC8vIHNwYWNlcy4gQ3JlYXRlIGEgbWlkcG9pbnQgdG8gdGVy
bWluYXRlIHRoZSBydW4KICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlIHRoZSBzZWNvbmQg
c3BhY2UuCi0gICAgICAgICAgICAgICAgICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobV9saW5lTWlk
cG9pbnRTdGF0ZSwgbV9zdGFydE9mSWdub3JlZFNwYWNlcyk7CisgICAgICAgICAgICAgICAgICAg
IG1fbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhtX3N0YXJ0T2ZJZ25vcmVk
U3BhY2VzKTsKICAgICAgICAgICAgICAgICAgICAgbV90cmFpbGluZ09iamVjdHMudXBkYXRlTWlk
cG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhtX2xpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRv
cigpLCBUcmFpbGluZ09iamVjdHM6OkRvTm90Q29sbGFwc2VGaXJzdFNwYWNlKTsKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0xMDExLDcgKzk4MCw3IEBAIGlubGluZSBib29s
IEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3Vy
ZW1lbnRzLCBib29sCiAgICAgICAgICAgICBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IGFwcGx5V29y
ZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDA7CiAgICAgICAgICAgICB3b3JkU3BhY2luZ0Zvcldv
cmRNZWFzdXJlbWVudCA9IChhcHBseVdvcmRTcGFjaW5nICYmIHdvcmRNZWFzdXJlbWVudHMubGFz
dCgpLndpZHRoKSA/IHdvcmRTcGFjaW5nIDogMDsKICAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1f
Y3VycmVudC5tX3BvczsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55IG9m
IHRoZSBpZ25vcmVkIHNwYWNlcy4KLSAgICAgICAgICAgIHN0b3BJZ25vcmluZ1NwYWNlcyhtX2xp
bmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQubV9vYmosIG1fY3Vy
cmVudC5tX3BvcykpOworICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3Jp
bmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50Lm1fb2JqLCBtX2N1cnJlbnQubV9w
b3MpKTsKICAgICAgICAgfQogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGlmIChpc1NWR1RleHQg
JiYgbV9jdXJyZW50Lm1fcG9zID4gMCkgewpAQCAtMTAzMSw3ICsxMDAwLDcgQEAgaW5saW5lIGJv
b2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFz
dXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLm1f
cG9zLS07CiAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBqdXN0IGEgc2luZ2xlIHRyYWls
aW5nIHNwYWNlIHN0YXJ0IGlnbm9yaW5nIGl0IG5vdyBzbyBpdCBjb2xsYXBzZXMgYXdheS4KICAg
ICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Lm1fcG9zID09IHJlbmRlclRleHQtPnRleHRMZW5n
dGgoKSAtIDEpCi0gICAgICAgICAgICAgICAgICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobV9saW5l
TWlkcG9pbnRTdGF0ZSwgbV9zdGFydE9mSWdub3JlZFNwYWNlcyk7CisgICAgICAgICAgICAgICAg
ICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhtX3N0YXJ0T2ZJZ25v
cmVkU3BhY2VzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCg==
</data>
<flag name="review"
          id="241241"
          type_id="1"
          status="+"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="241242"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218385</attachid>
            <date>2013-12-03 23:21:46 -0800</date>
            <delta_ts>2013-12-04 00:26:59 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>disinline.patch</filename>
            <type>text/plain</type>
            <size>14506</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhOWRlNmZiLi4yZmRlYTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTMtMTItMDMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSBzcGFjZS1pZ25vcmluZyBpbmxpbmUgZnVuY3Rpb25zIGludG8gTWlkcG9pbnRT
dGF0ZQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI0OTU3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhdmlkIEh5YXR0LgorCisgICAgICAgIFNpbmNlOgorICAgICAgICAgLSBUaGUg
Zm9sbG93aW5nIGlubGluZSBmdW5jdGlvbnMgd2VyZSB1c2VkIG9ubHkgd2l0aCBhIG1hbmRhdG9y
eSBMaW5lTWlkcG9pbnRTdGF0ZSBhcmd1bWVudDoKKyAgICAgICAgICAgc3RhcnRJZ25vcmluZ1Nw
YWNlcywgc3RvcElnbm9yaW5nU3BhY2VzLCBlbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNwYWNl
cywgZGVwcmVjYXRlZEFkZE1pZHBvaW50LgorICAgICAgICAgLSBUcmFpbGluZ09iamVjdHMgY2xh
c3MgdXNlcyB0aGVzZSBmdW5jdGlvbnMuIFNpbmNlIHRoZXkncmUgaW5saW5lIGluIEJyZWFraW5n
Q29udGV4dElubGluZUhlYWRlcnMuaCwKKyAgICAgICAgICAgaXQncyBoYXJkIHRvIHNlcGFyYXRl
IFRyYWlsaW5nT2JqZWN0cyBpbnRvIGl0J3Mgb3duIGZpbGUuIChibG9ja3MgYnVnICMxMjQ5NTYp
CisgICAgICAgICBJIG1hZGUgdGhlc2UgZnVuY3Rpb25zIGFzIGEgbWVtYmVyIG9mIExpbmVNaWRw
b2ludFN0YXRlLCBhbmQgSSBhbHNvIHVwZGF0ZWQgdGhlIGNhbGwgc2l0ZXMuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90
ZXh0L0JpZGlSZXNvbHZlci5oOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9pbnRTdGF0ZTo6c3Rh
cnRJZ25vcmluZ1NwYWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpNaWRwb2ludFN0YXRlOjpzdG9w
SWdub3JpbmdTcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9pbnRTdGF0ZTo6ZW5zdXJl
TGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWlkcG9pbnRT
dGF0ZTo6ZGVwcmVjYXRlZEFkZE1pZHBvaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVI
ZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBv
aW50c0ZvclRyYWlsaW5nQm94ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVCUik6CisgICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRsZU91
dE9mRmxvd1Bvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2tpcFdoaXRlc3Bh
Y2VBZnRlclN0YXJ0T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6
aGFuZGxlRW1wdHlJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0Ojpo
YW5kbGVSZXBsYWNlZCk6CisgICAgICAgIChXZWJDb3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRzTGlu
ZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQpOgor
CiAyMDEzLTEyLTAzICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgYSBDU1NQcm9wZXJ0eTo6aXNEaXJlY3Rpb25Bd2FyZVByb3BlcnR5KCkgaGVscGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggNmFkYmVm
Ny4uNGU0ZTk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRp
UmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZl
ci5oCkBAIC0zMSw3ICszMSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRl
IDxjbGFzcyBJdGVyYXRvcj4gc3RydWN0IE1pZHBvaW50U3RhdGUgeworY2xhc3MgUmVuZGVyT2Jq
ZWN0OworCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+IGNsYXNzIE1pZHBvaW50U3RhdGUgewor
cHVibGljOgogICAgIE1pZHBvaW50U3RhdGUoKQogICAgIHsKICAgICAgICAgcmVzZXQoKTsKQEAg
LTUxLDYgKzU0LDM2IEBAIHRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4gc3RydWN0IE1pZHBvaW50
U3RhdGUgewogICAgIHVuc2lnbmVkIG51bU1pZHBvaW50czsKICAgICB1bnNpZ25lZCBjdXJyZW50
TWlkcG9pbnQ7CiAgICAgYm9vbCBiZXR3ZWVuTWlkcG9pbnRzOworCisgICAgdm9pZCBzdGFydEln
bm9yaW5nU3BhY2VzKGNvbnN0IEl0ZXJhdG9yJiBtaWRwb2ludCkKKyAgICB7CisgICAgICAgIEFT
U0VSVCghKG51bU1pZHBvaW50cyAlIDIpKTsKKyAgICAgICAgZGVwcmVjYXRlZEFkZE1pZHBvaW50
KG1pZHBvaW50KTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3BJZ25vcmluZ1NwYWNlcyhjb25zdCBJ
dGVyYXRvciYgbWlkcG9pbnQpCisgICAgeworICAgICAgICBBU1NFUlQobGluZU1pZHBvaW50U3Rh
dGUubnVtTWlkcG9pbnRzICUgMik7CisgICAgICAgIGRlcHJlY2F0ZWRBZGRNaWRwb2ludChtaWRw
b2ludCk7CisgICAgfQorCisgICAgLy8gV2hlbiBpZ25vcmluZyBzcGFjZXMsIHRoaXMgbmVlZHMg
dG8gYmUgY2FsbGVkIGZvciBvYmplY3RzIHRoYXQgbmVlZCBsaW5lIGJveGVzIHN1Y2ggYXMgUmVu
ZGVySW5saW5lcyBvcgorICAgIC8vIGhhcmQgbGluZSBicmVha3MgdG8gZW5zdXJlIHRoYXQgdGhl
eSdyZSBub3QgaWdub3JlZC4KKyAgICB2b2lkIGVuc3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVkU3Bh
Y2VzKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgeworICAgICAgICBJdGVyYXRvciBtaWRw
b2ludCgwLCByZW5kZXJlciwgMCk7CisgICAgICAgIHN0b3BJZ25vcmluZ1NwYWNlcyhtaWRwb2lu
dCk7CisgICAgICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobWlkcG9pbnQpOworICAgIH0KK3ByaXZh
dGU6CisgICAgdm9pZCBkZXByZWNhdGVkQWRkTWlkcG9pbnQoY29uc3QgSXRlcmF0b3ImIG1pZHBv
aW50KQorICAgIHsKKyAgICAgICAgaWYgKG1pZHBvaW50cy5zaXplKCkgPD0gbnVtTWlkcG9pbnRz
KQorICAgICAgICAgICAgbWlkcG9pbnRzLmdyb3cobnVtTWlkcG9pbnRzICsgMTApOworCisgICAg
ICAgIEl0ZXJhdG9yKiBtaWRwb2ludHNJdGVyYXRvciA9IG1pZHBvaW50cy5kYXRhKCk7CisgICAg
ICAgIG1pZHBvaW50c0l0ZXJhdG9yW251bU1pZHBvaW50cysrXSA9IG1pZHBvaW50OworICAgIH0K
IH07CiAKIC8vIFRoZSBCaWRpU3RhdHVzIGF0IGEgZ2l2ZW4gcG9zaXRpb24gKHR5cGljYWxseSB0
aGUgZW5kIG9mIGEgbGluZSkgY2FuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CmluZGV4IGZiNzI2ZGMuLjhmNjM4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oCkBAIC02MSw3ICs2MSw3IEBAIGNsYXNzIFdvcmRNZWFzdXJlbWVudDsKIAogdGVtcGxh
dGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlcjsKIHRlbXBs
YXRlIDxjbGFzcyBSdW4+IGNsYXNzIEJpZGlSdW5MaXN0OwotdGVtcGxhdGUgPGNsYXNzIEl0ZXJh
dG9yPiBzdHJ1Y3QgTWlkcG9pbnRTdGF0ZTsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4gY2xh
c3MgTWlkcG9pbnRTdGF0ZTsKIHR5cGVkZWYgQmlkaVJlc29sdmVyPElubGluZUl0ZXJhdG9yLCBC
aWRpUnVuPiBJbmxpbmVCaWRpUmVzb2x2ZXI7CiB0eXBlZGVmIE1pZHBvaW50U3RhdGU8SW5saW5l
SXRlcmF0b3I+IExpbmVNaWRwb2ludFN0YXRlOwogdHlwZWRlZiBXVEY6Okxpc3RIYXNoU2V0PFJl
bmRlckJveCosIDE2PiBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhl
YWRlcnMuaAppbmRleCBmNjVkN2JjLi4zOTE5ZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5o
CkBAIC0xMDYsMzcgKzEwNiw2IEBAIGlubGluZSB2b2lkIFRyYWlsaW5nT2JqZWN0czo6YXBwZW5k
Qm94SWZOZWVkZWQoUmVuZGVyQm94TW9kZWxPYmplY3QqIGJveCkKICAgICAgICAgbV9ib3hlcy5h
cHBlbmQoYm94KTsKIH0KIAotLy8gRG9uJ3QgY2FsbCB0aGlzIGRpcmVjdGx5LiBVc2Ugb25lIG9m
IHRoZSBkZXNjcmlwdGl2ZSBoZWxwZXIgZnVuY3Rpb25zIGJlbG93LgotaW5saW5lIHZvaWQgZGVw
cmVjYXRlZEFkZE1pZHBvaW50KExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwg
Y29uc3QgSW5saW5lSXRlcmF0b3ImIG1pZHBvaW50KQotewotICAgIGlmIChsaW5lTWlkcG9pbnRT
dGF0ZS5taWRwb2ludHMuc2l6ZSgpIDw9IGxpbmVNaWRwb2ludFN0YXRlLm51bU1pZHBvaW50cykK
LSAgICAgICAgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzLmdyb3cobGluZU1pZHBvaW50U3Rh
dGUubnVtTWlkcG9pbnRzICsgMTApOwotCi0gICAgSW5saW5lSXRlcmF0b3IqIG1pZHBvaW50cyA9
IGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50cy5kYXRhKCk7Ci0gICAgbWlkcG9pbnRzW2xpbmVN
aWRwb2ludFN0YXRlLm51bU1pZHBvaW50cysrXSA9IG1pZHBvaW50OwotfQotCi1pbmxpbmUgdm9p
ZCBzdGFydElnbm9yaW5nU3BhY2VzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0
ZSwgY29uc3QgSW5saW5lSXRlcmF0b3ImIG1pZHBvaW50KQotewotICAgIEFTU0VSVCghKGxpbmVN
aWRwb2ludFN0YXRlLm51bU1pZHBvaW50cyAlIDIpKTsKLSAgICBkZXByZWNhdGVkQWRkTWlkcG9p
bnQobGluZU1pZHBvaW50U3RhdGUsIG1pZHBvaW50KTsKLX0KLQotaW5saW5lIHZvaWQgc3RvcEln
bm9yaW5nU3BhY2VzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgY29uc3Qg
SW5saW5lSXRlcmF0b3ImIG1pZHBvaW50KQotewotICAgIEFTU0VSVChsaW5lTWlkcG9pbnRTdGF0
ZS5udW1NaWRwb2ludHMgJSAyKTsKLSAgICBkZXByZWNhdGVkQWRkTWlkcG9pbnQobGluZU1pZHBv
aW50U3RhdGUsIG1pZHBvaW50KTsKLX0KLQotLy8gV2hlbiBpZ25vcmluZyBzcGFjZXMsIHRoaXMg
bmVlZHMgdG8gYmUgY2FsbGVkIGZvciBvYmplY3RzIHRoYXQgbmVlZCBsaW5lIGJveGVzIHN1Y2gg
YXMgUmVuZGVySW5saW5lcyBvcgotLy8gaGFyZCBsaW5lIGJyZWFrcyB0byBlbnN1cmUgdGhhdCB0
aGV5J3JlIG5vdCBpZ25vcmVkLgotaW5saW5lIHZvaWQgZW5zdXJlTGluZUJveEluc2lkZUlnbm9y
ZWRTcGFjZXMoTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2ludFN0YXRlLCBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyKQotewotICAgIElubGluZUl0ZXJhdG9yIG1pZHBvaW50KDAsIHJlbmRlcmVy
LCAwKTsKLSAgICBzdG9wSWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIG1pZHBvaW50
KTsKLSAgICBzdGFydElnbm9yaW5nU3BhY2VzKGxpbmVNaWRwb2ludFN0YXRlLCBtaWRwb2ludCk7
Ci19Ci0KIHZvaWQgVHJhaWxpbmdPYmplY3RzOjp1cGRhdGVNaWRwb2ludHNGb3JUcmFpbGluZ0Jv
eGVzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgY29uc3QgSW5saW5lSXRl
cmF0b3ImIGxCcmVhaywgQ29sbGFwc2VGaXJzdFNwYWNlT3JOb3QgY29sbGFwc2VGaXJzdFNwYWNl
KQogewogICAgIGlmICghbV93aGl0ZXNwYWNlKQpAQCAtMTU4LDcgKzEyNyw3IEBAIHZvaWQgVHJh
aWxpbmdPYmplY3RzOjp1cGRhdGVNaWRwb2ludHNGb3JUcmFpbGluZ0JveGVzKExpbmVNaWRwb2lu
dFN0YXRlJiBsaW5lTWlkCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ib3hlcy5z
aXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGN1cnJlbnRNaWRwb2ludCA+PSBsaW5lTWlk
cG9pbnRTdGF0ZS5udW1NaWRwb2ludHMpIHsKICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBo
YXZlIGEgbWlkcG9pbnQgZm9yIHRoaXMgYm94IHlldC4KLSAgICAgICAgICAgICAgICBlbnN1cmVM
aW5lQm94SW5zaWRlSWdub3JlZFNwYWNlcyhsaW5lTWlkcG9pbnRTdGF0ZSwgbV9ib3hlc1tpXSk7
CisgICAgICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJveEluc2lkZUln
bm9yZWRTcGFjZXMobV9ib3hlc1tpXSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIEFTU0VSVChsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbY3VycmVudE1pZHBvaW50
XS5yZW5kZXJlcigpID09IG1fYm94ZXNbaV0pOwogICAgICAgICAgICAgICAgIEFTU0VSVChsaW5l
TWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbY3VycmVudE1pZHBvaW50ICsgMV0ucmVuZGVyZXIoKSA9
PSBtX2JveGVzW2ldKTsKQEAgLTE3Miw5ICsxNDEsOSBAQCB2b2lkIFRyYWlsaW5nT2JqZWN0czo6
dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1p
ZAogICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBtX3doaXRlc3BhY2UtPnRleHRMZW5ndGgoKTsK
ICAgICAgICAgdW5zaWduZWQgcG9zID0gbGVuZ3RoID49IDIgPyBsZW5ndGggLSAyIDogVUlOVF9N
QVg7CiAgICAgICAgIElubGluZUl0ZXJhdG9yIGVuZE1pZCgwLCBtX3doaXRlc3BhY2UsIHBvcyk7
Ci0gICAgICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIGVuZE1pZCk7
CisgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMoZW5kTWlkKTsK
ICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2JveGVzLnNpemUoKTsgKytpKQotICAg
ICAgICAgICAgZW5zdXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobGluZU1pZHBvaW50U3Rh
dGUsIG1fYm94ZXNbaV0pOworICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGlu
ZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobV9ib3hlc1tpXSk7CiAgICAgfQogfQogCkBAIC0zNjUs
MTIgKzMzNCwxMiBAQCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUJSKEVDbGVh
ciYgY2xlYXIpCiAgICAgICAgIC8vIG5lZWQgdG8gY2hlY2sgZm9yIGZsb2F0cyB0byBjbGVhciAt
IHNvIGlmIHdlJ3JlIGlnbm9yaW5nIHNwYWNlcywgc3RvcCBpZ25vcmluZyB0aGVtIGFuZCBhZGQg
YQogICAgICAgICAvLyBydW4gZm9yIHRoaXMgb2JqZWN0LgogICAgICAgICBpZiAobV9pZ25vcmlu
Z1NwYWNlcyAmJiBtX2N1cnJlbnRTdHlsZS0+Y2xlYXIoKSAhPSBDTk9ORSkKLSAgICAgICAgICAg
IGVuc3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fbGluZU1pZHBvaW50U3RhdGUsIGJy
KTsKKyAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJveEluc2lkZUln
bm9yZWRTcGFjZXMoYnIpOwogICAgICAgICAvLyBJZiB3ZSB3ZXJlIHByZWNlZGVkIGJ5IGNvbGxh
cHNpbmcgc3BhY2UgYW5kIGFyZSBpbiBhIHJpZ2h0LWFsaWduZWQgY29udGFpbmVyIHdlIG5lZWQg
dG8gZW5zdXJlIHRoZSBzcGFjZSBnZXRzCiAgICAgICAgIC8vIGNvbGxhcHNlZCBhd2F5IHNvIHRo
YXQgaXQgZG9lc24ndCBwdXNoIHRoZSB0ZXh0IG91dCBmcm9tIHRoZSBjb250YWluZXIncyByaWdo
dC1oYW5kIGVkZ2UuCiAgICAgICAgIC8vIEZJWE1FOiBEbyB0aGlzIHJlZ2FyZGxlc3Mgb2YgdGhl
IGNvbnRhaW5lcidzIGFsaWdubWVudCAtIHdpbGwgcmVxdWlyZSByZWJhc2VsaW5pbmcgYSBsb3Qg
b2YgdGVzdCByZXN1bHRzLgogICAgICAgICBlbHNlIGlmIChtX2lnbm9yaW5nU3BhY2VzICYmICht
X2Jsb2NrU3R5bGUudGV4dEFsaWduKCkgPT0gUklHSFQgfHwgbV9ibG9ja1N0eWxlLnRleHRBbGln
bigpID09IFdFQktJVF9SSUdIVCkpCi0gICAgICAgICAgICBzdG9wSWdub3JpbmdTcGFjZXMobV9s
aW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCks
IG1fY3VycmVudC5tX3BvcykpOworICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9w
SWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1f
Y3VycmVudC5tX3BvcykpOwogCiAgICAgICAgIGlmICghbV9saW5lSW5mby5pc0VtcHR5KCkpCiAg
ICAgICAgICAgICBjbGVhciA9IG1fY3VycmVudFN0eWxlLT5jbGVhcigpOwpAQCAtNDQzLDcgKzQx
Miw3IEBAIGlubGluZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlT3V0T2ZGbG93UG9zaXRp
b25lZChWZWN0b3I8UmVuZGVyQm94Kj4mIHBvc2l0CiAgICAgLy8gdGhlbiBzdGFydCBpZ25vcmlu
ZyBzcGFjZXMgYWdhaW4uCiAgICAgaWYgKGlzSW5saW5lVHlwZSB8fCBib3gtPmNvbnRhaW5lcigp
LT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgIGlmIChtX2lnbm9yaW5nU3BhY2VzKQotICAg
ICAgICAgICAgZW5zdXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobV9saW5lTWlkcG9pbnRT
dGF0ZSwgYm94KTsKKyAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJv
eEluc2lkZUlnbm9yZWRTcGFjZXMoYm94KTsKICAgICAgICAgbV90cmFpbGluZ09iamVjdHMuYXBw
ZW5kQm94SWZOZWVkZWQoYm94KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zaXRpb25lZE9iamVj
dHMuYXBwZW5kKGJveCk7CkBAIC00ODUsNyArNDU0LDcgQEAgaW5saW5lIGJvb2wgc2hvdWxkU2tp
cFdoaXRlc3BhY2VBZnRlclN0YXJ0T2JqZWN0KFJlbmRlckJsb2NrRmxvdyYgYmxvY2ssIFJlbmRl
ck8KICAgICAgICAgUmVuZGVyVGV4dCogbmV4dFRleHQgPSB0b1JlbmRlclRleHQobmV4dCk7CiAg
ICAgICAgIFVDaGFyIG5leHRDaGFyID0gbmV4dFRleHQtPmNoYXJhY3RlckF0KDApOwogICAgICAg
ICBpZiAobmV4dFRleHQtPnN0eWxlKCkuaXNDb2xsYXBzaWJsZVdoaXRlU3BhY2UobmV4dENoYXIp
KSB7Ci0gICAgICAgICAgICBzdGFydElnbm9yaW5nU3BhY2VzKGxpbmVNaWRwb2ludFN0YXRlLCBJ
bmxpbmVJdGVyYXRvcigwLCBvLCAwKSk7CisgICAgICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5z
dGFydElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG8sIDApKTsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAtNTEyLDcgKzQ4MSw3IEBAIGlubGlu
ZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlRW1wdHlJbmxpbmUoKQogICAgICAgICAgICAg
bV9saW5lSW5mby5zZXRFbXB0eShmYWxzZSwgJm1fYmxvY2ssICZtX3dpZHRoKTsKICAgICAgICAg
aWYgKG1faWdub3JpbmdTcGFjZXMpIHsKICAgICAgICAgICAgIG1fdHJhaWxpbmdPYmplY3RzLmNs
ZWFyKCk7Ci0gICAgICAgICAgICBlbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNwYWNlcyhtX2xp
bmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQucmVuZGVyZXIoKSk7CisgICAgICAgICAgICBtX2xp
bmVNaWRwb2ludFN0YXRlLmVuc3VyZUxpbmVCb3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fY3VycmVu
dC5yZW5kZXJlcigpKTsKICAgICAgICAgfSBlbHNlIGlmIChtX2Jsb2NrU3R5bGUuY29sbGFwc2VX
aGl0ZVNwYWNlKCkgJiYgbV9yZXNvbHZlci5wb3NpdGlvbigpLnJlbmRlcmVyKCkgPT0gbV9jdXJy
ZW50LnJlbmRlcmVyKCkKICAgICAgICAgICAgICYmIHNob3VsZFNraXBXaGl0ZXNwYWNlQWZ0ZXJT
dGFydE9iamVjdChtX2Jsb2NrLCBtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9saW5lTWlkcG9pbnRT
dGF0ZSkpIHsKICAgICAgICAgICAgIC8vIExpa2Ugd2l0aCBsaXN0IG1hcmtlcnMsIHdlIHN0YXJ0
IGlnbm9yaW5nIHNwYWNlcyB0byBtYWtlIHN1cmUgdGhhdCBhbnkKQEAgLTU0MSw3ICs1MTAsNyBA
QCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVJlcGxhY2VkKCkKICAgICB9CiAK
ICAgICBpZiAobV9pZ25vcmluZ1NwYWNlcykKLSAgICAgICAgc3RvcElnbm9yaW5nU3BhY2VzKG1f
bGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigp
LCAwKSk7CisgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElu
bGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCAwKSk7CiAKICAgICBtX2xpbmVJ
bmZvLnNldEVtcHR5KGZhbHNlLCAmbV9ibG9jaywgJm1fd2lkdGgpOwogICAgIG1faWdub3JpbmdT
cGFjZXMgPSBmYWxzZTsKQEAgLTY3Myw4ICs2NDIsOCBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IHRl
eHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bgogaW5saW5lIHZvaWQgZW5zdXJlQ2hhcmFjdGVyR2V0c0xpbmVCb3goTGluZU1pZHBvaW50U3Rh
dGUmIGxpbmVNaWRwb2ludFN0YXRlLCBJbmxpbmVJdGVyYXRvciYgdGV4dFBhcmFncmFwaFNlcGFy
YXRvcikKIHsKICAgICBJbmxpbmVJdGVyYXRvciBtaWRwb2ludCgwLCB0ZXh0UGFyYWdyYXBoU2Vw
YXJhdG9yLnJlbmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MpOwotICAgIHN0
YXJ0SWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9yKDAsIHRl
eHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5t
X3BvcyAtIDEpKTsKLSAgICBzdG9wSWdub3JpbmdTcGFjZXMobGluZU1pZHBvaW50U3RhdGUsIElu
bGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBh
cmFncmFwaFNlcGFyYXRvci5tX3BvcykpOworICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdu
b3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5k
ZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zIC0gMSkpOworICAgIGxpbmVNaWRw
b2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdy
YXBoU2VwYXJhdG9yLnJlbmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MpKTsK
IH0KIAogaW5saW5lIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3Qg
Rm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCB1bnNpZ25l
ZCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgaW50IGNvbnNlY3V0aXZlSHlwaGVuYXRlZExp
bmVzTGltaXQsIGludCBtaW5pbXVtUHJlZml4TGltaXQsIGludCBtaW5pbXVtU3VmZml4TGltaXQs
IHVuc2lnbmVkIGxhc3RTcGFjZSwgdW5zaWduZWQgcG9zLCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxh
YmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50
IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4
dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRlZCkKQEAgLTg1Niw3ICs4MjUsNyBAQCBpbmxpbmUg
Ym9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1l
YXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgICAgICBtX2lnbm9yaW5nU3BhY2VzID0g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50
ID0gMDsKICAgICAgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOyAv
LyBlLmcuLCAiRm9vICAgIGdvbyIsIGRvbid0IGFkZCBpbiBhbnkgb2YgdGhlIGlnbm9yZWQgc3Bh
Y2VzLgotICAgICAgICAgICAgICAgICAgICBzdG9wSWdub3JpbmdTcGFjZXMobV9saW5lTWlkcG9p
bnRTdGF0ZSwgSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVu
dC5tX3BvcykpOworICAgICAgICAgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0b3BJ
Z25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9j
dXJyZW50Lm1fcG9zKSk7CiAgICAgICAgICAgICAgICAgICAgIHN0b3BwZWRJZ25vcmluZ1NwYWNl
cyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAg
Ly8gSnVzdCBrZWVwIGlnbm9yaW5nIHRoZXNlIHNwYWNlcy4KQEAgLTEwMDAsNyArOTY5LDcgQEAg
aW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMm
IHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgICAgICAgICAgLy8gV2UganVzdCBl
bnRlcmVkIGEgbW9kZSB3aGVyZSB3ZSBhcmUgaWdub3JpbmcKICAgICAgICAgICAgICAgICAgICAg
Ly8gc3BhY2VzLiBDcmVhdGUgYSBtaWRwb2ludCB0byB0ZXJtaW5hdGUgdGhlIHJ1bgogICAgICAg
ICAgICAgICAgICAgICAvLyBiZWZvcmUgdGhlIHNlY29uZCBzcGFjZS4KLSAgICAgICAgICAgICAg
ICAgICAgc3RhcnRJZ25vcmluZ1NwYWNlcyhtX2xpbmVNaWRwb2ludFN0YXRlLCBtX3N0YXJ0T2ZJ
Z25vcmVkU3BhY2VzKTsKKyAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5z
dGFydElnbm9yaW5nU3BhY2VzKG1fc3RhcnRPZklnbm9yZWRTcGFjZXMpOwogICAgICAgICAgICAg
ICAgICAgICBtX3RyYWlsaW5nT2JqZWN0cy51cGRhdGVNaWRwb2ludHNGb3JUcmFpbGluZ0JveGVz
KG1fbGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9yKCksIFRyYWlsaW5nT2JqZWN0czo6
RG9Ob3RDb2xsYXBzZUZpcnN0U3BhY2UpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KQEAgLTEwMTEsNyArOTgwLDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5k
bGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAg
ICAgIGxhc3RTcGFjZVdvcmRTcGFjaW5nID0gYXBwbHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5n
IDogMDsKICAgICAgICAgICAgIHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50ID0gKGFwcGx5
V29yZFNwYWNpbmcgJiYgd29yZE1lYXN1cmVtZW50cy5sYXN0KCkud2lkdGgpID8gd29yZFNwYWNp
bmcgOiAwOwogICAgICAgICAgICAgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOyAvLyBlLmcu
LCAiRm9vICAgIGdvbyIsIGRvbid0IGFkZCBpbiBhbnkgb2YgdGhlIGlnbm9yZWQgc3BhY2VzLgot
ICAgICAgICAgICAgc3RvcElnbm9yaW5nU3BhY2VzKG1fbGluZU1pZHBvaW50U3RhdGUsIElubGlu
ZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpKTsKKyAg
ICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0
ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpKTsKICAgICAg
ICAgfQogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGlmIChpc1NWR1RleHQgJiYgbV9jdXJyZW50
Lm1fcG9zID4gMCkgewpAQCAtMTAzMSw3ICsxMDAwLDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdD
b250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJv
b2wKICAgICAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLm1fcG9zLS07CiAgICAg
ICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBqdXN0IGEgc2luZ2xlIHRyYWlsaW5nIHNwYWNlIHN0
YXJ0IGlnbm9yaW5nIGl0IG5vdyBzbyBpdCBjb2xsYXBzZXMgYXdheS4KICAgICAgICAgICAgICAg
ICBpZiAobV9jdXJyZW50Lm1fcG9zID09IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAtIDEpCi0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0SWdub3JpbmdTcGFjZXMobV9saW5lTWlkcG9pbnRTdGF0
ZSwgbV9zdGFydE9mSWdub3JlZFNwYWNlcyk7CisgICAgICAgICAgICAgICAgICAgIG1fbGluZU1p
ZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>