<?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>125224</bug_id>
          
          <creation_ts>2013-12-04 08:08:13 -0800</creation_ts>
          <short_desc>[CSS Shapes] Shape images are now &lt;image&gt; types, not just URIs</short_desc>
          <delta_ts>2014-01-14 10:12:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>124173</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>syoichi</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956399</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-12-04 08:08:13 -0800</bug_when>
    <thetext>The Shapes specification now defines shape-inside and shape-outside image values as &lt;image&gt; types, instead of just URIs.  See:

http://dev.w3.org/csswg/css-shapes/#shapes-from-image
http://dev.w3.org/csswg/css-images-3/#image-types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957007</commentid>
    <comment_count>1</comment_count>
      <attachid>218532</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-12-05 12:25:23 -0800</bug_when>
    <thetext>Created attachment 218532
Patch

Added support for image-set valued shapes. Added an optional ResourceLoaderOptions parameter to CSSImageSetValue::cachedImageSet() to enable CORS-enabled fetch of images. This change is based on a similar patch for ordinary shape image values: https://bugs.webkit.org/show_bug.cgi?id=123114.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961412</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-19 09:41:54 -0800</bug_when>
    <thetext>I&apos;m not really sure who&apos;s the best person to review this patch. CC&apos;ing a couple of candidates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965237</commentid>
    <comment_count>3</comment_count>
      <attachid>220566</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2014-01-07 16:16:22 -0800</bug_when>
    <thetext>Created attachment 220566
Patch

Resync&apos;d with trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967684</commentid>
    <comment_count>4</comment_count>
      <attachid>220566</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-13 23:47:44 -0800</bug_when>
    <thetext>Comment on attachment 220566
Patch

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

r=me

