<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Revised Scala Exercises</title>
	<atom:link href="http://blog.tmorris.net/revised-scala-exercises/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tmorris.net/revised-scala-exercises/</link>
	<description>The weblog of Tony Morris</description>
	<pubDate>Sat, 04 Feb 2012 12:40:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-19350</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Mon, 13 Oct 2008 21:10:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-19350</guid>
		<description>Hi Stefan, sorry for the late reply. If you're using the Scala REPL, then the definition of Empty comes after the declaration of List, so it fails.

The &lt;code&gt;[+A]&lt;/code&gt; denotes covariance in the type parameter A. So if T is a subtype of U, then List[T] is a subtype of List[U]. In contrast to Java, where all type parameters are invariant. For example, a List&#60;String&gt; is not a List&#60;CharSequence&gt; even though a String is a CharSequence.</description>
		<content:encoded><![CDATA[<p>Hi Stefan, sorry for the late reply. If you&#8217;re using the Scala REPL, then the definition of Empty comes after the declaration of List, so it fails.</p>
<p>The <code>[+A]</code> denotes covariance in the type parameter A. So if T is a subtype of U, then List[T] is a subtype of List[U]. In contrast to Java, where all type parameters are invariant. For example, a List&lt;String> is not a List&lt;CharSequence> even though a String is a CharSequence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karri-Pekka Laakso</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-19315</link>
		<dc:creator>Karri-Pekka Laakso</dc:creator>
		<pubDate>Mon, 13 Oct 2008 16:45:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-19315</guid>
		<description>Stefan: I used the same version and couldn't compile it inside the interpreter. However, I pasted all of the code into one file, compiled it with scalac and launched the interpreter with&lt;pre&gt;scala -cp .&lt;/pre&gt;
=&#62; Works.</description>
		<content:encoded><![CDATA[<p>Stefan: I used the same version and couldn&#8217;t compile it inside the interpreter. However, I pasted all of the code into one file, compiled it with scalac and launched the interpreter with
<pre>scala -cp .</pre>
<p>=&gt; Works.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Wagner</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-17878</link>
		<dc:creator>Stefan Wagner</dc:creator>
		<pubDate>Sat, 04 Oct 2008 02:55:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-17878</guid>
		<description>Why do I get this error:

&lt;code&gt;
sealed trait List[+A] {
     &#124; override def toString = {
     &#124; def toScalaList(t: List[A]): scala.List[A] = t match {
     &#124; case Empty =&#62; Nil
     &#124; case Cons(h, t) =&#62; h :: toScalaList(t)
     &#124; }
     &#124; toScalaList(this).toString
     &#124; }
     &#124; }
:7: error: not found: value Empty
       case Empty =&#62; Nil
            ^
:8: error: not found: value Cons
       case Cons(h, t) =&#62; h :: toScalaList(t)
            ^
:8: error: not found: value h
       case Cons(h, t) =&#62; h :: toScalaList(t)
&lt;/code&gt;
And why is it List[+A], and not just List[A]?

I used scala-2.7.1-final to try this out.</description>
		<content:encoded><![CDATA[<p>Why do I get this error:</p>
<p><code><br />
sealed trait List[+A] {<br />
     | override def toString = {<br />
     | def toScalaList(t: List[A]): scala.List[A] = t match {<br />
     | case Empty =&gt; Nil<br />
     | case Cons(h, t) =&gt; h :: toScalaList(t)<br />
     | }<br />
     | toScalaList(this).toString<br />
     | }<br />
     | }<br />
:7: error: not found: value Empty<br />
       case Empty =&gt; Nil<br />
            ^<br />
:8: error: not found: value Cons<br />
       case Cons(h, t) =&gt; h :: toScalaList(t)<br />
            ^<br />
:8: error: not found: value h<br />
       case Cons(h, t) =&gt; h :: toScalaList(t)<br />
</code><br />
And why is it List[+A], and not just List[A]?</p>
<p>I used scala-2.7.1-final to try this out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: λ Tony’s blog λ &#187; Blog Archive &#187; 20 Intermediate Scala Exercises</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-13822</link>
		<dc:creator>λ Tony’s blog λ &#187; Blog Archive &#187; 20 Intermediate Scala Exercises</dc:creator>
		<pubDate>Wed, 10 Sep 2008 03:36:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-13822</guid>
		<description>[...] will be publishing answers to these exercises as well as the Revised Scala Exercises in the near future. In the meantime, see if you can tackle the exercises below. In almost all [...]</description>
		<content:encoded><![CDATA[<p>[...] will be publishing answers to these exercises as well as the Revised Scala Exercises in the near future. In the meantime, see if you can tackle the exercises below. In almost all [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-11768</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Tue, 02 Sep 2008 12:48:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-11768</guid>
		<description>Here is a message from Ben, &lt;a href="http://blog.tmorris.net/sorry-ben/" rel="nofollow"&gt;which for the third time, failed to show after I Approved it in the Wordpress admin panel&lt;/a&gt; &lt;em&gt;sigh&lt;/em&gt;.

&lt;blockquote&gt;
Hi Tony,

My question was about the pred() function/case (or lack thereof), which appears in the previous Scala and Haskell versions, but not in this one.

Why is that?
&lt;/blockquote&gt;

Hello Ben, I didn't write the pred/succ functions because they are a bit of a red herring. They are not required to implement any of the exercises.</description>
		<content:encoded><![CDATA[<p>Here is a message from Ben, <a href="http://blog.tmorris.net/sorry-ben/"  rel="nofollow">which for the third time, failed to show after I Approved it in the Wordpress admin panel</a> <em>sigh</em>.</p>
<blockquote><p>
Hi Tony,</p>
<p>My question was about the pred() function/case (or lack thereof), which appears in the previous Scala and Haskell versions, but not in this one.</p>
<p>Why is that?
</p></blockquote>
<p>Hello Ben, I didn&#8217;t write the pred/succ functions because they are a bit of a red herring. They are not required to implement any of the exercises.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Hutchison</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-11752</link>
		<dc:creator>Ben Hutchison</dc:creator>
		<pubDate>Tue, 02 Sep 2008 12:00:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-11752</guid>
		<description>Hi Tony,

My question was about the pred() function/case (or lack thereof), which appears in the previous Scala and Haskell versions, but not in this one. 

Why is that?</description>
		<content:encoded><![CDATA[<p>Hi Tony,</p>
<p>My question was about the pred() function/case (or lack thereof), which appears in the previous Scala and Haskell versions, but not in this one. </p>
<p>Why is that?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff</title>
		<link>http://blog.tmorris.net/revised-scala-exercises/#comment-2450</link>
		<dc:creator>Jeff</dc:creator>
		<pubDate>Tue, 29 Jul 2008 08:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/revised-scala-exercises/#comment-2450</guid>
		<description>Thanks Tony

These exercises are a big improvement and really improved my understanding.  I finally figured out how to stop all my methods depending on reverse.

c2VhbGVkIHRyYWl0IExpc3RbK0FdIHsNCiAgb3ZlcnJpZGUgZGVmIHRvU3RyaW5nID0gew0KICAg
IGRlZiB0b1NjYWxhTGlzdCh0OiBMaXN0W0FdKTogc2NhbGEuTGlzdFtBXSA9IHQgbWF0Y2ggew0K
ICAgICAgY2FzZSBFbXB0eSA9PiBOaWwNCiAgICAgIGNhc2UgQ29ucyhoLCB0KSA9PiBoIDo6IHRv
U2NhbGFMaXN0KHQpDQogICAgfQ0KICAgIHRvU2NhbGFMaXN0KHRoaXMpLnRvU3RyaW5nDQogIH0N
Cn0NCmZpbmFsIGNhc2Ugb2JqZWN0IEVtcHR5IGV4dGVuZHMgTGlzdFtOb3RoaW5nXQ0KZmluYWwg
Y2FzZSBjbGFzcyBDb25zW0FdKGg6IEEsIHQ6IExpc3RbQV0pIGV4dGVuZHMgTGlzdFtBXQ0KDQpv
YmplY3QgTGlzdCB7DQogIGRlZiBmb2xkUmlnaHRbQSwgQl0oYXM6IExpc3RbQV0sIGI6IEIsIGY6
IChBLCBCKSA9PiBCKTogQiA9IGFzIG1hdGNoIHsNCiAgICBjYXNlIEVtcHR5ID0+IGINCiAgICBj
YXNlIENvbnMoaCwgdCkgPT4gZihoLCBmb2xkUmlnaHQodCwgYiwgZikpDQogIH0NCg0KICBkZWYg
Zm9sZExlZnRbQSwgQl0oYXM6IExpc3RbQV0sIGI6IEIsIGY6IChCLCBBKSA9PiBCKTogQiA9IGFz
IG1hdGNoIHsNCiAgICBjYXNlIEVtcHR5ID0+IGINCiAgICBjYXNlIENvbnMoaCwgdCkgPT4gZm9s
ZExlZnQodCwgZihiLCBoKSwgZikNCiAgfQ0KDQogIGRlZiByZWR1Y2VSaWdodFtBXShhczogTGlz
dFtBXSwgZjogKEEsIEEpID0+IEEpOiBBID0gYXMgbWF0Y2ggew0KICAgIGNhc2UgRW1wdHkgPT4g
ZXJyb3IoImJ6enQuIHJlZHVjZVJpZ2h0IG9uIGVtcHR5IGxpc3QiKQ0KICAgIGNhc2UgQ29ucyho
LCB0KSA9PiBmb2xkUmlnaHQodCwgaCwgZikNCiAgfQ0KDQogIGRlZiByZWR1Y2VMZWZ0W0FdKGFz
OiBMaXN0W0FdLCBmOiAoQSwgQSkgPT4gQSk6IEEgPSBhcyBtYXRjaCB7DQogICAgY2FzZSBFbXB0
eSA9PiBlcnJvcigiYnp6dC4gcmVkdWNlTGVmdCBvbiBlbXB0eSBsaXN0IikNCiAgICBjYXNlIENv
bnMoaCwgdCkgPT4gZm9sZExlZnQodCwgaCwgZikNCiAgfQ0KDQogIGRlZiB1bmZvbGRbQSwgQl0o
YjogQiwgZjogQiA9PiBPcHRpb25bKEEsIEIpXSk6IExpc3RbQV0gPSBmKGIpIG1hdGNoIHsNCiAg
ICBjYXNlIFNvbWUoKGEsIGIpKSA9PiBDb25zKGEsIHVuZm9sZChiLCBmKSkNCiAgICBjYXNlIHNj
YWxhLk5vbmUgPT4gRW1wdHkNCiAgfQ0KfQ0KDQpzZWFsZWQgdHJhaXQgTmF0dXJhbCB7DQogIG92
ZXJyaWRlIGRlZiB0b1N0cmluZyA9IHsNCiAgICBkZWYgdG9JbnQobjogTmF0dXJhbCk6IEludCA9
IG4gbWF0Y2ggew0KICAgICAgY2FzZSBaZXJvID0+IDANCiAgICAgIGNhc2UgU3VjYyh4KSA9PiAx
ICsgdG9JbnQoeCkNCiAgICB9DQogICAgdG9JbnQodGhpcykudG9TdHJpbmcNCiAgfQ0KfQ0KZmlu
YWwgY2FzZSBvYmplY3QgWmVybyBleHRlbmRzIE5hdHVyYWwNCmZpbmFsIGNhc2UgY2xhc3MgU3Vj
YyhjOiBOYXR1cmFsKSBleHRlbmRzIE5hdHVyYWwNCg0Kb2JqZWN0IEV4ZXJjaXNlcyB7DQoNCi8v
IEV4ZXJjaXNlIDENCi8vIFJlbGF0aXZlIERpZmZpY3VsdHk6IDENCi8vIENvcnJlY3RuZXNzOiAy
LjAgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAwLjUgbWFyaw0KLy8gRWxlZ2FuY2U6IDAuNSBtYXJr
cw0KLy8gVG90YWw6IDMNCmRlZiBhZGQoeDogTmF0dXJhbCwgeTogTmF0dXJhbCk6IE5hdHVyYWwg
PSB7DQogIHggbWF0Y2ggew0KICAgIGNhc2UgWmVybyA9PiB5DQogICAgY2FzZSBTdWNjKHApID0+
IGFkZChwLCBTdWNjKHkpKQ0KICB9DQp9DQoNCi8vIEV4ZXJjaXNlIDINCi8vIFJlbGF0aXZlIERp
ZmZpY3VsdHk6IDINCi8vIENvcnJlY3RuZXNzOiAyLjUgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAx
IG1hcmsNCi8vIEVsZWdhbmNlOiAwLjUgbWFya3MNCi8vIFRvdGFsOiA0DQpkZWYgc3VtKGlzOiBM
aXN0W0ludF0pOiBJbnQgPSBMaXN0LmZvbGRMZWZ0KGlzLCAwLCAoKGE6SW50LCBiOkludCkgPT4g
YSArIGIpKQ0KDQovLyBFeGVyY2lzZSAzDQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiAyDQovLyBD
b3JyZWN0bmVzczogMi41IG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMSBtYXJrDQovLyBFbGVnYW5j
ZTogMC41IG1hcmtzDQovLyBUb3RhbDogNA0KZGVmIGxlbmd0aFtBXShhczogTGlzdFtBXSk6IElu
dCA9IExpc3QuZm9sZExlZnQoYXMsIDAsICgoYTpJbnQsIGI6QSkgPT4gYSArIDEpKQ0KDQovLyBF
eGVyY2lzZSA0DQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiA1DQovLyBDb3JyZWN0bmVzczogNC41
IG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMS4wIG1hcmsNCi8vIEVsZWdhbmNlOiAxLjUgbWFya3MN
Ci8vIFRvdGFsOiA3DQpkZWYgbWFwW0EsIEJdKGFzOiBMaXN0W0FdLCBmOiBBID0+IEIpOiBMaXN0
W0JdID0NCiAgICAgIExpc3QuZm9sZFJpZ2h0KGFzLCBFbXB0eSwgKChwOkEsIHE6TGlzdFtCXSkg
PT4gQ29ucyhmKHApLCBxKSkpDQoNCi8vIEV4ZXJjaXNlIDUNCi8vIFJlbGF0aXZlIERpZmZpY3Vs
dHk6IDUNCi8vIENvcnJlY3RuZXNzOiA0LjUgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAxLjUgbWFy
a3MNCi8vIEVsZWdhbmNlOiAxIG1hcmsNCi8vIFRvdGFsOiA3DQpkZWYgZmlsdGVyW0FdKGFzOiBM
aXN0W0FdLCBmOiBBID0+IEJvb2xlYW4pOiBMaXN0W0FdID0NCiAgICAgIExpc3QuZm9sZFJpZ2h0
KGFzLCBFbXB0eSwgeyAodDpBLCB5Okxpc3RbQV0pID0+DQogICAgICAgIGlmIChmKHQpKSBDb25z
KHQsIHkpDQogICAgICAgIGVsc2UgeQ0KICAgICAgfSkNCg0KLy8gRXhlcmNpc2UgNg0KLy8gUmVs
YXRpdmUgRGlmZmljdWx0eTogNQ0KLy8gQ29ycmVjdG5lc3M6IDQuNSBtYXJrcw0KLy8gUGVyZm9y
bWFuY2U6IDEuNSBtYXJrcw0KLy8gRWxlZ2FuY2U6IDEgbWFyaw0KLy8gVG90YWw6IDcNCmRlZiBh
cHBlbmRbQV0oeDogTGlzdFtBXSwgeTogTGlzdFtBXSk6IExpc3RbQV0gPQ0KICAgICAgTGlzdC5m
b2xkUmlnaHQoeCwgeSwgKChwOkEsIHE6TGlzdFtBXSkgPT4gQ29ucyhwLCBxKSkpDQoNCi8vIEV4
ZXJjaXNlIDcNCi8vIFJlbGF0aXZlIERpZmZpY3VsdHk6IDUNCi8vIENvcnJlY3RuZXNzOiA0LjUg
bWFya3MNCi8vIFBlcmZvcm1hbmNlOiAxLjUgbWFya3MNCi8vIEVsZWdhbmNlOiAxIG1hcmsNCi8v
IFRvdGFsOiA3DQpkZWYgZmxhdHRlbltBXShhczogTGlzdFtMaXN0W0FdXSk6IExpc3RbQV0gPQ0K
ICAgICAgTGlzdC5mb2xkUmlnaHQoYXMsIEVtcHR5LCAoKHA6TGlzdFtBXSwgcTpMaXN0W0FdKSA9
PiBhcHBlbmQocCwgcSkpKQ0KDQovLyBFeGVyY2lzZSA4DQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5
OiA3DQovLyBDb3JyZWN0bmVzczogNS4wIG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMS41IG1hcmtz
DQovLyBFbGVnYW5jZTogMS41IG1hcmsNCi8vIFRvdGFsOiA4DQpkZWYgZmxhdE1hcFtBLCBCXShh
czogTGlzdFtBXSwgZjogQSA9PiBMaXN0W0JdKTogTGlzdFtCXSA9IGZsYXR0ZW4obWFwKGFzLCBm
KSkNCg0KLy8gRXhlcmNpc2UgOQ0KLy8gUmVsYXRpdmUgRGlmZmljdWx0eTogOA0KLy8gQ29ycmVj
dG5lc3M6IDMuNSBtYXJrcw0KLy8gUGVyZm9ybWFuY2U6IDMuMCBtYXJrcw0KLy8gRWxlZ2FuY2U6
IDIuNSBtYXJrcw0KLy8gVG90YWw6IDkNCmRlZiBtYXhpbXVtKGlzOiBMaXN0W0ludF0pOiBJbnQg
PSB7DQogICAgaXMgbWF0Y2ggew0KICAgICAgY2FzZSBFbXB0eSA9PiB0aHJvdyBuZXcgSWxsZWdh
bEFyZ3VtZW50RXhjZXB0aW9uKCJDYW4ndCBjYWxjdWxhdGUgbWF4aW11bSBvZiBlbXB0eSBsaXN0
LiIpDQogICAgICBjYXNlIF8gPT4gTGlzdC5yZWR1Y2VMZWZ0KGlzLCAoKGE6SW50LCBiOkludCkg
PT4gaWYgKGEgPiBiKSBhIGVsc2UgYikpDQogICAgfQ0KICB9DQoNCi8vIEV4ZXJjaXNlIDEwDQov
LyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiAxMA0KLy8gQ29ycmVjdG5lc3M6IDUuMCBtYXJrcw0KLy8g
UGVyZm9ybWFuY2U6IDIuNSBtYXJrcw0KLy8gRWxlZ2FuY2U6IDIuNSBtYXJrcw0KLy8gVG90YWw6
IDEwDQpkZWYgcmV2ZXJzZVtBXShhczogTGlzdFtBXSk6IExpc3RbQV0gPQ0KICAgICAgTGlzdC5m
b2xkTGVmdChhcywgRW1wdHksICgocmV2Okxpc3RbQV0sIHQ6QSkgPT4gQ29ucyh0LCByZXYpKSkN
Cn0NCg==</description>
		<content:encoded><![CDATA[<p>Thanks Tony</p>
<p>These exercises are a big improvement and really improved my understanding.  I finally figured out how to stop all my methods depending on reverse.</p>
<p>c2VhbGVkIHRyYWl0IExpc3RbK0FdIHsNCiAgb3ZlcnJpZGUgZGVmIHRvU3RyaW5nID0gew0KICAg<br />
IGRlZiB0b1NjYWxhTGlzdCh0OiBMaXN0W0FdKTogc2NhbGEuTGlzdFtBXSA9IHQgbWF0Y2ggew0K<br />
ICAgICAgY2FzZSBFbXB0eSA9PiBOaWwNCiAgICAgIGNhc2UgQ29ucyhoLCB0KSA9PiBoIDo6IHRv<br />
U2NhbGFMaXN0KHQpDQogICAgfQ0KICAgIHRvU2NhbGFMaXN0KHRoaXMpLnRvU3RyaW5nDQogIH0N<br />
Cn0NCmZpbmFsIGNhc2Ugb2JqZWN0IEVtcHR5IGV4dGVuZHMgTGlzdFtOb3RoaW5nXQ0KZmluYWwg<br />
Y2FzZSBjbGFzcyBDb25zW0FdKGg6IEEsIHQ6IExpc3RbQV0pIGV4dGVuZHMgTGlzdFtBXQ0KDQpv<br />
YmplY3QgTGlzdCB7DQogIGRlZiBmb2xkUmlnaHRbQSwgQl0oYXM6IExpc3RbQV0sIGI6IEIsIGY6<br />
IChBLCBCKSA9PiBCKTogQiA9IGFzIG1hdGNoIHsNCiAgICBjYXNlIEVtcHR5ID0+IGINCiAgICBj<br />
YXNlIENvbnMoaCwgdCkgPT4gZihoLCBmb2xkUmlnaHQodCwgYiwgZikpDQogIH0NCg0KICBkZWYg<br />
Zm9sZExlZnRbQSwgQl0oYXM6IExpc3RbQV0sIGI6IEIsIGY6IChCLCBBKSA9PiBCKTogQiA9IGFz<br />
IG1hdGNoIHsNCiAgICBjYXNlIEVtcHR5ID0+IGINCiAgICBjYXNlIENvbnMoaCwgdCkgPT4gZm9s<br />
ZExlZnQodCwgZihiLCBoKSwgZikNCiAgfQ0KDQogIGRlZiByZWR1Y2VSaWdodFtBXShhczogTGlz<br />
dFtBXSwgZjogKEEsIEEpID0+IEEpOiBBID0gYXMgbWF0Y2ggew0KICAgIGNhc2UgRW1wdHkgPT4g<br />
ZXJyb3IoImJ6enQuIHJlZHVjZVJpZ2h0IG9uIGVtcHR5IGxpc3QiKQ0KICAgIGNhc2UgQ29ucyho<br />
LCB0KSA9PiBmb2xkUmlnaHQodCwgaCwgZikNCiAgfQ0KDQogIGRlZiByZWR1Y2VMZWZ0W0FdKGFz<br />
OiBMaXN0W0FdLCBmOiAoQSwgQSkgPT4gQSk6IEEgPSBhcyBtYXRjaCB7DQogICAgY2FzZSBFbXB0<br />
eSA9PiBlcnJvcigiYnp6dC4gcmVkdWNlTGVmdCBvbiBlbXB0eSBsaXN0IikNCiAgICBjYXNlIENv<br />
bnMoaCwgdCkgPT4gZm9sZExlZnQodCwgaCwgZikNCiAgfQ0KDQogIGRlZiB1bmZvbGRbQSwgQl0o<br />
YjogQiwgZjogQiA9PiBPcHRpb25bKEEsIEIpXSk6IExpc3RbQV0gPSBmKGIpIG1hdGNoIHsNCiAg<br />
ICBjYXNlIFNvbWUoKGEsIGIpKSA9PiBDb25zKGEsIHVuZm9sZChiLCBmKSkNCiAgICBjYXNlIHNj<br />
YWxhLk5vbmUgPT4gRW1wdHkNCiAgfQ0KfQ0KDQpzZWFsZWQgdHJhaXQgTmF0dXJhbCB7DQogIG92<br />
ZXJyaWRlIGRlZiB0b1N0cmluZyA9IHsNCiAgICBkZWYgdG9JbnQobjogTmF0dXJhbCk6IEludCA9<br />
IG4gbWF0Y2ggew0KICAgICAgY2FzZSBaZXJvID0+IDANCiAgICAgIGNhc2UgU3VjYyh4KSA9PiAx<br />
ICsgdG9JbnQoeCkNCiAgICB9DQogICAgdG9JbnQodGhpcykudG9TdHJpbmcNCiAgfQ0KfQ0KZmlu<br />
YWwgY2FzZSBvYmplY3QgWmVybyBleHRlbmRzIE5hdHVyYWwNCmZpbmFsIGNhc2UgY2xhc3MgU3Vj<br />
YyhjOiBOYXR1cmFsKSBleHRlbmRzIE5hdHVyYWwNCg0Kb2JqZWN0IEV4ZXJjaXNlcyB7DQoNCi8v<br />
IEV4ZXJjaXNlIDENCi8vIFJlbGF0aXZlIERpZmZpY3VsdHk6IDENCi8vIENvcnJlY3RuZXNzOiAy<br />
LjAgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAwLjUgbWFyaw0KLy8gRWxlZ2FuY2U6IDAuNSBtYXJr<br />
cw0KLy8gVG90YWw6IDMNCmRlZiBhZGQoeDogTmF0dXJhbCwgeTogTmF0dXJhbCk6IE5hdHVyYWwg<br />
PSB7DQogIHggbWF0Y2ggew0KICAgIGNhc2UgWmVybyA9PiB5DQogICAgY2FzZSBTdWNjKHApID0+<br />
IGFkZChwLCBTdWNjKHkpKQ0KICB9DQp9DQoNCi8vIEV4ZXJjaXNlIDINCi8vIFJlbGF0aXZlIERp<br />
ZmZpY3VsdHk6IDINCi8vIENvcnJlY3RuZXNzOiAyLjUgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAx<br />
IG1hcmsNCi8vIEVsZWdhbmNlOiAwLjUgbWFya3MNCi8vIFRvdGFsOiA0DQpkZWYgc3VtKGlzOiBM<br />
aXN0W0ludF0pOiBJbnQgPSBMaXN0LmZvbGRMZWZ0KGlzLCAwLCAoKGE6SW50LCBiOkludCkgPT4g<br />
YSArIGIpKQ0KDQovLyBFeGVyY2lzZSAzDQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiAyDQovLyBD<br />
b3JyZWN0bmVzczogMi41IG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMSBtYXJrDQovLyBFbGVnYW5j<br />
ZTogMC41IG1hcmtzDQovLyBUb3RhbDogNA0KZGVmIGxlbmd0aFtBXShhczogTGlzdFtBXSk6IElu<br />
dCA9IExpc3QuZm9sZExlZnQoYXMsIDAsICgoYTpJbnQsIGI6QSkgPT4gYSArIDEpKQ0KDQovLyBF<br />
eGVyY2lzZSA0DQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiA1DQovLyBDb3JyZWN0bmVzczogNC41<br />
IG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMS4wIG1hcmsNCi8vIEVsZWdhbmNlOiAxLjUgbWFya3MN<br />
Ci8vIFRvdGFsOiA3DQpkZWYgbWFwW0EsIEJdKGFzOiBMaXN0W0FdLCBmOiBBID0+IEIpOiBMaXN0<br />
W0JdID0NCiAgICAgIExpc3QuZm9sZFJpZ2h0KGFzLCBFbXB0eSwgKChwOkEsIHE6TGlzdFtCXSkg<br />
PT4gQ29ucyhmKHApLCBxKSkpDQoNCi8vIEV4ZXJjaXNlIDUNCi8vIFJlbGF0aXZlIERpZmZpY3Vs<br />
dHk6IDUNCi8vIENvcnJlY3RuZXNzOiA0LjUgbWFya3MNCi8vIFBlcmZvcm1hbmNlOiAxLjUgbWFy<br />
a3MNCi8vIEVsZWdhbmNlOiAxIG1hcmsNCi8vIFRvdGFsOiA3DQpkZWYgZmlsdGVyW0FdKGFzOiBM<br />
aXN0W0FdLCBmOiBBID0+IEJvb2xlYW4pOiBMaXN0W0FdID0NCiAgICAgIExpc3QuZm9sZFJpZ2h0<br />
KGFzLCBFbXB0eSwgeyAodDpBLCB5Okxpc3RbQV0pID0+DQogICAgICAgIGlmIChmKHQpKSBDb25z<br />
KHQsIHkpDQogICAgICAgIGVsc2UgeQ0KICAgICAgfSkNCg0KLy8gRXhlcmNpc2UgNg0KLy8gUmVs<br />
YXRpdmUgRGlmZmljdWx0eTogNQ0KLy8gQ29ycmVjdG5lc3M6IDQuNSBtYXJrcw0KLy8gUGVyZm9y<br />
bWFuY2U6IDEuNSBtYXJrcw0KLy8gRWxlZ2FuY2U6IDEgbWFyaw0KLy8gVG90YWw6IDcNCmRlZiBh<br />
cHBlbmRbQV0oeDogTGlzdFtBXSwgeTogTGlzdFtBXSk6IExpc3RbQV0gPQ0KICAgICAgTGlzdC5m<br />
b2xkUmlnaHQoeCwgeSwgKChwOkEsIHE6TGlzdFtBXSkgPT4gQ29ucyhwLCBxKSkpDQoNCi8vIEV4<br />
ZXJjaXNlIDcNCi8vIFJlbGF0aXZlIERpZmZpY3VsdHk6IDUNCi8vIENvcnJlY3RuZXNzOiA0LjUg<br />
bWFya3MNCi8vIFBlcmZvcm1hbmNlOiAxLjUgbWFya3MNCi8vIEVsZWdhbmNlOiAxIG1hcmsNCi8v<br />
IFRvdGFsOiA3DQpkZWYgZmxhdHRlbltBXShhczogTGlzdFtMaXN0W0FdXSk6IExpc3RbQV0gPQ0K<br />
ICAgICAgTGlzdC5mb2xkUmlnaHQoYXMsIEVtcHR5LCAoKHA6TGlzdFtBXSwgcTpMaXN0W0FdKSA9<br />
PiBhcHBlbmQocCwgcSkpKQ0KDQovLyBFeGVyY2lzZSA4DQovLyBSZWxhdGl2ZSBEaWZmaWN1bHR5<br />
OiA3DQovLyBDb3JyZWN0bmVzczogNS4wIG1hcmtzDQovLyBQZXJmb3JtYW5jZTogMS41IG1hcmtz<br />
DQovLyBFbGVnYW5jZTogMS41IG1hcmsNCi8vIFRvdGFsOiA4DQpkZWYgZmxhdE1hcFtBLCBCXShh<br />
czogTGlzdFtBXSwgZjogQSA9PiBMaXN0W0JdKTogTGlzdFtCXSA9IGZsYXR0ZW4obWFwKGFzLCBm<br />
KSkNCg0KLy8gRXhlcmNpc2UgOQ0KLy8gUmVsYXRpdmUgRGlmZmljdWx0eTogOA0KLy8gQ29ycmVj<br />
dG5lc3M6IDMuNSBtYXJrcw0KLy8gUGVyZm9ybWFuY2U6IDMuMCBtYXJrcw0KLy8gRWxlZ2FuY2U6<br />
IDIuNSBtYXJrcw0KLy8gVG90YWw6IDkNCmRlZiBtYXhpbXVtKGlzOiBMaXN0W0ludF0pOiBJbnQg<br />
PSB7DQogICAgaXMgbWF0Y2ggew0KICAgICAgY2FzZSBFbXB0eSA9PiB0aHJvdyBuZXcgSWxsZWdh<br />
bEFyZ3VtZW50RXhjZXB0aW9uKCJDYW4ndCBjYWxjdWxhdGUgbWF4aW11bSBvZiBlbXB0eSBsaXN0<br />
LiIpDQogICAgICBjYXNlIF8gPT4gTGlzdC5yZWR1Y2VMZWZ0KGlzLCAoKGE6SW50LCBiOkludCkg<br />
PT4gaWYgKGEgPiBiKSBhIGVsc2UgYikpDQogICAgfQ0KICB9DQoNCi8vIEV4ZXJjaXNlIDEwDQov<br />
LyBSZWxhdGl2ZSBEaWZmaWN1bHR5OiAxMA0KLy8gQ29ycmVjdG5lc3M6IDUuMCBtYXJrcw0KLy8g<br />
UGVyZm9ybWFuY2U6IDIuNSBtYXJrcw0KLy8gRWxlZ2FuY2U6IDIuNSBtYXJrcw0KLy8gVG90YWw6<br />
IDEwDQpkZWYgcmV2ZXJzZVtBXShhczogTGlzdFtBXSk6IExpc3RbQV0gPQ0KICAgICAgTGlzdC5m<br />
b2xkTGVmdChhcywgRW1wdHksICgocmV2Okxpc3RbQV0sIHQ6QSkgPT4gQ29ucyh0LCByZXYpKSkN<br />
Cn0NCg==</p>
]]></content:encoded>
	</item>
</channel>
</rss>

