<?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>128693</bug_id>
          
          <creation_ts>2014-02-12 14:37:10 -0800</creation_ts>
          <short_desc>[CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides</short_desc>
          <delta_ts>2014-02-24 15:05:10 -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>CSS</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>128340</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980020</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-12 14:37:10 -0800</bug_when>
    <thetext>This patch is part of a set of fixes, which is tracked under bug #128340.
When we don&apos;t have space next to the floating container, but we have space inside the floating-container next to the defined shape-outside, we should wrap around the shape-outside.
This patch fixes the case when the top of the line (from the 2nd line in the block) needs to be adjusted to the position where the content fits next.
Solving the issue for the first line requires additional changes, since due to a fast code-path if it can&apos;t fits at the first line, it just pushed under the floating box. I opened a separate bug for that: bug #128692.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980028</commentid>
    <comment_count>1</comment_count>
      <attachid>224009</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-12 14:56:33 -0800</bug_when>
    <thetext>Created attachment 224009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980032</commentid>
    <comment_count>2</comment_count>
      <attachid>224012</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-12 15:02:40 -0800</bug_when>
    <thetext>Created attachment 224012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980175</commentid>
    <comment_count>3</comment_count>
      <attachid>224048</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-12 22:53:34 -0800</bug_when>
    <thetext>Created attachment 224048
update patch after r164006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981966</commentid>
    <comment_count>4</comment_count>
      <attachid>224048</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-02-18 09:47:27 -0800</bug_when>
    <thetext>Comment on attachment 224048
update patch after r164006

I don&apos;t think this is the correct approach. It doesn&apos;t work for stacked floats, and is going to be very hard at bast to make it work in cases where you have floats on either side of the container. I think the first solution should be to simply change the line layout code to not jump to the bottom of the float if it has shape-outside and just walk down the float. This way, stacked floats, etc will all work. Then we should attack trying to make it position in a more optimal manner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982864</commentid>
    <comment_count>5</comment_count>
      <attachid>224765</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-20 09:50:58 -0800</bug_when>
    <thetext>Created attachment 224765
Patch

I moved the logic into fitBelowFloats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982952</commentid>
    <comment_count>6</comment_count>
      <attachid>224789</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-20 13:14:50 -0800</bug_when>
    <thetext>Created attachment 224789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982953</commentid>
    <comment_count>7</comment_count>
      <attachid>224790</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-20 13:15:46 -0800</bug_when>
    <thetext>Created attachment 224790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983272</commentid>
    <comment_count>8</comment_count>
      <attachid>224790</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-02-21 11:44:50 -0800</bug_when>
    <thetext>Comment on attachment 224790
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224790&amp;action=review

In general, I like this much better than the last attempt.

Why didn&apos;t you change all of the calls to fitBelowFloats to pass in the height argument when shape outside is enabled?

Also, I think it would be good if Hyatt had a look at this.

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:787
&gt; +                m_width.fitBelowFloats(lineHeight);

Make fitBelowFloats take m_block and isFirstLine, and then do the lineHeight computation in fitBelowFloats. That way, you don&apos;t need all of this nastiness in the call.

&gt; Source/WebCore/rendering/line/LineWidth.cpp:169
&gt; +void LineWidth::updateLineDimension(LayoutUnit newLineTop, LayoutUnit newLineWidth)

This should not be in the compile guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983372</commentid>
    <comment_count>9</comment_count>
      <attachid>224912</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-21 14:36:49 -0800</bug_when>
    <thetext>Created attachment 224912
Patch

(In reply to comment #8)
&gt; (From update of attachment 224790 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=224790&amp;action=review
&gt; 
&gt; In general, I like this much better than the last attempt.
&gt; 
&gt; Why didn&apos;t you change all of the calls to fitBelowFloats to pass in the height argument when shape outside is enabled?

I changed only the the sites, where I also had tests as well. - In this patch I updated the 2 other places, but I don&apos;t know any use case for those with shape-outside at this point.

&gt; Also, I think it would be good if Hyatt had a look at this.
&gt; 
&gt; &gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:787
&gt; &gt; +                m_width.fitBelowFloats(lineHeight);
&gt; 
&gt; Make fitBelowFloats take m_block and isFirstLine, and then do the lineHeight computation in fitBelowFloats. That way, you don&apos;t need all of this nastiness in the call.

LineWidth has got an m_block reference. However, I updated to pass isFirstLine, I don&apos;t think it&apos;s less/more nastier than passing LineHeight. LineHeight is going to be more interesting once we support variable line-heights.

&gt; &gt; Source/WebCore/rendering/line/LineWidth.cpp:169
&gt; &gt; +void LineWidth::updateLineDimension(LayoutUnit newLineTop, LayoutUnit newLineWidth)
&gt; 
&gt; This should not be in the compile guard.

Good catch. I moved it out, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983978</commentid>
    <comment_count>10</comment_count>
      <attachid>224912</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-02-24 11:37:07 -0800</bug_when>
    <thetext>Comment on attachment 224912
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224912&amp;action=review

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:784
&gt; +#if ENABLE(CSS_SHAPES)

Why do you still have this #if ENABLE here? why not just pass isFiestLine all the time? (same for all the calls to fitBelowFloats)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984025</commentid>
    <comment_count>11</comment_count>
      <attachid>224912</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-02-24 13:17:55 -0800</bug_when>
    <thetext>Comment on attachment 224912
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984067</commentid>
    <comment_count>12</comment_count>
      <attachid>225097</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-24 14:25:17 -0800</bug_when>
    <thetext>Created attachment 225097
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984069</commentid>
    <comment_count>13</comment_count>
      <attachid>225097</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-02-24 14:26:09 -0800</bug_when>
    <thetext>Comment on attachment 225097
Patch for landing

I removed the guards too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984084</commentid>
    <comment_count>14</comment_count>
      <attachid>225097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-24 15:05:07 -0800</bug_when>
    <thetext>Comment on attachment 225097
Patch for landing

Clearing flags on attachment: 225097

Committed r164613: &lt;http://trac.webkit.org/changeset/164613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984085</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-24 15:05:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224009</attachid>
            <date>2014-02-12 14:56:33 -0800</date>
            <delta_ts>2014-02-12 15:02:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>first.patch</filename>
            <type>text/plain</type>
            <size>10543</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NTliMDQwLi5lNTRhMzhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MTIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTExICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBBZGQgdGV4dCByZXBsYWNlbWVudCBhY3Rpdml0eSBzdXBwb3J0IHRvIE5TQWNjZXNzaWJpbGl0
eVNlbGVjdFRleHRXaXRoQ3JpdGVyaWFQYXJhbWV0ZXJpemVkQXR0cmlidXRlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hMzRmMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1h
ZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKy5vdmVybGF5IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAw
OworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMnB4OworICAgIGhlaWdodDogMTA2cHg7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3Zl
cmxheSIgc3R5bGU9InRvcDogMTQwcHgiPjwvZGl2PgorCis8cCBzdHlsZT0ibWFyZ2luLXRvcDog
MjgwcHg7Ij5UaGUgY29udGVudCBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlIHNoYXBl
cywgaXQgc2hvdWxkIGZpdCBpbiB0aGUgY29udGVudCBib3gsIHNvIHlvdSBzaG91bGQgc2VlIHR3
byBncmVlbiByZWN0YW5nbGVzLgorWW91IHNob3VsZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48
YSBocmVmPSdodHRwOi8vd2Via2l0Lm9yZy9iLzEyODY5Myc+QnVnIDEyODY5MzwvYT46IFtDU1Mg
U2hhcGVzXSBBZGp1c3QgbGluZVRvcCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3Jh
cHBpbmcgbG9jYXRpb24gYXQgc2hhcGUtb3V0c2lkZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxp
bmV0b3AtYWRqdXN0bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjE4ZmIwMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQu
aHRtbApAQCAtMCwwICsxLDUzIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5l
ciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOwor
ICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGZvbnQ6IDMwcHggLyAx
IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgY29sb3I6IHJlZDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBncmVlbjsKKyAgICBib3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47Cit9Cisuc2hhcGUtb3V0
c2lkZSB7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgxNSwgMTE3LCAxMTcsIDAuNSk7Cit9CisubGVmdEZsb2F0IHsKKyAg
ICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMHB4IDBweCwgMTAwcHggNTBweCwgMHB4
IDEwMHB4KTsKKyAgICBmbG9hdDogbGVmdDsKK30KKy5yaWdodEZsb2F0IHsKKyAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMTAwcHggMHB4LCAwcHggNTBweCwgMTAwcHggMTAwcHgp
OworICAgIGZsb2F0OiByaWdodDsKK30KKy5vdmVybGF5IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMnB4OworICAgIGhl
aWdodDogMTA2cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSBsZWZ0RmxvYXQiPjwvZGl2PiBYIFgKKzwvZGl2Pgor
PGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBweDsiPgorICAgIDxkaXYgY2xh
c3M9InNoYXBlLW91dHNpZGUgcmlnaHRGbG9hdCI+PC9kaXY+IFggWAorPC9kaXY+Cis8ZGl2IGNs
YXNzPSJvdmVybGF5Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6IDE0
MHB4Ij48L2Rpdj4KKworPHAgc3R5bGU9Im1hcmdpbi10b3A6IDI4MHB4OyI+VGhlIGNvbnRlbnQg
c2hvdWxkIHdyYXAgYXJvdW5kIHRoZSB0cmlhbmdsZSBzaGFwZXMsIGl0IHNob3VsZCBmaXQgaW4g
dGhlIGNvbnRlbnQgYm94LCBzbyB5b3Ugc2hvdWxkIHNlZSB0d28gZ3JlZW4gcmVjdGFuZ2xlcy4K
K1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+PGEgaHJlZj0naHR0cDovL3dlYmtp
dC5vcmcvYi8xMjg2OTMnPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NTIFNoYXBlc10gQWRqdXN0IGxpbmVU
b3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0aW9uIGF0IHNo
YXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFhMWYxMWUu
LmExZDQ5ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNC0wMi0xMiAgWm9sdGFu
IEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQWRq
dXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0
aW9uIGF0IHNoYXBlLW91dHNpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjg2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIHBhcnQgb2YgYSBzZXQgb2YgZml4ZXMsIHdoaWNo
IGlzIHRyYWNrZWQgdW5kZXIgYnVnICMxMjgzNDAuCisgICAgICAgIFdoZW4gd2UgZG9uJ3QgaGF2
ZSBzcGFjZSBuZXh0IHRvIHRoZSBmbG9hdGluZyBjb250YWluZXIsIGJ1dCB3ZSBoYXZlIHNwYWNl
IGluc2lkZSB0aGUgZmxvYXRpbmctY29udGFpbmVyIG5leHQKKyAgICAgICAgdG8gdGhlIGRlZmlu
ZWQgc2hhcGUtb3V0c2lkZSwgd2Ugc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSBzaGFwZS1vdXRzaWRl
LiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXNlIHdoZW4gdGhlIHRvcAorICAgICAgICBvZiB0aGUg
bGluZSBmcm9tIHRoZSAybmQgbGluZSBpbiB0aGUgYmxvY2sgbmVlZHMgdG8gYmUgYWRqdXN0ZWQg
dG8gdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBjb250ZW50IGZpdHMgbmV4dC4KKyAgICAgICAgU29s
dmluZyB0aGUgaXNzdWUgZm9yIHRoZSBmaXJzdCBsaW5lIHJlcXVpcmVzIGFkZGl0aW9uYWwgY2hh
bmdlcywgc2luY2UgZHVlIHRvIGEgZmFzdCBjb2RlLXBhdGggaWYgaXQgY2FuJ3QgZml0CisgICAg
ICAgIGF0IHRoZSBmaXJzdCBsaW5lLCBpdCdzIGp1c3QgcHVzaGVkIHVuZGVyIHRoZSBmbG9hdGlu
ZyBib3guIEkgb3BlbmVkIGEgc2VwYXJhdGUgYnVnIGZvciB0aGF0IGNhc2U6IGJ1ZyAjMTI4Njky
LgorICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgZGVhbCB3aXRoIHRoZSBjYXNlIHdoZW4gdGhl
IGxpbmUgdG9wIG5lZWRzIHRvIGJlIGFkanVzdGVkIGJldHdlZW4gMiBmbG9hdHMsIHNlcGFyYXRl
IGJ1ZworICAgICAgICBmb3IgdGhhdCBjYXNlOiBidWcgIzEyODY5Ni4KKworICAgICAgICBUZXN0
OiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvQnJlYWtp
bmdDb250ZXh0SW5saW5lSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlTG9naWNh
bFRvcEFuZEF2YWlsYWJsZVdpZHRoRm9yU2hhcGVPdXRzaWRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUv
TGluZVdpZHRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6ZXh0ZW5kQXZhaWxh
YmxlV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGVPdXRzaWRlSW5mby5oOgorCiAyMDE0LTAyLTEwICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtFTUVdW01hY10gTW92
ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbiBiYWNrIGludG8g
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMu
aAppbmRleCA3MmExOTJkLi4wYTlhNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC02
MjcsNiArNjI3LDQzIEBAIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRl
eHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluCiAgICAgaHlwaGVuYXRlZCA9
IHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKK2lubGluZSB2b2lkIHVwZGF0ZUxv
Z2ljYWxUb3BBbmRBdmFpbGFibGVXaWR0aEZvclNoYXBlT3V0c2lkZShSZW5kZXJCbG9ja0Zsb3cm
IGJsb2NrLCBjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwg
Y29uc3QgV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgTGluZVdpZHRoJiB3aWR0
aCwgYm9vbCBpc0ZpcnN0TGluZSkKK3sKKyAgICBBU1NFUlQobGFzdEZsb2F0RnJvbVByZXZpb3Vz
TGluZSk7CisKKyAgICBTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGVJbmZvID0gbGFzdEZs
b2F0RnJvbVByZXZpb3VzTGluZS0+cmVuZGVyZXIoKS5zaGFwZU91dHNpZGVJbmZvKCk7CisgICAg
aWYgKCFzaGFwZU91dHNpZGVJbmZvIHx8IHdpZHRoLmZpdHNPbkxpbmUoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0ID0gYmxvY2subGluZUhlaWdodChpc0Zp
cnN0TGluZSwgYmxvY2suaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOworICAgIExheW91
dFVuaXQgbWluU2VnbWVudFdpZHRoID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChmaXJzdFBv
c2l0aXZlV2lkdGgod29yZE1lYXN1cmVtZW50cykpOworICAgIExheW91dFVuaXQgdGVtcExvZ2lj
YWxMaW5lVG9wID0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbExpbmVUb3AoKTsKKyAgICBMYXlv
dXRVbml0IG9mZnNldFRvRmxvYXRUb3AgPSBibG9jay5sb2dpY2FsSGVpZ2h0KCkgLSBzaGFwZU91
dHNpZGVJbmZvLT5sb2dpY2FsTGluZVRvcCgpOworCisgICAgLy8gRklYTUU6IEJ1ZyAxMjg2OTUg
LSBUaGUgbmV4dCB3cmFwIHBvc2l0aW9uIHNob3VsZCBiZSBwcm92aWRlZCBieSBtZW1iZXIgZnVu
Y3Rpb24gb2YgU2hhcGVzCisgICAgd2hpbGUgKHRlbXBMb2dpY2FsTGluZVRvcCA8PSBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lLT5oZWlnaHQoKSkgeworICAgICAgICBTZWdtZW50TGlzdCBzZWdt
ZW50cyA9IHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUodGVtcExvZ2lj
YWxMaW5lVG9wLCBsaW5lSGVpZ2h0KTsKKyAgICAgICAgaWYgKCFzZWdtZW50cy5zaXplKCkpIHsK
KyAgICAgICAgICAgICsrdGVtcExvZ2ljYWxMaW5lVG9wOworICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKworICAgICAgICBMYXlvdXRVbml0IGFkZGl0aW9uYWxBdmFpbGFibGVMb2dp
Y2FsV2lkdGggPSBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLT53aWR0aCgpIC0gc2VnbWVudHMu
Zmlyc3QoKS5sb2dpY2FsUmlnaHQ7CisgICAgICAgIGlmIChsYXN0RmxvYXRGcm9tUHJldmlvdXNM
aW5lLT50eXBlKCkgPT0gRmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQpCisgICAgICAgICAgICBh
ZGRpdGlvbmFsQXZhaWxhYmxlTG9naWNhbFdpZHRoID0gc2VnbWVudHMuZmlyc3QoKS5sb2dpY2Fs
TGVmdDsKKworICAgICAgICBpZiAoYWRkaXRpb25hbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA+PSBt
aW5TZWdtZW50V2lkdGgpIHsKKyAgICAgICAgICAgIHNoYXBlT3V0c2lkZUluZm8tPnVwZGF0ZUxv
Z2ljYWxMaW5lVG9wKHRlbXBMb2dpY2FsTGluZVRvcCk7CisgICAgICAgICAgICBibG9jay5zZXRM
b2dpY2FsSGVpZ2h0KHRlbXBMb2dpY2FsTGluZVRvcCArIG9mZnNldFRvRmxvYXRUb3ApOworICAg
ICAgICAgICAgd2lkdGguZXh0ZW5kQXZhaWxhYmxlV2lkdGgoYWRkaXRpb25hbEF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICArK3Rl
bXBMb2dpY2FsTGluZVRvcDsKKyAgICB9Cit9CisjZW5kaWYKKwogaW5saW5lIGJvb2wgQnJlYWtp
bmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMs
IGJvb2wmIGh5cGhlbmF0ZWQsICB1bnNpZ25lZCYgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMp
CiB7CiAgICAgaWYgKCFtX2N1cnJlbnQub2Zmc2V0KCkpCkBAIC03NzUsMTAgKzgxMiwxNCBAQCBp
bmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYg
d29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgIG1fYXBwbGllZFN0YXJ0V2lk
dGggPSB0cnVlOwogICAgICAgICAgICAgfQogCi0jaWYgRU5BQkxFKENTU19TSEFQRVMpICYmIEVO
QUJMRShDU1NfU0hBUEVfSU5TSURFKQotICAgICAgICAgICAgaWYgKG1fbGFzdEZsb2F0RnJvbVBy
ZXZpb3VzTGluZSkKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKKyAgICAgICAgICAgIGlmIChtX2xh
c3RGbG9hdEZyb21QcmV2aW91c0xpbmUpIHsKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkK
ICAgICAgICAgICAgICAgICB1cGRhdGVTZWdtZW50c0ZvclNoYXBlcyhtX2Jsb2NrLCBtX2xhc3RG
bG9hdEZyb21QcmV2aW91c0xpbmUsIHdvcmRNZWFzdXJlbWVudHMsIG1fd2lkdGgsIG1fbGluZUlu
Zm8uaXNGaXJzdExpbmUoKSk7CiAjZW5kaWYKKyAgICAgICAgICAgICAgICB1cGRhdGVMb2dpY2Fs
VG9wQW5kQXZhaWxhYmxlV2lkdGhGb3JTaGFwZU91dHNpZGUobV9ibG9jaywgbV9sYXN0RmxvYXRG
cm9tUHJldmlvdXNMaW5lLCB3b3JkTWVhc3VyZW1lbnRzLCBtX3dpZHRoLCBtX2xpbmVJbmZvLmlz
Rmlyc3RMaW5lKCkpOworICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICBhcHBseVdv
cmRTcGFjaW5nID0gd29yZFNwYWNpbmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAog
ICAgICAgICAgICAgaWYgKCFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAm
JiAhbV93aWR0aC5maXRzT25MaW5lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZVdpZHRoLmNwcAppbmRleCBlZDA3NTg2Li43MDYyNTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAKQEAgLTkzLDYgKzkzLDExIEBAIHZvaWQgTGlu
ZVdpZHRoOjp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0KQog
ICAgIGNvbXB1dGVBdmFpbGFibGVXaWR0aEZyb21MZWZ0QW5kUmlnaHQoKTsKIH0KIAordm9pZCBM
aW5lV2lkdGg6OmV4dGVuZEF2YWlsYWJsZVdpZHRoKExheW91dFVuaXQgd2lkdGgpCit7CisgICAg
bV9hdmFpbGFibGVXaWR0aCArPSB3aWR0aDsKK30KKwogdm9pZCBMaW5lV2lkdGg6OnNocmlua0F2
YWlsYWJsZVdpZHRoRm9yTmV3RmxvYXRJZk5lZWRlZChGbG9hdGluZ09iamVjdCogbmV3RmxvYXQp
CiB7CiAgICAgTGF5b3V0VW5pdCBoZWlnaHQgPSBtX2Jsb2NrLmxvZ2ljYWxIZWlnaHQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmgKaW5kZXggMjBkMjE0Zi4uNWJm
NTkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRo
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmgKQEAgLTYw
LDYgKzYwLDcgQEAgcHVibGljOgogICAgIGZsb2F0IGxvZ2ljYWxMZWZ0T2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gbV9sZWZ0OyB9CiAKICAgICB2b2lkIHVwZGF0ZUF2YWlsYWJsZVdpZHRoKExheW91
dFVuaXQgbWluaW11bUhlaWdodCA9IDApOworICAgIHZvaWQgZXh0ZW5kQXZhaWxhYmxlV2lkdGgo
TGF5b3V0VW5pdCk7CiAgICAgdm9pZCBzaHJpbmtBdmFpbGFibGVXaWR0aEZvck5ld0Zsb2F0SWZO
ZWVkZWQoRmxvYXRpbmdPYmplY3QqKTsKICAgICB2b2lkIGFkZFVuY29tbWl0dGVkV2lkdGgoZmxv
YXQgZGVsdGEpIHsgbV91bmNvbW1pdHRlZFdpZHRoICs9IGRlbHRhOyB9CiAgICAgdm9pZCBjb21t
aXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGVP
dXRzaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNp
ZGVJbmZvLmgKaW5kZXggOWJkZjFhMi4uZTJhYjRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmgKQEAgLTYyLDYgKzYyLDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gY29tcHV0ZWRTaGFwZSgpLmxpbmVPdmVybGFwc1NoYXBl
TWFyZ2luQm91bmRzKG1fc2hhcGVMaW5lVG9wLCBtX2xpbmVIZWlnaHQpOwogICAgIH0KIAorICAg
IHZvaWQgdXBkYXRlTG9naWNhbExpbmVUb3AoY29uc3QgTGF5b3V0VW5pdCYgbmV3TGluZVRvcCkg
eyBtX3NoYXBlTGluZVRvcCA9IG5ld0xpbmVUb3A7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgTGF5b3V0Qm94IHJlc29sdmVkTGF5b3V0Qm94KCkgY29uc3Qgb3ZlcnJpZGUKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224012</attachid>
            <date>2014-02-12 15:02:40 -0800</date>
            <delta_ts>2014-02-12 22:53:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>first.patch</filename>
            <type>text/plain</type>
            <size>10557</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NTliMDQwLi5lNTRhMzhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MTIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTExICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBBZGQgdGV4dCByZXBsYWNlbWVudCBhY3Rpdml0eSBzdXBwb3J0IHRvIE5TQWNjZXNzaWJpbGl0
eVNlbGVjdFRleHRXaXRoQ3JpdGVyaWFQYXJhbWV0ZXJpemVkQXR0cmlidXRlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hMzRmMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1h
ZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKy5vdmVybGF5IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAw
OworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMnB4OworICAgIGhlaWdodDogMTA2cHg7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3Zl
cmxheSIgc3R5bGU9InRvcDogMTQwcHgiPjwvZGl2PgorCis8cCBzdHlsZT0ibWFyZ2luLXRvcDog
MjgwcHg7Ij5UaGUgY29udGVudCBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlIHNoYXBl
cywgaXQgc2hvdWxkIGZpdCBpbiB0aGUgY29udGVudCBib3gsIHNvIHlvdSBzaG91bGQgc2VlIHR3
byBncmVlbiByZWN0YW5nbGVzLgorWW91IHNob3VsZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48
YSBocmVmPSdodHRwOi8vd2Via2l0Lm9yZy9iLzEyNzg1Mic+QnVnIDEyODY5MzwvYT46IFtDU1Mg
U2hhcGVzXSBBZGp1c3QgbGluZVRvcCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3Jh
cHBpbmcgbG9jYXRpb24gYXQgc2hhcGUtb3V0c2lkZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxp
bmV0b3AtYWRqdXN0bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmM1NmFmMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQu
aHRtbApAQCAtMCwwICsxLDUzIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5l
ciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOwor
ICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGZvbnQ6IDMwcHggLyAx
IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgY29sb3I6IHJlZDsKKyAgICBib3JkZXI6IDFweCBzb2xp
ZCBncmVlbjsKKyAgICBib3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47Cit9Cisuc2hhcGUtb3V0
c2lkZSB7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgxNSwgMTE3LCAxMTcsIDAuNSk7Cit9CisubGVmdEZsb2F0IHsKKyAg
ICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMHB4IDBweCwgMTAwcHggNTBweCwgMHB4
IDEwMHB4KTsKKyAgICBmbG9hdDogbGVmdDsKK30KKy5yaWdodEZsb2F0IHsKKyAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMTAwcHggMHB4LCAwcHggNTBweCwgMTAwcHggMTAwcHgp
OworICAgIGZsb2F0OiByaWdodDsKK30KKy5vdmVybGF5IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMnB4OworICAgIGhl
aWdodDogMTA2cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSBsZWZ0RmxvYXQiPjwvZGl2PiBYIFgKKzwvZGl2Pgor
PGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBweDsiPgorICAgIDxkaXYgY2xh
c3M9InNoYXBlLW91dHNpZGUgcmlnaHRGbG9hdCI+PC9kaXY+IFggWAorPC9kaXY+Cis8ZGl2IGNs
YXNzPSJvdmVybGF5Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6IDE0
MHB4Ij48L2Rpdj4KKworPHAgc3R5bGU9Im1hcmdpbi10b3A6IDI4MHB4OyI+VGhlIGNvbnRlbnQg
c2hvdWxkIHdyYXAgYXJvdW5kIHRoZSB0cmlhbmdsZSBzaGFwZXMsIGl0IHNob3VsZCBmaXQgaW4g
dGhlIGNvbnRlbnQgYm94LCBzbyB5b3Ugc2hvdWxkIHNlZSB0d28gZ3JlZW4gcmVjdGFuZ2xlcy4K
K1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+PGEgaHJlZj0naHR0cDovL3dlYmtp
dC5vcmcvYi8xMjg2OTMnPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NTIFNoYXBlc10gQWRqdXN0IGxpbmVU
b3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0aW9uIGF0IHNo
YXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFhMWYxMWUu
LmExZDQ5ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNC0wMi0xMiAgWm9sdGFu
IEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQWRq
dXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0
aW9uIGF0IHNoYXBlLW91dHNpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjg2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIHBhcnQgb2YgYSBzZXQgb2YgZml4ZXMsIHdoaWNo
IGlzIHRyYWNrZWQgdW5kZXIgYnVnICMxMjgzNDAuCisgICAgICAgIFdoZW4gd2UgZG9uJ3QgaGF2
ZSBzcGFjZSBuZXh0IHRvIHRoZSBmbG9hdGluZyBjb250YWluZXIsIGJ1dCB3ZSBoYXZlIHNwYWNl
IGluc2lkZSB0aGUgZmxvYXRpbmctY29udGFpbmVyIG5leHQKKyAgICAgICAgdG8gdGhlIGRlZmlu
ZWQgc2hhcGUtb3V0c2lkZSwgd2Ugc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSBzaGFwZS1vdXRzaWRl
LiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXNlIHdoZW4gdGhlIHRvcAorICAgICAgICBvZiB0aGUg
bGluZSBmcm9tIHRoZSAybmQgbGluZSBpbiB0aGUgYmxvY2sgbmVlZHMgdG8gYmUgYWRqdXN0ZWQg
dG8gdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBjb250ZW50IGZpdHMgbmV4dC4KKyAgICAgICAgU29s
dmluZyB0aGUgaXNzdWUgZm9yIHRoZSBmaXJzdCBsaW5lIHJlcXVpcmVzIGFkZGl0aW9uYWwgY2hh
bmdlcywgc2luY2UgZHVlIHRvIGEgZmFzdCBjb2RlLXBhdGggaWYgaXQgY2FuJ3QgZml0CisgICAg
ICAgIGF0IHRoZSBmaXJzdCBsaW5lLCBpdCdzIGp1c3QgcHVzaGVkIHVuZGVyIHRoZSBmbG9hdGlu
ZyBib3guIEkgb3BlbmVkIGEgc2VwYXJhdGUgYnVnIGZvciB0aGF0IGNhc2U6IGJ1ZyAjMTI4Njky
LgorICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgZGVhbCB3aXRoIHRoZSBjYXNlIHdoZW4gdGhl
IGxpbmUgdG9wIG5lZWRzIHRvIGJlIGFkanVzdGVkIGJldHdlZW4gMiBmbG9hdHMsIHNlcGFyYXRl
IGJ1ZworICAgICAgICBmb3IgdGhhdCBjYXNlOiBidWcgIzEyODY5Ni4KKworICAgICAgICBUZXN0
OiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvQnJlYWtp
bmdDb250ZXh0SW5saW5lSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlTG9naWNh
bFRvcEFuZEF2YWlsYWJsZVdpZHRoRm9yU2hhcGVPdXRzaWRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUv
TGluZVdpZHRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6ZXh0ZW5kQXZhaWxh
YmxlV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGVPdXRzaWRlSW5mby5oOgorCiAyMDE0LTAyLTEwICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtFTUVdW01hY10gTW92
ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbiBiYWNrIGludG8g
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMu
aAppbmRleCA3MmExOTJkLi4wYTlhNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC02
MjcsNiArNjI3LDQzIEBAIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRl
eHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluCiAgICAgaHlwaGVuYXRlZCA9
IHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKK2lubGluZSB2b2lkIHVwZGF0ZUxv
Z2ljYWxUb3BBbmRBdmFpbGFibGVXaWR0aEZvclNoYXBlT3V0c2lkZShSZW5kZXJCbG9ja0Zsb3cm
IGJsb2NrLCBjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwg
Y29uc3QgV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgTGluZVdpZHRoJiB3aWR0
aCwgYm9vbCBpc0ZpcnN0TGluZSkKK3sKKyAgICBBU1NFUlQobGFzdEZsb2F0RnJvbVByZXZpb3Vz
TGluZSk7CisKKyAgICBTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGVJbmZvID0gbGFzdEZs
b2F0RnJvbVByZXZpb3VzTGluZS0+cmVuZGVyZXIoKS5zaGFwZU91dHNpZGVJbmZvKCk7CisgICAg
aWYgKCFzaGFwZU91dHNpZGVJbmZvIHx8IHdpZHRoLmZpdHNPbkxpbmUoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0ID0gYmxvY2subGluZUhlaWdodChpc0Zp
cnN0TGluZSwgYmxvY2suaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOworICAgIExheW91
dFVuaXQgbWluU2VnbWVudFdpZHRoID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChmaXJzdFBv
c2l0aXZlV2lkdGgod29yZE1lYXN1cmVtZW50cykpOworICAgIExheW91dFVuaXQgdGVtcExvZ2lj
YWxMaW5lVG9wID0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbExpbmVUb3AoKTsKKyAgICBMYXlv
dXRVbml0IG9mZnNldFRvRmxvYXRUb3AgPSBibG9jay5sb2dpY2FsSGVpZ2h0KCkgLSBzaGFwZU91
dHNpZGVJbmZvLT5sb2dpY2FsTGluZVRvcCgpOworCisgICAgLy8gRklYTUU6IEJ1ZyAxMjg2OTUg
LSBUaGUgbmV4dCB3cmFwIHBvc2l0aW9uIHNob3VsZCBiZSBwcm92aWRlZCBieSBtZW1iZXIgZnVu
Y3Rpb24gb2YgU2hhcGVzCisgICAgd2hpbGUgKHRlbXBMb2dpY2FsTGluZVRvcCA8PSBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lLT5oZWlnaHQoKSkgeworICAgICAgICBTZWdtZW50TGlzdCBzZWdt
ZW50cyA9IHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUodGVtcExvZ2lj
YWxMaW5lVG9wLCBsaW5lSGVpZ2h0KTsKKyAgICAgICAgaWYgKCFzZWdtZW50cy5zaXplKCkpIHsK
KyAgICAgICAgICAgICsrdGVtcExvZ2ljYWxMaW5lVG9wOworICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKworICAgICAgICBMYXlvdXRVbml0IGFkZGl0aW9uYWxBdmFpbGFibGVMb2dp
Y2FsV2lkdGggPSBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLT53aWR0aCgpIC0gc2VnbWVudHMu
Zmlyc3QoKS5sb2dpY2FsUmlnaHQ7CisgICAgICAgIGlmIChsYXN0RmxvYXRGcm9tUHJldmlvdXNM
aW5lLT50eXBlKCkgPT0gRmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQpCisgICAgICAgICAgICBh
ZGRpdGlvbmFsQXZhaWxhYmxlTG9naWNhbFdpZHRoID0gc2VnbWVudHMuZmlyc3QoKS5sb2dpY2Fs
TGVmdDsKKworICAgICAgICBpZiAoYWRkaXRpb25hbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA+PSBt
aW5TZWdtZW50V2lkdGgpIHsKKyAgICAgICAgICAgIHNoYXBlT3V0c2lkZUluZm8tPnVwZGF0ZUxv
Z2ljYWxMaW5lVG9wKHRlbXBMb2dpY2FsTGluZVRvcCk7CisgICAgICAgICAgICBibG9jay5zZXRM
b2dpY2FsSGVpZ2h0KHRlbXBMb2dpY2FsTGluZVRvcCArIG9mZnNldFRvRmxvYXRUb3ApOworICAg
ICAgICAgICAgd2lkdGguZXh0ZW5kQXZhaWxhYmxlV2lkdGgoYWRkaXRpb25hbEF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICArK3Rl
bXBMb2dpY2FsTGluZVRvcDsKKyAgICB9Cit9CisjZW5kaWYKKwogaW5saW5lIGJvb2wgQnJlYWtp
bmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMs
IGJvb2wmIGh5cGhlbmF0ZWQsICB1bnNpZ25lZCYgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMp
CiB7CiAgICAgaWYgKCFtX2N1cnJlbnQub2Zmc2V0KCkpCkBAIC03NzUsMTAgKzgxMiwxNCBAQCBp
bmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYg
d29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgIG1fYXBwbGllZFN0YXJ0V2lk
dGggPSB0cnVlOwogICAgICAgICAgICAgfQogCi0jaWYgRU5BQkxFKENTU19TSEFQRVMpICYmIEVO
QUJMRShDU1NfU0hBUEVfSU5TSURFKQotICAgICAgICAgICAgaWYgKG1fbGFzdEZsb2F0RnJvbVBy
ZXZpb3VzTGluZSkKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKKyAgICAgICAgICAgIGlmIChtX2xh
c3RGbG9hdEZyb21QcmV2aW91c0xpbmUpIHsKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkK
ICAgICAgICAgICAgICAgICB1cGRhdGVTZWdtZW50c0ZvclNoYXBlcyhtX2Jsb2NrLCBtX2xhc3RG
bG9hdEZyb21QcmV2aW91c0xpbmUsIHdvcmRNZWFzdXJlbWVudHMsIG1fd2lkdGgsIG1fbGluZUlu
Zm8uaXNGaXJzdExpbmUoKSk7CiAjZW5kaWYKKyAgICAgICAgICAgICAgICB1cGRhdGVMb2dpY2Fs
VG9wQW5kQXZhaWxhYmxlV2lkdGhGb3JTaGFwZU91dHNpZGUobV9ibG9jaywgbV9sYXN0RmxvYXRG
cm9tUHJldmlvdXNMaW5lLCB3b3JkTWVhc3VyZW1lbnRzLCBtX3dpZHRoLCBtX2xpbmVJbmZvLmlz
Rmlyc3RMaW5lKCkpOworICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICBhcHBseVdv
cmRTcGFjaW5nID0gd29yZFNwYWNpbmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAog
ICAgICAgICAgICAgaWYgKCFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAm
JiAhbV93aWR0aC5maXRzT25MaW5lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZVdpZHRoLmNwcAppbmRleCBlZDA3NTg2Li41MzU1NTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAKQEAgLTkzLDYgKzkzLDExIEBAIHZvaWQgTGlu
ZVdpZHRoOjp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0KQog
ICAgIGNvbXB1dGVBdmFpbGFibGVXaWR0aEZyb21MZWZ0QW5kUmlnaHQoKTsKIH0KIAordm9pZCBM
aW5lV2lkdGg6OmV4dGVuZEF2YWlsYWJsZVdpZHRoKGNvbnN0IExheW91dFVuaXQmIHdpZHRoKQor
eworICAgIG1fYXZhaWxhYmxlV2lkdGggKz0gd2lkdGg7Cit9CisKIHZvaWQgTGluZVdpZHRoOjpz
aHJpbmtBdmFpbGFibGVXaWR0aEZvck5ld0Zsb2F0SWZOZWVkZWQoRmxvYXRpbmdPYmplY3QqIG5l
d0Zsb2F0KQogewogICAgIExheW91dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay5sb2dpY2FsSGVpZ2h0
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGgu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCmluZGV4IDIwZDIx
NGYuLmE1MjM1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xp
bmVXaWR0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5o
CkBAIC02MCw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICBmbG9hdCBsb2dpY2FsTGVmdE9mZnNldCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGVmdDsgfQogCiAgICAgdm9pZCB1cGRhdGVBdmFpbGFibGVXaWR0
aChMYXlvdXRVbml0IG1pbmltdW1IZWlnaHQgPSAwKTsKKyAgICB2b2lkIGV4dGVuZEF2YWlsYWJs
ZVdpZHRoKGNvbnN0IExheW91dFVuaXQmKTsKICAgICB2b2lkIHNocmlua0F2YWlsYWJsZVdpZHRo
Rm9yTmV3RmxvYXRJZk5lZWRlZChGbG9hdGluZ09iamVjdCopOwogICAgIHZvaWQgYWRkVW5jb21t
aXR0ZWRXaWR0aChmbG9hdCBkZWx0YSkgeyBtX3VuY29tbWl0dGVkV2lkdGggKz0gZGVsdGE7IH0K
ICAgICB2b2lkIGNvbW1pdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1NoYXBlT3V0c2lkZUluZm8uaAppbmRleCA5YmRmMWEyLi5lMmFiNGQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uaApAQCAt
NjIsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBjb21wdXRlZFNoYXBlKCkubGlu
ZU92ZXJsYXBzU2hhcGVNYXJnaW5Cb3VuZHMobV9zaGFwZUxpbmVUb3AsIG1fbGluZUhlaWdodCk7
CiAgICAgfQogCisgICAgdm9pZCB1cGRhdGVMb2dpY2FsTGluZVRvcChjb25zdCBMYXlvdXRVbml0
JiBuZXdMaW5lVG9wKSB7IG1fc2hhcGVMaW5lVG9wID0gbmV3TGluZVRvcDsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCBMYXlvdXRCb3ggcmVzb2x2ZWRMYXlvdXRCb3goKSBjb25zdCBvdmVy
cmlkZQogICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224048</attachid>
            <date>2014-02-12 22:53:34 -0800</date>
            <delta_ts>2014-02-20 09:50:58 -0800</delta_ts>
            <desc>update patch after r164006</desc>
            <filename>first.patch</filename>
            <type>text/plain</type>
            <size>10493</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNmJlMDEwLi5kMDc4YmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MTIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVwZGF0ZSB0
ZXN0IGV4cGVjdGF0aW9ucyBmb3IgV2luZG93cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0
b3AtYWRqdXN0bWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM0ZjE5
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisub3Zlcmxh
eSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOwor
ICAgIHdpZHRoOiAxMDJweDsKKyAgICBoZWlnaHQ6IDEwNnB4OworICAgIGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGNsYXNzPSJvdmVybGF5Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6
IDE0MHB4Ij48L2Rpdj4KKworPHAgc3R5bGU9Im1hcmdpbi10b3A6IDI4MHB4OyI+VGhlIGNvbnRl
bnQgc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSB0cmlhbmdsZSBzaGFwZXMsIGl0IHNob3VsZCBmaXQg
aW4gdGhlIGNvbnRlbnQgYm94LCBzbyB5b3Ugc2hvdWxkIHNlZSB0d28gZ3JlZW4gcmVjdGFuZ2xl
cy4KK1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+PGEgaHJlZj0naHR0cDovL3dl
YmtpdC5vcmcvYi8xMjc4NTInPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NTIFNoYXBlc10gQWRqdXN0IGxp
bmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0aW9uIGF0
IHNoYXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTZhZjIzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwKQEAgLTAsMCArMSw1
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5jb250YWluZXIgeworICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMTAwcHg7
CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBmb250OiAzMHB4IC8gMSBBaGVtLCBzYW5zLXNlcmlm
OworICAgIGNvbG9yOiByZWQ7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47CisgICAgYm9y
ZGVyLXRvcDogNXB4IHNvbGlkIGdyZWVuOworfQorLnNoYXBlLW91dHNpZGUgeworICAgIHdpZHRo
OiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEo
MTUsIDExNywgMTE3LCAwLjUpOworfQorLmxlZnRGbG9hdCB7CisgICAgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBwb2x5Z29uKDBweCAwcHgsIDEwMHB4IDUwcHgsIDBweCAxMDBweCk7CisgICAgZmxv
YXQ6IGxlZnQ7Cit9CisucmlnaHRGbG9hdCB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBw
b2x5Z29uKDEwMHB4IDBweCwgMHB4IDUwcHgsIDEwMHB4IDEwMHB4KTsKKyAgICBmbG9hdDogcmln
aHQ7Cit9Cisub3ZlcmxheSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsK
KyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAxMDJweDsKKyAgICBoZWlnaHQ6IDEwNnB4OworICAg
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InNoYXBl
LW91dHNpZGUgbGVmdEZsb2F0Ij48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRh
aW5lciIgc3R5bGU9InRvcDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRl
IHJpZ2h0RmxvYXQiPjwvZGl2PiBYIFgKKzwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0idG9wOiAxNDBweCI+PC9kaXY+CisKKzxw
IHN0eWxlPSJtYXJnaW4tdG9wOiAyODBweDsiPlRoZSBjb250ZW50IHNob3VsZCB3cmFwIGFyb3Vu
ZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBpdCBzaG91bGQgZml0IGluIHRoZSBjb250ZW50IGJveCwg
c28geW91IHNob3VsZCBzZWUgdHdvIGdyZWVuIHJlY3RhbmdsZXMuCitZb3Ugc2hvdWxkbid0IHNl
ZSBhbnkgcmVkLjwvcD4KKzxwPjxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnL2IvMTI4NjkzJz5C
dWcgMTI4NjkzPC9hPjogW0NTUyBTaGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRo
ZSBuZXh0IGF2YWlsYWJsZSB3cmFwcGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlczwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlYzc0MmE1Li45MTRhODY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTQtMDItMTIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFu
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBTaGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0
aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFwcGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRz
aWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBpcyBwYXJ0IG9mIGEgc2V0IG9mIGZpeGVzLCB3aGljaCBpcyB0cmFja2VkIHVuZGVy
IGJ1ZyAjMTI4MzQwLgorICAgICAgICBXaGVuIHdlIGRvbid0IGhhdmUgc3BhY2UgbmV4dCB0byB0
aGUgZmxvYXRpbmcgY29udGFpbmVyLCBidXQgd2UgaGF2ZSBzcGFjZSBpbnNpZGUgdGhlIGZsb2F0
aW5nLWNvbnRhaW5lciBuZXh0CisgICAgICAgIHRvIHRoZSBkZWZpbmVkIHNoYXBlLW91dHNpZGUs
IHdlIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgc2hhcGUtb3V0c2lkZS4gVGhpcyBwYXRjaCBmaXhl
cyB0aGUgY2FzZSB3aGVuIHRoZSB0b3AKKyAgICAgICAgb2YgdGhlIGxpbmUgZnJvbSB0aGUgMm5k
IGxpbmUgaW4gdGhlIGJsb2NrIG5lZWRzIHRvIGJlIGFkanVzdGVkIHRvIHRoZSBwb3NpdGlvbiB3
aGVyZSB0aGUgY29udGVudCBmaXRzIG5leHQuCisgICAgICAgIER1ZSB0byBzb21lIG9wdGltYWxp
emF0aW9ucywgc29sdmluZyB0aGUgaXNzdWUgZm9yIHRoZSBmaXJzdCBsaW5lIHJlcXVpcmVzIGFk
ZGl0aW9uYWwgY2hhbmdlcywgaWYgaXQgY2FuJ3QgZml0CisgICAgICAgIGF0IHRoZSB0aGUgdG9w
IG9mIHRoZSBzaGFwZS4gVGhlIGNvbnRlbnQgaXQncyBwdXNoZWQgdW5kZXIgdGhlIGZsb2F0aW5n
IGNvbnRhaW5lci4gSSBvcGVuZWQgYSBzZXBhcmF0ZSBidWcgZm9yCisgICAgICAgIHRoYXQgY2Fz
ZTogYnVnICMxMjg2OTIuIFRoaXMgcGF0Y2ggZG9lc24ndCBkZWFsIHdpdGggdGhlIGNhc2Ugd2hl
biB0aGUgbGluZSB0b3AgbmVlZHMgdG8gYmUgYWRqdXN0ZWQgYmV0d2VlbgorICAgICAgICB0d28g
ZmxvYXRzLCBzbyBJIG9wZW5lZCBhIHNlcGFyYXRlIGJ1ZyBmb3IgdGhhdCBjYXNlOiAjMTI4Njk2
LgorCisgICAgICAgIFRlc3Q6IGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmg6CisgICAgICAgIChXZWJD
b3JlOjp1cGRhdGVMb2dpY2FsVG9wQW5kQXZhaWxhYmxlV2lkdGhGb3JTaGFwZU91dHNpZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGluZVdp
ZHRoOjpleHRlbmRBdmFpbGFibGVXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvTGlu
ZVdpZHRoLmg6CisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmg6
CisKIDIwMTQtMDItMTEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgRG9uJ3QgY3Jhc2ggd2hlbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0
aW9uIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVh
a2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5kZXggNzJhMTkyZC4uYTJhZTJiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0
SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFr
aW5nQ29udGV4dElubGluZUhlYWRlcnMuaApAQCAtNjI3LDYgKzYyNyw0MyBAQCBpbmxpbmUgdm9p
ZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25z
dCBBdG9taWNTdHJpbgogICAgIGh5cGhlbmF0ZWQgPSB0cnVlOwogfQogCisjaWYgRU5BQkxFKENT
U19TSEFQRVMpCitpbmxpbmUgdm9pZCB1cGRhdGVMb2dpY2FsVG9wQW5kQXZhaWxhYmxlV2lkdGhG
b3JTaGFwZU91dHNpZGUoUmVuZGVyQmxvY2tGbG93JiBibG9jaywgY29uc3QgRmxvYXRpbmdPYmpl
Y3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUsIGNvbnN0IFdvcmRNZWFzdXJlbWVudHMmIHdv
cmRNZWFzdXJlbWVudHMsIExpbmVXaWR0aCYgd2lkdGgsIGJvb2wgaXNGaXJzdExpbmUpCit7Cisg
ICAgQVNTRVJUKGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOworCisgICAgU2hhcGVPdXRzaWRl
SW5mbyogc2hhcGVPdXRzaWRlSW5mbyA9IGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUtPnJlbmRl
cmVyKCkuc2hhcGVPdXRzaWRlSW5mbygpOworICAgIGlmICghc2hhcGVPdXRzaWRlSW5mbyB8fCB3
aWR0aC5maXRzT25MaW5lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVuaXQgbGlu
ZUhlaWdodCA9IGJsb2NrLmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25P
ZkludGVyaW9yTGluZUJveGVzKTsKKyAgICBMYXlvdXRVbml0IG1pblNlZ21lbnRXaWR0aCA9IExh
eW91dFVuaXQ6OmZyb21GbG9hdENlaWwoZmlyc3RQb3NpdGl2ZVdpZHRoKHdvcmRNZWFzdXJlbWVu
dHMpKTsKKyAgICBMYXlvdXRVbml0IHRlbXBMb2dpY2FsTGluZVRvcCA9IHNoYXBlT3V0c2lkZUlu
Zm8tPmxvZ2ljYWxMaW5lVG9wKCk7CisgICAgTGF5b3V0VW5pdCBvZmZzZXRUb0Zsb2F0VG9wID0g
YmxvY2subG9naWNhbEhlaWdodCgpIC0gc2hhcGVPdXRzaWRlSW5mby0+bG9naWNhbExpbmVUb3Ao
KTsKKworICAgIC8vIEZJWE1FOiBCdWcgMTI4Njk1IC0gVGhlIG5leHQgd3JhcCBwb3NpdGlvbiBz
aG91bGQgYmUgcHJvdmlkZWQgYnkgbWVtYmVyIGZ1bmN0aW9uIG9mIFNoYXBlcworICAgIHdoaWxl
ICh0ZW1wTG9naWNhbExpbmVUb3AgPD0gbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZS0+aGVpZ2h0
KCkpIHsKKyAgICAgICAgU2VnbWVudExpc3Qgc2VnbWVudHMgPSBzaGFwZU91dHNpZGVJbmZvLT5j
b21wdXRlU2VnbWVudHNGb3JMaW5lKHRlbXBMb2dpY2FsTGluZVRvcCwgbGluZUhlaWdodCk7Cisg
ICAgICAgIGlmICghc2VnbWVudHMuc2l6ZSgpKSB7CisgICAgICAgICAgICArK3RlbXBMb2dpY2Fs
TGluZVRvcDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgTGF5
b3V0VW5pdCBhZGRpdGlvbmFsQXZhaWxhYmxlTG9naWNhbFdpZHRoID0gbGFzdEZsb2F0RnJvbVBy
ZXZpb3VzTGluZS0+d2lkdGgoKSAtIHNlZ21lbnRzLmZpcnN0KCkubG9naWNhbFJpZ2h0OworICAg
ICAgICBpZiAobGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZS0+dHlwZSgpID09IEZsb2F0aW5nT2Jq
ZWN0OjpGbG9hdFJpZ2h0KQorICAgICAgICAgICAgYWRkaXRpb25hbEF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCA9IHNlZ21lbnRzLmZpcnN0KCkubG9naWNhbExlZnQ7CisKKyAgICAgICAgaWYgKGFkZGl0
aW9uYWxBdmFpbGFibGVMb2dpY2FsV2lkdGggPj0gbWluU2VnbWVudFdpZHRoKSB7CisgICAgICAg
ICAgICBzaGFwZU91dHNpZGVJbmZvLT51cGRhdGVSZWZlcmVuY2VCb3hMaW5lVG9wKHRlbXBMb2dp
Y2FsTGluZVRvcCk7CisgICAgICAgICAgICBibG9jay5zZXRMb2dpY2FsSGVpZ2h0KHRlbXBMb2dp
Y2FsTGluZVRvcCArIG9mZnNldFRvRmxvYXRUb3ApOworICAgICAgICAgICAgd2lkdGguZXh0ZW5k
QXZhaWxhYmxlV2lkdGgoYWRkaXRpb25hbEF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICArK3RlbXBMb2dpY2FsTGluZVRvcDsKKyAg
ICB9Cit9CisjZW5kaWYKKwogaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0
KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wmIGh5cGhlbmF0ZWQsICB1
bnNpZ25lZCYgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMpCiB7CiAgICAgaWYgKCFtX2N1cnJl
bnQub2Zmc2V0KCkpCkBAIC03NzUsMTAgKzgxMiwxNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0Nv
bnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9v
bAogICAgICAgICAgICAgICAgIG1fYXBwbGllZFN0YXJ0V2lkdGggPSB0cnVlOwogICAgICAgICAg
ICAgfQogCi0jaWYgRU5BQkxFKENTU19TSEFQRVMpICYmIEVOQUJMRShDU1NfU0hBUEVfSU5TSURF
KQotICAgICAgICAgICAgaWYgKG1fbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSkKKyNpZiBFTkFC
TEUoQ1NTX1NIQVBFUykKKyAgICAgICAgICAgIGlmIChtX2xhc3RGbG9hdEZyb21QcmV2aW91c0xp
bmUpIHsKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkKICAgICAgICAgICAgICAgICB1cGRh
dGVTZWdtZW50c0ZvclNoYXBlcyhtX2Jsb2NrLCBtX2xhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUs
IHdvcmRNZWFzdXJlbWVudHMsIG1fd2lkdGgsIG1fbGluZUluZm8uaXNGaXJzdExpbmUoKSk7CiAj
ZW5kaWYKKyAgICAgICAgICAgICAgICB1cGRhdGVMb2dpY2FsVG9wQW5kQXZhaWxhYmxlV2lkdGhG
b3JTaGFwZU91dHNpZGUobV9ibG9jaywgbV9sYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCB3b3Jk
TWVhc3VyZW1lbnRzLCBtX3dpZHRoLCBtX2xpbmVJbmZvLmlzRmlyc3RMaW5lKCkpOworICAgICAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICBhcHBseVdvcmRTcGFjaW5nID0gd29yZFNwYWNp
bmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAogICAgICAgICAgICAgaWYgKCFtX3dp
ZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAmJiAhbV93aWR0aC5maXRzT25MaW5l
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGgu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmNwcAppbmRleCBl
ZDA3NTg2Li41MzU1NTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9MaW5lV2lkdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVX
aWR0aC5jcHAKQEAgLTkzLDYgKzkzLDExIEBAIHZvaWQgTGluZVdpZHRoOjp1cGRhdGVBdmFpbGFi
bGVXaWR0aChMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0KQogICAgIGNvbXB1dGVBdmFpbGFibGVX
aWR0aEZyb21MZWZ0QW5kUmlnaHQoKTsKIH0KIAordm9pZCBMaW5lV2lkdGg6OmV4dGVuZEF2YWls
YWJsZVdpZHRoKGNvbnN0IExheW91dFVuaXQmIHdpZHRoKQoreworICAgIG1fYXZhaWxhYmxlV2lk
dGggKz0gd2lkdGg7Cit9CisKIHZvaWQgTGluZVdpZHRoOjpzaHJpbmtBdmFpbGFibGVXaWR0aEZv
ck5ld0Zsb2F0SWZOZWVkZWQoRmxvYXRpbmdPYmplY3QqIG5ld0Zsb2F0KQogewogICAgIExheW91
dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay5sb2dpY2FsSGVpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCmluZGV4IDIwZDIxNGYuLmE1MjM1ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCkBAIC02MCw2ICs2MCw3IEBAIHB1
YmxpYzoKICAgICBmbG9hdCBsb2dpY2FsTGVmdE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVm
dDsgfQogCiAgICAgdm9pZCB1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IG1pbmltdW1I
ZWlnaHQgPSAwKTsKKyAgICB2b2lkIGV4dGVuZEF2YWlsYWJsZVdpZHRoKGNvbnN0IExheW91dFVu
aXQmKTsKICAgICB2b2lkIHNocmlua0F2YWlsYWJsZVdpZHRoRm9yTmV3RmxvYXRJZk5lZWRlZChG
bG9hdGluZ09iamVjdCopOwogICAgIHZvaWQgYWRkVW5jb21taXR0ZWRXaWR0aChmbG9hdCBkZWx0
YSkgeyBtX3VuY29tbWl0dGVkV2lkdGggKz0gZGVsdGE7IH0KICAgICB2b2lkIGNvbW1pdCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJ
bmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8u
aAppbmRleCBhZGFhYzFlLi5lNzhmNDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uaApAQCAtNjIsNiArNjIsOCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBjb21wdXRlZFNoYXBlKCkubGluZU92ZXJsYXBzU2hhcGVNYXJnaW5C
b3VuZHMobV9yZWZlcmVuY2VCb3hMaW5lVG9wLCBtX2xpbmVIZWlnaHQpOwogICAgIH0KIAorICAg
IHZvaWQgdXBkYXRlUmVmZXJlbmNlQm94TGluZVRvcChjb25zdCBMYXlvdXRVbml0JiBuZXdMaW5l
VG9wKSB7IG1fcmVmZXJlbmNlQm94TGluZVRvcCA9IG5ld0xpbmVUb3A7IH0KKwogcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgTGF5b3V0Qm94IHJlZmVyZW5jZUJveCgpIGNvbnN0IG92ZXJyaWRlCiAg
ICAgewo=
</data>
<flag name="review"
          id="248133"
          type_id="1"
          status="-"
          setter="bjonesbe"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224765</attachid>
            <date>2014-02-20 09:50:58 -0800</date>
            <delta_ts>2014-02-20 13:14:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>lineadjustshapeoutside.patch</filename>
            <type>text/plain</type>
            <size>13303</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYjJkOTY1Li41ZmUwYTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRv
d3MgZ2FyZGVuaW5nOiBBZGQgYW5ub3RhdGlvbnMgZm9yIERlYnVnIGNhc2UuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxp
bmV0b3AtYWRqdXN0bWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjcwYzY0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFk
anVzdG1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorLm92ZXJsYXkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7
CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMTAycHg7CisgICAgaGVpZ2h0OiAxMDZweDsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ib3ZlcmxheSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJvdmVy
bGF5IiBzdHlsZT0ibGVmdDogMTQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5
bGU9InRvcDogMTQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDog
MTQwcHg7IGxlZnQ6IDE0MHB4OyI+PC9kaXY+CisKKzxwIHN0eWxlPSJtYXJnaW4tdG9wOiAyODBw
eDsiPlRoZSBjb250ZW50IHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBp
dCBzaG91bGQgZml0IGluIHRoZSBjb250ZW50IGJveCwgc28geW91IHNob3VsZCBzZWUgZm91ciBn
cmVlbiByZWN0YW5nbGVzLgorWW91IHNob3VsZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48YSBo
cmVmPSdodHRwOi8vd2Via2l0Lm9yZy9iLzEyNzg1Mic+QnVnIDEyODY5MzwvYT46IFtDU1MgU2hh
cGVzXSBBZGp1c3QgbGluZVRvcCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBp
bmcgbG9jYXRpb24gYXQgc2hhcGUtb3V0c2lkZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0
b3AtYWRqdXN0bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3
ZTExOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRt
bApAQCAtMCwwICsxLDY5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7
CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAg
IHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGZvbnQ6IDMwcHggLyAxIEFo
ZW0sIHNhbnMtc2VyaWY7CisgICAgY29sb3I6IHJlZDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBn
cmVlbjsKKyAgICBib3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47Cit9Cisuc2hhcGUtb3V0c2lk
ZSB7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmdiYSgxNSwgMTE3LCAxMTcsIDAuNSk7Cit9CisubGVmdEZsb2F0VHJpYW5nbGUg
eworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAxMDBweCA1MHB4
LCAwcHggMTAwcHgpOworICAgIGZsb2F0OiBsZWZ0OworfQorLnJpZ2h0RmxvYXRUcmlhbmdsZSB7
CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMHB4IDBweCwgMHB4IDUwcHgs
IDEwMHB4IDEwMHB4KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisubGVmdEZsb2F0VXBwZXJMZWZ0
VGlyYW5nbGUgeworICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAx
MDBweCAwcHgsIDBweCAxMDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisucmlnaHRGbG9hdFVw
cGVyUmlnaHRUcmlhbmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEw
MHB4IDBweCwgMHB4IDBweCwgMTAwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5v
dmVybGF5IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6
IDA7CisgICAgd2lkdGg6IDEwMnB4OworICAgIGhlaWdodDogMTA2cHg7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSBs
ZWZ0RmxvYXRUcmlhbmdsZSI+PC9kaXY+IFggWAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiIHN0eWxlPSJsZWZ0OiAxNDBweDsiPgorICAgIDxkaXYgY2xhc3M9InNoYXBlLW91dHNpZGUg
cmlnaHRGbG9hdFRyaWFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRh
aW5lciIgc3R5bGU9InRvcDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRl
IGxlZnRGbG9hdFVwcGVyTGVmdFRpcmFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xh
c3M9ImNvbnRhaW5lciIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6IDE0MHB4OyI+CisgICAgPGRp
diBjbGFzcz0ic2hhcGUtb3V0c2lkZSByaWdodEZsb2F0VXBwZXJSaWdodFRyaWFuZ2xlIj48L2Rp
dj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiPjwvZGl2PgorPGRpdiBjbGFzcz0i
b3ZlcmxheSIgc3R5bGU9ImxlZnQ6IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXki
IHN0eWxlPSJ0b3A6IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0
b3A6IDE0MHB4OyBsZWZ0OiAxNDBweDsiPjwvZGl2PgorCis8cCBzdHlsZT0ibWFyZ2luLXRvcDog
MjgwcHg7Ij5UaGUgY29udGVudCBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlIHNoYXBl
cywgaXQgc2hvdWxkIGZpdCBpbiB0aGUgY29udGVudCBib3gsIHNvIHlvdSBzaG91bGQgc2VlIGZv
dXIgZ3JlZW4gcmVjdGFuZ2xlcy4KK1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+
PGEgaHJlZj0naHR0cDovL3dlYmtpdC5vcmcvYi8xMjg2OTMnPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NT
IFNoYXBlc10gQWRqdXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdy
YXBwaW5nIGxvY2F0aW9uIGF0IHNoYXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDhkY2FkODEuLmEzY2Q4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBA
QAorMjAxNC0wMi0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBbQ1NTIFNoYXBlc10gQWRqdXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZh
aWxhYmxlIHdyYXBwaW5nIGxvY2F0aW9uIGF0IHNoYXBlLW91dHNpZGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg2OTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIGRvbid0IGhhdmUgc3Bh
Y2UgbmV4dCB0byB0aGUgZmxvYXRpbmcgY29udGFpbmVyLCBidXQgd2UgaGF2ZSBzcGFjZSBpbnNp
ZGUgdGhlIGZsb2F0aW5nLWNvbnRhaW5lciBuZXh0CisgICAgICAgIHRvIHRoZSBkZWZpbmVkIHNo
YXBlLW91dHNpZGUsIHdlIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgc2hhcGUtb3V0c2lkZS4gVGhp
cyBwYXRjaCBmaXhlcyB0aGUgYmVoYXZpb3IgYm90aCBmb3IKKyAgICAgICAgY2FzZXMgd2hlbiB0
aGVyZSBpcyBubyBzcGFjZSB0byBmaXQgYXQgdGhlIGZpcnN0IGxpbmUsIGFuZCBmb3IgdGhlIGFk
ZGl0aW9uYWwgbGluZXMgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFwZXMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0
bWwKKworICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRl
cnMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmNvbW1pdEFuZFVwZGF0ZUxpbmVCcmVh
a0lmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6YXZhaWxhYmxlV2lkdGhBdE9mZnNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpMaW5lV2lkdGg6OnVwZGF0ZUxpbmVEaW1lbnNpb24pOiBBZGRlZCBuZXcgaGVscGVyLgorICAg
ICAgICAoV2ViQ29yZTo6aXNXaG9sZUxpbmVGaXQpOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAg
ICAoV2ViQ29yZTo6TGluZVdpZHRoOjp3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKTogQWRkZWQgbmV3
IGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMpOiBB
ZGQgb3B0aW9uYWwgcGFyYW1ldGVyIGZvciB0aGUgZnVuY3Rpb24uCisgICAgICAgICogcmVuZGVy
aW5nL2xpbmUvTGluZVdpZHRoLmg6CisKIDIwMTQtMDItMTggIERhbiBCZXJuc3RlaW4gIDxtaXR6
QGFwcGxlLmNvbT4KIAogICAgICAgICBQTEFURk9STShNQUMpIGlzIHRydWUgd2hlbiBidWlsZGlu
ZyBmb3IgaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVh
a2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5kZXggNzJhMTkyZC4uNzRjOWU1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0
SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFr
aW5nQ29udGV4dElubGluZUhlYWRlcnMuaApAQCAtNzgxLDggKzc4MSwxNCBAQCBpbmxpbmUgYm9v
bCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1
cmVtZW50cywgYm9vbAogI2VuZGlmCiAgICAgICAgICAgICBhcHBseVdvcmRTcGFjaW5nID0gd29y
ZFNwYWNpbmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAotICAgICAgICAgICAgaWYg
KCFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAmJiAhbV93aWR0aC5maXRz
T25MaW5lKCkpCisgICAgICAgICAgICBpZiAoIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSAmJiBt
X2F1dG9XcmFwICYmICFtX3dpZHRoLmZpdHNPbkxpbmUoKSkgeworI2lmIEVOQUJMRShDU1NfU0hB
UEVTKQorICAgICAgICAgICAgICAgIExheW91dFVuaXQgbGluZUhlaWdodCA9IG1fYmxvY2subGlu
ZUhlaWdodChtX2xpbmVJbmZvLmlzRmlyc3RMaW5lKCksIG1fYmxvY2suaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50
ZXJpb3JMaW5lQm94ZXMpOworICAgICAgICAgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMo
bGluZUhlaWdodCk7CisjZWxzZQogICAgICAgICAgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9h
dHMoKTsKKyNlbmRpZgorICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAobV9hdXRvV3Jh
cCB8fCBicmVha1dvcmRzKSB7CiAgICAgICAgICAgICAgICAgLy8gSWYgd2UgYnJlYWsgb25seSBh
ZnRlciB3aGl0ZS1zcGFjZSwgY29uc2lkZXIgdGhlIGN1cnJlbnQgY2hhcmFjdGVyCkBAIC0xMDI4
LDggKzEwMzQsMTIgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0Ojpjb21taXRBbmRVcGRh
dGVMaW5lQnJlYWtJZk5lZWRlZCgpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
I2lmIEVOQUJMRShDU1NfU0hBUEVTKQorICAgICAgICBMYXlvdXRVbml0IGxpbmVIZWlnaHQgPSBt
X2Jsb2NrLmxpbmVIZWlnaHQobV9saW5lSW5mby5pc0ZpcnN0TGluZSgpLCBtX2Jsb2NrLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9z
aXRpb25PZkludGVyaW9yTGluZUJveGVzKTsKKyAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0
cyhsaW5lSGVpZ2h0KTsKKyNlbHNlCiAgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMoKTsK
LQorI2VuZGlmCiAgICAgICAgIC8vIHx3aWR0aHwgbWF5IGhhdmUgYmVlbiBhZGp1c3RlZCBiZWNh
dXNlIHdlIGdvdCBzaG92ZWQgZG93biBwYXN0IGEgZmxvYXQgKHRodXMKICAgICAgICAgLy8gZ2l2
aW5nIHVzIG1vcmUgcm9vbSksIHNvIHdlIG5lZWQgdG8gcmV0ZXN0LCBhbmQgb25seSBqdW1wIHRv
CiAgICAgICAgIC8vIHRoZSBlbmQgbGFiZWwgaWYgd2Ugc3RpbGwgZG9uJ3QgZml0IG9uIHRoZSBs
aW5lLiAtZHdoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5l
V2lkdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmNwcApp
bmRleCBlZDA3NTg2Li42OWNhNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9MaW5lV2lkdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5l
L0xpbmVXaWR0aC5jcHAKQEAgLTE1OCw3ICsxNTgsNTggQEAgdm9pZCBMaW5lV2lkdGg6OmFwcGx5
T3ZlcmhhbmcoUmVuZGVyUnVieVJ1biogcnVieVJ1biwgUmVuZGVyT2JqZWN0KiBzdGFydFJlbmRl
cmUKICAgICBtX292ZXJoYW5nV2lkdGggKz0gc3RhcnRPdmVyaGFuZyArIGVuZE92ZXJoYW5nOwog
fQogCi12b2lkIExpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMoKQoraW5saW5lIHN0YXRpYyBmbG9h
dCBhdmFpbGFibGVXaWR0aEF0T2Zmc2V0KGNvbnN0IFJlbmRlckJsb2NrJiBibG9jaywgY29uc3Qg
TGF5b3V0VW5pdCYgb2Zmc2V0LCBib29sIHNob3VsZEluZGVudFRleHQpCit7CisgICAgZmxvYXQg
bmV3TGluZUxlZnQgPSBibG9jay5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUob2Zmc2V0LCBzaG91
bGRJbmRlbnRUZXh0KTsKKyAgICBmbG9hdCBuZXdMaW5lUmlnaHQgPSBibG9jay5sb2dpY2FsUmln
aHRPZmZzZXRGb3JMaW5lKG9mZnNldCwgc2hvdWxkSW5kZW50VGV4dCk7CisgICAgcmV0dXJuIHN0
ZDo6bWF4KDAuMGYsIG5ld0xpbmVSaWdodCAtIG5ld0xpbmVMZWZ0KTsKK30KKworI2lmIEVOQUJM
RShDU1NfU0hBUEVTKQordm9pZCBMaW5lV2lkdGg6OnVwZGF0ZUxpbmVEaW1lbnNpb24oTGF5b3V0
VW5pdCBuZXdMaW5lVG9wLCBMYXlvdXRVbml0IG5ld0xpbmVXaWR0aCkKK3sKKyAgICBpZiAobmV3
TGluZVdpZHRoIDw9IG1fYXZhaWxhYmxlV2lkdGgpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
YmxvY2suc2V0TG9naWNhbEhlaWdodChuZXdMaW5lVG9wKTsKKyAgICBtX2F2YWlsYWJsZVdpZHRo
ID0gbmV3TGluZVdpZHRoICsgbV9vdmVyaGFuZ1dpZHRoOworICAgIG1fbGVmdCA9IG1fYmxvY2su
bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKG5ld0xpbmVUb3AsIHNob3VsZEluZGVudFRleHQoKSk7
CisgICAgbV9yaWdodCA9IG1fYmxvY2subG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShuZXdMaW5l
VG9wLCBzaG91bGRJbmRlbnRUZXh0KCkpOworfQorCitpbmxpbmUgc3RhdGljIGJvb2wgaXNXaG9s
ZUxpbmVGaXQoY29uc3QgUmVuZGVyQmxvY2smIGJsb2NrLCBjb25zdCBMYXlvdXRVbml0JiBsaW5l
VG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQsIGZsb2F0IHVuY29tbWl0dGVkV2lkdGgsIGJvb2wg
c2hvdWxkSW5kZW50VGV4dCkKK3sKKyAgICBmb3IgKExheW91dFVuaXQgbGluZUJvdHRvbSA9IGxp
bmVUb3A7IGxpbmVCb3R0b20gPD0gbGluZVRvcCArIGxpbmVIZWlnaHQ7ICsrbGluZUJvdHRvbSkg
eworICAgICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoQXRCb3R0b20gPSBhdmFpbGFibGVX
aWR0aEF0T2Zmc2V0KGJsb2NrLCBsaW5lQm90dG9tLCBzaG91bGRJbmRlbnRUZXh0KTsKKyAgICAg
ICAgaWYgKGF2YWlsYWJsZVdpZHRoQXRCb3R0b20gPCB1bmNvbW1pdHRlZFdpZHRoKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCit2b2lk
IExpbmVXaWR0aDo6d3JhcE5leHRUb1NoYXBlT3V0c2lkZShMYXlvdXRVbml0IGxpbmVIZWlnaHQp
Cit7CisgICAgTGF5b3V0VW5pdCBsaW5lTG9naWNhbFRvcCA9IG1fYmxvY2subG9naWNhbEhlaWdo
dCgpOworICAgIExheW91dFVuaXQgbmV3TGluZVRvcCA9IGxpbmVMb2dpY2FsVG9wOworICAgIExh
eW91dFVuaXQgZmxvYXRMb2dpY2FsQm90dG9tID0gbV9ibG9jay5uZXh0RmxvYXRMb2dpY2FsQm90
dG9tQmVsb3cobGluZUxvZ2ljYWxUb3ApOworCisgICAgZmxvYXQgbmV3TGluZVdpZHRoOworICAg
IHdoaWxlICh0cnVlKSB7CisgICAgICAgIG5ld0xpbmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoQXRP
ZmZzZXQobV9ibG9jaywgbmV3TGluZVRvcCwgc2hvdWxkSW5kZW50VGV4dCgpKTsKKyAgICAgICAg
aWYgKG5ld0xpbmVXaWR0aCA+PSBtX3VuY29tbWl0dGVkV2lkdGggJiYgaXNXaG9sZUxpbmVGaXQo
bV9ibG9jaywgbmV3TGluZVRvcCwgbGluZUhlaWdodCwgbV91bmNvbW1pdHRlZFdpZHRoLCBzaG91
bGRJbmRlbnRUZXh0KCkpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgaWYgKG5ld0xp
bmVUb3AgPj0gZmxvYXRMb2dpY2FsQm90dG9tKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgKytuZXdMaW5lVG9wOworICAgIH0KKyAgICB1cGRhdGVMaW5lRGltZW5zaW9uKG5ld0xpbmVU
b3AsIG5ld0xpbmVXaWR0aCk7Cit9CisjZW5kaWYKKwordm9pZCBMaW5lV2lkdGg6OmZpdEJlbG93
RmxvYXRzKExheW91dFVuaXQgbGluZUhlaWdodCkKIHsKICAgICBBU1NFUlQoIW1fY29tbWl0dGVk
V2lkdGgpOwogICAgIEFTU0VSVCghZml0c09uTGluZSgpKTsKQEAgLTE2NiwyMCArMjE3LDI0IEBA
IHZvaWQgTGluZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cygpCiAgICAgTGF5b3V0VW5pdCBmbG9hdExv
Z2ljYWxCb3R0b207CiAgICAgTGF5b3V0VW5pdCBsYXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbV9i
bG9jay5sb2dpY2FsSGVpZ2h0KCk7CiAgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gbV9hdmFpbGFi
bGVXaWR0aDsKLSAgICBmbG9hdCBuZXdMaW5lTGVmdCA9IG1fbGVmdDsKLSAgICBmbG9hdCBuZXdM
aW5lUmlnaHQgPSBtX3JpZ2h0OworCisgICAgbV9ibG9jay5tX2Zsb2F0aW5nT2JqZWN0cy0+aGFz
TGVmdE9iamVjdHMoKTsKKworI2lmIEVOQUJMRShDU1NfU0hBUEVTKQorICAgIEZsb2F0aW5nT2Jq
ZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lID0gKG1fYmxvY2suY29udGFpbnNGbG9hdHMo
KSkgPyBtX2Jsb2NrLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5sYXN0KCkuZ2V0KCkgOiAwOwor
ICAgIGlmIChsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lICYmIGxhc3RGbG9hdEZyb21QcmV2aW91
c0xpbmUtPnJlbmRlcmVyKCkuc2hhcGVPdXRzaWRlSW5mbygpKQorICAgICAgICByZXR1cm4gd3Jh
cE5leHRUb1NoYXBlT3V0c2lkZShsaW5lSGVpZ2h0KTsKKyNlbmRpZgorCiAgICAgd2hpbGUgKHRy
dWUpIHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbV9ibG9jay5uZXh0RmxvYXRMb2dp
Y2FsQm90dG9tQmVsb3cobGFzdEZsb2F0TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGlmIChmbG9h
dExvZ2ljYWxCb3R0b20gPD0gbGFzdEZsb2F0TG9naWNhbEJvdHRvbSkKICAgICAgICAgICAgIGJy
ZWFrOwogCi0gICAgICAgIG5ld0xpbmVMZWZ0ID0gbV9ibG9jay5sb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUoZmxvYXRMb2dpY2FsQm90dG9tLCBzaG91bGRJbmRlbnRUZXh0KCkpOwotICAgICAgICBu
ZXdMaW5lUmlnaHQgPSBtX2Jsb2NrLmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoZmxvYXRMb2dp
Y2FsQm90dG9tLCBzaG91bGRJbmRlbnRUZXh0KCkpOwotICAgICAgICBuZXdMaW5lV2lkdGggPSBz
dGQ6Om1heCgwLjBmLCBuZXdMaW5lUmlnaHQgLSBuZXdMaW5lTGVmdCk7CisgICAgICAgIG5ld0xp
bmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoQXRPZmZzZXQobV9ibG9jaywgZmxvYXRMb2dpY2FsQm90
dG9tLCBzaG91bGRJbmRlbnRUZXh0KCkpOwogICAgICAgICBsYXN0RmxvYXRMb2dpY2FsQm90dG9t
ID0gZmxvYXRMb2dpY2FsQm90dG9tOwogCiAjaWYgRU5BQkxFKENTU19TSEFQRVMpICYmIEVOQUJM
RShDU1NfU0hBUEVfSU5TSURFKQotICAgICAgICAvLyBGSVhNRTogVGhpcyBjb2RlIHNob3VsZCBi
ZSByZWZhY3RvcmVkIHRvIGluY29ycG9yYXRlIHdpdGggdGhlIGNvZGUgYWJvdmUuCiAgICAgICAg
IFNoYXBlSW5zaWRlSW5mbyogc2hhcGVJbnNpZGVJbmZvID0gbV9ibG9jay5sYXlvdXRTaGFwZUlu
c2lkZUluZm8oKTsKICAgICAgICAgaWYgKHNoYXBlSW5zaWRlSW5mbykgewogICAgICAgICAgICAg
TGF5b3V0VW5pdCBsb2dpY2FsT2Zmc2V0RnJvbVNoYXBlQ29udGFpbmVyID0gbV9ibG9jay5sb2dp
Y2FsT2Zmc2V0RnJvbVNoYXBlQW5jZXN0b3JDb250YWluZXIoJnNoYXBlSW5zaWRlSW5mby0+b3du
ZXIoKSkuaGVpZ2h0KCk7CkBAIC0xOTMsMTIgKzI0OCw3IEBAIHZvaWQgTGluZVdpZHRoOjpmaXRC
ZWxvd0Zsb2F0cygpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBpZiAobmV3TGlu
ZVdpZHRoID4gbV9hdmFpbGFibGVXaWR0aCkgewotICAgICAgICBtX2Jsb2NrLnNldExvZ2ljYWxI
ZWlnaHQobGFzdEZsb2F0TG9naWNhbEJvdHRvbSk7Ci0gICAgICAgIG1fYXZhaWxhYmxlV2lkdGgg
PSBuZXdMaW5lV2lkdGggKyBtX292ZXJoYW5nV2lkdGg7Ci0gICAgICAgIG1fbGVmdCA9IG5ld0xp
bmVMZWZ0OwotICAgICAgICBtX3JpZ2h0ID0gbmV3TGluZVJpZ2h0OwotICAgIH0KKyAgICB1cGRh
dGVMaW5lRGltZW5zaW9uKGxhc3RGbG9hdExvZ2ljYWxCb3R0b20sIG5ld0xpbmVXaWR0aCk7CiB9
CiAKIHZvaWQgTGluZVdpZHRoOjpzZXRUcmFpbGluZ1doaXRlc3BhY2VXaWR0aChmbG9hdCBjb2xs
YXBzZWRXaGl0ZXNwYWNlLCBmbG9hdCBib3JkZXJQYWRkaW5nTWFyZ2luKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaAppbmRleCAyMGQyMTRmLi44Nzg3ZmM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaApAQCAtNjQsNyArNjQsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBhZGRVbmNvbW1pdHRlZFdpZHRoKGZsb2F0IGRlbHRhKSB7IG1f
dW5jb21taXR0ZWRXaWR0aCArPSBkZWx0YTsgfQogICAgIHZvaWQgY29tbWl0KCk7CiAgICAgdm9p
ZCBhcHBseU92ZXJoYW5nKFJlbmRlclJ1YnlSdW4qLCBSZW5kZXJPYmplY3QqIHN0YXJ0UmVuZGVy
ZXIsIFJlbmRlck9iamVjdCogZW5kUmVuZGVyZXIpOwotICAgIHZvaWQgZml0QmVsb3dGbG9hdHMo
KTsKKyAgICB2b2lkIGZpdEJlbG93RmxvYXRzKExheW91dFVuaXQgbGluZUhlaWdodCA9IDApOwog
ICAgIHZvaWQgc2V0VHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGgoZmxvYXQgY29sbGFwc2VkV2hpdGVz
cGFjZSwgZmxvYXQgYm9yZGVyUGFkZGluZ01hcmdpbiA9IDApOwogCiAjaWYgRU5BQkxFKENTU19T
SEFQRVMpICYmIEVOQUJMRShDU1NfU0hBUEVfSU5TSURFKQpAQCAtNzYsNiArNzYsMTAgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVBdmFpbGFibGVXaWR0aEZyb21MZWZ0QW5k
UmlnaHQoKTsKICAgICBib29sIGZpdHNPbkxpbmVFeGNsdWRpbmdUcmFpbGluZ0NvbGxhcHNlZFdo
aXRlc3BhY2UoKSBjb25zdDsKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKKyAgICB2b2lkIHdyYXBO
ZXh0VG9TaGFwZU91dHNpZGUoTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KTsKKyAgICB2b2lkIHVwZGF0
ZUxpbmVEaW1lbnNpb24oTGF5b3V0VW5pdCBuZXdMaW5lVG9wLCBMYXlvdXRVbml0IG5ld0xpbmVX
aWR0aCk7CisjZW5kaWYKIAogICAgIFJlbmRlckJsb2NrRmxvdyYgbV9ibG9jazsKICAgICBmbG9h
dCBtX3VuY29tbWl0dGVkV2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224789</attachid>
            <date>2014-02-20 13:14:50 -0800</date>
            <delta_ts>2014-02-20 13:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>shapeoutsidewrapping.patch</filename>
            <type>text/plain</type>
            <size>13259</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YjY3ZWFlLi45ZjQwNWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTIwICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0
bWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcw
YzY0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLm92
ZXJsYXkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDog
MDsKKyAgICB3aWR0aDogMTAycHg7CisgICAgaGVpZ2h0OiAxMDZweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBjbGFzcz0ib3ZlcmxheSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0i
bGVmdDogMTQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6
IDE0MHB4OyI+PC9kaXY+CisKKzxwIHN0eWxlPSJtYXJnaW4tdG9wOiAyODBweDsiPlRoZSBjb250
ZW50IHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBpdCBzaG91bGQgZml0
IGluIHRoZSBjb250ZW50IGJveCwgc28geW91IHNob3VsZCBzZWUgZm91ciBncmVlbiByZWN0YW5n
bGVzLgorWW91IHNob3VsZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48YSBocmVmPSdodHRwOi8v
d2Via2l0Lm9yZy9iLzEyNzg1Mic+QnVnIDEyODY5MzwvYT46IFtDU1MgU2hhcGVzXSBBZGp1c3Qg
bGluZVRvcCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24g
YXQgc2hhcGUtb3V0c2lkZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZTExOGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbApAQCAtMCwwICsx
LDY5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAxMDBw
eDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGZvbnQ6IDMwcHggLyAxIEFoZW0sIHNhbnMtc2Vy
aWY7CisgICAgY29sb3I6IHJlZDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKKyAgICBi
b3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47Cit9Cisuc2hhcGUtb3V0c2lkZSB7CisgICAgd2lk
dGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgxNSwgMTE3LCAxMTcsIDAuNSk7Cit9CisubGVmdEZsb2F0VHJpYW5nbGUgeworICAgIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAxMDBweCA1MHB4LCAwcHggMTAwcHgp
OworICAgIGZsb2F0OiBsZWZ0OworfQorLnJpZ2h0RmxvYXRUcmlhbmdsZSB7CisgICAgLXdlYmtp
dC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMHB4IDBweCwgMHB4IDUwcHgsIDEwMHB4IDEwMHB4
KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisubGVmdEZsb2F0VXBwZXJMZWZ0VGlyYW5nbGUgewor
ICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAxMDBweCAwcHgsIDBw
eCAxMDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisucmlnaHRGbG9hdFVwcGVyUmlnaHRUcmlh
bmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMHB4IDBweCwgMHB4
IDBweCwgMTAwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5vdmVybGF5IHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lk
dGg6IDEwMnB4OworICAgIGhlaWdodDogMTA2cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Cit9Cis8L3N0eWxlPgorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSBsZWZ0RmxvYXRUcmlh
bmdsZSI+PC9kaXY+IFggWAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJs
ZWZ0OiAxNDBweDsiPgorICAgIDxkaXYgY2xhc3M9InNoYXBlLW91dHNpZGUgcmlnaHRGbG9hdFRy
aWFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9
InRvcDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIGxlZnRGbG9hdFVw
cGVyTGVmdFRpcmFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5l
ciIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6IDE0MHB4OyI+CisgICAgPGRpdiBjbGFzcz0ic2hh
cGUtb3V0c2lkZSByaWdodEZsb2F0VXBwZXJSaWdodFRyaWFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rp
dj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5
bGU9ImxlZnQ6IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6
IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6IDE0MHB4OyBs
ZWZ0OiAxNDBweDsiPjwvZGl2PgorCis8cCBzdHlsZT0ibWFyZ2luLXRvcDogMjgwcHg7Ij5UaGUg
Y29udGVudCBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlIHNoYXBlcywgaXQgc2hvdWxk
IGZpdCBpbiB0aGUgY29udGVudCBib3gsIHNvIHlvdSBzaG91bGQgc2VlIGZvdXIgZ3JlZW4gcmVj
dGFuZ2xlcy4KK1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+PGEgaHJlZj0naHR0
cDovL3dlYmtpdC5vcmcvYi8xMjg2OTMnPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NTIFNoYXBlc10gQWRq
dXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0
aW9uIGF0IHNoYXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDlkOGI5NmMuLjgwOGFmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wMi0y
MCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNo
YXBlc10gQWRqdXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBw
aW5nIGxvY2F0aW9uIGF0IHNoYXBlLW91dHNpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIGRvbid0IGhhdmUgc3BhY2UgbmV4dCB0byB0
aGUgZmxvYXRpbmcgY29udGFpbmVyLCBidXQgd2UgaGF2ZSBzcGFjZSBpbnNpZGUgdGhlIGZsb2F0
aW5nLWNvbnRhaW5lciBuZXh0CisgICAgICAgIHRvIHRoZSBkZWZpbmVkIHNoYXBlLW91dHNpZGUs
IHdlIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgc2hhcGUtb3V0c2lkZS4gVGhpcyBwYXRjaCBmaXhl
cyB0aGUgYmVoYXZpb3IgYm90aCBmb3IKKyAgICAgICAgY2FzZXMgd2hlbiB0aGVyZSBpcyBubyBz
cGFjZSB0byBmaXQgYXQgdGhlIGZpcnN0IGxpbmUsIGFuZCBmb3IgdGhlIGFkZGl0aW9uYWwgbGlu
ZXMgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpCcmVha2luZ0NvbnRleHQ6OmNvbW1pdEFuZFVwZGF0ZUxpbmVCcmVha0lmTmVlZGVkKToK
KyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6YXZhaWxhYmxlV2lkdGhBdE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lV2lkdGg6
OnVwZGF0ZUxpbmVEaW1lbnNpb24pOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29y
ZTo6aXNXaG9sZUxpbmVGaXQpOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6
TGluZVdpZHRoOjp3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKTogQWRkZWQgbmV3IGhlbHBlci4KKyAg
ICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMpOiBBZGQgb3B0aW9uYWwg
cGFyYW1ldGVyIGZvciB0aGUgZnVuY3Rpb24uCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvTGlu
ZVdpZHRoLmg6CisKIDIwMTQtMDItMTkgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFTU0VSVCBpbiBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9h
ZEZvclhGcmFtZU9wdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaAppbmRleCA3MmExOTJkLi43
NGM5ZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2lu
Z0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xp
bmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC03ODEsOCArNzgxLDE0IEBAIGlu
bGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3
b3JkTWVhc3VyZW1lbnRzLCBib29sCiAjZW5kaWYKICAgICAgICAgICAgIGFwcGx5V29yZFNwYWNp
bmcgPSB3b3JkU3BhY2luZyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlOwogCi0gICAgICAg
ICAgICBpZiAoIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSAmJiBtX2F1dG9XcmFwICYmICFtX3dp
ZHRoLmZpdHNPbkxpbmUoKSkKKyAgICAgICAgICAgIGlmICghbV93aWR0aC5jb21taXR0ZWRXaWR0
aCgpICYmIG1fYXV0b1dyYXAgJiYgIW1fd2lkdGguZml0c09uTGluZSgpKSB7CisjaWYgRU5BQkxF
KENTU19TSEFQRVMpCisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0ID0gbV9i
bG9jay5saW5lSGVpZ2h0KG1fbGluZUluZm8uaXNGaXJzdExpbmUoKSwgbV9ibG9jay5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0
aW9uT2ZJbnRlcmlvckxpbmVCb3hlcyk7CisgICAgICAgICAgICAgICAgbV93aWR0aC5maXRCZWxv
d0Zsb2F0cyhsaW5lSGVpZ2h0KTsKKyNlbHNlCiAgICAgICAgICAgICAgICAgbV93aWR0aC5maXRC
ZWxvd0Zsb2F0cygpOworI2VuZGlmCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICht
X2F1dG9XcmFwIHx8IGJyZWFrV29yZHMpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBicmVh
ayBvbmx5IGFmdGVyIHdoaXRlLXNwYWNlLCBjb25zaWRlciB0aGUgY3VycmVudCBjaGFyYWN0ZXIK
QEAgLTEwMjgsOCArMTAzNCwxMiBAQCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmNvbW1p
dEFuZFVwZGF0ZUxpbmVCcmVha0lmTmVlZGVkKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAgICAgIExheW91dFVuaXQgbGluZUhl
aWdodCA9IG1fYmxvY2subGluZUhlaWdodChtX2xpbmVJbmZvLmlzRmlyc3RMaW5lKCksIG1fYmxv
Y2suaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxM
aW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOworICAgICAgICBtX3dpZHRoLmZpdEJl
bG93RmxvYXRzKGxpbmVIZWlnaHQpOworI2Vsc2UKICAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zs
b2F0cygpOwotCisjZW5kaWYKICAgICAgICAgLy8gfHdpZHRofCBtYXkgaGF2ZSBiZWVuIGFkanVz
dGVkIGJlY2F1c2Ugd2UgZ290IHNob3ZlZCBkb3duIHBhc3QgYSBmbG9hdCAodGh1cwogICAgICAg
ICAvLyBnaXZpbmcgdXMgbW9yZSByb29tKSwgc28gd2UgbmVlZCB0byByZXRlc3QsIGFuZCBvbmx5
IGp1bXAgdG8KICAgICAgICAgLy8gdGhlIGVuZCBsYWJlbCBpZiB3ZSBzdGlsbCBkb24ndCBmaXQg
b24gdGhlIGxpbmUuIC1kd2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0xpbmVXaWR0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lk
dGguY3BwCmluZGV4IGVkMDc1ODYuLjI3ZDBlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2xpbmUvTGluZVdpZHRoLmNwcApAQCAtMTU4LDcgKzE1OCw1OCBAQCB2b2lkIExpbmVXaWR0
aDo6YXBwbHlPdmVyaGFuZyhSZW5kZXJSdWJ5UnVuKiBydWJ5UnVuLCBSZW5kZXJPYmplY3QqIHN0
YXJ0UmVuZGVyZQogICAgIG1fb3ZlcmhhbmdXaWR0aCArPSBzdGFydE92ZXJoYW5nICsgZW5kT3Zl
cmhhbmc7CiB9CiAKLXZvaWQgTGluZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cygpCitpbmxpbmUgc3Rh
dGljIGZsb2F0IGF2YWlsYWJsZVdpZHRoQXRPZmZzZXQoY29uc3QgUmVuZGVyQmxvY2smIGJsb2Nr
LCBjb25zdCBMYXlvdXRVbml0JiBvZmZzZXQsIGJvb2wgc2hvdWxkSW5kZW50VGV4dCkKK3sKKyAg
ICBmbG9hdCBuZXdMaW5lTGVmdCA9IGJsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShvZmZz
ZXQsIHNob3VsZEluZGVudFRleHQpOworICAgIGZsb2F0IG5ld0xpbmVSaWdodCA9IGJsb2NrLmxv
Z2ljYWxSaWdodE9mZnNldEZvckxpbmUob2Zmc2V0LCBzaG91bGRJbmRlbnRUZXh0KTsKKyAgICBy
ZXR1cm4gc3RkOjptYXgoMC4wZiwgbmV3TGluZVJpZ2h0IC0gbmV3TGluZUxlZnQpOworfQorCisj
aWYgRU5BQkxFKENTU19TSEFQRVMpCit2b2lkIExpbmVXaWR0aDo6dXBkYXRlTGluZURpbWVuc2lv
bihMYXlvdXRVbml0IG5ld0xpbmVUb3AsIExheW91dFVuaXQgbmV3TGluZVdpZHRoKQoreworICAg
IGlmIChuZXdMaW5lV2lkdGggPD0gbV9hdmFpbGFibGVXaWR0aCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9ibG9jay5zZXRMb2dpY2FsSGVpZ2h0KG5ld0xpbmVUb3ApOworICAgIG1fYXZhaWxh
YmxlV2lkdGggPSBuZXdMaW5lV2lkdGggKyBtX292ZXJoYW5nV2lkdGg7CisgICAgbV9sZWZ0ID0g
bV9ibG9jay5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobmV3TGluZVRvcCwgc2hvdWxkSW5kZW50
VGV4dCgpKTsKKyAgICBtX3JpZ2h0ID0gbV9ibG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5l
KG5ld0xpbmVUb3AsIHNob3VsZEluZGVudFRleHQoKSk7Cit9CisKK2lubGluZSBzdGF0aWMgYm9v
bCBpc1dob2xlTGluZUZpdChjb25zdCBSZW5kZXJCbG9jayYgYmxvY2ssIGNvbnN0IExheW91dFVu
aXQmIGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCwgZmxvYXQgdW5jb21taXR0ZWRXaWR0
aCwgYm9vbCBzaG91bGRJbmRlbnRUZXh0KQoreworICAgIGZvciAoTGF5b3V0VW5pdCBsaW5lQm90
dG9tID0gbGluZVRvcDsgbGluZUJvdHRvbSA8PSBsaW5lVG9wICsgbGluZUhlaWdodDsgKytsaW5l
Qm90dG9tKSB7CisgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGhBdEJvdHRvbSA9IGF2
YWlsYWJsZVdpZHRoQXRPZmZzZXQoYmxvY2ssIGxpbmVCb3R0b20sIHNob3VsZEluZGVudFRleHQp
OworICAgICAgICBpZiAoYXZhaWxhYmxlV2lkdGhBdEJvdHRvbSA8IHVuY29tbWl0dGVkV2lkdGgp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQor
CisKK3ZvaWQgTGluZVdpZHRoOjp3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKExheW91dFVuaXQgbGlu
ZUhlaWdodCkKK3sKKyAgICBMYXlvdXRVbml0IGxpbmVMb2dpY2FsVG9wID0gbV9ibG9jay5sb2dp
Y2FsSGVpZ2h0KCk7CisgICAgTGF5b3V0VW5pdCBuZXdMaW5lVG9wID0gbGluZUxvZ2ljYWxUb3A7
CisgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0b20gPSBtX2Jsb2NrLm5leHRGbG9hdExv
Z2ljYWxCb3R0b21CZWxvdyhsaW5lTG9naWNhbFRvcCk7CisKKyAgICBmbG9hdCBuZXdMaW5lV2lk
dGg7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxl
V2lkdGhBdE9mZnNldChtX2Jsb2NrLCBuZXdMaW5lVG9wLCBzaG91bGRJbmRlbnRUZXh0KCkpOwor
ICAgICAgICBpZiAobmV3TGluZVdpZHRoID49IG1fdW5jb21taXR0ZWRXaWR0aCAmJiBpc1dob2xl
TGluZUZpdChtX2Jsb2NrLCBuZXdMaW5lVG9wLCBsaW5lSGVpZ2h0LCBtX3VuY29tbWl0dGVkV2lk
dGgsIHNob3VsZEluZGVudFRleHQoKSkpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBp
ZiAobmV3TGluZVRvcCA+PSBmbG9hdExvZ2ljYWxCb3R0b20pCisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICArK25ld0xpbmVUb3A7CisgICAgfQorICAgIHVwZGF0ZUxpbmVEaW1lbnNpb24o
bmV3TGluZVRvcCwgbmV3TGluZVdpZHRoKTsKK30KKyNlbmRpZgorCit2b2lkIExpbmVXaWR0aDo6
Zml0QmVsb3dGbG9hdHMoTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KQogewogICAgIEFTU0VSVCghbV9j
b21taXR0ZWRXaWR0aCk7CiAgICAgQVNTRVJUKCFmaXRzT25MaW5lKCkpOwpAQCAtMTY2LDIwICsy
MTcsMjIgQEAgdm9pZCBMaW5lV2lkdGg6OmZpdEJlbG93RmxvYXRzKCkKICAgICBMYXlvdXRVbml0
IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBMYXlvdXRVbml0IGxhc3RGbG9hdExvZ2ljYWxCb3R0
b20gPSBtX2Jsb2NrLmxvZ2ljYWxIZWlnaHQoKTsKICAgICBmbG9hdCBuZXdMaW5lV2lkdGggPSBt
X2F2YWlsYWJsZVdpZHRoOwotICAgIGZsb2F0IG5ld0xpbmVMZWZ0ID0gbV9sZWZ0OwotICAgIGZs
b2F0IG5ld0xpbmVSaWdodCA9IG1fcmlnaHQ7CisKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKKyAg
ICBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSA9IChtX2Jsb2NrLmNv
bnRhaW5zRmxvYXRzKCkgPyBtX2Jsb2NrLm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5sYXN0KCku
Z2V0KCkgOiAwKTsKKyAgICBpZiAobGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSAmJiBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lLT5yZW5kZXJlcigpLnNoYXBlT3V0c2lkZUluZm8oKSkKKyAgICAg
ICAgcmV0dXJuIHdyYXBOZXh0VG9TaGFwZU91dHNpZGUobGluZUhlaWdodCk7CisjZW5kaWYKKwog
ICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGZsb2F0TG9naWNhbEJvdHRvbSA9IG1fYmxvY2su
bmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAg
ICAgICBpZiAoZmxvYXRMb2dpY2FsQm90dG9tIDw9IGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pCiAg
ICAgICAgICAgICBicmVhazsKIAotICAgICAgICBuZXdMaW5lTGVmdCA9IG1fYmxvY2subG9naWNh
bExlZnRPZmZzZXRGb3JMaW5lKGZsb2F0TG9naWNhbEJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCgp
KTsKLSAgICAgICAgbmV3TGluZVJpZ2h0ID0gbV9ibG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JM
aW5lKGZsb2F0TG9naWNhbEJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCgpKTsKLSAgICAgICAgbmV3
TGluZVdpZHRoID0gc3RkOjptYXgoMC4wZiwgbmV3TGluZVJpZ2h0IC0gbmV3TGluZUxlZnQpOwor
ICAgICAgICBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aEF0T2Zmc2V0KG1fYmxvY2ssIGZs
b2F0TG9naWNhbEJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCgpKTsKICAgICAgICAgbGFzdEZsb2F0
TG9naWNhbEJvdHRvbSA9IGZsb2F0TG9naWNhbEJvdHRvbTsKIAogI2lmIEVOQUJMRShDU1NfU0hB
UEVTKSAmJiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkKLSAgICAgICAgLy8gRklYTUU6IFRoaXMg
Y29kZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBpbmNvcnBvcmF0ZSB3aXRoIHRoZSBjb2RlIGFi
b3ZlLgogICAgICAgICBTaGFwZUluc2lkZUluZm8qIHNoYXBlSW5zaWRlSW5mbyA9IG1fYmxvY2su
bGF5b3V0U2hhcGVJbnNpZGVJbmZvKCk7CiAgICAgICAgIGlmIChzaGFwZUluc2lkZUluZm8pIHsK
ICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbE9mZnNldEZyb21TaGFwZUNvbnRhaW5lciA9
IG1fYmxvY2subG9naWNhbE9mZnNldEZyb21TaGFwZUFuY2VzdG9yQ29udGFpbmVyKCZzaGFwZUlu
c2lkZUluZm8tPm93bmVyKCkpLmhlaWdodCgpOwpAQCAtMTkzLDEyICsyNDYsNyBAQCB2b2lkIExp
bmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMoKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0g
ICAgaWYgKG5ld0xpbmVXaWR0aCA+IG1fYXZhaWxhYmxlV2lkdGgpIHsKLSAgICAgICAgbV9ibG9j
ay5zZXRMb2dpY2FsSGVpZ2h0KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwotICAgICAgICBtX2F2
YWlsYWJsZVdpZHRoID0gbmV3TGluZVdpZHRoICsgbV9vdmVyaGFuZ1dpZHRoOwotICAgICAgICBt
X2xlZnQgPSBuZXdMaW5lTGVmdDsKLSAgICAgICAgbV9yaWdodCA9IG5ld0xpbmVSaWdodDsKLSAg
ICB9CisgICAgdXBkYXRlTGluZURpbWVuc2lvbihsYXN0RmxvYXRMb2dpY2FsQm90dG9tLCBuZXdM
aW5lV2lkdGgpOwogfQogCiB2b2lkIExpbmVXaWR0aDo6c2V0VHJhaWxpbmdXaGl0ZXNwYWNlV2lk
dGgoZmxvYXQgY29sbGFwc2VkV2hpdGVzcGFjZSwgZmxvYXQgYm9yZGVyUGFkZGluZ01hcmdpbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmgKaW5kZXggMjBkMjE0Zi4u
ODc4N2ZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdp
ZHRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmgKQEAg
LTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkVW5jb21taXR0ZWRXaWR0aChmbG9h
dCBkZWx0YSkgeyBtX3VuY29tbWl0dGVkV2lkdGggKz0gZGVsdGE7IH0KICAgICB2b2lkIGNvbW1p
dCgpOwogICAgIHZvaWQgYXBwbHlPdmVyaGFuZyhSZW5kZXJSdWJ5UnVuKiwgUmVuZGVyT2JqZWN0
KiBzdGFydFJlbmRlcmVyLCBSZW5kZXJPYmplY3QqIGVuZFJlbmRlcmVyKTsKLSAgICB2b2lkIGZp
dEJlbG93RmxvYXRzKCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhMYXlvdXRVbml0IGxpbmVI
ZWlnaHQgPSAwKTsKICAgICB2b2lkIHNldFRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKGZsb2F0IGNv
bGxhcHNlZFdoaXRlc3BhY2UsIGZsb2F0IGJvcmRlclBhZGRpbmdNYXJnaW4gPSAwKTsKIAogI2lm
IEVOQUJMRShDU1NfU0hBUEVTKSAmJiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkKQEAgLTc2LDYg
Kzc2LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlQXZhaWxhYmxlV2lk
dGhGcm9tTGVmdEFuZFJpZ2h0KCk7CiAgICAgYm9vbCBmaXRzT25MaW5lRXhjbHVkaW5nVHJhaWxp
bmdDb2xsYXBzZWRXaGl0ZXNwYWNlKCkgY29uc3Q7CisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisg
ICAgdm9pZCB3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKExheW91dFVuaXQgbGluZUhlaWdodCk7Cisg
ICAgdm9pZCB1cGRhdGVMaW5lRGltZW5zaW9uKExheW91dFVuaXQgbmV3TGluZVRvcCwgTGF5b3V0
VW5pdCBuZXdMaW5lV2lkdGgpOworI2VuZGlmCiAKICAgICBSZW5kZXJCbG9ja0Zsb3cmIG1fYmxv
Y2s7CiAgICAgZmxvYXQgbV91bmNvbW1pdHRlZFdpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224790</attachid>
            <date>2014-02-20 13:15:46 -0800</date>
            <delta_ts>2014-02-21 14:36:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>shapeoutsidewrapping.patch</filename>
            <type>text/plain</type>
            <size>13257</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YjY3ZWFlLi45ZjQwNWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTIwICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1s
aW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0
bWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcw
YzY0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLm92
ZXJsYXkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDog
MDsKKyAgICB3aWR0aDogMTAycHg7CisgICAgaGVpZ2h0OiAxMDZweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBjbGFzcz0ib3ZlcmxheSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0i
bGVmdDogMTQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6
IDE0MHB4OyI+PC9kaXY+CisKKzxwIHN0eWxlPSJtYXJnaW4tdG9wOiAyODBweDsiPlRoZSBjb250
ZW50IHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBpdCBzaG91bGQgZml0
IGluIHRoZSBjb250ZW50IGJveCwgc28geW91IHNob3VsZCBzZWUgZm91ciBncmVlbiByZWN0YW5n
bGVzLgorWW91IHNob3VsZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48YSBocmVmPSdodHRwOi8v
d2Via2l0Lm9yZy9iLzEyNzg1Mic+QnVnIDEyODY5MzwvYT46IFtDU1MgU2hhcGVzXSBBZGp1c3Qg
bGluZVRvcCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24g
YXQgc2hhcGUtb3V0c2lkZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZTExOGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbApAQCAtMCwwICsx
LDY5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAxMDBw
eDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGZvbnQ6IDMwcHggLyAxIEFoZW0sIHNhbnMtc2Vy
aWY7CisgICAgY29sb3I6IHJlZDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKKyAgICBi
b3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47Cit9Cisuc2hhcGUtb3V0c2lkZSB7CisgICAgd2lk
dGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgxNSwgMTE3LCAxMTcsIDAuNSk7Cit9CisubGVmdEZsb2F0VHJpYW5nbGUgeworICAgIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAxMDBweCA1MHB4LCAwcHggMTAwcHgp
OworICAgIGZsb2F0OiBsZWZ0OworfQorLnJpZ2h0RmxvYXRUcmlhbmdsZSB7CisgICAgLXdlYmtp
dC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMHB4IDBweCwgMHB4IDUwcHgsIDEwMHB4IDEwMHB4
KTsKKyAgICBmbG9hdDogcmlnaHQ7Cit9CisubGVmdEZsb2F0VXBwZXJMZWZ0VGlyYW5nbGUgewor
ICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwcHggMHB4LCAxMDBweCAwcHgsIDBw
eCAxMDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisucmlnaHRGbG9hdFVwcGVyUmlnaHRUcmlh
bmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMHB4IDBweCwgMHB4
IDBweCwgMTAwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdodDsKK30KKy5vdmVybGF5IHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lk
dGg6IDEwMnB4OworICAgIGhlaWdodDogMTA2cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Cit9Cis8L3N0eWxlPgorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSBsZWZ0RmxvYXRUcmlh
bmdsZSI+PC9kaXY+IFggWAorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJs
ZWZ0OiAxNDBweDsiPgorICAgIDxkaXYgY2xhc3M9InNoYXBlLW91dHNpZGUgcmlnaHRGbG9hdFRy
aWFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9
InRvcDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIGxlZnRGbG9hdFVw
cGVyTGVmdFRpcmFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5l
ciIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6IDE0MHB4OyI+CisgICAgPGRpdiBjbGFzcz0ic2hh
cGUtb3V0c2lkZSByaWdodEZsb2F0VXBwZXJSaWdodFRyaWFuZ2xlIj48L2Rpdj4gWCBYCis8L2Rp
dj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiPjwvZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5
bGU9ImxlZnQ6IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6
IDE0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJ0b3A6IDE0MHB4OyBs
ZWZ0OiAxNDBweDsiPjwvZGl2PgorCis8cCBzdHlsZT0ibWFyZ2luLXRvcDogMjgwcHg7Ij5UaGUg
Y29udGVudCBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlIHNoYXBlcywgaXQgc2hvdWxk
IGZpdCBpbiB0aGUgY29udGVudCBib3gsIHNvIHlvdSBzaG91bGQgc2VlIGZvdXIgZ3JlZW4gcmVj
dGFuZ2xlcy4KK1lvdSBzaG91bGRuJ3Qgc2VlIGFueSByZWQuPC9wPgorPHA+PGEgaHJlZj0naHR0
cDovL3dlYmtpdC5vcmcvYi8xMjg2OTMnPkJ1ZyAxMjg2OTM8L2E+OiBbQ1NTIFNoYXBlc10gQWRq
dXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBwaW5nIGxvY2F0
aW9uIGF0IHNoYXBlLW91dHNpZGVzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDlkOGI5NmMuLjgwOGFmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wMi0y
MCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFNo
YXBlc10gQWRqdXN0IGxpbmVUb3AgcG9zaXRpb24gdG8gdGhlIG5leHQgYXZhaWxhYmxlIHdyYXBw
aW5nIGxvY2F0aW9uIGF0IHNoYXBlLW91dHNpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHdlIGRvbid0IGhhdmUgc3BhY2UgbmV4dCB0byB0
aGUgZmxvYXRpbmcgY29udGFpbmVyLCBidXQgd2UgaGF2ZSBzcGFjZSBpbnNpZGUgdGhlIGZsb2F0
aW5nLWNvbnRhaW5lciBuZXh0CisgICAgICAgIHRvIHRoZSBkZWZpbmVkIHNoYXBlLW91dHNpZGUs
IHdlIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgc2hhcGUtb3V0c2lkZS4gVGhpcyBwYXRjaCBmaXhl
cyB0aGUgYmVoYXZpb3IgYm90aCBmb3IKKyAgICAgICAgY2FzZXMgd2hlbiB0aGVyZSBpcyBubyBz
cGFjZSB0byBmaXQgYXQgdGhlIGZpcnN0IGxpbmUsIGFuZCBmb3IgdGhlIGFkZGl0aW9uYWwgbGlu
ZXMgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpCcmVha2luZ0NvbnRleHQ6OmNvbW1pdEFuZFVwZGF0ZUxpbmVCcmVha0lmTmVlZGVkKToK
KyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6YXZhaWxhYmxlV2lkdGhBdE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lV2lkdGg6
OnVwZGF0ZUxpbmVEaW1lbnNpb24pOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29y
ZTo6aXNXaG9sZUxpbmVGaXQpOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6
TGluZVdpZHRoOjp3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKTogQWRkZWQgbmV3IGhlbHBlci4KKyAg
ICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMpOiBBZGQgb3B0aW9uYWwg
cGFyYW1ldGVyIGZvciB0aGUgZnVuY3Rpb24uCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvTGlu
ZVdpZHRoLmg6CisKIDIwMTQtMDItMTkgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFTU0VSVCBpbiBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9h
ZEZvclhGcmFtZU9wdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaAppbmRleCA3MmExOTJkLi43
NGM5ZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2lu
Z0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xp
bmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC03ODEsOCArNzgxLDE0IEBAIGlu
bGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3
b3JkTWVhc3VyZW1lbnRzLCBib29sCiAjZW5kaWYKICAgICAgICAgICAgIGFwcGx5V29yZFNwYWNp
bmcgPSB3b3JkU3BhY2luZyAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlOwogCi0gICAgICAg
ICAgICBpZiAoIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSAmJiBtX2F1dG9XcmFwICYmICFtX3dp
ZHRoLmZpdHNPbkxpbmUoKSkKKyAgICAgICAgICAgIGlmICghbV93aWR0aC5jb21taXR0ZWRXaWR0
aCgpICYmIG1fYXV0b1dyYXAgJiYgIW1fd2lkdGguZml0c09uTGluZSgpKSB7CisjaWYgRU5BQkxF
KENTU19TSEFQRVMpCisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0ID0gbV9i
bG9jay5saW5lSGVpZ2h0KG1fbGluZUluZm8uaXNGaXJzdExpbmUoKSwgbV9ibG9jay5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0
aW9uT2ZJbnRlcmlvckxpbmVCb3hlcyk7CisgICAgICAgICAgICAgICAgbV93aWR0aC5maXRCZWxv
d0Zsb2F0cyhsaW5lSGVpZ2h0KTsKKyNlbHNlCiAgICAgICAgICAgICAgICAgbV93aWR0aC5maXRC
ZWxvd0Zsb2F0cygpOworI2VuZGlmCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICht
X2F1dG9XcmFwIHx8IGJyZWFrV29yZHMpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBicmVh
ayBvbmx5IGFmdGVyIHdoaXRlLXNwYWNlLCBjb25zaWRlciB0aGUgY3VycmVudCBjaGFyYWN0ZXIK
QEAgLTEwMjgsOCArMTAzNCwxMiBAQCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmNvbW1p
dEFuZFVwZGF0ZUxpbmVCcmVha0lmTmVlZGVkKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAgICAgIExheW91dFVuaXQgbGluZUhl
aWdodCA9IG1fYmxvY2subGluZUhlaWdodChtX2xpbmVJbmZvLmlzRmlyc3RMaW5lKCksIG1fYmxv
Y2suaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxM
aW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOworICAgICAgICBtX3dpZHRoLmZpdEJl
bG93RmxvYXRzKGxpbmVIZWlnaHQpOworI2Vsc2UKICAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zs
b2F0cygpOwotCisjZW5kaWYKICAgICAgICAgLy8gfHdpZHRofCBtYXkgaGF2ZSBiZWVuIGFkanVz
dGVkIGJlY2F1c2Ugd2UgZ290IHNob3ZlZCBkb3duIHBhc3QgYSBmbG9hdCAodGh1cwogICAgICAg
ICAvLyBnaXZpbmcgdXMgbW9yZSByb29tKSwgc28gd2UgbmVlZCB0byByZXRlc3QsIGFuZCBvbmx5
IGp1bXAgdG8KICAgICAgICAgLy8gdGhlIGVuZCBsYWJlbCBpZiB3ZSBzdGlsbCBkb24ndCBmaXQg
b24gdGhlIGxpbmUuIC1kd2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0xpbmVXaWR0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lk
dGguY3BwCmluZGV4IGVkMDc1ODYuLjA1NjYwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2xpbmUvTGluZVdpZHRoLmNwcApAQCAtMTU4LDcgKzE1OCw1NyBAQCB2b2lkIExpbmVXaWR0
aDo6YXBwbHlPdmVyaGFuZyhSZW5kZXJSdWJ5UnVuKiBydWJ5UnVuLCBSZW5kZXJPYmplY3QqIHN0
YXJ0UmVuZGVyZQogICAgIG1fb3ZlcmhhbmdXaWR0aCArPSBzdGFydE92ZXJoYW5nICsgZW5kT3Zl
cmhhbmc7CiB9CiAKLXZvaWQgTGluZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cygpCitpbmxpbmUgc3Rh
dGljIGZsb2F0IGF2YWlsYWJsZVdpZHRoQXRPZmZzZXQoY29uc3QgUmVuZGVyQmxvY2smIGJsb2Nr
LCBjb25zdCBMYXlvdXRVbml0JiBvZmZzZXQsIGJvb2wgc2hvdWxkSW5kZW50VGV4dCkKK3sKKyAg
ICBmbG9hdCBuZXdMaW5lTGVmdCA9IGJsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShvZmZz
ZXQsIHNob3VsZEluZGVudFRleHQpOworICAgIGZsb2F0IG5ld0xpbmVSaWdodCA9IGJsb2NrLmxv
Z2ljYWxSaWdodE9mZnNldEZvckxpbmUob2Zmc2V0LCBzaG91bGRJbmRlbnRUZXh0KTsKKyAgICBy
ZXR1cm4gc3RkOjptYXgoMC4wZiwgbmV3TGluZVJpZ2h0IC0gbmV3TGluZUxlZnQpOworfQorCisj
aWYgRU5BQkxFKENTU19TSEFQRVMpCit2b2lkIExpbmVXaWR0aDo6dXBkYXRlTGluZURpbWVuc2lv
bihMYXlvdXRVbml0IG5ld0xpbmVUb3AsIExheW91dFVuaXQgbmV3TGluZVdpZHRoKQoreworICAg
IGlmIChuZXdMaW5lV2lkdGggPD0gbV9hdmFpbGFibGVXaWR0aCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9ibG9jay5zZXRMb2dpY2FsSGVpZ2h0KG5ld0xpbmVUb3ApOworICAgIG1fYXZhaWxh
YmxlV2lkdGggPSBuZXdMaW5lV2lkdGggKyBtX292ZXJoYW5nV2lkdGg7CisgICAgbV9sZWZ0ID0g
bV9ibG9jay5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobmV3TGluZVRvcCwgc2hvdWxkSW5kZW50
VGV4dCgpKTsKKyAgICBtX3JpZ2h0ID0gbV9ibG9jay5sb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5l
KG5ld0xpbmVUb3AsIHNob3VsZEluZGVudFRleHQoKSk7Cit9CisKK2lubGluZSBzdGF0aWMgYm9v
bCBpc1dob2xlTGluZUZpdChjb25zdCBSZW5kZXJCbG9jayYgYmxvY2ssIGNvbnN0IExheW91dFVu
aXQmIGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCwgZmxvYXQgdW5jb21taXR0ZWRXaWR0
aCwgYm9vbCBzaG91bGRJbmRlbnRUZXh0KQoreworICAgIGZvciAoTGF5b3V0VW5pdCBsaW5lQm90
dG9tID0gbGluZVRvcDsgbGluZUJvdHRvbSA8PSBsaW5lVG9wICsgbGluZUhlaWdodDsgKytsaW5l
Qm90dG9tKSB7CisgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGhBdEJvdHRvbSA9IGF2
YWlsYWJsZVdpZHRoQXRPZmZzZXQoYmxvY2ssIGxpbmVCb3R0b20sIHNob3VsZEluZGVudFRleHQp
OworICAgICAgICBpZiAoYXZhaWxhYmxlV2lkdGhBdEJvdHRvbSA8IHVuY29tbWl0dGVkV2lkdGgp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQor
Cit2b2lkIExpbmVXaWR0aDo6d3JhcE5leHRUb1NoYXBlT3V0c2lkZShMYXlvdXRVbml0IGxpbmVI
ZWlnaHQpCit7CisgICAgTGF5b3V0VW5pdCBsaW5lTG9naWNhbFRvcCA9IG1fYmxvY2subG9naWNh
bEhlaWdodCgpOworICAgIExheW91dFVuaXQgbmV3TGluZVRvcCA9IGxpbmVMb2dpY2FsVG9wOwor
ICAgIExheW91dFVuaXQgZmxvYXRMb2dpY2FsQm90dG9tID0gbV9ibG9jay5uZXh0RmxvYXRMb2dp
Y2FsQm90dG9tQmVsb3cobGluZUxvZ2ljYWxUb3ApOworCisgICAgZmxvYXQgbmV3TGluZVdpZHRo
OworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIG5ld0xpbmVXaWR0aCA9IGF2YWlsYWJsZVdp
ZHRoQXRPZmZzZXQobV9ibG9jaywgbmV3TGluZVRvcCwgc2hvdWxkSW5kZW50VGV4dCgpKTsKKyAg
ICAgICAgaWYgKG5ld0xpbmVXaWR0aCA+PSBtX3VuY29tbWl0dGVkV2lkdGggJiYgaXNXaG9sZUxp
bmVGaXQobV9ibG9jaywgbmV3TGluZVRvcCwgbGluZUhlaWdodCwgbV91bmNvbW1pdHRlZFdpZHRo
LCBzaG91bGRJbmRlbnRUZXh0KCkpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgaWYg
KG5ld0xpbmVUb3AgPj0gZmxvYXRMb2dpY2FsQm90dG9tKQorICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgKytuZXdMaW5lVG9wOworICAgIH0KKyAgICB1cGRhdGVMaW5lRGltZW5zaW9uKG5l
d0xpbmVUb3AsIG5ld0xpbmVXaWR0aCk7Cit9CisjZW5kaWYKKwordm9pZCBMaW5lV2lkdGg6OmZp
dEJlbG93RmxvYXRzKExheW91dFVuaXQgbGluZUhlaWdodCkKIHsKICAgICBBU1NFUlQoIW1fY29t
bWl0dGVkV2lkdGgpOwogICAgIEFTU0VSVCghZml0c09uTGluZSgpKTsKQEAgLTE2NiwyMCArMjE2
LDIyIEBAIHZvaWQgTGluZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cygpCiAgICAgTGF5b3V0VW5pdCBm
bG9hdExvZ2ljYWxCb3R0b207CiAgICAgTGF5b3V0VW5pdCBsYXN0RmxvYXRMb2dpY2FsQm90dG9t
ID0gbV9ibG9jay5sb2dpY2FsSGVpZ2h0KCk7CiAgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gbV9h
dmFpbGFibGVXaWR0aDsKLSAgICBmbG9hdCBuZXdMaW5lTGVmdCA9IG1fbGVmdDsKLSAgICBmbG9h
dCBuZXdMaW5lUmlnaHQgPSBtX3JpZ2h0OworCisjaWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAg
RmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUgPSAobV9ibG9jay5jb250
YWluc0Zsb2F0cygpID8gbV9ibG9jay5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkubGFzdCgpLmdl
dCgpIDogMCk7CisgICAgaWYgKGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUgJiYgbGFzdEZsb2F0
RnJvbVByZXZpb3VzTGluZS0+cmVuZGVyZXIoKS5zaGFwZU91dHNpZGVJbmZvKCkpCisgICAgICAg
IHJldHVybiB3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKGxpbmVIZWlnaHQpOworI2VuZGlmCisKICAg
ICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBmbG9hdExvZ2ljYWxCb3R0b20gPSBtX2Jsb2NrLm5l
eHRGbG9hdExvZ2ljYWxCb3R0b21CZWxvdyhsYXN0RmxvYXRMb2dpY2FsQm90dG9tKTsKICAgICAg
ICAgaWYgKGZsb2F0TG9naWNhbEJvdHRvbSA8PSBsYXN0RmxvYXRMb2dpY2FsQm90dG9tKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgbmV3TGluZUxlZnQgPSBtX2Jsb2NrLmxvZ2ljYWxM
ZWZ0T2Zmc2V0Rm9yTGluZShmbG9hdExvZ2ljYWxCb3R0b20sIHNob3VsZEluZGVudFRleHQoKSk7
Ci0gICAgICAgIG5ld0xpbmVSaWdodCA9IG1fYmxvY2subG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGlu
ZShmbG9hdExvZ2ljYWxCb3R0b20sIHNob3VsZEluZGVudFRleHQoKSk7Ci0gICAgICAgIG5ld0xp
bmVXaWR0aCA9IHN0ZDo6bWF4KDAuMGYsIG5ld0xpbmVSaWdodCAtIG5ld0xpbmVMZWZ0KTsKKyAg
ICAgICAgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGhBdE9mZnNldChtX2Jsb2NrLCBmbG9h
dExvZ2ljYWxCb3R0b20sIHNob3VsZEluZGVudFRleHQoKSk7CiAgICAgICAgIGxhc3RGbG9hdExv
Z2ljYWxCb3R0b20gPSBmbG9hdExvZ2ljYWxCb3R0b207CiAKICNpZiBFTkFCTEUoQ1NTX1NIQVBF
UykgJiYgRU5BQkxFKENTU19TSEFQRV9JTlNJREUpCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGNv
ZGUgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gaW5jb3Jwb3JhdGUgd2l0aCB0aGUgY29kZSBhYm92
ZS4KICAgICAgICAgU2hhcGVJbnNpZGVJbmZvKiBzaGFwZUluc2lkZUluZm8gPSBtX2Jsb2NrLmxh
eW91dFNoYXBlSW5zaWRlSW5mbygpOwogICAgICAgICBpZiAoc2hhcGVJbnNpZGVJbmZvKSB7CiAg
ICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxPZmZzZXRGcm9tU2hhcGVDb250YWluZXIgPSBt
X2Jsb2NrLmxvZ2ljYWxPZmZzZXRGcm9tU2hhcGVBbmNlc3RvckNvbnRhaW5lcigmc2hhcGVJbnNp
ZGVJbmZvLT5vd25lcigpKS5oZWlnaHQoKTsKQEAgLTE5MywxMiArMjQ1LDcgQEAgdm9pZCBMaW5l
V2lkdGg6OmZpdEJlbG93RmxvYXRzKCkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg
IGlmIChuZXdMaW5lV2lkdGggPiBtX2F2YWlsYWJsZVdpZHRoKSB7Ci0gICAgICAgIG1fYmxvY2su
c2V0TG9naWNhbEhlaWdodChsYXN0RmxvYXRMb2dpY2FsQm90dG9tKTsKLSAgICAgICAgbV9hdmFp
bGFibGVXaWR0aCA9IG5ld0xpbmVXaWR0aCArIG1fb3ZlcmhhbmdXaWR0aDsKLSAgICAgICAgbV9s
ZWZ0ID0gbmV3TGluZUxlZnQ7Ci0gICAgICAgIG1fcmlnaHQgPSBuZXdMaW5lUmlnaHQ7Ci0gICAg
fQorICAgIHVwZGF0ZUxpbmVEaW1lbnNpb24obGFzdEZsb2F0TG9naWNhbEJvdHRvbSwgbmV3TGlu
ZVdpZHRoKTsKIH0KIAogdm9pZCBMaW5lV2lkdGg6OnNldFRyYWlsaW5nV2hpdGVzcGFjZVdpZHRo
KGZsb2F0IGNvbGxhcHNlZFdoaXRlc3BhY2UsIGZsb2F0IGJvcmRlclBhZGRpbmdNYXJnaW4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCmluZGV4IDIwZDIxNGYuLjg3
ODdmYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0
aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCkBAIC02
NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFVuY29tbWl0dGVkV2lkdGgoZmxvYXQg
ZGVsdGEpIHsgbV91bmNvbW1pdHRlZFdpZHRoICs9IGRlbHRhOyB9CiAgICAgdm9pZCBjb21taXQo
KTsKICAgICB2b2lkIGFwcGx5T3ZlcmhhbmcoUmVuZGVyUnVieVJ1biosIFJlbmRlck9iamVjdCog
c3RhcnRSZW5kZXJlciwgUmVuZGVyT2JqZWN0KiBlbmRSZW5kZXJlcik7Ci0gICAgdm9pZCBmaXRC
ZWxvd0Zsb2F0cygpOworICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoTGF5b3V0VW5pdCBsaW5lSGVp
Z2h0ID0gMCk7CiAgICAgdm9pZCBzZXRUcmFpbGluZ1doaXRlc3BhY2VXaWR0aChmbG9hdCBjb2xs
YXBzZWRXaGl0ZXNwYWNlLCBmbG9hdCBib3JkZXJQYWRkaW5nTWFyZ2luID0gMCk7CiAKICNpZiBF
TkFCTEUoQ1NTX1NIQVBFUykgJiYgRU5BQkxFKENTU19TSEFQRV9JTlNJREUpCkBAIC03Niw2ICs3
NiwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUF2YWlsYWJsZVdpZHRo
RnJvbUxlZnRBbmRSaWdodCgpOwogICAgIGJvb2wgZml0c09uTGluZUV4Y2x1ZGluZ1RyYWlsaW5n
Q29sbGFwc2VkV2hpdGVzcGFjZSgpIGNvbnN0OworI2lmIEVOQUJMRShDU1NfU0hBUEVTKQorICAg
IHZvaWQgd3JhcE5leHRUb1NoYXBlT3V0c2lkZShMYXlvdXRVbml0IGxpbmVIZWlnaHQpOworICAg
IHZvaWQgdXBkYXRlTGluZURpbWVuc2lvbihMYXlvdXRVbml0IG5ld0xpbmVUb3AsIExheW91dFVu
aXQgbmV3TGluZVdpZHRoKTsKKyNlbmRpZgogCiAgICAgUmVuZGVyQmxvY2tGbG93JiBtX2Jsb2Nr
OwogICAgIGZsb2F0IG1fdW5jb21taXR0ZWRXaWR0aDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224912</attachid>
            <date>2014-02-21 14:36:49 -0800</date>
            <delta_ts>2014-02-24 14:25:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wrapping.patch</filename>
            <type>text/plain</type>
            <size>14291</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NTI1N2JkLi45NzdmN2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MjEgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAy
LTIxICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgICdt
b3VzZWVudGVyJyBtb3VzZSBjb21wYXQgZXZlbnQgbm90IGZpcmVkIHdoZW4gbGlzdGVuZXJzIGZv
ciB0b3VjaCBldmVudHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBjNjQ4YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisub3ZlcmxheSB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAxMDJw
eDsKKyAgICBoZWlnaHQ6IDEwNnB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQor
PC9zdHlsZT4KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJvdmVybGF5
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJsZWZ0OiAxNDBweCI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0idG9wOiAxNDBweCI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJvdmVybGF5IiBzdHlsZT0idG9wOiAxNDBweDsgbGVmdDogMTQwcHg7Ij48L2Rpdj4KKwor
PHAgc3R5bGU9Im1hcmdpbi10b3A6IDI4MHB4OyI+VGhlIGNvbnRlbnQgc2hvdWxkIHdyYXAgYXJv
dW5kIHRoZSB0cmlhbmdsZSBzaGFwZXMsIGl0IHNob3VsZCBmaXQgaW4gdGhlIGNvbnRlbnQgYm94
LCBzbyB5b3Ugc2hvdWxkIHNlZSBmb3VyIGdyZWVuIHJlY3RhbmdsZXMuCitZb3Ugc2hvdWxkbid0
IHNlZSBhbnkgcmVkLjwvcD4KKzxwPjxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnL2IvMTI3ODUy
Jz5CdWcgMTI4NjkzPC9hPjogW0NTUyBTaGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRv
IHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFwcGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlczwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdlMTE4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxv
YXRzLWxpbmV0b3AtYWRqdXN0bWVudC5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CisuY29udGFpbmVyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
dG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAw
cHg7CisgICAgZm9udDogMzBweCAvIDEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICBjb2xvcjogcmVk
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOworICAgIGJvcmRlci10b3A6IDVweCBzb2xp
ZCBncmVlbjsKK30KKy5zaGFwZS1vdXRzaWRlIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCAxMTcsIDExNywgMC41
KTsKK30KKy5sZWZ0RmxvYXRUcmlhbmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBw
b2x5Z29uKDBweCAwcHgsIDEwMHB4IDUwcHgsIDBweCAxMDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7
Cit9CisucmlnaHRGbG9hdFRyaWFuZ2xlIHsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBv
bHlnb24oMTAwcHggMHB4LCAwcHggNTBweCwgMTAwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdo
dDsKK30KKy5sZWZ0RmxvYXRVcHBlckxlZnRUaXJhbmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBwb2x5Z29uKDBweCAwcHgsIDEwMHB4IDBweCwgMHB4IDEwMHB4KTsKKyAgICBmbG9h
dDogbGVmdDsKK30KKy5yaWdodEZsb2F0VXBwZXJSaWdodFRyaWFuZ2xlIHsKKyAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMTAwcHggMHB4LCAwcHggMHB4LCAxMDBweCAxMDBweCk7
CisgICAgZmxvYXQ6IHJpZ2h0OworfQorLm92ZXJsYXkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMTAycHg7CisgICAgaGVp
Z2h0OiAxMDZweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIGxlZnRGbG9hdFRyaWFuZ2xlIj48L2Rpdj4gWCBYCis8
L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9ImxlZnQ6IDE0MHB4OyI+CisgICAg
PGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSByaWdodEZsb2F0VHJpYW5nbGUiPjwvZGl2PiBYIFgK
KzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBweDsiPgorICAg
IDxkaXYgY2xhc3M9InNoYXBlLW91dHNpZGUgbGVmdEZsb2F0VXBwZXJMZWZ0VGlyYW5nbGUiPjwv
ZGl2PiBYIFgKKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBw
eDsgbGVmdDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIHJpZ2h0Rmxv
YXRVcHBlclJpZ2h0VHJpYW5nbGUiPjwvZGl2PiBYIFgKKzwvZGl2PgorPGRpdiBjbGFzcz0ib3Zl
cmxheSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ibGVmdDogMTQwcHgiPjwv
ZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHgiPjwvZGl2PgorPGRp
diBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6IDE0MHB4OyI+PC9kaXY+
CisKKzxwIHN0eWxlPSJtYXJnaW4tdG9wOiAyODBweDsiPlRoZSBjb250ZW50IHNob3VsZCB3cmFw
IGFyb3VuZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBpdCBzaG91bGQgZml0IGluIHRoZSBjb250ZW50
IGJveCwgc28geW91IHNob3VsZCBzZWUgZm91ciBncmVlbiByZWN0YW5nbGVzLgorWW91IHNob3Vs
ZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48YSBocmVmPSdodHRwOi8vd2Via2l0Lm9yZy9iLzEy
ODY5Myc+QnVnIDEyODY5MzwvYT46IFtDU1MgU2hhcGVzXSBBZGp1c3QgbGluZVRvcCBwb3NpdGlv
biB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24gYXQgc2hhcGUtb3V0c2lk
ZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc5YTBhNS4uYWFiYjY0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTAyLTIxICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBBZGp1c3QgbGluZVRv
cCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24gYXQgc2hh
cGUtb3V0c2lkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyODY5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gd2UgZG9uJ3QgaGF2ZSBzcGFjZSBuZXh0IHRvIHRoZSBmbG9hdGluZyBjb250YWlu
ZXIsIGJ1dCB3ZSBoYXZlIHNwYWNlIGluc2lkZSB0aGUgZmxvYXRpbmctY29udGFpbmVyIG5leHQK
KyAgICAgICAgdG8gdGhlIGRlZmluZWQgc2hhcGUtb3V0c2lkZSwgd2Ugc2hvdWxkIHdyYXAgYXJv
dW5kIHRoZSBzaGFwZS1vdXRzaWRlLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBiZWhhdmlvciBib3Ro
IGZvcgorICAgICAgICBjYXNlcyB3aGVuIHRoZXJlIGlzIG5vIHNwYWNlIHRvIGZpdCBhdCB0aGUg
Zmlyc3QgbGluZSwgYW5kIGZvciB0aGUgYWRkaXRpb25hbCBsaW5lcyBjYXNlcy4KKworICAgICAg
ICBUZXN0OiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUv
QnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtp
bmdDb250ZXh0OjpoYW5kbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4
dDo6Y29tbWl0QW5kVXBkYXRlTGluZUJyZWFrSWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9saW5lL0xpbmVXaWR0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphdmFpbGFibGVXaWR0aEF0
T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6dXBkYXRlTGluZURpbWVuc2lv
bik6IEFkZGVkIG5ldyBoZWxwZXIuCisgICAgICAgIChXZWJDb3JlOjppc1dob2xlTGluZUZpdCk6
IEFkZGVkIG5ldyBoZWxwZXIuCisgICAgICAgIChXZWJDb3JlOjpMaW5lV2lkdGg6OndyYXBOZXh0
VG9TaGFwZU91dHNpZGUpOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6TGlu
ZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cyk6IEFkZCBvcHRpb25hbCBwYXJhbWV0ZXIgZm9yIHRoZSBm
dW5jdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaDoKKwogMjAxNC0w
Mi0yMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICAn
bW91c2VlbnRlcicgbW91c2UgY29tcGF0IGV2ZW50IG5vdCBmaXJlZCB3aGVuIGxpc3RlbmVycyBm
b3IgdG91Y2ggZXZlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5kZXggNTg2ZDJkZi4uOWJj
ODJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdD
b250ZXh0SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5l
L0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaApAQCAtNzgwLDggKzc4MCwxMyBAQCBpbmxp
bmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29y
ZE1lYXN1cmVtZW50cywgYm9vbAogI2VuZGlmCiAgICAgICAgICAgICBhcHBseVdvcmRTcGFjaW5n
ID0gd29yZFNwYWNpbmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAotICAgICAgICAg
ICAgaWYgKCFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAmJiAhbV93aWR0
aC5maXRzT25MaW5lKCkpCisgICAgICAgICAgICBpZiAoIW1fd2lkdGguY29tbWl0dGVkV2lkdGgo
KSAmJiBtX2F1dG9XcmFwICYmICFtX3dpZHRoLmZpdHNPbkxpbmUoKSkgeworI2lmIEVOQUJMRShD
U1NfU0hBUEVTKQorICAgICAgICAgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMobV9saW5l
SW5mby5pc0ZpcnN0TGluZSgpKTsKKyNlbHNlCiAgICAgICAgICAgICAgICAgbV93aWR0aC5maXRC
ZWxvd0Zsb2F0cygpOworI2VuZGlmCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICht
X2F1dG9XcmFwIHx8IGJyZWFrV29yZHMpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBicmVh
ayBvbmx5IGFmdGVyIHdoaXRlLXNwYWNlLCBjb25zaWRlciB0aGUgY3VycmVudCBjaGFyYWN0ZXIK
QEAgLTEwMDIsOCArMTAwNywxMyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmNhbkJy
ZWFrQXRUaGlzUG9zaXRpb24oKQogICAgIGJvb2wgY2FuQnJlYWtIZXJlID0gIW1fY3VycmVudENo
YXJhY3RlcklzU3BhY2UgJiYgdGV4dEJlZ2luc1dpdGhCcmVha2FibGVQb3NpdGlvbihtX25leHRP
YmplY3QpOwogCiAgICAgLy8gU2VlIGlmIGF0dGVtcHRpbmcgdG8gZml0IGJlbG93IGZsb2F0cyBj
cmVhdGVzIG1vcmUgYXZhaWxhYmxlIHdpZHRoIG9uIHRoZSBsaW5lLgotICAgIGlmICghbV93aWR0
aC5maXRzT25MaW5lKCkgJiYgIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSkKKyAgICBpZiAoIW1f
d2lkdGguZml0c09uTGluZSgpICYmICFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkpIHsKKyNpZiBF
TkFCTEUoQ1NTX1NIQVBFUykKKyAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0cyhtX2xpbmVJ
bmZvLmlzRmlyc3RMaW5lKCkpOworI2Vsc2UKICAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0
cygpOworI2VuZGlmCisgICAgfQogCiAgICAgYm9vbCBjYW5QbGFjZU9uTGluZSA9IG1fd2lkdGgu
Zml0c09uTGluZSgpIHx8ICFtX2F1dG9XcmFwV2FzRXZlclRydWVPbkxpbmU7CiAKQEAgLTEwMjcs
OCArMTAzNywxMSBAQCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmNvbW1pdEFuZFVwZGF0
ZUxpbmVCcmVha0lmTmVlZGVkKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisj
aWYgRU5BQkxFKENTU19TSEFQRVMpCisgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMobV9s
aW5lSW5mby5pc0ZpcnN0TGluZSgpKTsKKyNlbHNlCiAgICAgICAgIG1fd2lkdGguZml0QmVsb3dG
bG9hdHMoKTsKLQorI2VuZGlmCiAgICAgICAgIC8vIHx3aWR0aHwgbWF5IGhhdmUgYmVlbiBhZGp1
c3RlZCBiZWNhdXNlIHdlIGdvdCBzaG92ZWQgZG93biBwYXN0IGEgZmxvYXQgKHRodXMKICAgICAg
ICAgLy8gZ2l2aW5nIHVzIG1vcmUgcm9vbSksIHNvIHdlIG5lZWQgdG8gcmV0ZXN0LCBhbmQgb25s
eSBqdW1wIHRvCiAgICAgICAgIC8vIHRoZSBlbmQgbGFiZWwgaWYgd2Ugc3RpbGwgZG9uJ3QgZml0
IG9uIHRoZSBsaW5lLiAtZHdoCkBAIC0xMDM5LDcgKzEwNTIsMTEgQEAgaW5saW5lIHZvaWQgQnJl
YWtpbmdDb250ZXh0Ojpjb21taXRBbmRVcGRhdGVMaW5lQnJlYWtJZk5lZWRlZCgpCiAgICAgfSBl
bHNlIGlmIChtX2Jsb2NrU3R5bGUuYXV0b1dyYXAoKSAmJiAhbV93aWR0aC5maXRzT25MaW5lKCkg
JiYgIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSkgewogICAgICAgICAvLyBJZiB0aGUgY29udGFp
bmVyIGF1dG93cmFwcyBidXQgdGhlIGN1cnJlbnQgY2hpbGQgZG9lcyBub3QgdGhlbiB3ZSBzdGls
bCBuZWVkIHRvIGVuc3VyZSB0aGF0IGl0CiAgICAgICAgIC8vIHdyYXBzIGFuZCBtb3ZlcyBiZWxv
dyBhbnkgZmxvYXRzLgorI2lmIEVOQUJMRShDU1NfU0hBUEVTKQorICAgICAgICBtX3dpZHRoLmZp
dEJlbG93RmxvYXRzKG1fbGluZUluZm8uaXNGaXJzdExpbmUoKSk7CisjZWxzZQogICAgICAgICBt
X3dpZHRoLmZpdEJlbG93RmxvYXRzKCk7CisjZW5kaWYKICAgICB9CiAKICAgICBpZiAoIW1fY3Vy
cmVudC5yZW5kZXJlcigpLT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwCmluZGV4IGVkMDc1ODYu
LjA4ZWEyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVX
aWR0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmNw
cApAQCAtMTU4LDcgKzE1OCw1OCBAQCB2b2lkIExpbmVXaWR0aDo6YXBwbHlPdmVyaGFuZyhSZW5k
ZXJSdWJ5UnVuKiBydWJ5UnVuLCBSZW5kZXJPYmplY3QqIHN0YXJ0UmVuZGVyZQogICAgIG1fb3Zl
cmhhbmdXaWR0aCArPSBzdGFydE92ZXJoYW5nICsgZW5kT3Zlcmhhbmc7CiB9CiAKLXZvaWQgTGlu
ZVdpZHRoOjpmaXRCZWxvd0Zsb2F0cygpCitpbmxpbmUgc3RhdGljIGZsb2F0IGF2YWlsYWJsZVdp
ZHRoQXRPZmZzZXQoY29uc3QgUmVuZGVyQmxvY2smIGJsb2NrLCBjb25zdCBMYXlvdXRVbml0JiBv
ZmZzZXQsIGJvb2wgc2hvdWxkSW5kZW50VGV4dCkKK3sKKyAgICBmbG9hdCBuZXdMaW5lTGVmdCA9
IGJsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShvZmZzZXQsIHNob3VsZEluZGVudFRleHQp
OworICAgIGZsb2F0IG5ld0xpbmVSaWdodCA9IGJsb2NrLmxvZ2ljYWxSaWdodE9mZnNldEZvckxp
bmUob2Zmc2V0LCBzaG91bGRJbmRlbnRUZXh0KTsKKyAgICByZXR1cm4gc3RkOjptYXgoMC4wZiwg
bmV3TGluZVJpZ2h0IC0gbmV3TGluZUxlZnQpOworfQorCit2b2lkIExpbmVXaWR0aDo6dXBkYXRl
TGluZURpbWVuc2lvbihMYXlvdXRVbml0IG5ld0xpbmVUb3AsIExheW91dFVuaXQgbmV3TGluZVdp
ZHRoKQoreworICAgIGlmIChuZXdMaW5lV2lkdGggPD0gbV9hdmFpbGFibGVXaWR0aCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9ibG9jay5zZXRMb2dpY2FsSGVpZ2h0KG5ld0xpbmVUb3ApOwor
ICAgIG1fYXZhaWxhYmxlV2lkdGggPSBuZXdMaW5lV2lkdGggKyBtX292ZXJoYW5nV2lkdGg7Cisg
ICAgbV9sZWZ0ID0gbV9ibG9jay5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobmV3TGluZVRvcCwg
c2hvdWxkSW5kZW50VGV4dCgpKTsKKyAgICBtX3JpZ2h0ID0gbV9ibG9jay5sb2dpY2FsUmlnaHRP
ZmZzZXRGb3JMaW5lKG5ld0xpbmVUb3AsIHNob3VsZEluZGVudFRleHQoKSk7Cit9CisKKyNpZiBF
TkFCTEUoQ1NTX1NIQVBFUykKK2lubGluZSBzdGF0aWMgYm9vbCBpc1dob2xlTGluZUZpdChjb25z
dCBSZW5kZXJCbG9jayYgYmxvY2ssIGNvbnN0IExheW91dFVuaXQmIGxpbmVUb3AsIExheW91dFVu
aXQgbGluZUhlaWdodCwgZmxvYXQgdW5jb21taXR0ZWRXaWR0aCwgYm9vbCBzaG91bGRJbmRlbnRU
ZXh0KQoreworICAgIGZvciAoTGF5b3V0VW5pdCBsaW5lQm90dG9tID0gbGluZVRvcDsgbGluZUJv
dHRvbSA8PSBsaW5lVG9wICsgbGluZUhlaWdodDsgKytsaW5lQm90dG9tKSB7CisgICAgICAgIExh
eW91dFVuaXQgYXZhaWxhYmxlV2lkdGhBdEJvdHRvbSA9IGF2YWlsYWJsZVdpZHRoQXRPZmZzZXQo
YmxvY2ssIGxpbmVCb3R0b20sIHNob3VsZEluZGVudFRleHQpOworICAgICAgICBpZiAoYXZhaWxh
YmxlV2lkdGhBdEJvdHRvbSA8IHVuY29tbWl0dGVkV2lkdGgpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIExpbmVXaWR0aDo6d3Jh
cE5leHRUb1NoYXBlT3V0c2lkZShib29sIGlzRmlyc3RMaW5lKQoreworICAgIExheW91dFVuaXQg
bGluZUhlaWdodCA9IG1fYmxvY2subGluZUhlaWdodChpc0ZpcnN0TGluZSwgbV9ibG9jay5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBv
c2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcyk7CisgICAgTGF5b3V0VW5pdCBsaW5lTG9naWNhbFRv
cCA9IG1fYmxvY2subG9naWNhbEhlaWdodCgpOworICAgIExheW91dFVuaXQgbmV3TGluZVRvcCA9
IGxpbmVMb2dpY2FsVG9wOworICAgIExheW91dFVuaXQgZmxvYXRMb2dpY2FsQm90dG9tID0gbV9i
bG9jay5uZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3cobGluZUxvZ2ljYWxUb3ApOworCisgICAg
ZmxvYXQgbmV3TGluZVdpZHRoOworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIG5ld0xpbmVX
aWR0aCA9IGF2YWlsYWJsZVdpZHRoQXRPZmZzZXQobV9ibG9jaywgbmV3TGluZVRvcCwgc2hvdWxk
SW5kZW50VGV4dCgpKTsKKyAgICAgICAgaWYgKG5ld0xpbmVXaWR0aCA+PSBtX3VuY29tbWl0dGVk
V2lkdGggJiYgaXNXaG9sZUxpbmVGaXQobV9ibG9jaywgbmV3TGluZVRvcCwgbGluZUhlaWdodCwg
bV91bmNvbW1pdHRlZFdpZHRoLCBzaG91bGRJbmRlbnRUZXh0KCkpKQorICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgaWYgKG5ld0xpbmVUb3AgPj0gZmxvYXRMb2dpY2FsQm90dG9tKQorICAg
ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgKytuZXdMaW5lVG9wOworICAgIH0KKyAgICB1cGRh
dGVMaW5lRGltZW5zaW9uKG5ld0xpbmVUb3AsIG5ld0xpbmVXaWR0aCk7Cit9CisjZW5kaWYKKwor
dm9pZCBMaW5lV2lkdGg6OmZpdEJlbG93RmxvYXRzKGJvb2wgaXNGaXJzdExpbmUpCiB7CiAgICAg
QVNTRVJUKCFtX2NvbW1pdHRlZFdpZHRoKTsKICAgICBBU1NFUlQoIWZpdHNPbkxpbmUoKSk7CkBA
IC0xNjYsMjAgKzIxNywyMiBAQCB2b2lkIExpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMoKQogICAg
IExheW91dFVuaXQgZmxvYXRMb2dpY2FsQm90dG9tOwogICAgIExheW91dFVuaXQgbGFzdEZsb2F0
TG9naWNhbEJvdHRvbSA9IG1fYmxvY2subG9naWNhbEhlaWdodCgpOwogICAgIGZsb2F0IG5ld0xp
bmVXaWR0aCA9IG1fYXZhaWxhYmxlV2lkdGg7Ci0gICAgZmxvYXQgbmV3TGluZUxlZnQgPSBtX2xl
ZnQ7Ci0gICAgZmxvYXQgbmV3TGluZVJpZ2h0ID0gbV9yaWdodDsKKworI2lmIEVOQUJMRShDU1Nf
U0hBUEVTKQorICAgIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lID0g
KG1fYmxvY2suY29udGFpbnNGbG9hdHMoKSA/IG1fYmxvY2subV9mbG9hdGluZ09iamVjdHMtPnNl
dCgpLmxhc3QoKS5nZXQoKSA6IDApOworICAgIGlmIChsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5l
ICYmIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUtPnJlbmRlcmVyKCkuc2hhcGVPdXRzaWRlSW5m
bygpKQorICAgICAgICByZXR1cm4gd3JhcE5leHRUb1NoYXBlT3V0c2lkZShpc0ZpcnN0TGluZSk7
CisjZW5kaWYKKwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGZsb2F0TG9naWNhbEJvdHRv
bSA9IG1fYmxvY2submV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93KGxhc3RGbG9hdExvZ2ljYWxC
b3R0b20pOwogICAgICAgICBpZiAoZmxvYXRMb2dpY2FsQm90dG9tIDw9IGxhc3RGbG9hdExvZ2lj
YWxCb3R0b20pCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBuZXdMaW5lTGVmdCA9IG1f
YmxvY2subG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGZsb2F0TG9naWNhbEJvdHRvbSwgc2hvdWxk
SW5kZW50VGV4dCgpKTsKLSAgICAgICAgbmV3TGluZVJpZ2h0ID0gbV9ibG9jay5sb2dpY2FsUmln
aHRPZmZzZXRGb3JMaW5lKGZsb2F0TG9naWNhbEJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCgpKTsK
LSAgICAgICAgbmV3TGluZVdpZHRoID0gc3RkOjptYXgoMC4wZiwgbmV3TGluZVJpZ2h0IC0gbmV3
TGluZUxlZnQpOworICAgICAgICBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aEF0T2Zmc2V0
KG1fYmxvY2ssIGZsb2F0TG9naWNhbEJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCgpKTsKICAgICAg
ICAgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9IGZsb2F0TG9naWNhbEJvdHRvbTsKIAogI2lmIEVO
QUJMRShDU1NfU0hBUEVTKSAmJiBFTkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkKLSAgICAgICAgLy8g
RklYTUU6IFRoaXMgY29kZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBpbmNvcnBvcmF0ZSB3aXRo
IHRoZSBjb2RlIGFib3ZlLgogICAgICAgICBTaGFwZUluc2lkZUluZm8qIHNoYXBlSW5zaWRlSW5m
byA9IG1fYmxvY2subGF5b3V0U2hhcGVJbnNpZGVJbmZvKCk7CiAgICAgICAgIGlmIChzaGFwZUlu
c2lkZUluZm8pIHsKICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbE9mZnNldEZyb21TaGFw
ZUNvbnRhaW5lciA9IG1fYmxvY2subG9naWNhbE9mZnNldEZyb21TaGFwZUFuY2VzdG9yQ29udGFp
bmVyKCZzaGFwZUluc2lkZUluZm8tPm93bmVyKCkpLmhlaWdodCgpOwpAQCAtMTkzLDEyICsyNDYs
NyBAQCB2b2lkIExpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMoKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgfQogCi0gICAgaWYgKG5ld0xpbmVXaWR0aCA+IG1fYXZhaWxhYmxlV2lkdGgpIHsKLSAg
ICAgICAgbV9ibG9jay5zZXRMb2dpY2FsSGVpZ2h0KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwot
ICAgICAgICBtX2F2YWlsYWJsZVdpZHRoID0gbmV3TGluZVdpZHRoICsgbV9vdmVyaGFuZ1dpZHRo
OwotICAgICAgICBtX2xlZnQgPSBuZXdMaW5lTGVmdDsKLSAgICAgICAgbV9yaWdodCA9IG5ld0xp
bmVSaWdodDsKLSAgICB9CisgICAgdXBkYXRlTGluZURpbWVuc2lvbihsYXN0RmxvYXRMb2dpY2Fs
Qm90dG9tLCBuZXdMaW5lV2lkdGgpOwogfQogCiB2b2lkIExpbmVXaWR0aDo6c2V0VHJhaWxpbmdX
aGl0ZXNwYWNlV2lkdGgoZmxvYXQgY29sbGFwc2VkV2hpdGVzcGFjZSwgZmxvYXQgYm9yZGVyUGFk
ZGluZ01hcmdpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xp
bmVXaWR0aC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmgKaW5k
ZXggMjBkMjE0Zi4uMWJlZDZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L2xpbmUvTGluZVdpZHRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGlu
ZVdpZHRoLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkVW5jb21taXR0
ZWRXaWR0aChmbG9hdCBkZWx0YSkgeyBtX3VuY29tbWl0dGVkV2lkdGggKz0gZGVsdGE7IH0KICAg
ICB2b2lkIGNvbW1pdCgpOwogICAgIHZvaWQgYXBwbHlPdmVyaGFuZyhSZW5kZXJSdWJ5UnVuKiwg
UmVuZGVyT2JqZWN0KiBzdGFydFJlbmRlcmVyLCBSZW5kZXJPYmplY3QqIGVuZFJlbmRlcmVyKTsK
LSAgICB2b2lkIGZpdEJlbG93RmxvYXRzKCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhib29s
IGlzRmlyc3RMaW5lID0gZmFsc2UpOwogICAgIHZvaWQgc2V0VHJhaWxpbmdXaGl0ZXNwYWNlV2lk
dGgoZmxvYXQgY29sbGFwc2VkV2hpdGVzcGFjZSwgZmxvYXQgYm9yZGVyUGFkZGluZ01hcmdpbiA9
IDApOwogCiAjaWYgRU5BQkxFKENTU19TSEFQRVMpICYmIEVOQUJMRShDU1NfU0hBUEVfSU5TSURF
KQpAQCAtNzYsNiArNzYsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVB
dmFpbGFibGVXaWR0aEZyb21MZWZ0QW5kUmlnaHQoKTsKICAgICBib29sIGZpdHNPbkxpbmVFeGNs
dWRpbmdUcmFpbGluZ0NvbGxhcHNlZFdoaXRlc3BhY2UoKSBjb25zdDsKKyNpZiBFTkFCTEUoQ1NT
X1NIQVBFUykKKyAgICB2b2lkIHdyYXBOZXh0VG9TaGFwZU91dHNpZGUoYm9vbCBpc0ZpcnN0TGlu
ZSk7CisgICAgdm9pZCB1cGRhdGVMaW5lRGltZW5zaW9uKExheW91dFVuaXQgbmV3TGluZVRvcCwg
TGF5b3V0VW5pdCBuZXdMaW5lV2lkdGgpOworI2VuZGlmCiAKICAgICBSZW5kZXJCbG9ja0Zsb3cm
IG1fYmxvY2s7CiAgICAgZmxvYXQgbV91bmNvbW1pdHRlZFdpZHRoOwo=
</data>
<flag name="review"
          id="249027"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225097</attachid>
            <date>2014-02-24 14:25:17 -0800</date>
            <delta_ts>2014-02-24 15:05:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wrapping.patch</filename>
            <type>text/plain</type>
            <size>13800</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZWJhNDU5Li5jNjc1MzEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MjQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRvIHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFw
cGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
aWQgSHlhdHQuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy1saW5ldG9wLWFkanVzdG1lbnQtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTI0
ICBUaGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3Jn
PgogCiAgICAgICAgIFtXZWJSVENdIFZhbGlkYXRpbmcgUlRDQ29uZmlndXJhdGlvbiBhY2NvcmRp
bmcgdG8gdGhlIHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50LWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBjNjQ4YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0bWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisub3ZlcmxheSB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAxMDJw
eDsKKyAgICBoZWlnaHQ6IDEwNnB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQor
PC9zdHlsZT4KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJvdmVybGF5
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Im92ZXJsYXkiIHN0eWxlPSJsZWZ0OiAxNDBweCI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0idG9wOiAxNDBweCI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJvdmVybGF5IiBzdHlsZT0idG9wOiAxNDBweDsgbGVmdDogMTQwcHg7Ij48L2Rpdj4KKwor
PHAgc3R5bGU9Im1hcmdpbi10b3A6IDI4MHB4OyI+VGhlIGNvbnRlbnQgc2hvdWxkIHdyYXAgYXJv
dW5kIHRoZSB0cmlhbmdsZSBzaGFwZXMsIGl0IHNob3VsZCBmaXQgaW4gdGhlIGNvbnRlbnQgYm94
LCBzbyB5b3Ugc2hvdWxkIHNlZSBmb3VyIGdyZWVuIHJlY3RhbmdsZXMuCitZb3Ugc2hvdWxkbid0
IHNlZSBhbnkgcmVkLjwvcD4KKzxwPjxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnL2IvMTI3ODUy
Jz5CdWcgMTI4NjkzPC9hPjogW0NTUyBTaGFwZXNdIEFkanVzdCBsaW5lVG9wIHBvc2l0aW9uIHRv
IHRoZSBuZXh0IGF2YWlsYWJsZSB3cmFwcGluZyBsb2NhdGlvbiBhdCBzaGFwZS1vdXRzaWRlczwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLWxpbmV0b3AtYWRqdXN0
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMtbGluZXRvcC1hZGp1c3RtZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdlMTE4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxv
YXRzLWxpbmV0b3AtYWRqdXN0bWVudC5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CisuY29udGFpbmVyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
dG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAw
cHg7CisgICAgZm9udDogMzBweCAvIDEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICBjb2xvcjogcmVk
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOworICAgIGJvcmRlci10b3A6IDVweCBzb2xp
ZCBncmVlbjsKK30KKy5zaGFwZS1vdXRzaWRlIHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCAxMTcsIDExNywgMC41
KTsKK30KKy5sZWZ0RmxvYXRUcmlhbmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBw
b2x5Z29uKDBweCAwcHgsIDEwMHB4IDUwcHgsIDBweCAxMDBweCk7CisgICAgZmxvYXQ6IGxlZnQ7
Cit9CisucmlnaHRGbG9hdFRyaWFuZ2xlIHsKKyAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBv
bHlnb24oMTAwcHggMHB4LCAwcHggNTBweCwgMTAwcHggMTAwcHgpOworICAgIGZsb2F0OiByaWdo
dDsKK30KKy5sZWZ0RmxvYXRVcHBlckxlZnRUaXJhbmdsZSB7CisgICAgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBwb2x5Z29uKDBweCAwcHgsIDEwMHB4IDBweCwgMHB4IDEwMHB4KTsKKyAgICBmbG9h
dDogbGVmdDsKK30KKy5yaWdodEZsb2F0VXBwZXJSaWdodFRyaWFuZ2xlIHsKKyAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHBvbHlnb24oMTAwcHggMHB4LCAwcHggMHB4LCAxMDBweCAxMDBweCk7
CisgICAgZmxvYXQ6IHJpZ2h0OworfQorLm92ZXJsYXkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMTAycHg7CisgICAgaGVp
Z2h0OiAxMDZweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIGxlZnRGbG9hdFRyaWFuZ2xlIj48L2Rpdj4gWCBYCis8
L2Rpdj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9ImxlZnQ6IDE0MHB4OyI+CisgICAg
PGRpdiBjbGFzcz0ic2hhcGUtb3V0c2lkZSByaWdodEZsb2F0VHJpYW5nbGUiPjwvZGl2PiBYIFgK
KzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBweDsiPgorICAg
IDxkaXYgY2xhc3M9InNoYXBlLW91dHNpZGUgbGVmdEZsb2F0VXBwZXJMZWZ0VGlyYW5nbGUiPjwv
ZGl2PiBYIFgKKzwvZGl2PgorPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idG9wOiAxNDBw
eDsgbGVmdDogMTQwcHg7Ij4KKyAgICA8ZGl2IGNsYXNzPSJzaGFwZS1vdXRzaWRlIHJpZ2h0Rmxv
YXRVcHBlclJpZ2h0VHJpYW5nbGUiPjwvZGl2PiBYIFgKKzwvZGl2PgorPGRpdiBjbGFzcz0ib3Zl
cmxheSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ibGVmdDogMTQwcHgiPjwv
ZGl2PgorPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHgiPjwvZGl2PgorPGRp
diBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9InRvcDogMTQwcHg7IGxlZnQ6IDE0MHB4OyI+PC9kaXY+
CisKKzxwIHN0eWxlPSJtYXJnaW4tdG9wOiAyODBweDsiPlRoZSBjb250ZW50IHNob3VsZCB3cmFw
IGFyb3VuZCB0aGUgdHJpYW5nbGUgc2hhcGVzLCBpdCBzaG91bGQgZml0IGluIHRoZSBjb250ZW50
IGJveCwgc28geW91IHNob3VsZCBzZWUgZm91ciBncmVlbiByZWN0YW5nbGVzLgorWW91IHNob3Vs
ZG4ndCBzZWUgYW55IHJlZC48L3A+Cis8cD48YSBocmVmPSdodHRwOi8vd2Via2l0Lm9yZy9iLzEy
ODY5Myc+QnVnIDEyODY5MzwvYT46IFtDU1MgU2hhcGVzXSBBZGp1c3QgbGluZVRvcCBwb3NpdGlv
biB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24gYXQgc2hhcGUtb3V0c2lk
ZXM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTEyYWJlYS4uOTY5ZWQ3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTAyLTI0ICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBBZGp1c3QgbGluZVRv
cCBwb3NpdGlvbiB0byB0aGUgbmV4dCBhdmFpbGFibGUgd3JhcHBpbmcgbG9jYXRpb24gYXQgc2hh
cGUtb3V0c2lkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyODY5MworCisgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0LgorCisgICAgICAg
IFdoZW4gd2UgZG9uJ3QgaGF2ZSBzcGFjZSBuZXh0IHRvIHRoZSBmbG9hdGluZyBjb250YWluZXIs
IGJ1dCB3ZSBoYXZlIHNwYWNlIGluc2lkZSB0aGUgZmxvYXRpbmctY29udGFpbmVyIG5leHQKKyAg
ICAgICAgdG8gdGhlIGRlZmluZWQgc2hhcGUtb3V0c2lkZSwgd2Ugc2hvdWxkIHdyYXAgYXJvdW5k
IHRoZSBzaGFwZS1vdXRzaWRlLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBiZWhhdmlvciBib3RoIGZv
cgorICAgICAgICBjYXNlcyB3aGVuIHRoZXJlIGlzIG5vIHNwYWNlIHRvIGZpdCBhdCB0aGUgZmly
c3QgbGluZSwgYW5kIGZvciB0aGUgYWRkaXRpb25hbCBsaW5lcyBjYXNlcy4KKworICAgICAgICBU
ZXN0OiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy1saW5ldG9wLWFkanVzdG1lbnQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvQnJl
YWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdD
b250ZXh0OjpoYW5kbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6
Y29tbWl0QW5kVXBkYXRlTGluZUJyZWFrSWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9s
aW5lL0xpbmVXaWR0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphdmFpbGFibGVXaWR0aEF0T2Zm
c2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6dXBkYXRlTGluZURpbWVuc2lvbik6
IEFkZGVkIG5ldyBoZWxwZXIuCisgICAgICAgIChXZWJDb3JlOjppc1dob2xlTGluZUZpdCk6IEFk
ZGVkIG5ldyBoZWxwZXIuCisgICAgICAgIChXZWJDb3JlOjpMaW5lV2lkdGg6OndyYXBOZXh0VG9T
aGFwZU91dHNpZGUpOiBBZGRlZCBuZXcgaGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6TGluZVdp
ZHRoOjpmaXRCZWxvd0Zsb2F0cyk6IEFkZCBvcHRpb25hbCBwYXJhbWV0ZXIgZm9yIHRoZSBmdW5j
dGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaDoKKwogMjAxNC0wMi0y
NCAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBbV2ViUlRDXSBWYWxpZGF0aW5nIFJUQ0NvbmZpZ3VyYXRpb24gYWNjb3Jk
aW5nIHRvIHRoZSBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5kZXggNTg2ZDJkZi4uODlm
NzI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdD
b250ZXh0SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5l
L0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaApAQCAtNzgxLDcgKzc4MSw3IEBAIGlubGlu
ZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3Jk
TWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgICAgICBhcHBseVdvcmRTcGFjaW5nID0gd29yZFNw
YWNpbmcgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKIAogICAgICAgICAgICAgaWYgKCFt
X3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV9hdXRvV3JhcCAmJiAhbV93aWR0aC5maXRzT25M
aW5lKCkpCi0gICAgICAgICAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0cygpOworICAgICAg
ICAgICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMobV9saW5lSW5mby5pc0ZpcnN0TGluZSgp
KTsKIAogICAgICAgICAgICAgaWYgKG1fYXV0b1dyYXAgfHwgYnJlYWtXb3JkcykgewogICAgICAg
ICAgICAgICAgIC8vIElmIHdlIGJyZWFrIG9ubHkgYWZ0ZXIgd2hpdGUtc3BhY2UsIGNvbnNpZGVy
IHRoZSBjdXJyZW50IGNoYXJhY3RlcgpAQCAtMTAwMyw3ICsxMDAzLDcgQEAgaW5saW5lIGJvb2wg
QnJlYWtpbmdDb250ZXh0OjpjYW5CcmVha0F0VGhpc1Bvc2l0aW9uKCkKIAogICAgIC8vIFNlZSBp
ZiBhdHRlbXB0aW5nIHRvIGZpdCBiZWxvdyBmbG9hdHMgY3JlYXRlcyBtb3JlIGF2YWlsYWJsZSB3
aWR0aCBvbiB0aGUgbGluZS4KICAgICBpZiAoIW1fd2lkdGguZml0c09uTGluZSgpICYmICFtX3dp
ZHRoLmNvbW1pdHRlZFdpZHRoKCkpCi0gICAgICAgIG1fd2lkdGguZml0QmVsb3dGbG9hdHMoKTsK
KyAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0cyhtX2xpbmVJbmZvLmlzRmlyc3RMaW5lKCkp
OwogCiAgICAgYm9vbCBjYW5QbGFjZU9uTGluZSA9IG1fd2lkdGguZml0c09uTGluZSgpIHx8ICFt
X2F1dG9XcmFwV2FzRXZlclRydWVPbkxpbmU7CiAKQEAgLTEwMjcsNyArMTAyNyw3IEBAIGlubGlu
ZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6Y29tbWl0QW5kVXBkYXRlTGluZUJyZWFrSWZOZWVkZWQo
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgbV93aWR0aC5maXRC
ZWxvd0Zsb2F0cygpOworICAgICAgICBtX3dpZHRoLmZpdEJlbG93RmxvYXRzKG1fbGluZUluZm8u
aXNGaXJzdExpbmUoKSk7CiAKICAgICAgICAgLy8gfHdpZHRofCBtYXkgaGF2ZSBiZWVuIGFkanVz
dGVkIGJlY2F1c2Ugd2UgZ290IHNob3ZlZCBkb3duIHBhc3QgYSBmbG9hdCAodGh1cwogICAgICAg
ICAvLyBnaXZpbmcgdXMgbW9yZSByb29tKSwgc28gd2UgbmVlZCB0byByZXRlc3QsIGFuZCBvbmx5
IGp1bXAgdG8KQEAgLTEwMzksNyArMTAzOSw3IEBAIGlubGluZSB2b2lkIEJyZWFraW5nQ29udGV4
dDo6Y29tbWl0QW5kVXBkYXRlTGluZUJyZWFrSWZOZWVkZWQoKQogICAgIH0gZWxzZSBpZiAobV9i
bG9ja1N0eWxlLmF1dG9XcmFwKCkgJiYgIW1fd2lkdGguZml0c09uTGluZSgpICYmICFtX3dpZHRo
LmNvbW1pdHRlZFdpZHRoKCkpIHsKICAgICAgICAgLy8gSWYgdGhlIGNvbnRhaW5lciBhdXRvd3Jh
cHMgYnV0IHRoZSBjdXJyZW50IGNoaWxkIGRvZXMgbm90IHRoZW4gd2Ugc3RpbGwgbmVlZCB0byBl
bnN1cmUgdGhhdCBpdAogICAgICAgICAvLyB3cmFwcyBhbmQgbW92ZXMgYmVsb3cgYW55IGZsb2F0
cy4KLSAgICAgICAgbV93aWR0aC5maXRCZWxvd0Zsb2F0cygpOworICAgICAgICBtX3dpZHRoLmZp
dEJlbG93RmxvYXRzKG1fbGluZUluZm8uaXNGaXJzdExpbmUoKSk7CiAgICAgfQogCiAgICAgaWYg
KCFtX2N1cnJlbnQucmVuZGVyZXIoKS0+aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGgu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmNwcAppbmRleCBl
ZDA3NTg2Li4yNWZhM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9MaW5lV2lkdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVX
aWR0aC5jcHAKQEAgLTE1OCwyOCArMTU4LDg1IEBAIHZvaWQgTGluZVdpZHRoOjphcHBseU92ZXJo
YW5nKFJlbmRlclJ1YnlSdW4qIHJ1YnlSdW4sIFJlbmRlck9iamVjdCogc3RhcnRSZW5kZXJlCiAg
ICAgbV9vdmVyaGFuZ1dpZHRoICs9IHN0YXJ0T3ZlcmhhbmcgKyBlbmRPdmVyaGFuZzsKIH0KIAot
dm9pZCBMaW5lV2lkdGg6OmZpdEJlbG93RmxvYXRzKCkKK2lubGluZSBzdGF0aWMgZmxvYXQgYXZh
aWxhYmxlV2lkdGhBdE9mZnNldChjb25zdCBSZW5kZXJCbG9jayYgYmxvY2ssIGNvbnN0IExheW91
dFVuaXQmIG9mZnNldCwgYm9vbCBzaG91bGRJbmRlbnRUZXh0KQogeworICAgIGZsb2F0IG5ld0xp
bmVMZWZ0ID0gYmxvY2subG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKG9mZnNldCwgc2hvdWxkSW5k
ZW50VGV4dCk7CisgICAgZmxvYXQgbmV3TGluZVJpZ2h0ID0gYmxvY2subG9naWNhbFJpZ2h0T2Zm
c2V0Rm9yTGluZShvZmZzZXQsIHNob3VsZEluZGVudFRleHQpOworICAgIHJldHVybiBzdGQ6Om1h
eCgwLjBmLCBuZXdMaW5lUmlnaHQgLSBuZXdMaW5lTGVmdCk7Cit9CisKK3ZvaWQgTGluZVdpZHRo
Ojp1cGRhdGVMaW5lRGltZW5zaW9uKExheW91dFVuaXQgbmV3TGluZVRvcCwgTGF5b3V0VW5pdCBu
ZXdMaW5lV2lkdGgpCit7CisgICAgaWYgKG5ld0xpbmVXaWR0aCA8PSBtX2F2YWlsYWJsZVdpZHRo
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Jsb2NrLnNldExvZ2ljYWxIZWlnaHQobmV3TGlu
ZVRvcCk7CisgICAgbV9hdmFpbGFibGVXaWR0aCA9IG5ld0xpbmVXaWR0aCArIG1fb3ZlcmhhbmdX
aWR0aDsKKyAgICBtX2xlZnQgPSBtX2Jsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShuZXdM
aW5lVG9wLCBzaG91bGRJbmRlbnRUZXh0KCkpOworICAgIG1fcmlnaHQgPSBtX2Jsb2NrLmxvZ2lj
YWxSaWdodE9mZnNldEZvckxpbmUobmV3TGluZVRvcCwgc2hvdWxkSW5kZW50VGV4dCgpKTsKK30K
KworI2lmIEVOQUJMRShDU1NfU0hBUEVTKQoraW5saW5lIHN0YXRpYyBib29sIGlzV2hvbGVMaW5l
Rml0KGNvbnN0IFJlbmRlckJsb2NrJiBibG9jaywgY29uc3QgTGF5b3V0VW5pdCYgbGluZVRvcCwg
TGF5b3V0VW5pdCBsaW5lSGVpZ2h0LCBmbG9hdCB1bmNvbW1pdHRlZFdpZHRoLCBib29sIHNob3Vs
ZEluZGVudFRleHQpCit7CisgICAgZm9yIChMYXlvdXRVbml0IGxpbmVCb3R0b20gPSBsaW5lVG9w
OyBsaW5lQm90dG9tIDw9IGxpbmVUb3AgKyBsaW5lSGVpZ2h0OyArK2xpbmVCb3R0b20pIHsKKyAg
ICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aEF0Qm90dG9tID0gYXZhaWxhYmxlV2lkdGhB
dE9mZnNldChibG9jaywgbGluZUJvdHRvbSwgc2hvdWxkSW5kZW50VGV4dCk7CisgICAgICAgIGlm
IChhdmFpbGFibGVXaWR0aEF0Qm90dG9tIDwgdW5jb21taXR0ZWRXaWR0aCkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgTGluZVdp
ZHRoOjp3cmFwTmV4dFRvU2hhcGVPdXRzaWRlKGJvb2wgaXNGaXJzdExpbmUpCit7CisgICAgTGF5
b3V0VW5pdCBsaW5lSGVpZ2h0ID0gbV9ibG9jay5saW5lSGVpZ2h0KGlzRmlyc3RMaW5lLCBtX2Js
b2NrLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2Fs
TGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKTsKKyAgICBMYXlvdXRVbml0IGxpbmVM
b2dpY2FsVG9wID0gbV9ibG9jay5sb2dpY2FsSGVpZ2h0KCk7CisgICAgTGF5b3V0VW5pdCBuZXdM
aW5lVG9wID0gbGluZUxvZ2ljYWxUb3A7CisgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0
b20gPSBtX2Jsb2NrLm5leHRGbG9hdExvZ2ljYWxCb3R0b21CZWxvdyhsaW5lTG9naWNhbFRvcCk7
CisKKyAgICBmbG9hdCBuZXdMaW5lV2lkdGg7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAg
bmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGhBdE9mZnNldChtX2Jsb2NrLCBuZXdMaW5lVG9w
LCBzaG91bGRJbmRlbnRUZXh0KCkpOworICAgICAgICBpZiAobmV3TGluZVdpZHRoID49IG1fdW5j
b21taXR0ZWRXaWR0aCAmJiBpc1dob2xlTGluZUZpdChtX2Jsb2NrLCBuZXdMaW5lVG9wLCBsaW5l
SGVpZ2h0LCBtX3VuY29tbWl0dGVkV2lkdGgsIHNob3VsZEluZGVudFRleHQoKSkpCisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICBpZiAobmV3TGluZVRvcCA+PSBmbG9hdExvZ2ljYWxCb3R0
b20pCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICArK25ld0xpbmVUb3A7CisgICAgfQor
ICAgIHVwZGF0ZUxpbmVEaW1lbnNpb24obmV3TGluZVRvcCwgbmV3TGluZVdpZHRoKTsKK30KKyNl
bmRpZgorCit2b2lkIExpbmVXaWR0aDo6Zml0QmVsb3dGbG9hdHMoYm9vbCBpc0ZpcnN0TGluZSkK
K3sKKyNpZiAhRU5BQkxFKENTU19TSEFQRVMpCisgICAgVU5VU0VEX1BBUkFNKGlzRmlyc3RMaW5l
KTsKKyNlbmRpZgorCiAgICAgQVNTRVJUKCFtX2NvbW1pdHRlZFdpZHRoKTsKICAgICBBU1NFUlQo
IWZpdHNPbkxpbmUoKSk7CiAKICAgICBMYXlvdXRVbml0IGZsb2F0TG9naWNhbEJvdHRvbTsKICAg
ICBMYXlvdXRVbml0IGxhc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBtX2Jsb2NrLmxvZ2ljYWxIZWln
aHQoKTsKICAgICBmbG9hdCBuZXdMaW5lV2lkdGggPSBtX2F2YWlsYWJsZVdpZHRoOwotICAgIGZs
b2F0IG5ld0xpbmVMZWZ0ID0gbV9sZWZ0OwotICAgIGZsb2F0IG5ld0xpbmVSaWdodCA9IG1fcmln
aHQ7CisKKyNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKKyAgICBGbG9hdGluZ09iamVjdCogbGFzdEZs
b2F0RnJvbVByZXZpb3VzTGluZSA9IChtX2Jsb2NrLmNvbnRhaW5zRmxvYXRzKCkgPyBtX2Jsb2Nr
Lm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKS5sYXN0KCkuZ2V0KCkgOiAwKTsKKyAgICBpZiAobGFz
dEZsb2F0RnJvbVByZXZpb3VzTGluZSAmJiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLT5yZW5k
ZXJlcigpLnNoYXBlT3V0c2lkZUluZm8oKSkKKyAgICAgICAgcmV0dXJuIHdyYXBOZXh0VG9TaGFw
ZU91dHNpZGUoaXNGaXJzdExpbmUpOworI2VuZGlmCisKICAgICB3aGlsZSAodHJ1ZSkgewogICAg
ICAgICBmbG9hdExvZ2ljYWxCb3R0b20gPSBtX2Jsb2NrLm5leHRGbG9hdExvZ2ljYWxCb3R0b21C
ZWxvdyhsYXN0RmxvYXRMb2dpY2FsQm90dG9tKTsKICAgICAgICAgaWYgKGZsb2F0TG9naWNhbEJv
dHRvbSA8PSBsYXN0RmxvYXRMb2dpY2FsQm90dG9tKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAg
ICAgICAgbmV3TGluZUxlZnQgPSBtX2Jsb2NrLmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShmbG9h
dExvZ2ljYWxCb3R0b20sIHNob3VsZEluZGVudFRleHQoKSk7Ci0gICAgICAgIG5ld0xpbmVSaWdo
dCA9IG1fYmxvY2subG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShmbG9hdExvZ2ljYWxCb3R0b20s
IHNob3VsZEluZGVudFRleHQoKSk7Ci0gICAgICAgIG5ld0xpbmVXaWR0aCA9IHN0ZDo6bWF4KDAu
MGYsIG5ld0xpbmVSaWdodCAtIG5ld0xpbmVMZWZ0KTsKKyAgICAgICAgbmV3TGluZVdpZHRoID0g
YXZhaWxhYmxlV2lkdGhBdE9mZnNldChtX2Jsb2NrLCBmbG9hdExvZ2ljYWxCb3R0b20sIHNob3Vs
ZEluZGVudFRleHQoKSk7CiAgICAgICAgIGxhc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBmbG9hdExv
Z2ljYWxCb3R0b207CiAKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykgJiYgRU5BQkxFKENTU19TSEFQ
RV9JTlNJREUpCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkIGJlIHJlZmFjdG9y
ZWQgdG8gaW5jb3Jwb3JhdGUgd2l0aCB0aGUgY29kZSBhYm92ZS4KICAgICAgICAgU2hhcGVJbnNp
ZGVJbmZvKiBzaGFwZUluc2lkZUluZm8gPSBtX2Jsb2NrLmxheW91dFNoYXBlSW5zaWRlSW5mbygp
OwogICAgICAgICBpZiAoc2hhcGVJbnNpZGVJbmZvKSB7CiAgICAgICAgICAgICBMYXlvdXRVbml0
IGxvZ2ljYWxPZmZzZXRGcm9tU2hhcGVDb250YWluZXIgPSBtX2Jsb2NrLmxvZ2ljYWxPZmZzZXRG
cm9tU2hhcGVBbmNlc3RvckNvbnRhaW5lcigmc2hhcGVJbnNpZGVJbmZvLT5vd25lcigpKS5oZWln
aHQoKTsKQEAgLTE5MywxMiArMjUwLDcgQEAgdm9pZCBMaW5lV2lkdGg6OmZpdEJlbG93RmxvYXRz
KCkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlmIChuZXdMaW5lV2lkdGggPiBt
X2F2YWlsYWJsZVdpZHRoKSB7Ci0gICAgICAgIG1fYmxvY2suc2V0TG9naWNhbEhlaWdodChsYXN0
RmxvYXRMb2dpY2FsQm90dG9tKTsKLSAgICAgICAgbV9hdmFpbGFibGVXaWR0aCA9IG5ld0xpbmVX
aWR0aCArIG1fb3ZlcmhhbmdXaWR0aDsKLSAgICAgICAgbV9sZWZ0ID0gbmV3TGluZUxlZnQ7Ci0g
ICAgICAgIG1fcmlnaHQgPSBuZXdMaW5lUmlnaHQ7Ci0gICAgfQorICAgIHVwZGF0ZUxpbmVEaW1l
bnNpb24obGFzdEZsb2F0TG9naWNhbEJvdHRvbSwgbmV3TGluZVdpZHRoKTsKIH0KIAogdm9pZCBM
aW5lV2lkdGg6OnNldFRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKGZsb2F0IGNvbGxhcHNlZFdoaXRl
c3BhY2UsIGZsb2F0IGJvcmRlclBhZGRpbmdNYXJnaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9saW5lL0xpbmVXaWR0aC5oCmluZGV4IDIwZDIxNGYuLjJmNDdhNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGFkZFVuY29tbWl0dGVkV2lkdGgoZmxvYXQgZGVsdGEpIHsgbV91bmNvbW1pdHRl
ZFdpZHRoICs9IGRlbHRhOyB9CiAgICAgdm9pZCBjb21taXQoKTsKICAgICB2b2lkIGFwcGx5T3Zl
cmhhbmcoUmVuZGVyUnVieVJ1biosIFJlbmRlck9iamVjdCogc3RhcnRSZW5kZXJlciwgUmVuZGVy
T2JqZWN0KiBlbmRSZW5kZXJlcik7Ci0gICAgdm9pZCBmaXRCZWxvd0Zsb2F0cygpOworICAgIHZv
aWQgZml0QmVsb3dGbG9hdHMoYm9vbCBpc0ZpcnN0TGluZSA9IGZhbHNlKTsKICAgICB2b2lkIHNl
dFRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKGZsb2F0IGNvbGxhcHNlZFdoaXRlc3BhY2UsIGZsb2F0
IGJvcmRlclBhZGRpbmdNYXJnaW4gPSAwKTsKIAogI2lmIEVOQUJMRShDU1NfU0hBUEVTKSAmJiBF
TkFCTEUoQ1NTX1NIQVBFX0lOU0lERSkKQEAgLTc2LDYgKzc2LDEwIEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgdm9pZCBjb21wdXRlQXZhaWxhYmxlV2lkdGhGcm9tTGVmdEFuZFJpZ2h0KCk7CiAg
ICAgYm9vbCBmaXRzT25MaW5lRXhjbHVkaW5nVHJhaWxpbmdDb2xsYXBzZWRXaGl0ZXNwYWNlKCkg
Y29uc3Q7CisgICAgdm9pZCB1cGRhdGVMaW5lRGltZW5zaW9uKExheW91dFVuaXQgbmV3TGluZVRv
cCwgTGF5b3V0VW5pdCBuZXdMaW5lV2lkdGgpOworI2lmIEVOQUJMRShDU1NfU0hBUEVTKQorICAg
IHZvaWQgd3JhcE5leHRUb1NoYXBlT3V0c2lkZShib29sIGlzRmlyc3RMaW5lKTsKKyNlbmRpZgog
CiAgICAgUmVuZGVyQmxvY2tGbG93JiBtX2Jsb2NrOwogICAgIGZsb2F0IG1fdW5jb21taXR0ZWRX
aWR0aDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>