&gt; LayoutTests/fast/shapes/shape-outside-floats/shape-outside-image-set.html:7
&gt; +        /* The shape-outisde image&apos;s width is smaller than the float&apos;s width (120 &lt; 150) to make it

Typo, shape-outside.

&gt; Source/WebCore/rendering/shapes/Shape.cpp:256
&gt; -    ASSERT(styleImage &amp;&amp; styleImage-&gt;isCachedImage() &amp;&amp; styleImage-&gt;cachedImage() &amp;&amp; styleImage-&gt;cachedImage()-&gt;image());
&gt; +    ASSERT(styleImage &amp;&amp; styleImage-&gt;cachedImage() &amp;&amp; styleImage-&gt;cachedImage()-&gt;hasImage());

These should be broken into separate assertions so you can immediately tell what went wrong.
It&apos;d also be nicer if &apos;styleImage&apos; were a reference, since we don&apos;t support it being null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967872</commentid>
    <comment_count>5</comment_count>
      <attachid>221171</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2014-01-14 09:41:11 -0800</bug_when>
    <thetext>Created attachment 221171
Patch

Made the suggested changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967884</commentid>
    <comment_count>6</comment_count>
      <attachid>221171</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 10:12:34 -0800</bug_when>
    <thetext>Comment on attachment 221171
Patch

Clearing flags on attachment: 221171

Committed r161980: &lt;http://trac.webkit.org/changeset/161980&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967886</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 10:12:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218532</attachid>
            <date>2013-12-05 12:25:23 -0800</date>
            <delta_ts>2014-01-07 16:16:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>15112</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZjE2OWU3Li5jYzhhOGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTIt
MDUgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIFNoYXBlIGltYWdlcyBhcmUgbm93IDxpbWFnZT4gdHlwZXMsIG5vdCBqdXN0IFVSSXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTIyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9zaGFw
ZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFn
ZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFn
ZS1zZXQuaHRtbDogQWRkZWQuCisKIDIwMTMtMTItMDQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQ2hhbmdlIGhvdyB0aGUgZm9ybSBlbGVtZW50IHBvaW50ZXIg
YWZmZWN0cyBwYXJzaW5nIHRlbXBsYXRlIGVsZW1lbnRzLCB0byByZWR1Y2Ugd2VpcmRuZXNzIGlu
IHRlbXBsYXRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5z
aWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2Utc2V0LWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZlZTIzOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNp
ZGUtaW1hZ2Utc2V0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICAgICNpbWFnZS1zaGFwZS1pbnNpZGUgewor
ICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVy
bCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmcnIHdpZHRoPScxNDBweCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4PScyMCcgeT0nMCcg
d2lkdGg9JzEyMCcgaGVpZ2h0PSc1MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpOworICAgICAgICBi
YWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgICAgICB3aWR0aDogMTUwcHg7IAorICAg
ICAgICBoZWlnaHQ6IDUwcHg7IAorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
PHA+VGhlIHdoaXRlICJIZWxsbyBXb3JsZCIgc2hvdWxkIGFwcGVhciBpbiB0aGUgdXBwZXIgbGVm
dCBvZiB0aGUgYmx1ZSByZWN0YW5nbGUuPC9wPgorICA8ZGl2IHN0eWxlPSJjb2xvcjogd2hpdGUi
PgorICAgICAgPGRpdiBpZD0iaW1hZ2Utc2hhcGUtaW5zaWRlIj5IZWxsbyBXb3JsZDwvZGl2Pgor
ICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2Utc2V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZTViMTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRl
LWltYWdlLXNldC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KKyAgICAjaW1hZ2Utc2hhcGUtaW5zaWRlIHsKKyAgICAgICAgLXdl
YmtpdC1zaGFwZS1pbnNpZGU6IC13ZWJraXQtaW1hZ2Utc2V0KHVybCgiZGF0YTppbWFnZS9zdmcr
eG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScx
NDBweCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4PScyMCcgeT0nMCcgd2lkdGg9JzEyMCcgaGVpZ2h0
PSc1MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpIDF4KTsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE0MHB4JyBoZWlnaHQ9JzUwcHgnPjxyZWN0IHg9JzIwJyB5
PScwJyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzUwJyBmaWxsPSdibHVlJy8+PC9zdmc+Iik7CisgICAg
ICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgICAgIHdpZHRoOiAxNTBweDsg
CisgICAgICAgIGhlaWdodDogNTBweDsgCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICA8cD5UaGUgd2hpdGUgIkhlbGxvIFdvcmxkIiBzaG91bGQgYXBwZWFyIGluIHRoZSB1cHBl
ciBsZWZ0IG9mIHRoZSBibHVlIHJlY3RhbmdsZS48L3A+CisgIDxkaXYgc3R5bGU9ImNvbG9yOiB3
aGl0ZSI+CisgICAgICA8ZGl2IGlkPSJpbWFnZS1zaGFwZS1pbnNpZGUiPkhlbGxvIFdvcmxkPC9k
aXY+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWU3OTNiZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdl
LXNldC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICAjaW1hZ2Utc2hhcGUtb3V0c2lkZSB7CisgICAgICAg
IGZsb2F0OiBsZWZ0OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uv
c3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0
aD0nMTIwcHgnIGhlaWdodD0nNTBweCc+PHJlY3QgeD0nMCcgeT0nMCcgd2lkdGg9JzEyMCcgaGVp
Z2h0PSc1MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpOworICAgICAgICBiYWNrZ3JvdW5kLXJlcGVh
dDogbm8tcmVwZWF0OworICAgICAgICB3aWR0aDogMTIwcHg7IAorICAgICAgICBoZWlnaHQ6IDUw
cHg7IAorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhlIGdyZWVuICJI
ZWxsbyBXb3JsZCIgc2hvdWxkIGFwcGVhciB0byB0aGUgcmlnaHQgb2YgdGhlIGJsdWUgcmVjdGFu
Z2xlLjwvcD4KKyAgPGRpdiBzdHlsZT0iY29sb3I6IGdyZWVuIj4KKyAgICAgIDxkaXYgaWQ9Imlt
YWdlLXNoYXBlLW91dHNpZGUiPjwvZGl2PgorICAgICAgSGVsbG8gV29ybGQKKyAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlLXNldC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1z
ZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2UyMDA1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgI2ltYWdlLXNoYXBlLW91dHNp
ZGUgeworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAgLyogVGhlIHNoYXBlLW91dGlzZGUg
aW1hZ2UncyB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gdGhlIGZsb2F0J3Mgd2lkdGggKDEyMCA8IDE1
MCkgdG8gbWFrZSBpdAorICAgICAgICAgICBjbGVhciB0aGF0IHRoZSBzaGFwZS1vdXRzaWRlIGRl
ZmluZXMgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIGZvciB0aGUgdGV4dCwgbm90IHRoZSBmbG9hdC4K
KyAgICAgICAgKi8KKyAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiAtd2Via2l0LWltYWdl
LXNldCh1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTIwcHgnIGhlaWdodD0nNTBweCc+PHJlY3QgeD0nMCcg
eT0nMCcgd2lkdGg9JzEyMCcgaGVpZ2h0PSc1MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpIDF4KTsK
KyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8
c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyMHB4JyBoZWln
aHQ9JzUwcHgnPjxyZWN0IHg9JzAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZpbGw9
J2JsdWUnLz48L3N2Zz4iKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsK
KyAgICAgICAgd2lkdGg6IDE1MHB4OyAKKyAgICAgICAgaGVpZ2h0OiA1MHB4OyAKKyAgICB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSBncmVlbiAiSGVsbG8gV29ybGQiIHNo
b3VsZCBhcHBlYXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibHVlIHJlY3RhbmdsZS48L3A+CisgIDxk
aXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+CisgICAgICA8ZGl2IGlkPSJpbWFnZS1zaGFwZS1vdXRz
aWRlIj48L2Rpdj4KKyAgICAgIEhlbGxvIFdvcmxkCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU0OWE0MjUuLjI3MjQ3ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MiBAQAorMjAxMy0xMi0wNSAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KKworICAg
ICAgICBbQ1NTIFNoYXBlc10gU2hhcGUgaW1hZ2VzIGFyZSBub3cgPGltYWdlPiB0eXBlcywgbm90
IGp1c3QgVVJJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1MjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgc3VwcG9ydCBmb3IgaW1hZ2Utc2V0IHZhbHVlZCBzaGFwZXMuIEFkZGVkIGFuIG9w
dGlvbmFsIFJlc291cmNlTG9hZGVyT3B0aW9ucworICAgICAgICBwYXJhbWV0ZXIgdG8gQ1NTSW1h
Z2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoKSB0byBlbmFibGUgQ09SUy1lbmFibGVkIGZldGNo
IG9mCisgICAgICAgIGltYWdlLXNldCBpbWFnZXMuIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIGEg
c2ltaWxhciBwYXRjaCBmb3Igb3JkaW5hcnkgc2hhcGUgaW1hZ2UgdmFsdWVzOgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMTE0LgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWltYWdlLXNldC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VTZXRWYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNl
dCk6CisgICAgICAgICogY3NzL0NTU0ltYWdlU2V0VmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTaGFwZVByb3Bl
cnR5KToKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBcHBseVByb3BlcnR5U2hhcGU6OmFwcGx5VmFsdWUpOgorICAgICAgICAqIGNz
cy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omxv
YWRQZW5kaW5nSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6bG9hZFBl
bmRpbmdTaGFwZUltYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGU6
OmNyZWF0ZVNoYXBlKToKKwogMjAxMy0xMi0wNSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzdGFsZSBTY3JpcHRHbG9iYWxPYmplY3QgbWV0
aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCmluZGV4IDI0YWUzODUu
LjJhNWJiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVz
dEluaXRpYXRvcnMuaCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTdHlsZUNh
Y2hlZEltYWdlU2V0LmgiCkBAIC05Miw3ICs5Myw3IEBAIENTU0ltYWdlU2V0VmFsdWU6OkltYWdl
V2l0aFNjYWxlIENTU0ltYWdlU2V0VmFsdWU6OmJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCkKICAg
ICByZXR1cm4gaW1hZ2U7CiB9CiAKLVN0eWxlQ2FjaGVkSW1hZ2VTZXQqIENTU0ltYWdlU2V0VmFs
dWU6OmNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCitTdHlsZUNh
Y2hlZEltYWdlU2V0KiBDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNldChDYWNoZWRSZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMp
CiB7CiAgICAgQVNTRVJUKGxvYWRlcik7CiAKQEAgLTExMCw4ICsxMTEsMTAgQEAgU3R5bGVDYWNo
ZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGxvYWQKICAgICAgICAgLy8gQWxsIGZvcm1zIG9mIHNjYWxlIHNob3VsZCBiZSBp
bmNsdWRlZDogUGFnZTo6cGFnZVNjYWxlRmFjdG9yKCksIEZyYW1lOjpwYWdlWm9vbUZhY3Rvcigp
LAogICAgICAgICAvLyBhbmQgYW55IENTUyB0cmFuc2Zvcm1zLiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTgKICAgICAgICAgSW1hZ2VXaXRoU2NhbGUgaW1hZ2Ug
PSBiZXN0SW1hZ2VGb3JTY2FsZUZhY3RvcigpOwotICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltYWdlLmlt
YWdlVVJMKSkpOworICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltYWdlLmltYWdlVVJMKSksIG9wdGlvbnMp
OwogICAgICAgICByZXF1ZXN0LnNldEluaXRpYXRvcihjYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0
aWF0b3JzKCkuY3NzKTsKKyAgICAgICAgaWYgKG9wdGlvbnMucmVxdWVzdE9yaWdpblBvbGljeSA9
PSBQb3RlbnRpYWxseUNyb3NzT3JpZ2luRW5hYmxlZCkKKyAgICAgICAgICAgIHVwZGF0ZVJlcXVl
c3RGb3JBY2Nlc3NDb250cm9sKHJlcXVlc3QubXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLCBkb2N1
bWVudC0+c2VjdXJpdHlPcmlnaW4oKSwgb3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAgICAg
ICAgaWYgKENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxv
YWRlci0+cmVxdWVzdEltYWdlKHJlcXVlc3QpKSB7CiAgICAgICAgICAgICBtX2ltYWdlU2V0ID0g
U3R5bGVDYWNoZWRJbWFnZVNldDo6Y3JlYXRlKGNhY2hlZEltYWdlLmdldCgpLCBpbWFnZS5zY2Fs
ZUZhY3RvciwgdGhpcyk7CiAgICAgICAgICAgICBtX2FjY2Vzc2VkQmVzdEZpdEltYWdlID0gdHJ1
ZTsKQEAgLTEyMSw2ICsxMjQsMTEgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRW
YWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQKICAgICByZXR1
cm4gKG1faW1hZ2VTZXQgJiYgbV9pbWFnZVNldC0+aXNDYWNoZWRJbWFnZVNldCgpKSA/IHN0YXRp
Y19jYXN0PFN0eWxlQ2FjaGVkSW1hZ2VTZXQqPihtX2ltYWdlU2V0LmdldCgpKSA6IDA7CiB9CiAK
K1N0eWxlQ2FjaGVkSW1hZ2VTZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENh
Y2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCit7CisgICAgcmV0dXJuIGNhY2hlZEltYWdlU2V0
KGxvYWRlciwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlv
bnMoKSk7Cit9CisKIFN0eWxlSW1hZ2UqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZE9yUGVuZGlu
Z0ltYWdlU2V0KERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAoIW1faW1hZ2VTZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaAppbmRleCBlOTE4ZjA0Li42MzFhY2MzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmgKQEAgLTM2LDYgKzM2LDcgQEAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFN0eWxlQ2Fj
aGVkSW1hZ2VTZXQ7CiBjbGFzcyBTdHlsZUltYWdlOworc3RydWN0IFJlc291cmNlTG9hZGVyT3B0
aW9uczsKIAogY2xhc3MgQ1NTSW1hZ2VTZXRWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZUxpc3Qgewog
cHVibGljOgpAQCAtNDYsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5DU1NJbWFnZVNl
dFZhbHVlKCk7CiAKKyAgICBTdHlsZUNhY2hlZEltYWdlU2V0KiBjYWNoZWRJbWFnZVNldChDYWNo
ZWRSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOwogICAgIFN0
eWxlQ2FjaGVkSW1hZ2VTZXQqIGNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVyKik7
CiAKICAgICAvLyBSZXR1cm5zIGEgU3R5bGVDYWNoZWRJbWFnZVNldCBpZiB0aGUgYmVzdCBmaXQg
aW1hZ2UgaGFzIGJlZW4gY2FjaGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0lt
YWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5OTc1ZTNhLi5mMGIzNzM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNTg2Miw4ICs1ODYyLDggQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVNoYXBlUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9w
SWQpCiAgICAgICAgIHJldHVybiBrZXl3b3JkVmFsdWUucmVsZWFzZSgpOwogICAgIH0KIAotICAg
IGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSSkgewotICAgICAg
ICBSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gaW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0
ZShjb21wbGV0ZVVSTCh2YWx1ZS0+c3RyaW5nKSk7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbWFn
ZVZhbHVlOworICAgIGlmICh2YWx1ZUlkICE9IENTU1ZhbHVlTm9uZSAmJiBwYXJzZUZpbGxJbWFn
ZShtX3ZhbHVlTGlzdC5nZXQoKSwgaW1hZ2VWYWx1ZSkpIHsKICAgICAgICAgbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKICAgICAgICAgcmV0dXJuIGltYWdlVmFsdWUucmVsZWFzZSgpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAppbmRleCBlMWNk
ZGY2Li41YTk2OWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0
eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1
aWxkZXIuY3BwCkBAIC0yMDkyLDcgKzIwOTIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
UmVmUHRyPFNoYXBlVmFsdWU+IHNoYXBlID0gU2hhcGVWYWx1ZTo6Y3JlYXRlU2hhcGVWYWx1ZShi
YXNpY1NoYXBlRm9yVmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+
cm9vdEVsZW1lbnRTdHlsZSgpLCBwcmltaXRpdmVWYWx1ZS0+Z2V0U2hhcGVWYWx1ZSgpKSk7CiAg
ICAgICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc2hhcGUucmVs
ZWFzZSgpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS0+aXNJbWFn
ZVZhbHVlKCkpIHsKKyAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS0+aXNJbWFnZVZhbHVlKCkgfHwg
dmFsdWUtPmlzSW1hZ2VTZXRWYWx1ZSgpKSB7CiAgICAgICAgICAgICBSZWZQdHI8U2hhcGVWYWx1
ZT4gc2hhcGUgPSBTaGFwZVZhbHVlOjpjcmVhdGVJbWFnZVZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0
eWxlSW1hZ2UocHJvcGVydHksIHZhbHVlKSk7CiAgICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJl
c29sdmVyLT5zdHlsZSgpLCBzaGFwZS5yZWxlYXNlKCkpOwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMzEyNTdhZC4uNWYzODg0ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzg3MCwxMyArMzg3MCwxMyBAQCBib29sIFN0eWxl
UmVzb2x2ZXI6OmNyZWF0ZUZpbHRlck9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIEZpbHRl
ck9wZXJhdGlvbnMmCiAKICNlbmRpZgogCi1QYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IFN0eWxlUmVz
b2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJbWFnZSkK
K1Bhc3NSZWZQdHI8U3R5bGVJbWFnZT4gU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdJbWFnZShT
dHlsZVBlbmRpbmdJbWFnZSogcGVuZGluZ0ltYWdlLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNl
TG9hZGVyID0gbV9zdGF0ZS5kb2N1bWVudCgpLmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CiAKICAg
ICBpZiAocGVuZGluZ0ltYWdlLT5jc3NJbWFnZVZhbHVlKCkpIHsKICAgICAgICAgQ1NTSW1hZ2VW
YWx1ZSogaW1hZ2VWYWx1ZSA9IHBlbmRpbmdJbWFnZS0+Y3NzSW1hZ2VWYWx1ZSgpOwotICAgICAg
ICByZXR1cm4gaW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwor
ICAgICAgICByZXR1cm4gaW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2Fk
ZXIsIG9wdGlvbnMpOwogICAgIH0KIAogICAgIGlmIChwZW5kaW5nSW1hZ2UtPmNzc0ltYWdlR2Vu
ZXJhdG9yVmFsdWUoKSkgewpAQCAtMzg5MywxMyArMzg5MywxNyBAQCBQYXNzUmVmUHRyPFN0eWxl
SW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2Uq
IHBlbmRpbgogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQogICAgIGlmIChwZW5kaW5nSW1hZ2Ut
PmNzc0ltYWdlU2V0VmFsdWUoKSkgewogICAgICAgICBDU1NJbWFnZVNldFZhbHVlKiBpbWFnZVNl
dFZhbHVlID0gcGVuZGluZ0ltYWdlLT5jc3NJbWFnZVNldFZhbHVlKCk7Ci0gICAgICAgIHJldHVy
biBpbWFnZVNldFZhbHVlLT5jYWNoZWRJbWFnZVNldChjYWNoZWRSZXNvdXJjZUxvYWRlcik7Cisg
ICAgICAgIHJldHVybiBpbWFnZVNldFZhbHVlLT5jYWNoZWRJbWFnZVNldChjYWNoZWRSZXNvdXJj
ZUxvYWRlciwgb3B0aW9ucyk7CiAgICAgfQogI2VuZGlmCiAKICAgICByZXR1cm4gMDsKIH0KIAor
UGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlKFN0
eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW5nSW1hZ2UpCit7CisgICAgcmV0dXJuIGxvYWRQZW5kaW5n
SW1hZ2UocGVuZGluZ0ltYWdlLCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJl
c291cmNlT3B0aW9ucygpKTsKK30KIAogI2lmIEVOQUJMRShDU1NfU0hBUEVTKQogdm9pZCBTdHls
ZVJlc29sdmVyOjpsb2FkUGVuZGluZ1NoYXBlSW1hZ2UoU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSkK
QEAgLTM5MTIsMTQgKzM5MTYsMTIgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1No
YXBlSW1hZ2UoU2hhcGVWYWx1ZSogc2hhcGVWYWx1ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
U3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJbWFnZSA9IHN0YXRpY19jYXN0PFN0eWxlUGVuZGlu
Z0ltYWdlKj4oaW1hZ2UpOwotICAgIENTU0ltYWdlVmFsdWUqIGNzc0ltYWdlVmFsdWUgPSAgcGVu
ZGluZ0ltYWdlLT5jc3NJbWFnZVZhbHVlKCk7Ci0gICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNh
Y2hlZFJlc291cmNlTG9hZGVyID0gbV9zdGF0ZS5kb2N1bWVudCgpLmNhY2hlZFJlc291cmNlTG9h
ZGVyKCk7CiAKICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyA9IENhY2hlZFJlc291
cmNlTG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCk7CiAgICAgb3B0aW9ucy5y
ZXF1ZXN0T3JpZ2luUG9saWN5ID0gUG90ZW50aWFsbHlDcm9zc09yaWdpbkVuYWJsZWQ7CiAgICAg
b3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzID0gRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzOwog
Ci0gICAgc2hhcGVWYWx1ZS0+c2V0SW1hZ2UoY3NzSW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2Fj
aGVkUmVzb3VyY2VMb2FkZXIsIG9wdGlvbnMpKTsKKyAgICBzaGFwZVZhbHVlLT5zZXRJbWFnZShs
b2FkUGVuZGluZ0ltYWdlKHBlbmRpbmdJbWFnZSwgb3B0aW9ucykpOwogfQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDc0ZmUwZDguLjg1NWY0OGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNTM5LDYgKzUzOSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBhcHBseVNWR1Byb3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1ZhbHVlKik7CiAjZW5kaWYK
IAorICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRp
bmdJbWFnZSosIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOwogICAgIFBhc3NSZWZQdHI8
U3R5bGVJbWFnZT4gbG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRpbmdJbWFnZSopOwogICAgIHZv
aWQgbG9hZFBlbmRpbmdJbWFnZXMoKTsKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5jcHAKaW5kZXggMzVkMjRlZC4uNTFkNTVkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5jcHAKQEAgLTI2MCw3ICsy
NjAsNyBAQCBQYXNzT3duUHRyPFNoYXBlPiBTaGFwZTo6Y3JlYXRlU2hhcGUoY29uc3QgQmFzaWNT
aGFwZSogYmFzaWNTaGFwZSwgY29uc3QgTGF5b3V0UwogCiBQYXNzT3duUHRyPFNoYXBlPiBTaGFw
ZTo6Y3JlYXRlU2hhcGUoY29uc3QgU3R5bGVJbWFnZSogc3R5bGVJbWFnZSwgZmxvYXQgdGhyZXNo
b2xkLCBjb25zdCBMYXlvdXRTaXplJiwgV3JpdGluZ01vZGUgd3JpdGluZ01vZGUsIExlbmd0aCBt
YXJnaW4sIExlbmd0aCBwYWRkaW5nKQogewotICAgIEFTU0VSVChzdHlsZUltYWdlICYmIHN0eWxl
SW1hZ2UtPmlzQ2FjaGVkSW1hZ2UoKSAmJiBzdHlsZUltYWdlLT5jYWNoZWRJbWFnZSgpICYmIHN0
eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCktPmltYWdlKCkpOworICAgIEFTU0VSVChzdHlsZUltYWdl
ICYmIHN0eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCkgJiYgc3R5bGVJbWFnZS0+Y2FjaGVkSW1hZ2Uo
KS0+aGFzSW1hZ2UoKSk7CiAKICAgICBJbWFnZSogaW1hZ2UgPSBzdHlsZUltYWdlLT5jYWNoZWRJ
bWFnZSgpLT5pbWFnZSgpOwogICAgIGNvbnN0IEludFNpemUmIGltYWdlU2l6ZSA9IGltYWdlLT5z
aXplKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220566</attachid>
            <date>2014-01-07 16:16:22 -0800</date>
            <delta_ts>2014-01-14 09:41:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>15153</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOTQ0YmE2Li42NTgwYzRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTIt
MDUgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIFNoYXBlIGltYWdlcyBhcmUgbm93IDxpbWFnZT4gdHlwZXMsIG5vdCBqdXN0IFVSSXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTIyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9zaGFw
ZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFn
ZS1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFn
ZS1zZXQuaHRtbDogQWRkZWQuCisKIDIwMTQtMDEtMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgSFRNTDUgdmlkZW8gdGFnIERvZXMgTm90IExvYWQgaW4gQXBh
Y2hlIGh0YWNjZXNzL2h0cGFzc3dkIFByb3RlY3RlZCBEaXJlY3RvcnkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2Utc2V0
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hh
cGUtaW5zaWRlLWltYWdlLXNldC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjlmZWUyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKyAgICAjaW1hZ2Utc2hhcGUtaW5zaWRlIHsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4
OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4
LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQwcHgnIGhl
aWdodD0nNTBweCc+PHJlY3QgeD0nMjAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZp
bGw9J2JsdWUnLz48L3N2Zz4iKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVh
dDsKKyAgICAgICAgd2lkdGg6IDE1MHB4OyAKKyAgICAgICAgaGVpZ2h0OiA1MHB4OyAKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSB3aGl0ZSAiSGVsbG8gV29ybGQi
IHNob3VsZCBhcHBlYXIgaW4gdGhlIHVwcGVyIGxlZnQgb2YgdGhlIGJsdWUgcmVjdGFuZ2xlLjwv
cD4KKyAgPGRpdiBzdHlsZT0iY29sb3I6IHdoaXRlIj4KKyAgICAgIDxkaXYgaWQ9ImltYWdlLXNo
YXBlLWluc2lkZSI+SGVsbG8gV29ybGQ8L2Rpdj4KKyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUt
aW5zaWRlLWltYWdlLXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5z
aWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5mZGU1YjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQuaHRtbApAQCAtMCwwICsx
LDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgI2lt
YWdlLXNoYXBlLWluc2lkZSB7CisgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiAtd2Via2l0
LWltYWdlLXNldCh1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQwcHgnIGhlaWdodD0nNTBweCc+PHJlY3Qg
eD0nMjAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZpbGw9J2JsdWUnLz48L3N2Zz4i
KSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1s
O3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNDBw
eCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4PScyMCcgeT0nMCcgd2lkdGg9JzEyMCcgaGVpZ2h0PSc1
MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpOworICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8t
cmVwZWF0OworICAgICAgICB3aWR0aDogMTUwcHg7IAorICAgICAgICBoZWlnaHQ6IDUwcHg7IAor
ICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhlIHdoaXRlICJIZWxsbyBX
b3JsZCIgc2hvdWxkIGFwcGVhciBpbiB0aGUgdXBwZXIgbGVmdCBvZiB0aGUgYmx1ZSByZWN0YW5n
bGUuPC9wPgorICA8ZGl2IHN0eWxlPSJjb2xvcjogd2hpdGUiPgorICAgICAgPGRpdiBpZD0iaW1h
Z2Utc2hhcGUtaW5zaWRlIj5IZWxsbyBXb3JsZDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlLXNl
dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNzkz
YmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAg
I2ltYWdlLXNoYXBlLW91dHNpZGUgeworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyMHB4JyBoZWlnaHQ9JzUwcHgnPjxy
ZWN0IHg9JzAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZpbGw9J2JsdWUnLz48L3N2
Zz4iKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICAgICAgd2lk
dGg6IDEyMHB4OyAKKyAgICAgICAgaGVpZ2h0OiA1MHB4OyAKKyAgICB9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgIDxwPlRoZSBncmVlbiAiSGVsbG8gV29ybGQiIHNob3VsZCBhcHBlYXIg
dG8gdGhlIHJpZ2h0IG9mIHRoZSBibHVlIHJlY3RhbmdsZS48L3A+CisgIDxkaXYgc3R5bGU9ImNv
bG9yOiBncmVlbiI+CisgICAgICA8ZGl2IGlkPSJpbWFnZS1zaGFwZS1vdXRzaWRlIj48L2Rpdj4K
KyAgICAgIEhlbGxvIFdvcmxkCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1pbWFnZS1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOTNlMjAwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorICAgICNpbWFnZS1zaGFwZS1vdXRzaWRlIHsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7
CisgICAgICAgIC8qIFRoZSBzaGFwZS1vdXRpc2RlIGltYWdlJ3Mgd2lkdGggaXMgc21hbGxlciB0
aGFuIHRoZSBmbG9hdCdzIHdpZHRoICgxMjAgPCAxNTApIHRvIG1ha2UgaXQKKyAgICAgICAgICAg
Y2xlYXIgdGhhdCB0aGUgc2hhcGUtb3V0c2lkZSBkZWZpbmVzIHRoZSBzdGFydGluZyBsb2NhdGlv
biBmb3IgdGhlIHRleHQsIG5vdCB0aGUgZmxvYXQuCisgICAgICAgICovCisgICAgICAgIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKCJkYXRhOmltYWdlL3N2Zyt4
bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEy
MHB4JyBoZWlnaHQ9JzUwcHgnPjxyZWN0IHg9JzAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0n
NTAnIGZpbGw9J2JsdWUnLz48L3N2Zz4iKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmcnIHdpZHRoPScxMjBweCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4PScwJyB5PScw
JyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzUwJyBmaWxsPSdibHVlJy8+PC9zdmc+Iik7CisgICAgICAg
IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgICAgIHdpZHRoOiAxNTBweDsgCisg
ICAgICAgIGhlaWdodDogNTBweDsgCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
ICA8cD5UaGUgZ3JlZW4gIkhlbGxvIFdvcmxkIiBzaG91bGQgYXBwZWFyIHRvIHRoZSByaWdodCBv
ZiB0aGUgYmx1ZSByZWN0YW5nbGUuPC9wPgorICA8ZGl2IHN0eWxlPSJjb2xvcjogZ3JlZW4iPgor
ICAgICAgPGRpdiBpZD0iaW1hZ2Utc2hhcGUtb3V0c2lkZSI+PC9kaXY+CisgICAgICBIZWxsbyBX
b3JsZAorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOWI1ZjgxLi4w
YmEzNmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTMtMTItMDUgIEhhbnMgTXVs
bGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFwZXNdIFNoYXBlIGlt
YWdlcyBhcmUgbm93IDxpbWFnZT4gdHlwZXMsIG5vdCBqdXN0IFVSSXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTIyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIGltYWdl
LXNldCB2YWx1ZWQgc2hhcGVzLiBBZGRlZCBhbiBvcHRpb25hbCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMKKyAgICAgICAgcGFyYW1ldGVyIHRvIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0
KCkgdG8gZW5hYmxlIENPUlMtZW5hYmxlZCBmZXRjaCBvZgorICAgICAgICBpbWFnZS1zZXQgaW1h
Z2VzLiBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBhIHNpbWlsYXIgcGF0Y2ggZm9yIG9yZGluYXJ5
IHNoYXBlIGltYWdlIHZhbHVlczoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzExNC4KKworICAgICAgICBUZXN0czogZmFzdC9zaGFwZXMvc2hhcGUt
aW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQuaHRtbAor
CisgICAgICAgICogY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQpOgorICAgICAgICAqIGNzcy9DU1NJbWFn
ZVNldFZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlU2hhcGVQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0RlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVNo
YXBlOjphcHBseVZhbHVlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nU2hhcGVJbWFnZSk6CisgICAgICAg
ICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1NoYXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXBlOjpjcmVhdGVTaGFwZSk6CisKIDIwMTQtMDEt
MDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUGxhdGZvcm1M
YXllciBjb250YWluaW5nIHNjcm9sbGJhcnMgZG9lcyBub3QgZGlzYXBwZWFyIHdoZW4gc2V0dGlu
ZyBvdmVyZmxvdzpoaWRkZW4gb24gcGFnZSByb290LCB1bnRpbCByZXNpemUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5kZXggM2U2YzE4MS4uYjAzMWNjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5oIgor
I2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlN0eWxlQ2FjaGVkSW1hZ2VTZXQuaCIK
QEAgLTEwMCw3ICsxMDEsNyBAQCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2FsZSBDU1NJ
bWFnZVNldFZhbHVlOjpiZXN0SW1hZ2VGb3JTY2FsZUZhY3RvcigpCiAgICAgcmV0dXJuIGltYWdl
OwogfQogCi1TdHlsZUNhY2hlZEltYWdlU2V0KiBDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFn
ZVNldChDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9hZGVyKQorU3R5bGVDYWNoZWRJbWFnZVNldCog
Q1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIEFTU0VS
VChsb2FkZXIpOwogCkBAIC0xMTgsOCArMTE5LDEwIEBAIFN0eWxlQ2FjaGVkSW1hZ2VTZXQqIENT
U0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2Fk
CiAgICAgICAgIC8vIEFsbCBmb3JtcyBvZiBzY2FsZSBzaG91bGQgYmUgaW5jbHVkZWQ6IFBhZ2U6
OnBhZ2VTY2FsZUZhY3RvcigpLCBGcmFtZTo6cGFnZVpvb21GYWN0b3IoKSwKICAgICAgICAgLy8g
YW5kIGFueSBDU1MgdHJhbnNmb3Jtcy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgxNjk4CiAgICAgICAgIEltYWdlV2l0aFNjYWxlIGltYWdlID0gYmVzdEltYWdlRm9y
U2NhbGVGYWN0b3IoKTsKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVz
b3VyY2VSZXF1ZXN0KGRvY3VtZW50LT5jb21wbGV0ZVVSTChpbWFnZS5pbWFnZVVSTCkpKTsKKyAg
ICAgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGRvY3Vt
ZW50LT5jb21wbGV0ZVVSTChpbWFnZS5pbWFnZVVSTCkpLCBvcHRpb25zKTsKICAgICAgICAgcmVx
dWVzdC5zZXRJbml0aWF0b3IoY2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycygpLmNzcyk7
CisgICAgICAgIGlmIChvcHRpb25zLnJlcXVlc3RPcmlnaW5Qb2xpY3kgPT0gUG90ZW50aWFsbHlD
cm9zc09yaWdpbkVuYWJsZWQpCisgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0Rm9yQWNjZXNzQ29u
dHJvbChyZXF1ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKSwgZG9jdW1lbnQtPnNlY3VyaXR5
T3JpZ2luKCksIG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyk7CiAgICAgICAgIGlmIChDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gY2FjaGVkSW1hZ2UgPSBsb2FkZXItPnJlcXVlc3RJ
bWFnZShyZXF1ZXN0KSkgewogICAgICAgICAgICAgZGV0YWNoUGVuZGluZ0ltYWdlKCk7CiAgICAg
ICAgICAgICBtX2ltYWdlU2V0ID0gU3R5bGVDYWNoZWRJbWFnZVNldDo6Y3JlYXRlKGNhY2hlZElt
YWdlLmdldCgpLCBpbWFnZS5zY2FsZUZhY3RvciwgdGhpcyk7CkBAIC0xMzAsNiArMTMzLDExIEBA
IFN0eWxlQ2FjaGVkSW1hZ2VTZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENh
Y2hlZFJlc291cmNlTG9hZGVyKiBsb2FkCiAgICAgcmV0dXJuIChtX2ltYWdlU2V0ICYmIG1faW1h
Z2VTZXQtPmlzQ2FjaGVkSW1hZ2VTZXQoKSkgPyBzdGF0aWNfY2FzdDxTdHlsZUNhY2hlZEltYWdl
U2V0Kj4obV9pbWFnZVNldC5nZXQoKSkgOiAwOwogfQogCitTdHlsZUNhY2hlZEltYWdlU2V0KiBD
U1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNldChDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9h
ZGVyKQoreworICAgIHJldHVybiBjYWNoZWRJbWFnZVNldChsb2FkZXIsIENhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpOworfQorCiBTdHlsZUltYWdl
KiBDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRPclBlbmRpbmdJbWFnZVNldChEb2N1bWVudCYgZG9j
dW1lbnQpCiB7CiAgICAgaWYgKCFtX2ltYWdlU2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNl
dFZhbHVlLmgKaW5kZXggNDFjMGMxOC4uYzE4OTlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVy
OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTdHlsZUNhY2hlZEltYWdlU2V0OwogY2xhc3MgU3R5
bGVJbWFnZTsKK3N0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnM7CiAKIGNsYXNzIENTU0ltYWdl
U2V0VmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWVMaXN0IHsKIHB1YmxpYzoKQEAgLTQ2LDYgKzQ3LDcg
QEAgcHVibGljOgogICAgIH0KICAgICB+Q1NTSW1hZ2VTZXRWYWx1ZSgpOwogCisgICAgU3R5bGVD
YWNoZWRJbWFnZVNldCogY2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBjb25z
dCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKICAgICBTdHlsZUNhY2hlZEltYWdlU2V0KiBjYWNo
ZWRJbWFnZVNldChDYWNoZWRSZXNvdXJjZUxvYWRlciopOwogCiAgICAgLy8gUmV0dXJucyBhIFN0
eWxlQ2FjaGVkSW1hZ2VTZXQgaWYgdGhlIGJlc3QgZml0IGltYWdlIGhhcyBiZWVuIGNhY2hlZCBh
bHJlYWR5LCBvdGhlcndpc2UgYSBTdHlsZVBlbmRpbmdJbWFnZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKaW5kZXggYTUyNzM5MC4uZTY2Y2ViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
QEAgLTU4NzUsOCArNTg3NSw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFy
c2VTaGFwZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcElkKQogICAgICAgICByZXR1cm4ga2V5
d29yZFZhbHVlLnJlbGVhc2UoKTsKICAgICB9CiAKLSAgICBpZiAodmFsdWUtPnVuaXQgPT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19VUkkpIHsKLSAgICAgICAgUmVmUHRyPENTU0ltYWdlVmFsdWU+
IGltYWdlVmFsdWUgPSBDU1NJbWFnZVZhbHVlOjpjcmVhdGUoY29tcGxldGVVUkwodmFsdWUtPnN0
cmluZykpOworICAgIFJlZlB0cjxDU1NWYWx1ZT4gaW1hZ2VWYWx1ZTsKKyAgICBpZiAodmFsdWVJ
ZCAhPSBDU1NWYWx1ZU5vbmUgJiYgcGFyc2VGaWxsSW1hZ2UobV92YWx1ZUxpc3QuZ2V0KCksIGlt
YWdlVmFsdWUpKSB7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgICAgIHJldHVy
biBpbWFnZVZhbHVlLnJlbGVhc2UoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVw
cmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggYjRjZmRiNC4uMmQwMjg5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtMjExNyw3ICsy
MTE3LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIFJlZlB0cjxTaGFwZVZhbHVlPiBzaGFw
ZSA9IFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUoYmFzaWNTaGFwZUZvclZhbHVlKHN0eWxl
UmVzb2x2ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgcHJp
bWl0aXZlVmFsdWUtPmdldFNoYXBlVmFsdWUoKSkpOwogICAgICAgICAgICAgICAgIHNldFZhbHVl
KHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHNoYXBlLnJlbGVhc2UoKSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgIH0gZWxzZSBpZiAodmFsdWUtPmlzSW1hZ2VWYWx1ZSgpKSB7CisgICAgICAgIH0g
ZWxzZSBpZiAodmFsdWUtPmlzSW1hZ2VWYWx1ZSgpIHx8IHZhbHVlLT5pc0ltYWdlU2V0VmFsdWUo
KSkgewogICAgICAgICAgICAgUmVmUHRyPFNoYXBlVmFsdWU+IHNoYXBlID0gU2hhcGVWYWx1ZTo6
Y3JlYXRlSW1hZ2VWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZUltYWdlKHByb3BlcnR5LCB2YWx1
ZSkpOwogICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc2hhcGUu
cmVsZWFzZSgpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmlu
ZGV4IDJmN2I2MDcuLjAwNjE2NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAK
QEAgLTM5NTAsMTAgKzM5NTAsMTAgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJP
cGVyYXRpb25zKENTU1ZhbHVlKiBpblZhbHVlLCBGaWx0ZXJPcGVyYXRpb25zJgogCiAjZW5kaWYK
IAotUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0ltYWdl
KFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW5nSW1hZ2UpCitQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+
IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRp
bmdJbWFnZSwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlm
IChhdXRvIGltYWdlVmFsdWUgPSBwZW5kaW5nSW1hZ2UtPmNzc0ltYWdlVmFsdWUoKSkKLSAgICAg
ICAgcmV0dXJuIGltYWdlVmFsdWUtPmNhY2hlZEltYWdlKG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpKTsKKyAgICAgICAgcmV0dXJuIGltYWdlVmFsdWUtPmNhY2hlZElt
YWdlKG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLCBvcHRpb25zKTsK
IAogICAgIGlmIChhdXRvIGltYWdlR2VuZXJhdG9yVmFsdWUgPSBwZW5kaW5nSW1hZ2UtPmNzc0lt
YWdlR2VuZXJhdG9yVmFsdWUoKSkgewogICAgICAgICBpbWFnZUdlbmVyYXRvclZhbHVlLT5sb2Fk
U3ViaW1hZ2VzKG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNoZWRSZXNvdXJjZUxvYWRlcigpKTsKQEAg
LTM5NjUsMTIgKzM5NjUsMTYgQEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHlsZVJlc29sdmVy
Ojpsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4KIAogI2lmIEVOQUJM
RShDU1NfSU1BR0VfU0VUKQogICAgIGlmIChDU1NJbWFnZVNldFZhbHVlKiBpbWFnZVNldFZhbHVl
ID0gcGVuZGluZ0ltYWdlLT5jc3NJbWFnZVNldFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBpbWFn
ZVNldFZhbHVlLT5jYWNoZWRJbWFnZVNldChtX3N0YXRlLmRvY3VtZW50KCkuY2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKSk7CisgICAgICAgIHJldHVybiBpbWFnZVNldFZhbHVlLT5jYWNoZWRJbWFnZVNl
dChtX3N0YXRlLmRvY3VtZW50KCkuY2FjaGVkUmVzb3VyY2VMb2FkZXIoKSwgb3B0aW9ucyk7CiAj
ZW5kaWYKIAogICAgIHJldHVybiBudWxscHRyOwogfQogCitQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+
IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRp
bmdJbWFnZSkKK3sKKyAgICByZXR1cm4gbG9hZFBlbmRpbmdJbWFnZShwZW5kaW5nSW1hZ2UsIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkpOworfQog
CiAjaWYgRU5BQkxFKENTU19TSEFQRVMpCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5n
U2hhcGVJbWFnZShTaGFwZVZhbHVlKiBzaGFwZVZhbHVlKQpAQCAtMzk4MywxNCArMzk4NywxMiBA
QCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nU2hhcGVJbWFnZShTaGFwZVZhbHVlKiBz
aGFwZVZhbHVlKQogICAgICAgICByZXR1cm47CiAKICAgICBTdHlsZVBlbmRpbmdJbWFnZSogcGVu
ZGluZ0ltYWdlID0gc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1hZ2UqPihpbWFnZSk7Ci0gICAg
Q1NTSW1hZ2VWYWx1ZSogY3NzSW1hZ2VWYWx1ZSA9ICBwZW5kaW5nSW1hZ2UtPmNzc0ltYWdlVmFs
dWUoKTsKLSAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBt
X3N0YXRlLmRvY3VtZW50KCkuY2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKIAogICAgIFJlc291cmNl
TG9hZGVyT3B0aW9ucyBvcHRpb25zID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNo
ZWRSZXNvdXJjZU9wdGlvbnMoKTsKICAgICBvcHRpb25zLnJlcXVlc3RPcmlnaW5Qb2xpY3kgPSBQ
b3RlbnRpYWxseUNyb3NzT3JpZ2luRW5hYmxlZDsKICAgICBvcHRpb25zLmFsbG93Q3JlZGVudGlh
bHMgPSBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAKLSAgICBzaGFwZVZhbHVlLT5zZXRJ
bWFnZShjc3NJbWFnZVZhbHVlLT5jYWNoZWRJbWFnZShjYWNoZWRSZXNvdXJjZUxvYWRlciwgb3B0
aW9ucykpOworICAgIHNoYXBlVmFsdWUtPnNldEltYWdlKGxvYWRQZW5kaW5nSW1hZ2UocGVuZGlu
Z0ltYWdlLCBvcHRpb25zKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKaW5kZXggNzk3NjBmMC4uNmJkMTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5o
CkBAIC01MzksNiArNTM5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGx5U1ZHUHJvcGVydHko
Q1NTUHJvcGVydHlJRCwgQ1NTVmFsdWUqKTsKICNlbmRpZgogCisgICAgUGFzc1JlZlB0cjxTdHls
ZUltYWdlPiBsb2FkUGVuZGluZ0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKiwgY29uc3QgUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zJik7CiAgICAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBsb2FkUGVuZGlu
Z0ltYWdlKFN0eWxlUGVuZGluZ0ltYWdlKik7CiAgICAgdm9pZCBsb2FkUGVuZGluZ0ltYWdlcygp
OwogI2lmIEVOQUJMRShDU1NfU0hBUEVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3NoYXBlcy9TaGFwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVz
L1NoYXBlLmNwcAppbmRleCBiODU3ZTZiLi41YWZkMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1NoYXBlLmNwcApAQCAtMjUzLDcgKzI1Myw3IEBAIFBhc3NPd25QdHI8U2hh
cGU+IFNoYXBlOjpjcmVhdGVTaGFwZShjb25zdCBCYXNpY1NoYXBlKiBiYXNpY1NoYXBlLCBjb25z
dCBMYXlvdXRTCiAKIFBhc3NPd25QdHI8U2hhcGU+IFNoYXBlOjpjcmVhdGVSYXN0ZXJTaGFwZShj
b25zdCBTdHlsZUltYWdlKiBzdHlsZUltYWdlLCBmbG9hdCB0aHJlc2hvbGQsIGNvbnN0IExheW91
dFNpemUmLCBXcml0aW5nTW9kZSB3cml0aW5nTW9kZSwgTGVuZ3RoIG1hcmdpbiwgTGVuZ3RoIHBh
ZGRpbmcpCiB7Ci0gICAgQVNTRVJUKHN0eWxlSW1hZ2UgJiYgc3R5bGVJbWFnZS0+aXNDYWNoZWRJ
bWFnZSgpICYmIHN0eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCkgJiYgc3R5bGVJbWFnZS0+Y2FjaGVk
SW1hZ2UoKS0+aW1hZ2UoKSk7CisgICAgQVNTRVJUKHN0eWxlSW1hZ2UgJiYgc3R5bGVJbWFnZS0+
Y2FjaGVkSW1hZ2UoKSAmJiBzdHlsZUltYWdlLT5jYWNoZWRJbWFnZSgpLT5oYXNJbWFnZSgpKTsK
IAogICAgIEltYWdlKiBpbWFnZSA9IHN0eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCktPmltYWdlKCk7
CiAgICAgY29uc3QgSW50U2l6ZSYgaW1hZ2VTaXplID0gaW1hZ2UtPnNpemUoKTsK
</data>
<flag name="review"
          id="244308"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221171</attachid>
            <date>2014-01-14 09:41:11 -0800</date>
            <delta_ts>2014-01-14 10:12:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>17192</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4NWI0MWY4Li40YjFiN2Q0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTIt
MDUgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIFNoYXBlIGltYWdlcyBhcmUgbm93IDxpbWFnZT4gdHlwZXMsIG5vdCBqdXN0IFVSSXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTIyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgKiBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlLXNldC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdl
LXNldC5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0xNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1h
cmlvLnByYWRhQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtBVEtdIEFYQ2hpbGRyZW5DaGFuZ2Vk
IG5vdGlmaWNhdGlvbiBoYW5kbGluZyBpcyBhIHBlcmZvcm1hbmNlIGJsYWNrIGhvbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUt
aW1hZ2Utc2V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1p
bnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZWUyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzdHlsZT4KKyAgICAjaW1hZ2Utc2hhcGUtaW5zaWRlIHsKKyAgICAgICAgcGFkZGluZy1s
ZWZ0OiAyMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3Zn
K3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0n
MTQwcHgnIGhlaWdodD0nNTBweCc+PHJlY3QgeD0nMjAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdo
dD0nNTAnIGZpbGw9J2JsdWUnLz48L3N2Zz4iKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6
IG5vLXJlcGVhdDsKKyAgICAgICAgd2lkdGg6IDE1MHB4OyAKKyAgICAgICAgaGVpZ2h0OiA1MHB4
OyAKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSB3aGl0ZSAiSGVs
bG8gV29ybGQiIHNob3VsZCBhcHBlYXIgaW4gdGhlIHVwcGVyIGxlZnQgb2YgdGhlIGJsdWUgcmVj
dGFuZ2xlLjwvcD4KKyAgPGRpdiBzdHlsZT0iY29sb3I6IHdoaXRlIj4KKyAgICAgIDxkaXYgaWQ9
ImltYWdlLXNoYXBlLWluc2lkZSI+SGVsbG8gV29ybGQ8L2Rpdj4KKyAgPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNp
ZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMv
c2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5mZGU1YjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS1zZXQuaHRtbApA
QCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisgICAgI2ltYWdlLXNoYXBlLWluc2lkZSB7CisgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRl
OiAtd2Via2l0LWltYWdlLXNldCh1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1s
bnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQwcHgnIGhlaWdodD0nNTBw
eCc+PHJlY3QgeD0nMjAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZpbGw9J2JsdWUn
Lz48L3N2Zz4iKSAxeCk7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFn
ZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdp
ZHRoPScxNDBweCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4PScyMCcgeT0nMCcgd2lkdGg9JzEyMCcg
aGVpZ2h0PSc1MCcgZmlsbD0nYmx1ZScvPjwvc3ZnPiIpOworICAgICAgICBiYWNrZ3JvdW5kLXJl
cGVhdDogbm8tcmVwZWF0OworICAgICAgICB3aWR0aDogMTUwcHg7IAorICAgICAgICBoZWlnaHQ6
IDUwcHg7IAorICAgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGhlIHdoaXRl
ICJIZWxsbyBXb3JsZCIgc2hvdWxkIGFwcGVhciBpbiB0aGUgdXBwZXIgbGVmdCBvZiB0aGUgYmx1
ZSByZWN0YW5nbGUuPC9wPgorICA8ZGl2IHN0eWxlPSJjb2xvcjogd2hpdGUiPgorICAgICAgPGRp
diBpZD0iaW1hZ2Utc2hhcGUtaW5zaWRlIj5IZWxsbyBXb3JsZDwvZGl2PgorICA8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0LWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWltYWdlLXNldC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjFlNzkzYmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+CisgICAgI2ltYWdlLXNoYXBlLW91dHNpZGUgeworICAgICAgICBmbG9hdDogbGVmdDsKKyAg
ICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3Zn
IHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyMHB4JyBoZWlnaHQ9
JzUwcHgnPjxyZWN0IHg9JzAnIHk9JzAnIHdpZHRoPScxMjAnIGhlaWdodD0nNTAnIGZpbGw9J2Js
dWUnLz48L3N2Zz4iKTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAg
ICAgICAgd2lkdGg6IDEyMHB4OyAKKyAgICAgICAgaGVpZ2h0OiA1MHB4OyAKKyAgICB9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRoZSBncmVlbiAiSGVsbG8gV29ybGQiIHNob3Vs
ZCBhcHBlYXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibHVlIHJlY3RhbmdsZS48L3A+CisgIDxkaXYg
c3R5bGU9ImNvbG9yOiBncmVlbiI+CisgICAgICA8ZGl2IGlkPSJpbWFnZS1zaGFwZS1vdXRzaWRl
Ij48L2Rpdj4KKyAgICAgIEhlbGxvIFdvcmxkCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1pbWFnZS1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2Utc2V0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkzOWQ3NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
aW1hZ2Utc2V0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHN0eWxlPgorICAgICNpbWFnZS1zaGFwZS1vdXRzaWRlIHsKKyAgICAgICAgZmxv
YXQ6IGxlZnQ7CisgICAgICAgIC8qIFRoZSBzaGFwZS1vdXRzaWRlIGltYWdlJ3Mgd2lkdGggaXMg
c21hbGxlciB0aGFuIHRoZSBmbG9hdCdzIHdpZHRoICgxMjAgPCAxNTApIHRvIG1ha2UgaXQKKyAg
ICAgICAgICAgY2xlYXIgdGhhdCB0aGUgc2hhcGUtb3V0c2lkZSBkZWZpbmVzIHRoZSBzdGFydGlu
ZyBsb2NhdGlvbiBmb3IgdGhlIHRleHQsIG5vdCB0aGUgZmxvYXQuCisgICAgICAgICovCisgICAg
ICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogLXdlYmtpdC1pbWFnZS1zZXQodXJsKCJkYXRhOmlt
YWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycg
d2lkdGg9JzEyMHB4JyBoZWlnaHQ9JzUwcHgnPjxyZWN0IHg9JzAnIHk9JzAnIHdpZHRoPScxMjAn
IGhlaWdodD0nNTAnIGZpbGw9J2JsdWUnLz48L3N2Zz4iKSAxeCk7CisgICAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMjBweCcgaGVpZ2h0PSc1MHB4Jz48cmVjdCB4
PScwJyB5PScwJyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzUwJyBmaWxsPSdibHVlJy8+PC9zdmc+Iik7
CisgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgICAgIHdpZHRoOiAx
NTBweDsgCisgICAgICAgIGhlaWdodDogNTBweDsgCisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorICA8cD5UaGUgZ3JlZW4gIkhlbGxvIFdvcmxkIiBzaG91bGQgYXBwZWFyIHRvIHRo
ZSByaWdodCBvZiB0aGUgYmx1ZSByZWN0YW5nbGUuPC9wPgorICA8ZGl2IHN0eWxlPSJjb2xvcjog
Z3JlZW4iPgorICAgICAgPGRpdiBpZD0iaW1hZ2Utc2hhcGUtb3V0c2lkZSI+PC9kaXY+CisgICAg
ICBIZWxsbyBXb3JsZAorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzEzOTMwLi41MGI5YjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTMtMTItMDUg
IEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFwZXNd
IFNoYXBlIGltYWdlcyBhcmUgbm93IDxpbWFnZT4gdHlwZXMsIG5vdCBqdXN0IFVSSXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTIyNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBm
b3IgaW1hZ2Utc2V0IHZhbHVlZCBzaGFwZXMuIEFkZGVkIGFuIG9wdGlvbmFsIFJlc291cmNlTG9h
ZGVyT3B0aW9ucworICAgICAgICBwYXJhbWV0ZXIgdG8gQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVk
SW1hZ2VTZXQoKSB0byBlbmFibGUgQ09SUy1lbmFibGVkIGZldGNoIG9mCisgICAgICAgIGltYWdl
LXNldCBpbWFnZXMuIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIGEgc2ltaWxhciBwYXRjaCBmb3Ig
b3JkaW5hcnkgc2hhcGUgaW1hZ2UgdmFsdWVzOgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMTE0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLXNldC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlLXNl
dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNldCk6CisgICAgICAgICogY3Nz
L0NTU0ltYWdlU2V0VmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTaGFwZVByb3BlcnR5KToKKyAgICAgICAgKiBj
c3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5U2hhcGU6OmFwcGx5VmFsdWUpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKToK
KyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zaGFw
ZXMvU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGU6OmNyZWF0ZVNoYXBlKToKKwog
MjAxNC0wMS0xNCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIGRlcHJlY2F0ZWQgRGVmZXJyYWJsZU9uZVNob3RUaW1lciBjb25zdHJ1Y3Rvci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAppbmRleCAzZTZjMTgxLi5iMDMxY2My
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0
b3JzLmgiCisjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU3R5bGVDYWNoZWRJbWFn
ZVNldC5oIgpAQCAtMTAwLDcgKzEwMSw3IEBAIENTU0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNj
YWxlIENTU0ltYWdlU2V0VmFsdWU6OmJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCkKICAgICByZXR1
cm4gaW1hZ2U7CiB9CiAKLVN0eWxlQ2FjaGVkSW1hZ2VTZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNh
Y2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCitTdHlsZUNhY2hlZElt
YWdlU2V0KiBDU1NJbWFnZVNldFZhbHVlOjpjYWNoZWRJbWFnZVNldChDYWNoZWRSZXNvdXJjZUxv
YWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAg
ICAgQVNTRVJUKGxvYWRlcik7CiAKQEAgLTExOCw4ICsxMTksMTAgQEAgU3R5bGVDYWNoZWRJbWFn
ZVNldCogQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqIGxvYWQKICAgICAgICAgLy8gQWxsIGZvcm1zIG9mIHNjYWxlIHNob3VsZCBiZSBpbmNsdWRl
ZDogUGFnZTo6cGFnZVNjYWxlRmFjdG9yKCksIEZyYW1lOjpwYWdlWm9vbUZhY3RvcigpLAogICAg
ICAgICAvLyBhbmQgYW55IENTUyB0cmFuc2Zvcm1zLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODE2OTgKICAgICAgICAgSW1hZ2VXaXRoU2NhbGUgaW1hZ2UgPSBiZXN0
SW1hZ2VGb3JTY2FsZUZhY3RvcigpOwotICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltYWdlLmltYWdlVVJM
KSkpOworICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QoZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltYWdlLmltYWdlVVJMKSksIG9wdGlvbnMpOwogICAg
ICAgICByZXF1ZXN0LnNldEluaXRpYXRvcihjYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3Jz
KCkuY3NzKTsKKyAgICAgICAgaWYgKG9wdGlvbnMucmVxdWVzdE9yaWdpblBvbGljeSA9PSBQb3Rl
bnRpYWxseUNyb3NzT3JpZ2luRW5hYmxlZCkKKyAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RGb3JB
Y2Nlc3NDb250cm9sKHJlcXVlc3QubXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLCBkb2N1bWVudC0+
c2VjdXJpdHlPcmlnaW4oKSwgb3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAgICAgICAgaWYg
KENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBjYWNoZWRJbWFnZSA9IGxvYWRlci0+
cmVxdWVzdEltYWdlKHJlcXVlc3QpKSB7CiAgICAgICAgICAgICBkZXRhY2hQZW5kaW5nSW1hZ2Uo
KTsKICAgICAgICAgICAgIG1faW1hZ2VTZXQgPSBTdHlsZUNhY2hlZEltYWdlU2V0OjpjcmVhdGUo
Y2FjaGVkSW1hZ2UuZ2V0KCksIGltYWdlLnNjYWxlRmFjdG9yLCB0aGlzKTsKQEAgLTEzMCw2ICsx
MzMsMTEgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1h
Z2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQKICAgICByZXR1cm4gKG1faW1hZ2VTZXQg
JiYgbV9pbWFnZVNldC0+aXNDYWNoZWRJbWFnZVNldCgpKSA/IHN0YXRpY19jYXN0PFN0eWxlQ2Fj
aGVkSW1hZ2VTZXQqPihtX2ltYWdlU2V0LmdldCgpKSA6IDA7CiB9CiAKK1N0eWxlQ2FjaGVkSW1h
Z2VTZXQqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9h
ZGVyKiBsb2FkZXIpCit7CisgICAgcmV0dXJuIGNhY2hlZEltYWdlU2V0KGxvYWRlciwgQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSk7Cit9CisKIFN0
eWxlSW1hZ2UqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZE9yUGVuZGluZ0ltYWdlU2V0KERvY3Vt
ZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAoIW1faW1hZ2VTZXQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlU2V0VmFsdWUuaAppbmRleCA0MWMwYzE4Li5jMTg5OWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVNldFZhbHVlLmgKQEAgLTM2LDYgKzM2LDcgQEAgY2xhc3MgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2VTZXQ7CiBj
bGFzcyBTdHlsZUltYWdlOworc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9uczsKIAogY2xhc3Mg
Q1NTSW1hZ2VTZXRWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZUxpc3QgewogcHVibGljOgpAQCAtNDYs
NiArNDcsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5DU1NJbWFnZVNldFZhbHVlKCk7CiAKKyAg
ICBTdHlsZUNhY2hlZEltYWdlU2V0KiBjYWNoZWRJbWFnZVNldChDYWNoZWRSZXNvdXJjZUxvYWRl
ciosIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOwogICAgIFN0eWxlQ2FjaGVkSW1hZ2VT
ZXQqIGNhY2hlZEltYWdlU2V0KENhY2hlZFJlc291cmNlTG9hZGVyKik7CiAKICAgICAvLyBSZXR1
cm5zIGEgU3R5bGVDYWNoZWRJbWFnZVNldCBpZiB0aGUgYmVzdCBmaXQgaW1hZ2UgaGFzIGJlZW4g
Y2FjaGVkIGFscmVhZHksIG90aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0ltYWdlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAppbmRleCBiNzA2YWUyLi5iZWM2MzhjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcApAQCAtNTg4MSw4ICs1ODgxLDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFy
c2VyOjpwYXJzZVNoYXBlUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wSWQpCiAgICAgICAgIHJl
dHVybiBrZXl3b3JkVmFsdWUucmVsZWFzZSgpOwogICAgIH0KIAotICAgIGlmICh2YWx1ZS0+dW5p
dCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSSkgewotICAgICAgICBSZWZQdHI8Q1NTSW1h
Z2VWYWx1ZT4gaW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0ZShjb21wbGV0ZVVSTCh2
YWx1ZS0+c3RyaW5nKSk7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbWFnZVZhbHVlOworICAgIGlm
ICh2YWx1ZUlkICE9IENTU1ZhbHVlTm9uZSAmJiBwYXJzZUZpbGxJbWFnZShtX3ZhbHVlTGlzdC5n
ZXQoKSwgaW1hZ2VWYWx1ZSkpIHsKICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAg
ICAgcmV0dXJuIGltYWdlVmFsdWUucmVsZWFzZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAppbmRleCAzOGMwOGM4Li45ZjJlYTYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCkBAIC0y
MTUxLDcgKzIxNTEsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgUmVmUHRyPFNoYXBlVmFs
dWU+IHNoYXBlID0gU2hhcGVWYWx1ZTo6Y3JlYXRlU2hhcGVWYWx1ZShiYXNpY1NoYXBlRm9yVmFs
dWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHls
ZSgpLCBwcmltaXRpdmVWYWx1ZS0+Z2V0U2hhcGVWYWx1ZSgpKSk7CiAgICAgICAgICAgICAgICAg
c2V0VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc2hhcGUucmVsZWFzZSgpKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS0+aXNJbWFnZVZhbHVlKCkpIHsKKyAg
ICAgICAgfSBlbHNlIGlmICh2YWx1ZS0+aXNJbWFnZVZhbHVlKCkgfHwgdmFsdWUtPmlzSW1hZ2VT
ZXRWYWx1ZSgpKSB7CiAgICAgICAgICAgICBSZWZQdHI8U2hhcGVWYWx1ZT4gc2hhcGUgPSBTaGFw
ZVZhbHVlOjpjcmVhdGVJbWFnZVZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlSW1hZ2UocHJvcGVy
dHksIHZhbHVlKSk7CiAgICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LCBzaGFwZS5yZWxlYXNlKCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKaW5kZXggMDFkNjBjMi4uNmJmYTMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcApAQCAtMzkzNSwxMCArMzkzNSwxMCBAQCBib29sIFN0eWxlUmVzb2x2ZXI6OmNyZWF0
ZUZpbHRlck9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIEZpbHRlck9wZXJhdGlvbnMmCiAK
ICNlbmRpZgogCi1QYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5k
aW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbmdJbWFnZSkKK1Bhc3NSZWZQdHI8U3R5
bGVJbWFnZT4gU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRpbmdJbWFn
ZSogcGVuZGluZ0ltYWdlLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiB7
CiAgICAgaWYgKGF1dG8gaW1hZ2VWYWx1ZSA9IHBlbmRpbmdJbWFnZS0+Y3NzSW1hZ2VWYWx1ZSgp
KQotICAgICAgICByZXR1cm4gaW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UobV9zdGF0ZS5kb2N1bWVu
dCgpLmNhY2hlZFJlc291cmNlTG9hZGVyKCkpOworICAgICAgICByZXR1cm4gaW1hZ2VWYWx1ZS0+
Y2FjaGVkSW1hZ2UobV9zdGF0ZS5kb2N1bWVudCgpLmNhY2hlZFJlc291cmNlTG9hZGVyKCksIG9w
dGlvbnMpOwogCiAgICAgaWYgKGF1dG8gaW1hZ2VHZW5lcmF0b3JWYWx1ZSA9IHBlbmRpbmdJbWFn
ZS0+Y3NzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpKSB7CiAgICAgICAgIGltYWdlR2VuZXJhdG9yVmFs
dWUtPmxvYWRTdWJpbWFnZXMobV9zdGF0ZS5kb2N1bWVudCgpLmNhY2hlZFJlc291cmNlTG9hZGVy
KCkpOwpAQCAtMzk1MCwxMiArMzk1MCwxNiBAQCBQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IFN0eWxl
UmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqIHBlbmRpbgogCiAj
aWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAgICAgaWYgKENTU0ltYWdlU2V0VmFsdWUqIGltYWdl
U2V0VmFsdWUgPSBwZW5kaW5nSW1hZ2UtPmNzc0ltYWdlU2V0VmFsdWUoKSkKLSAgICAgICAgcmV0
dXJuIGltYWdlU2V0VmFsdWUtPmNhY2hlZEltYWdlU2V0KG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpKTsKKyAgICAgICAgcmV0dXJuIGltYWdlU2V0VmFsdWUtPmNhY2hl
ZEltYWdlU2V0KG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLCBvcHRp
b25zKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK1Bhc3NSZWZQdHI8U3R5
bGVJbWFnZT4gU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdJbWFnZShTdHlsZVBlbmRpbmdJbWFn
ZSogcGVuZGluZ0ltYWdlKQoreworICAgIHJldHVybiBsb2FkUGVuZGluZ0ltYWdlKHBlbmRpbmdJ
bWFnZSwgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMo
KSk7Cit9CiAKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKIHZvaWQgU3R5bGVSZXNvbHZlcjo6bG9h
ZFBlbmRpbmdTaGFwZUltYWdlKFNoYXBlVmFsdWUqIHNoYXBlVmFsdWUpCkBAIC0zOTY4LDE0ICsz
OTcyLDEyIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6bG9hZFBlbmRpbmdTaGFwZUltYWdlKFNoYXBl
VmFsdWUqIHNoYXBlVmFsdWUpCiAgICAgICAgIHJldHVybjsKIAogICAgIFN0eWxlUGVuZGluZ0lt
YWdlKiBwZW5kaW5nSW1hZ2UgPSBzdGF0aWNfY2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KGltYWdl
KTsKLSAgICBDU1NJbWFnZVZhbHVlKiBjc3NJbWFnZVZhbHVlID0gIHBlbmRpbmdJbWFnZS0+Y3Nz
SW1hZ2VWYWx1ZSgpOwotICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxv
YWRlciA9IG1fc3RhdGUuZG9jdW1lbnQoKS5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwogCiAgICAg
UmVzb3VyY2VMb2FkZXJPcHRpb25zIG9wdGlvbnMgPSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpOwogICAgIG9wdGlvbnMucmVxdWVzdE9yaWdpblBv
bGljeSA9IFBvdGVudGlhbGx5Q3Jvc3NPcmlnaW5FbmFibGVkOwogICAgIG9wdGlvbnMuYWxsb3dD
cmVkZW50aWFscyA9IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFsczsKIAotICAgIHNoYXBlVmFs
dWUtPnNldEltYWdlKGNzc0ltYWdlVmFsdWUtPmNhY2hlZEltYWdlKGNhY2hlZFJlc291cmNlTG9h
ZGVyLCBvcHRpb25zKSk7CisgICAgc2hhcGVWYWx1ZS0+c2V0SW1hZ2UobG9hZFBlbmRpbmdJbWFn
ZShwZW5kaW5nSW1hZ2UsIG9wdGlvbnMpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuaAppbmRleCAxYTAzMzM5Li5jYTE4NmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmgKQEAgLTUzOSw2ICs1MzksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlTVkdQ
cm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBDU1NWYWx1ZSopOwogI2VuZGlmCiAKKyAgICBQYXNzUmVm
UHRyPFN0eWxlSW1hZ2U+IGxvYWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqLCBjb25z
dCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKICAgICBQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IGxv
YWRQZW5kaW5nSW1hZ2UoU3R5bGVQZW5kaW5nSW1hZ2UqKTsKICAgICB2b2lkIGxvYWRQZW5kaW5n
SW1hZ2VzKCk7CiAjaWYgRU5BQkxFKENTU19TSEFQRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zaGFwZXMvU2hhcGUuY3BwCmluZGV4IDdiYzc0NDUuLjA3OTM1NDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuY3BwCkBAIC0yNTEsMTEgKzI1MSwxMiBAQCBQYXNz
T3duUHRyPFNoYXBlPiBTaGFwZTo6Y3JlYXRlU2hhcGUoY29uc3QgQmFzaWNTaGFwZSogYmFzaWNT
aGFwZSwgY29uc3QgTGF5b3V0UwogICAgIHJldHVybiBzaGFwZS5yZWxlYXNlKCk7CiB9CiAKLVBh
c3NPd25QdHI8U2hhcGU+IFNoYXBlOjpjcmVhdGVSYXN0ZXJTaGFwZShjb25zdCBTdHlsZUltYWdl
KiBzdHlsZUltYWdlLCBmbG9hdCB0aHJlc2hvbGQsIGNvbnN0IExheW91dFNpemUmLCBXcml0aW5n
TW9kZSB3cml0aW5nTW9kZSwgTGVuZ3RoIG1hcmdpbiwgTGVuZ3RoIHBhZGRpbmcpCitQYXNzT3du
UHRyPFNoYXBlPiBTaGFwZTo6Y3JlYXRlUmFzdGVyU2hhcGUoY29uc3QgU3R5bGVJbWFnZSYgc3R5
bGVJbWFnZSwgZmxvYXQgdGhyZXNob2xkLCBjb25zdCBMYXlvdXRTaXplJiwgV3JpdGluZ01vZGUg
d3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4sIExlbmd0aCBwYWRkaW5nKQogewotICAgIEFTU0VS
VChzdHlsZUltYWdlICYmIHN0eWxlSW1hZ2UtPmlzQ2FjaGVkSW1hZ2UoKSAmJiBzdHlsZUltYWdl
LT5jYWNoZWRJbWFnZSgpICYmIHN0eWxlSW1hZ2UtPmNhY2hlZEltYWdlKCktPmltYWdlKCkpOwor
ICAgIEFTU0VSVChzdHlsZUltYWdlLmNhY2hlZEltYWdlKCkpOworICAgIEFTU0VSVChzdHlsZUlt
YWdlLmNhY2hlZEltYWdlKCktPmhhc0ltYWdlKCkpOwogCi0gICAgSW1hZ2UqIGltYWdlID0gc3R5
bGVJbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2UoKTsKKyAgICBJbWFnZSogaW1hZ2UgPSBzdHls
ZUltYWdlLmNhY2hlZEltYWdlKCktPmltYWdlKCk7CiAgICAgY29uc3QgSW50U2l6ZSYgaW1hZ2VT
aXplID0gaW1hZ2UtPnNpemUoKTsKIAogICAgIE93blB0cjxSYXN0ZXJTaGFwZUludGVydmFscz4g
aW50ZXJ2YWxzID0gYWRvcHRQdHIobmV3IFJhc3RlclNoYXBlSW50ZXJ2YWxzKGltYWdlU2l6ZS5o
ZWlnaHQoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9T
aGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5oCmluZGV4IDk3
YWY2ZjguLjQ0YWU2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFw
ZXMvU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmgK
QEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICBzdGF0aWMgUGFzc093blB0
cjxTaGFwZT4gY3JlYXRlU2hhcGUoY29uc3QgQmFzaWNTaGFwZSosIGNvbnN0IExheW91dFNpemUm
IGxvZ2ljYWxCb3hTaXplLCBXcml0aW5nTW9kZSwgTGVuZ3RoIG1hcmdpbiwgTGVuZ3RoIHBhZGRp
bmcpOwotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNoYXBlPiBjcmVhdGVSYXN0ZXJTaGFwZShjb25z
dCBTdHlsZUltYWdlKiwgZmxvYXQgdGhyZXNob2xkLCBjb25zdCBMYXlvdXRTaXplJiBsb2dpY2Fs
Qm94U2l6ZSwgV3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4sIExlbmd0aCBwYWRkaW5nKTsKKyAg
ICBzdGF0aWMgUGFzc093blB0cjxTaGFwZT4gY3JlYXRlUmFzdGVyU2hhcGUoY29uc3QgU3R5bGVJ
bWFnZSYsIGZsb2F0IHRocmVzaG9sZCwgY29uc3QgTGF5b3V0U2l6ZSYgbG9naWNhbEJveFNpemUs
IFdyaXRpbmdNb2RlLCBMZW5ndGggbWFyZ2luLCBMZW5ndGggcGFkZGluZyk7CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8U2hhcGU+IGNyZWF0ZUxheW91dEJveFNoYXBlKGNvbnN0IFJvdW5kZWRSZWN0
JiwgV3JpdGluZ01vZGUsIExlbmd0aCBtYXJnaW4sIExlbmd0aCBwYWRkaW5nKTsKIAogICAgIHZp
cnR1YWwgflNoYXBlKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c2hhcGVzL1NoYXBlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1No
YXBlSW5mby5jcHAKaW5kZXggYjE5NGJkNy4uZTc2ZGY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcApAQCAtNzQsNyArNzQsNyBAQCBjb25zdCBT
aGFwZSYgU2hhcGVJbmZvPFJlbmRlclR5cGU+Ojpjb21wdXRlZFNoYXBlKCkgY29uc3QKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBTaGFwZVZhbHVlOjpJbWFnZToKICAgICAgICAgQVNTRVJUKHNo
YXBlVmFsdWUtPmltYWdlKCkpOwotICAgICAgICBtX3NoYXBlID0gU2hhcGU6OmNyZWF0ZVJhc3Rl
clNoYXBlKHNoYXBlVmFsdWUtPmltYWdlKCksIHNoYXBlSW1hZ2VUaHJlc2hvbGQsIG1fc2hhcGVM
b2dpY2FsU2l6ZSwgd3JpdGluZ01vZGUsIG1hcmdpbiwgcGFkZGluZyk7CisgICAgICAgIG1fc2hh
cGUgPSBTaGFwZTo6Y3JlYXRlUmFzdGVyU2hhcGUoKihzaGFwZVZhbHVlLT5pbWFnZSgpKSwgc2hh
cGVJbWFnZVRocmVzaG9sZCwgbV9zaGFwZUxvZ2ljYWxTaXplLCB3cml0aW5nTW9kZSwgbWFyZ2lu
LCBwYWRkaW5nKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTaGFwZVZhbHVlOjpCb3g6IHsK
ICAgICAgICAgY29uc3QgUm91bmRlZFJlY3QmIHNoYXBlUmVjdCA9IG1fcmVuZGVyZXIuc3R5bGUo
KS5nZXRSb3VuZGVkQm9yZGVyRm9yKExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgbV9zaGFwZUxv
Z2ljYWxTaXplKSwgJihtX3JlbmRlcmVyLnZpZXcoKSkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>