<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky8.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" version="2.0"><channel><atom:link href="http://feed.php.js.cn" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/longbill" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 01 Oct 2011 13:43:52 GMT</lastBuildDate><title>php.js.cn</title><description>刘春龙的博客</description><image><url>http://www.feedsky.com/feed/longbill/sc/gif</url><title>php.js.cn</title><link>http://php.js.cn/</link></image><link>http://php.js.cn/</link><language>zh_CN</language><pubDate>Mon, 12 Dec 2011 16:53:48 GMT</pubDate><item><title>电信ADSL宽带对路由器人为限速</title><link>http://php.js.cn/blog/dianxin-adsl-kuandai/</link><description>&lt;p&gt;
	&amp;#160; &amp;#160; 最近住朋友家，他们家是电信4M ADSL，然后接的TP-Link的路由器。白天上网都没问题，一到高峰期的时候就慢的要死，开始还以为是路由器的问题。后来换了个路由器，还是慢。。。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 今天对这个情况进行了仔细的分析。网速慢的情况只是连接路由器后才发生，如果用电脑直接连modem拨号，就正常。于是我在不用路由器的情况下，记录了到61.139.2.69的ping值，只有2ms。然后连上路由器，再次ping 61.139.2.69，时间增加到400多ms。 但是这个情况有可能是路由器那里卡了，于是我又ping了到电信网关，发现时间只有2ms。说明从我电脑经由路由器到电信网关的通路是正常的，没有特别大的延迟。那么问题就只能出在电信机房那边了。估计是发现我用路由器，故意丢包或者故意降低带宽。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 问题找到后，先打了10000号投诉。客服MM接到电话后，我先问电信是不是有不准用路由器的政策，回答没有。于是直接表明身份，我是专业人员，发现电信违规操作。于是客服MM没有跟我瞎扯，直接反应问题到后台了。现在就等明天电信的技术人员回复了。 &amp;#160;&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 如果通过10000号投诉的途径解决不了，我就到工信部投诉。以前投诉过一次，效果非常好。工信部投诉网址如下：http://www.chinatcc.gov.cn/html/mains/shensushl.html&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=569&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/dianxin-adsl-kuandai/&quot; target=&quot;_blank&quot;&gt;18条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/dianxin-adsl-kuandai/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433886/longbill/feedsky/s.gif?r=http://php.js.cn/blog/dianxin-adsl-kuandai/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Sat, 01 Oct 2011 21:43:52 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/dianxin-adsl-kuandai/</guid><fs:srclink>http://php.js.cn/blog/dianxin-adsl-kuandai/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433886/5519543</fs:itemid></item><item><title>我才知道的几个Javascript小知识点</title><link>http://php.js.cn/blog/javascript-slice-splice-substr-substring/</link><description>&lt;p&gt;
	&amp;#160; &amp;#160; 因为我学习Javascript的过程比较零散，没有仔细系统的看过。有些细节方面就被遗漏了。下面是我最近才搞清楚的几个函数。如果你此前就知道，那么恭喜你，你的JS比我好。如果也不清楚，那么也恭喜你，你看了此文就清楚了。&lt;/p&gt;
&lt;h3&gt;
	1. Array 的 &lt;a href=&quot;http://www.w3school.com.cn/js/jsref_slice_array.asp&quot; target=&quot;_blank&quot;&gt;slice&lt;/a&gt;方法&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; slice(start,end) &amp;#160; 此方法可从已有的数组中返回位于start和end之间的元素。并且不改变数组本身。start和end参数可以为负数，表示从后面开始数的第几个。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如： [1,2,3,4].slice(2,3) 返回[3] ，&amp;#160;[1,2,3,4].slice(2,-1) 也返回[3] 。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 另外，如果只写一个参数，那么第二个参数默认是数组的长度。也就是说 [1,2,3,4].slice(-2) 返回 [3,4]&lt;/p&gt;
&lt;h3&gt;
	2. Array 的 &lt;a href=&quot;http://www.w3school.com.cn/js/jsref_splice.asp&quot; target=&quot;_blank&quot;&gt;splice&lt;/a&gt; 方法&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; splice(start,length) 此方法返回现有数组的从start开始的length个元素。并且会改变数组本身。start参数可以为负数。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如： var a = [1,2,3,4]; a.splice(2,2) 返回[3,4] ，并且a变成了[1,2]&amp;#160;&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 另外，splice还支持第3,4,5...个参数，表示用后面的参数替换掉被删除的元素。&lt;/p&gt;
&lt;h3&gt;
	3. String 的 &lt;a href=&quot;http://www.w3school.com.cn/js/jsref_substr.asp&quot; target=&quot;_blank&quot;&gt;substr&lt;/a&gt; 方法&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; substr(start,length) 此方法返回字符串从start开始的length个字符。不改变字符串本身。start参数可以为负数。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如： &amp;quot;abcd&amp;quot;.substr(2,1) 返回 &amp;#39;c&amp;#39;，&amp;quot;abcd&amp;quot;.substr(-2) 返回 &amp;quot;cd&amp;quot;&lt;/p&gt;
&lt;h3&gt;
	4. String 的 &lt;a href=&quot;http://www.w3school.com.cn/js/jsref_substring.asp&quot; target=&quot;_blank&quot;&gt;substring&lt;/a&gt; 方法&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; substring(start,end) 此方法返回字符串的start到end之间的字符。不改变字符串本身。&lt;span style=&quot;color:#800000;&quot;&gt;start和end参数不能为负数！&lt;/span&gt;但是start可以比end小。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如：&amp;quot;abcd&amp;quot;,substring(1,3) 和 &amp;quot;abcd&amp;quot;.substring(3,1) 都返回 &amp;quot;bc&amp;quot;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center; &quot;&gt;
	表格对比&lt;/h2&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; style=&quot;width: 500px;margin:0 auto; &quot;&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;row&quot; style=&quot;text-align: center; &quot;&gt;
				&amp;#160;&lt;/th&gt;
			&lt;th scope=&quot;col&quot; style=&quot;text-align: center; &quot;&gt;
				参数&lt;/th&gt;
			&lt;th scope=&quot;col&quot; style=&quot;text-align: center; &quot;&gt;
				参数是否支持负数&lt;/th&gt;
			&lt;th scope=&quot;col&quot; style=&quot;text-align: center; &quot;&gt;
				是否改变对象本身&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;row&quot; style=&quot;text-align: center; &quot;&gt;
				&lt;a href=&quot;http://www.w3school.com.cn/js/jsref_slice_array.asp&quot; target=&quot;_blank&quot;&gt;Array.slice&lt;/a&gt;&lt;/th&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				(start,end)&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				Yes&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				No&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;row&quot; style=&quot;text-align: center; &quot;&gt;
				&lt;a href=&quot;http://www.w3school.com.cn/js/jsref_splice.asp&quot; target=&quot;_blank&quot;&gt;Array.splice&lt;/a&gt;&lt;/th&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				(start,length)&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				Yes&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				Yes&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;row&quot; style=&quot;text-align: center; &quot;&gt;
				&lt;a href=&quot;http://www.w3school.com.cn/js/jsref_substr.asp&quot; target=&quot;_blank&quot;&gt;String.substr&lt;/a&gt;&lt;/th&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				(start,length)&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				Yes&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				No&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;row&quot; style=&quot;text-align: center; &quot;&gt;
				&lt;a href=&quot;http://www.w3school.com.cn/js/jsref_substring.asp&quot; target=&quot;_blank&quot;&gt;String.substring&lt;/a&gt;&lt;/th&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				(start,end)&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				No&lt;/td&gt;
			&lt;td style=&quot;text-align: center; &quot;&gt;
				No&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 此外，删除对象的某个属性用delete 操作符。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如： var o = {&amp;quot;a&amp;quot;:1,&amp;quot;b&amp;quot;:2}; delete o.a; 那么o就变成 {&amp;quot;b&amp;quot;:2}&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 但是如果要删除数组的某个元素，就要用上面提到的splice方法了。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 例如： var a = [1,2,3,4]; delete a[1]; 那么a就变成[1,undefined,3,4]，并且a.length还是4。 必须要用a.splice(1,1)。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 还有Array.pop, Array.shift, Array.push, Array.unshift等常用方法就不说了。&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=541&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/javascript-slice-splice-substr-substring/&quot; target=&quot;_blank&quot;&gt;9条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/javascript-slice-splice-substr-substring/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433887/longbill/feedsky/s.gif?r=http://php.js.cn/blog/javascript-slice-splice-substr-substring/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 02 Sep 2011 01:49:23 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/javascript-slice-splice-substr-substring/</guid><fs:srclink>http://php.js.cn/blog/javascript-slice-splice-substr-substring/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433887/5519543</fs:itemid></item><item><title>Elance新手入门</title><link>http://php.js.cn/blog/elance-freelancer-abc/</link><description>&lt;p&gt;
	&amp;#160; &amp;#160; Elance是全球最大的外包网站。给我的印象是门槛高，服务好，项目多，项目质量好。比起国内的猪八戒之类的网站好不知多少倍。如果你是程序员、翻译、设计师等，同时英文又好，那一定要到Elance上来接项目，这样才能充分体现你的优势嘛。因为Elance是个国际平台，上面的价格是国际价格，换算成人民币怎么都划算啊。&lt;/p&gt;
&lt;h3&gt;
	注册&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; Elance的注册是需要验证电话号码的。注册完了之后，Elance的机器人会打电话过来，叫你把网页上的数字用英文念出来。通过验证之后就算注册成功了。可以开始接项目了。PS. 因为Elance涉及到钱，所以对帐号保护比较严，一定要记得你的密保答案啊，因为下次你换个地方登陆，它就会让你输入答案了。。。&lt;/p&gt;
&lt;h3&gt;
	包装自己&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 新手要顺利接到项目比较难，因为没有历史项目经历和别人给的评分。所以要靠自己profile上的自我简介，profilio和skill tests等来打动客户了。其中比较特别的是skill tests。Elance使用了第三方测试平台来衡量测试者的各种技能。在Elance网站上选择想要测试的技能，比如PHP5 Code Test，然后会进入一个第三方测试网站。一般选择类题目是40题，时间是40分钟。PHP5 Code Test属于代码实践题，需要测试者根据题目提供一段PHP程序，然后后台执行这段程序看看是否正确。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 测试的结果是按你在测试者中占的百分比来的，而且貌似只有top 1%,5%,10%,20%,30%（上次我做了个JS测试的top 2%，结果给我显示5%，冤屈啊。。。），其他的就用图形来显示你的测试成绩和平均测试成绩。免费会员可以选择5个测试成绩显示在自己的profile上。如果升级成付费会员则可以显示更多的成绩。如果某个测试你觉得不满意，没关系，14天之后可以再次做这个测试（题目大部分都一样的哦）。这些成绩是很有说服力的。比如你刚注册，但是在Javascript测试中获得了top 5%的成绩，那么你在投标的时候就可以说 &amp;ldquo;我刚来Elance，但是我在前端方面有 X年的经验，不信你去看我的profile，我在Javascript测试中排前5%哦。&amp;rdquo;。然后报价再稍微比别人低一点，获得项目的机会就会大很多。&lt;/p&gt;
&lt;h3&gt;
	项目流程&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; Elance的项目主要分为固定价格的项目和按小时计费的项目。先说说fixed price project。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 首先在网站上搜索自己感兴趣又力所能及的项目。&amp;#160;然后就是投标了。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 投一个$500以下的项目需要1个Connect（Elance上的一种点数吧），$500-$1000的项目需要2个Connect ... $2000以上的貌似都是5个Connect。而且这个点数是不退的，也就是说对方发个项目，你去投，然后对方没选中你，甚至对方把项目关了，你都会一样损失这些点数。免费会员每月是10个点。我是每月$10的付费会员，每月有20点。这种点数的规则就限制了像猪八戒上那些胡乱杀价的人，所以Elance上看到的基本上都是正儿八经的人报的合理价格。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 然后投标内容一般用正式的英文书信格式，例如：&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
		Hi Alex,&lt;/p&gt;
	&lt;p&gt;
		I am very interested in your project. I ....&lt;/p&gt;
	&lt;p&gt;
		Regards,&lt;br /&gt;
		Chunlong&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 而且内容一定要根据对方的项目需求来写。切记写一个模板到处去投标。比如对方想做个图片编辑器，你就应该说你以前做过类似的东西，然后把demo地址贴上去。这样对方会很感兴趣的。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 这段时间有可能对方会跟你来回通信几次，一旦他确定给你做，就会把项目award给你，然后你在elance后台就会看到这个项目，里面有各种设置和功能。一般项目award给你之后，对方就会把项目款打到Elance，如果没打，你可以等对方打了钱再开始做。这种第三方担保类似支付宝，需要双方同意钱才能转移。此时，你就可以跟对方交流任何内容，比如Skype帐号（上面的人大部分都用Skype，因为必要时候可以视频通话）。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 项目后台最常用的是message功能，可以收发消息，还可以带附件，每个消息还会forward到你的邮箱，甚至你可以用邮箱直接回复。另外还有一个是status reports，项目开始后记得用这个来向对方报告项目进度。Terms &amp;amp; Milestones是一个必须双方都同意的协议，里面涉及到项目的里程碑（可以在里程碑上协定支付部分项目款），项目截止日期，项目总价等。每个修改都需要双方同意之后才会生效。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 当项目结束后，如果对方确认了你的成果。那么就可以把status reports里面设置为completed。并且提醒对方放款。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 对于按小时付费的项目，大部分流程都是一样的。但是投标的时候的金额是每小时多少钱而不是项目总共多少钱。然后开始做之后，需要你下载一个Elance的Tracker软件（是一个Adobe AIR软件）。这个软件可以记录你的项目时间和屏幕截图。开始做项目的时候，进这个软件点击开始。然后就老老实实做这个项目，因为这个软件会不定期截屏上传的！万一被看到你在玩，那是有损声誉的事情啊。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 项目做完了就是提款，具体可以看我的《&lt;a href=&quot;http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/&quot; target=&quot;_blank&quot;&gt;从Elance提现到国内银行的完美方法&lt;/a&gt;》&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=516&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/elance-freelancer-abc/&quot; target=&quot;_blank&quot;&gt;10条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/elance-freelancer-abc/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433888/longbill/feedsky/s.gif?r=http://php.js.cn/blog/elance-freelancer-abc/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 14 Jul 2011 13:33:34 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/elance-freelancer-abc/</guid><fs:srclink>http://php.js.cn/blog/elance-freelancer-abc/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433888/5519543</fs:itemid></item><item><title>如何提高NodeJS程序的稳定性</title><link>http://php.js.cn/blog/nodejs-error-handling/</link><description>&lt;p&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;&amp;#160; &amp;#160;当我们写了个NodeJS程序的时候，一般用node yourjsfile.js命令启动该程序。但是如果程序中有东西出错，这个进程就会退出。我们写程序不可能保证万无一失，肯定有些没有处理的错误，这就让很多人觉得NodeJS不稳定，容易产生很多故障。 下面我就讲讲几种方法增加你的NodeJS程序的稳定性。&lt;br /&gt;
	&lt;br /&gt;
	&amp;#160; &amp;#160;1.使用 try{...} catch(error){...} 来执行容易出错的代码段。比如解析一个外来的json字符串等。&lt;br /&gt;
	&amp;#160; &amp;#160;2.使用 process.on(&amp;#39;uncaughtException&amp;#39;, function(err){...}); 来处理未被捕捉的错误。&lt;br /&gt;
	&amp;#160; &amp;#160;3.试用奶妈进程来启动你的程序，检测子进程的退出，然后自动重启该进程。比如 mother.js ：&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial; font-size: small; color: rgb(0, 0, 0); &quot;&gt;&lt;br /&gt;
	&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
	&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial; font-size: small; color: rgb(0, 0, 0); &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: '[object HTMLOptionElement]', 'Courier New', monospace, Monaco; font-size: 14px; &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&lt;br /&gt;
	&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px; &quot;&gt;
	&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial; font-size: small; color: rgb(0, 0, 0); &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: '[object HTMLOptionElement]', 'Courier New', monospace, Monaco; font-size: 14px; &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;start&lt;/span&gt;();&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;start&lt;/span&gt;()&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;Mother process is running.&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;ls&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;require&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;child_process&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;spawn&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;node&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;yourjsfile.js&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]);&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;stdout&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;toString&lt;/span&gt;());&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;stderr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;toString&lt;/span&gt;());&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;exit&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;code&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;child process exited with code &amp;#39;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;code&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;delete&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;ls&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;setTimeout&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;5000&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
	&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial; font-size: small; color: rgb(0, 0, 0); &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: '[object HTMLOptionElement]', 'Courier New', monospace, Monaco; font-size: 14px; &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&lt;br /&gt;
	&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;#160; &amp;#160; 4.使用 nohup 让nodejs进程在后台运行。 比如运行&amp;quot;nohup node yourjsfile.js &amp;gt; /dev/null &amp;amp;&amp;quot;&lt;/div&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=475&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/nodejs-error-handling/&quot; target=&quot;_blank&quot;&gt;15条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/nodejs-error-handling/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433889/longbill/feedsky/s.gif?r=http://php.js.cn/blog/nodejs-error-handling/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Mon, 16 May 2011 14:49:49 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/nodejs-error-handling/</guid><fs:srclink>http://php.js.cn/blog/nodejs-error-handling/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433889/5519543</fs:itemid></item><item><title>NodeJS实现HTTP/HTTPS代理</title><link>http://php.js.cn/blog/nodejs-http-https-proxy/</link><description>&lt;p&gt;
	&amp;#160; &amp;#160; 身在天朝，难免会用到代理的时候。 比如在学校内网用代理免费上外网，在墙内用代理上404网站等。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 现在使用的代理大部分为HTTP和Socket代理。 Socket代理更底层，需要本地解析域名，而HTTP代理则是基于HTTP协议之上的，不需要本地解析域名。下面我讲讲HTTP(S)代理的设计思路以及NodeJS代码实现。&lt;/p&gt;
&lt;h3&gt;
	&lt;strong&gt;HTTP协议&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; HTTP协议简单说来就是浏览器把一串字符串发送到目标服务器，然后把目标服务器返回回来的一串字符串显示给用户。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 浏览器发送的这串字符主要分为两个部分，一部分是头，里面包含目标服务器域名，当前请求的文件路径等信息。另一部分是正文，一般的GET请求没有正文。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 服务器返回来的字符串也分为头和正文。&lt;/p&gt;
&lt;h3&gt;
	&lt;strong&gt;HTTP代理原理&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; HTTP代理需要做的事情就是接收浏览器发来的请求字符串，再从请求字符串的头部分找出浏览器请求的目标主机，然后直接把这串请求字符串发给目标主机，再把目标主机返回的数据发给浏览器。 &amp;ldquo;什么？就这么简单？&amp;rdquo; &amp;ldquo;呃。。是啊，但这还没完。。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 现代浏览器一般都是默认采用HTTP/1.1版本，并且默认会发送Connection: keep-alive请求。 这些信息是写在请求的头部的，意思是通知目标服务器采用keep-alive技术继续处理后续的请求。 但是我们做的代理程序要想支持keep-alive是比较麻烦的。所以干脆就把这个篡改成Connection: close。 这样就可以保证浏览器请求的每个文件都会单独发送一个HTTP请求。&lt;/p&gt;
&lt;h3&gt;
	下面是NodeJS代码实现&lt;/h3&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: '[object HTMLOptionElement]', 'Courier New', monospace, Monaco; font-size: 14px; color: rgb(0, 0, 0); &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;net&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;require&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;net&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;local_port&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;8893&lt;/span&gt;;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//在本地创建一个server监听本地local_port端口&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;net&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;createServer&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;)&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//首先监听浏览器的数据发送事件，直到收到的数据包含完整的http请求头&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;Buffer&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_add&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_find_body&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;)&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;)&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;parse_request&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;===&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;false&lt;/span&gt;)&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;removeAllListeners&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;data&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;relay_connection&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//从http请求头部取得请求信息后，继续监听浏览器发送数据，同时连接目标服务器，并把目标服务器的数据传给浏览器&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;relay_connection&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;port&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//如果请求不是CONNECT方法（GET, POST），那么替换掉头部的一些东西&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;!=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;CONNECT&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//先从buffer中取出头部&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_body_pos&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_find_body&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_body_pos&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;lt;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;)&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_body_pos&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;length&lt;/span&gt;;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;slice&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_body_pos&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;toString&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//替换connection头&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/(proxy\-)?connection\:.+\r\n/ig&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/Keep\-Alive\:.+\r\n/i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;quot;\r\n&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;\r\nConnection: close\r\n&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//替换网址格式(去掉域名部分)&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;httpVersion&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;1.1&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;url&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/http\:\/\/[^\/]+/&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;path&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;!=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;url&lt;/span&gt;)&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;url&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_add&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;Buffer&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;),&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;slice&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_body_pos&lt;/span&gt;));&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//建立到目标服务器的连接&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;server&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;net&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;createConnection&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;port&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//交换服务器与浏览器的数据&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;quot;data&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;){&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;write&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;);&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;quot;data&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;){&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;write&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;data&lt;/span&gt;);&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;req&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;CONNECT&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;client&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;write&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;Buffer&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;quot;HTTP/1.1 200 Connection established\r\nConnection: close\r\n\r\n&amp;quot;&lt;/span&gt;));&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;else&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;write&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}).&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;listen&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;local_port&lt;/span&gt;);&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;Proxy server running at localhost:&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;local_port&lt;/span&gt;);&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;//处理各种错误&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;process&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;on&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;uncaughtException&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;err&lt;/span&gt;)&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;quot;\nError!!!!&amp;quot;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;err&lt;/span&gt;);&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;});&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;/**&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;* 从请求头部取得请求详细信息&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;* 如果是 CONNECT 方法，那么会返回 { method,host,port,httpVersion}&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;* 如果是 GET/POST 方法，那么返回 { metod,host,port,path,httpVersion}&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;*/&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;parse_request&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;)&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;s&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;toString&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;s&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;split&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;\n&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;match&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/^([A-Z]+)\s/&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;];&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;CONNECT&amp;#39;&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;s&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;match&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/^([A-Z]+)\s([^\:\s]+)\:(\d+)\sHTTP\/(\d\.\d)/&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;])&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;port&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;httpVersion&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;};&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;else&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;s&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;match&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/^([A-Z]+)\s([^\s]+)\sHTTP\/(\d\.\d)/&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;])&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;s&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;match&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;/Host\:\s+([^\n\s\r]+)/&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;];&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_p&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;split&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;host&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_p&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;port&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_p&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;_p&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;80&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;],&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;httpVersion&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;};&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;false&lt;/span&gt;;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;/**&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;* 两个buffer对象加起来&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;*/&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_add&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf2&lt;/span&gt;)&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;re&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;new&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;Buffer&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;length&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;length&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;copy&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;re&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;copy&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;re&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buf1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;length&lt;/span&gt;);&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;re&lt;/span&gt;;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;/**&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;* 从缓存中找到头部结束标记(&amp;quot;\r\n\r\n&amp;quot;)的位置&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 136, 0); font-style: italic; &quot;&gt;*/&lt;/span&gt;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;function&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;buffer_find_body&lt;/span&gt;(b)&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;var&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;=&lt;/span&gt;b&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;len&lt;/span&gt;;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;++&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;if&lt;/span&gt;&amp;#160;(b&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0x0d&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;b&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0x0a&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;b&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0x0d&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;#160;b&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;]&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;==&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;0x0a&lt;/span&gt;)&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;{&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;4&lt;/span&gt;;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;br /&gt;
	&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 128); font-weight: bold; &quot;&gt;return&lt;/span&gt;&amp;#160;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;1&lt;/span&gt;;&lt;br /&gt;
	&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	另外，可以用 &amp;quot;nohup node some.js &amp;gt; /dev/null &amp;amp;&amp;quot; 命令让nodejs程序在后台运行。&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=459&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/nodejs-http-https-proxy/&quot; target=&quot;_blank&quot;&gt;5条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/nodejs-http-https-proxy/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433890/longbill/feedsky/s.gif?r=http://php.js.cn/blog/nodejs-http-https-proxy/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 06 May 2011 15:45:47 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/nodejs-http-https-proxy/</guid><fs:srclink>http://php.js.cn/blog/nodejs-http-https-proxy/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433890/5519543</fs:itemid></item><item><title>从Elance提现到国内银行的完美方法</title><link>http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/</link><description>&lt;p&gt;
	&amp;#160; &amp;#160; 我开始做自由职业已经有一个月左右了。主要是在elance.com上接项目。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; 第一个项目做的是用jQuery做一个图片裁剪的功能，包括图片上传进度显示，两个比例的图片裁剪框。这个项目是100刀，elance扣了8.75刀的中介费，到手91.25刀。这个比例还是可以接受的。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; &amp;#160;第二个项目是用nodejs做一个gtalk聊天机器人、一个facebook chat聊天机器人、一个msn聊天机器人。每个机器人200刀。在5天内搞完另外给400刀的bonus。结果我顺利在规定时间搞完，拿了1000刀。哈哈哈。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; &amp;#160;钱到了Elance帐户上，怎么变成能够提现的人民币是个麻烦事情。我搜了网上很多文章，都说只有用moneybookers的服务最便宜。 于是我又搞了个moneybookers帐户。 那天突然发现如果成为elance的付费会员（最便宜的付费会员$10/月），就可以享受每月一次的免费电汇(wire transfer)，超出一次以后貌似每笔要给&lt;strike&gt;25刀&lt;/strike&gt;&lt;span style=&quot;color:#008080;&quot;&gt;5刀&lt;/span&gt;手续费。于是就搞了个付费会员玩玩，不仅可以享受免费电汇，还有更多的点数和其他东西可以享受。那天试探提了200刀到我的中国银行活期一本通上，用的swiftcode是BKCHCNBJ570。过了大概4天，发现卡上真的有200美元，一分中间行费用都没扣。太TM爽了，这绝对是最便宜的提现途径，虽然每月只有一次机会。&lt;/p&gt;
&lt;p&gt;
	&amp;#160; &amp;#160; &amp;#160;下一步就是去银行结汇，把美元转成人民币，这个步骤不知道要不要收手续费。&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=456&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/&quot; target=&quot;_blank&quot;&gt;10条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433891/longbill/feedsky/s.gif?r=http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 04 May 2011 01:14:41 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/</guid><fs:srclink>http://php.js.cn/blog/elance-tixian-meiyuan-renminbi/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433891/5519543</fs:itemid></item><item><title>Mac OS 上的各种ipv6配置命令</title><link>http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/</link><description>&lt;p&gt;
	&lt;style&gt;
pre.code
{
  background-color:#aaa;
 color:#000;
border:1px solid #666;
margin:0;
}
&lt;/style&gt;&lt;/p&gt;
&lt;p&gt;
	IPv6 在Mac OS上是默认开启的。也可以用下面的命令手动开启或者关闭ipv6支持：&lt;/p&gt;
&lt;p&gt;
	在所有网卡上开启ipv6:&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip6 -a&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	关闭ipv6:&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip6 -x&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	要打开router advertisements (RAs)可以用下面的命令：&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sysctl -w net.inet6.ip6.accept_rtadv=1&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	关闭RAs的话，将上面的命令最后的数字改成0即可。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	私有地址默认没有开启，可以用下面的命令开启：&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sysctl net.inet6.ip6.use_tempaddr=1&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;h2&gt;
	在Mac OS上开启ISATAP隧道支持：&lt;/h2&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	1、下载ISATAP client for Mac OS X&lt;/p&gt;
&lt;p&gt;
	地址：http://www.momose.org/macosx/isatap.html&lt;/p&gt;
&lt;p&gt;
	2、解压ISATAP client&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /usr/local
sudo tar xfz ~/Downloads/macosx-isatap-*.tar.gz&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	3、更改权限&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo chown -R root:wheel /usr/local/isatap
sudo chmod -R 644 /usr/local/isatap/isatap.kext&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	4、配置ISATAP&lt;/p&gt;
&lt;p&gt;
	4.1 配置ist0和得到IPv4地址（你需要制定现在使用的网卡，比如en0）&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ./config-ist.sh en0&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	4.2 指定ISATAP router (111.111.111.111更换为你当地的ISATAP服务器地址)&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ./ifconfig ist0 isataprtr 111.111.111.111
sudo ./rtsold.sh &amp;amp;&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	4.3 设置路由表&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo route delete -inet6 default&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	注：在执行上面命令之前可以用netstat -r查看ipv6路由表上是否有default这一项，没有则不用执行上面命令&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo route add -inet6 default -interface ist0&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	4.4 启动IPv6&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ifconfig ist0 up&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	5、关闭IPv6&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ifconfig ist0 down&lt;/pre&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	这样ISATAP就配置好了。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	我的例子：&lt;/p&gt;
&lt;p&gt;
	我在电子科技大学清水河校区，我们学校采用802.1X拨号上网。 我在拨号可以上网的前提下配置了RAs支持，即可正常上ipv6网站。 另外，我也可以通过配置ISATAP，使用隧道连接上ipv6。&lt;/p&gt;
&lt;p&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=418&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/&quot; target=&quot;_blank&quot;&gt;3条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433892/longbill/feedsky/s.gif?r=http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Mon, 11 Apr 2011 11:55:50 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/</guid><fs:srclink>http://php.js.cn/blog/mac-os-ipv6-jiaoyuwang/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433892/5519543</fs:itemid></item><item><title>还可以注册的3个字母的.ca域名</title><link>http://php.js.cn/blog/dot-ca-domain/</link><description>&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;最近想注册个短一点的域名，搜了一下，发现.ca的域名还有很多3个字母的没有被注册。于是搞了个脚本统计了一下所有的3个字母的.ca域名。更新时间是2011年3月9号。以下是列表，总共&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; &quot;&gt;3353个。&lt;/span&gt;有需要的同学可以找自己喜欢的注册。 推荐在godaddy注册，好处不用多说。&lt;/p&gt;
&lt;p&gt;
	&lt;meta content=&quot;text/html; charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot; /&gt; &lt;meta content=&quot;text/css&quot; http-equiv=&quot;Content-Style-Type&quot; /&gt; &lt;title&gt;&lt;/title&gt; &lt;meta content=&quot;Cocoa HTML Writer&quot; name=&quot;Generator&quot; /&gt; &lt;meta content=&quot;1038.35&quot; name=&quot;CocoaVersion&quot; /&gt; &lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco}
&lt;/style&gt;&lt;/p&gt;
&lt;p&gt;
	agz.ca&lt;br /&gt;
	ajz.ca&lt;br /&gt;
	akz.ca&lt;br /&gt;
	awx.ca&lt;br /&gt;
	axb.ca&lt;br /&gt;
	axc.ca&lt;br /&gt;
	axd.ca&lt;br /&gt;
	axm.ca&lt;br /&gt;
	axq.ca&lt;br /&gt;
	axv.ca&lt;br /&gt;
	ayq.ca&lt;br /&gt;
	ayv.ca&lt;br /&gt;
	ayw.ca&lt;br /&gt;
	&lt;!--more--&gt;ayx.ca&lt;br /&gt;
	ayz.ca&lt;br /&gt;
	azf.ca&lt;br /&gt;
	azj.ca&lt;br /&gt;
	azk.ca&lt;br /&gt;
	azm.ca&lt;br /&gt;
	azq.ca&lt;br /&gt;
	azr.ca&lt;br /&gt;
	azv.ca&lt;br /&gt;
	azw.ca&lt;br /&gt;
	bfq.ca&lt;br /&gt;
	bfz.ca&lt;br /&gt;
	bgq.ca&lt;br /&gt;
	bgx.ca&lt;br /&gt;
	bgz.ca&lt;br /&gt;
	bhx.ca&lt;br /&gt;
	bhz.ca&lt;br /&gt;
	bjq.ca&lt;br /&gt;
	bjx.ca&lt;br /&gt;
	bjy.ca&lt;br /&gt;
	bjz.ca&lt;br /&gt;
	bkq.ca&lt;br /&gt;
	bkx.ca&lt;br /&gt;
	bkz.ca&lt;br /&gt;
	bpq.ca&lt;br /&gt;
	bpx.ca&lt;br /&gt;
	bpz.ca&lt;br /&gt;
	bqb.ca&lt;br /&gt;
	bqd.ca&lt;br /&gt;
	bqe.ca&lt;br /&gt;
	bqf.ca&lt;br /&gt;
	bqg.ca&lt;br /&gt;
	bqj.ca&lt;br /&gt;
	bqk.ca&lt;br /&gt;
	bql.ca&lt;br /&gt;
	bqn.ca&lt;br /&gt;
	bqo.ca&lt;br /&gt;
	bqp.ca&lt;br /&gt;
	bqq.ca&lt;br /&gt;
	bqu.ca&lt;br /&gt;
	bqv.ca&lt;br /&gt;
	bqw.ca&lt;br /&gt;
	bqy.ca&lt;br /&gt;
	bqz.ca&lt;br /&gt;
	brq.ca&lt;br /&gt;
	bsz.ca&lt;br /&gt;
	btq.ca&lt;br /&gt;
	buq.ca&lt;br /&gt;
	bvq.ca&lt;br /&gt;
	bvz.ca&lt;br /&gt;
	bwq.ca&lt;br /&gt;
	bxa.ca&lt;br /&gt;
	bxf.ca&lt;br /&gt;
	bxg.ca&lt;br /&gt;
	bxh.ca&lt;br /&gt;
	bxj.ca&lt;br /&gt;
	bxk.ca&lt;br /&gt;
	bxl.ca&lt;br /&gt;
	bxo.ca&lt;br /&gt;
	bxq.ca&lt;br /&gt;
	bxr.ca&lt;br /&gt;
	bxs.ca&lt;br /&gt;
	bxt.ca&lt;br /&gt;
	bxu.ca&lt;br /&gt;
	bxv.ca&lt;br /&gt;
	bxw.ca&lt;br /&gt;
	bxx.ca&lt;br /&gt;
	bxz.ca&lt;br /&gt;
	byj.ca&lt;br /&gt;
	byq.ca&lt;br /&gt;
	byx.ca&lt;br /&gt;
	bzd.ca&lt;br /&gt;
	bzf.ca&lt;br /&gt;
	bzg.ca&lt;br /&gt;
	bzj.ca&lt;br /&gt;
	bzk.ca&lt;br /&gt;
	bzm.ca&lt;br /&gt;
	bzq.ca&lt;br /&gt;
	bzr.ca&lt;br /&gt;
	bzs.ca&lt;br /&gt;
	bzt.ca&lt;br /&gt;
	bzu.ca&lt;br /&gt;
	chz.ca&lt;br /&gt;
	cjx.ca&lt;br /&gt;
	cjz.ca&lt;br /&gt;
	ckz.ca&lt;br /&gt;
	cqw.ca&lt;br /&gt;
	cqz.ca&lt;br /&gt;
	cvy.ca&lt;br /&gt;
	cwq.ca&lt;br /&gt;
	cwz.ca&lt;br /&gt;
	cxf.ca&lt;br /&gt;
	cxg.ca&lt;br /&gt;
	cxj.ca&lt;br /&gt;
	cxk.ca&lt;br /&gt;
	cxr.ca&lt;br /&gt;
	cxv.ca&lt;br /&gt;
	cxw.ca&lt;br /&gt;
	cyq.ca&lt;br /&gt;
	cyx.ca&lt;br /&gt;
	cyz.ca&lt;br /&gt;
	czb.ca&lt;br /&gt;
	czd.ca&lt;br /&gt;
	czh.ca&lt;br /&gt;
	czi.ca&lt;br /&gt;
	czj.ca&lt;br /&gt;
	czk.ca&lt;br /&gt;
	czm.ca&lt;br /&gt;
	czn.ca&lt;br /&gt;
	czp.ca&lt;br /&gt;
	czq.ca&lt;br /&gt;
	czr.ca&lt;br /&gt;
	czs.ca&lt;br /&gt;
	czt.ca&lt;br /&gt;
	czu.ca&lt;br /&gt;
	czv.ca&lt;br /&gt;
	czw.ca&lt;br /&gt;
	czx.ca&lt;br /&gt;
	ddz.ca&lt;br /&gt;
	dfq.ca&lt;br /&gt;
	dfz.ca&lt;br /&gt;
	dgq.ca&lt;br /&gt;
	dgz.ca&lt;br /&gt;
	djz.ca&lt;br /&gt;
	dkq.ca&lt;br /&gt;
	dkx.ca&lt;br /&gt;
	dkz.ca&lt;br /&gt;
	dmq.ca&lt;br /&gt;
	dpq.ca&lt;br /&gt;
	dpz.ca&lt;br /&gt;
	dqb.ca&lt;br /&gt;
	dqd.ca&lt;br /&gt;
	dqe.ca&lt;br /&gt;
	dqf.ca&lt;br /&gt;
	dqg.ca&lt;br /&gt;
	dqj.ca&lt;br /&gt;
	dqk.ca&lt;br /&gt;
	dql.ca&lt;br /&gt;
	dqn.ca&lt;br /&gt;
	dqo.ca&lt;br /&gt;
	dqp.ca&lt;br /&gt;
	dqq.ca&lt;br /&gt;
	dqr.ca&lt;br /&gt;
	dqt.ca&lt;br /&gt;
	dqu.ca&lt;br /&gt;
	dqv.ca&lt;br /&gt;
	dqx.ca&lt;br /&gt;
	dqy.ca&lt;br /&gt;
	dsz.ca&lt;br /&gt;
	dvy.ca&lt;br /&gt;
	dvz.ca&lt;br /&gt;
	dwq.ca&lt;br /&gt;
	dwz.ca&lt;br /&gt;
	dxj.ca&lt;br /&gt;
	dxk.ca&lt;br /&gt;
	dxo.ca&lt;br /&gt;
	dxq.ca&lt;br /&gt;
	dxr.ca&lt;br /&gt;
	dxv.ca&lt;br /&gt;
	dxx.ca&lt;br /&gt;
	dxy.ca&lt;br /&gt;
	dxz.ca&lt;br /&gt;
	dyj.ca&lt;br /&gt;
	dyq.ca&lt;br /&gt;
	dyu.ca&lt;br /&gt;
	dyv.ca&lt;br /&gt;
	dyx.ca&lt;br /&gt;
	dzb.ca&lt;br /&gt;
	dzc.ca&lt;br /&gt;
	dze.ca&lt;br /&gt;
	dzf.ca&lt;br /&gt;
	dzg.ca&lt;br /&gt;
	dzj.ca&lt;br /&gt;
	dzk.ca&lt;br /&gt;
	dzl.ca&lt;br /&gt;
	dzm.ca&lt;br /&gt;
	dzo.ca&lt;br /&gt;
	dzq.ca&lt;br /&gt;
	dzr.ca&lt;br /&gt;
	dzs.ca&lt;br /&gt;
	dzt.ca&lt;br /&gt;
	dzu.ca&lt;br /&gt;
	dzw.ca&lt;br /&gt;
	dzx.ca&lt;br /&gt;
	dzz.ca&lt;br /&gt;
	ecz.ca&lt;br /&gt;
	efq.ca&lt;br /&gt;
	efz.ca&lt;br /&gt;
	egz.ca&lt;br /&gt;
	ehx.ca&lt;br /&gt;
	eiz.ca&lt;br /&gt;
	ejq.ca&lt;br /&gt;
	ejx.ca&lt;br /&gt;
	ejy.ca&lt;br /&gt;
	ejz.ca&lt;br /&gt;
	ekx.ca&lt;br /&gt;
	elq.ca&lt;br /&gt;
	eoq.ca&lt;br /&gt;
	eoz.ca&lt;br /&gt;
	epz.ca&lt;br /&gt;
	eqf.ca&lt;br /&gt;
	eqg.ca&lt;br /&gt;
	eqh.ca&lt;br /&gt;
	eqj.ca&lt;br /&gt;
	eqk.ca&lt;br /&gt;
	eqn.ca&lt;br /&gt;
	eqp.ca&lt;br /&gt;
	eqq.ca&lt;br /&gt;
	eqr.ca&lt;br /&gt;
	eqt.ca&lt;br /&gt;
	equ.ca&lt;br /&gt;
	eqw.ca&lt;br /&gt;
	eqx.ca&lt;br /&gt;
	eqy.ca&lt;br /&gt;
	eqz.ca&lt;br /&gt;
	esz.ca&lt;br /&gt;
	etq.ca&lt;br /&gt;
	etz.ca&lt;br /&gt;
	euq.ca&lt;br /&gt;
	euz.ca&lt;br /&gt;
	evj.ca&lt;br /&gt;
	evx.ca&lt;br /&gt;
	ewy.ca&lt;br /&gt;
	ewz.ca&lt;br /&gt;
	exf.ca&lt;br /&gt;
	exj.ca&lt;br /&gt;
	exk.ca&lt;br /&gt;
	exv.ca&lt;br /&gt;
	exw.ca&lt;br /&gt;
	exz.ca&lt;br /&gt;
	eyj.ca&lt;br /&gt;
	eyq.ca&lt;br /&gt;
	eyv.ca&lt;br /&gt;
	eyx.ca&lt;br /&gt;
	eyy.ca&lt;br /&gt;
	ezf.ca&lt;br /&gt;
	ezh.ca&lt;br /&gt;
	ezj.ca&lt;br /&gt;
	ezk.ca&lt;br /&gt;
	ezq.ca&lt;br /&gt;
	ezv.ca&lt;br /&gt;
	ezx.ca&lt;br /&gt;
	fbz.ca&lt;br /&gt;
	fcz.ca&lt;br /&gt;
	fdz.ca&lt;br /&gt;
	fgx.ca&lt;br /&gt;
	fgz.ca&lt;br /&gt;
	fhx.ca&lt;br /&gt;
	fhz.ca&lt;br /&gt;
	fjy.ca&lt;br /&gt;
	fjz.ca&lt;br /&gt;
	fkq.ca&lt;br /&gt;
	fkx.ca&lt;br /&gt;
	flz.ca&lt;br /&gt;
	fnz.ca&lt;br /&gt;
	fpy.ca&lt;br /&gt;
	fpz.ca&lt;br /&gt;
	fqh.ca&lt;br /&gt;
	fqj.ca&lt;br /&gt;
	fqo.ca&lt;br /&gt;
	fqw.ca&lt;br /&gt;
	fqx.ca&lt;br /&gt;
	fqy.ca&lt;br /&gt;
	fqz.ca&lt;br /&gt;
	fsz.ca&lt;br /&gt;
	fuj.ca&lt;br /&gt;
	fvh.ca&lt;br /&gt;
	fvk.ca&lt;br /&gt;
	fvw.ca&lt;br /&gt;
	fvx.ca&lt;br /&gt;
	fvy.ca&lt;br /&gt;
	fvz.ca&lt;br /&gt;
	fwq.ca&lt;br /&gt;
	fwv.ca&lt;br /&gt;
	fwx.ca&lt;br /&gt;
	fwz.ca&lt;br /&gt;
	fxa.ca&lt;br /&gt;
	fxb.ca&lt;br /&gt;
	fxh.ca&lt;br /&gt;
	fxj.ca&lt;br /&gt;
	fxk.ca&lt;br /&gt;
	fxm.ca&lt;br /&gt;
	fxo.ca&lt;br /&gt;
	fxq.ca&lt;br /&gt;
	fxw.ca&lt;br /&gt;
	fxx.ca&lt;br /&gt;
	fxy.ca&lt;br /&gt;
	fxz.ca&lt;br /&gt;
	fyj.ca&lt;br /&gt;
	fyq.ca&lt;br /&gt;
	fyw.ca&lt;br /&gt;
	fyx.ca&lt;br /&gt;
	fyy.ca&lt;br /&gt;
	fyz.ca&lt;br /&gt;
	fza.ca&lt;br /&gt;
	fzc.ca&lt;br /&gt;
	fzd.ca&lt;br /&gt;
	fze.ca&lt;br /&gt;
	fzf.ca&lt;br /&gt;
	fzg.ca&lt;br /&gt;
	fzh.ca&lt;br /&gt;
	fzi.ca&lt;br /&gt;
	fzj.ca&lt;br /&gt;
	fzk.ca&lt;br /&gt;
	fzl.ca&lt;br /&gt;
	fzm.ca&lt;br /&gt;
	fzn.ca&lt;br /&gt;
	fzo.ca&lt;br /&gt;
	fzp.ca&lt;br /&gt;
	fzq.ca&lt;br /&gt;
	fzr.ca&lt;br /&gt;
	fzs.ca&lt;br /&gt;
	fzt.ca&lt;br /&gt;
	fzu.ca&lt;br /&gt;
	fzv.ca&lt;br /&gt;
	fzw.ca&lt;br /&gt;
	fzx.ca&lt;br /&gt;
	fzy.ca&lt;br /&gt;
	fzz.ca&lt;br /&gt;
	gbq.ca&lt;br /&gt;
	gbz.ca&lt;br /&gt;
	gcq.ca&lt;br /&gt;
	gcz.ca&lt;br /&gt;
	gdq.ca&lt;br /&gt;
	gdz.ca&lt;br /&gt;
	gfj.ca&lt;br /&gt;
	gfq.ca&lt;br /&gt;
	gfv.ca&lt;br /&gt;
	gfz.ca&lt;br /&gt;
	ggj.ca&lt;br /&gt;
	ggz.ca&lt;br /&gt;
	ghv.ca&lt;br /&gt;
	ghx.ca&lt;br /&gt;
	gij.ca&lt;br /&gt;
	gjo.ca&lt;br /&gt;
	gju.ca&lt;br /&gt;
	gjv.ca&lt;br /&gt;
	gjx.ca&lt;br /&gt;
	gjy.ca&lt;br /&gt;
	gjz.ca&lt;br /&gt;
	gkj.ca&lt;br /&gt;
	gkq.ca&lt;br /&gt;
	gkv.ca&lt;br /&gt;
	gkx.ca&lt;br /&gt;
	gkz.ca&lt;br /&gt;
	gmq.ca&lt;br /&gt;
	gmz.ca&lt;br /&gt;
	gnq.ca&lt;br /&gt;
	gnz.ca&lt;br /&gt;
	goq.ca&lt;br /&gt;
	gpq.ca&lt;br /&gt;
	gpz.ca&lt;br /&gt;
	gqb.ca&lt;br /&gt;
	gqd.ca&lt;br /&gt;
	gqe.ca&lt;br /&gt;
	gqg.ca&lt;br /&gt;
	gqh.ca&lt;br /&gt;
	gqi.ca&lt;br /&gt;
	gqj.ca&lt;br /&gt;
	gqk.ca&lt;br /&gt;
	gql.ca&lt;br /&gt;
	gqm.ca&lt;br /&gt;
	gqn.ca&lt;br /&gt;
	gqq.ca&lt;br /&gt;
	gqr.ca&lt;br /&gt;
	gqs.ca&lt;br /&gt;
	gqt.ca&lt;br /&gt;
	gqu.ca&lt;br /&gt;
	gqv.ca&lt;br /&gt;
	gqw.ca&lt;br /&gt;
	gqx.ca&lt;br /&gt;
	gqy.ca&lt;br /&gt;
	gqz.ca&lt;br /&gt;
	gsz.ca&lt;br /&gt;
	gtq.ca&lt;br /&gt;
	guq.ca&lt;br /&gt;
	gux.ca&lt;br /&gt;
	gvj.ca&lt;br /&gt;
	gvk.ca&lt;br /&gt;
	gvv.ca&lt;br /&gt;
	gvx.ca&lt;br /&gt;
	gvy.ca&lt;br /&gt;
	gwx.ca&lt;br /&gt;
	gxb.ca&lt;br /&gt;
	gxc.ca&lt;br /&gt;
	gxf.ca&lt;br /&gt;
	gxh.ca&lt;br /&gt;
	gxi.ca&lt;br /&gt;
	gxj.ca&lt;br /&gt;
	gxk.ca&lt;br /&gt;
	gxm.ca&lt;br /&gt;
	gxn.ca&lt;br /&gt;
	gxo.ca&lt;br /&gt;
	gxp.ca&lt;br /&gt;
	gxq.ca&lt;br /&gt;
	gxr.ca&lt;br /&gt;
	gxs.ca&lt;br /&gt;
	gxu.ca&lt;br /&gt;
	gxv.ca&lt;br /&gt;
	gxw.ca&lt;br /&gt;
	gxx.ca&lt;br /&gt;
	gxy.ca&lt;br /&gt;
	gyj.ca&lt;br /&gt;
	gyk.ca&lt;br /&gt;
	gyq.ca&lt;br /&gt;
	gyv.ca&lt;br /&gt;
	gyw.ca&lt;br /&gt;
	gyy.ca&lt;br /&gt;
	gza.ca&lt;br /&gt;
	gzb.ca&lt;br /&gt;
	gzc.ca&lt;br /&gt;
	gze.ca&lt;br /&gt;
	gzf.ca&lt;br /&gt;
	gzg.ca&lt;br /&gt;
	gzh.ca&lt;br /&gt;
	gzi.ca&lt;br /&gt;
	gzj.ca&lt;br /&gt;
	gzk.ca&lt;br /&gt;
	gzl.ca&lt;br /&gt;
	gzm.ca&lt;br /&gt;
	gzn.ca&lt;br /&gt;
	gzo.ca&lt;br /&gt;
	gzq.ca&lt;br /&gt;
	gzr.ca&lt;br /&gt;
	gzs.ca&lt;br /&gt;
	gzu.ca&lt;br /&gt;
	gzv.ca&lt;br /&gt;
	gzw.ca&lt;br /&gt;
	gzx.ca&lt;br /&gt;
	gzy.ca&lt;br /&gt;
	gzz.ca&lt;br /&gt;
	hcq.ca&lt;br /&gt;
	hcz.ca&lt;br /&gt;
	hdq.ca&lt;br /&gt;
	hej.ca&lt;br /&gt;
	hfj.ca&lt;br /&gt;
	hfq.ca&lt;br /&gt;
	hfz.ca&lt;br /&gt;
	hgq.ca&lt;br /&gt;
	hhx.ca&lt;br /&gt;
	hiy.ca&lt;br /&gt;
	hjj.ca&lt;br /&gt;
	hjq.ca&lt;br /&gt;
	hjr.ca&lt;br /&gt;
	hjw.ca&lt;br /&gt;
	hjx.ca&lt;br /&gt;
	hjy.ca&lt;br /&gt;
	hjz.ca&lt;br /&gt;
	hkj.ca&lt;br /&gt;
	hkq.ca&lt;br /&gt;
	hkv.ca&lt;br /&gt;
	hkx.ca&lt;br /&gt;
	hlq.ca&lt;br /&gt;
	hlz.ca&lt;br /&gt;
	hmq.ca&lt;br /&gt;
	hmz.ca&lt;br /&gt;
	hnj.ca&lt;br /&gt;
	hnx.ca&lt;br /&gt;
	hnz.ca&lt;br /&gt;
	hpj.ca&lt;br /&gt;
	hpx.ca&lt;br /&gt;
	hpz.ca&lt;br /&gt;
	hqf.ca&lt;br /&gt;
	hqg.ca&lt;br /&gt;
	hqh.ca&lt;br /&gt;
	hqi.ca&lt;br /&gt;
	hqk.ca&lt;br /&gt;
	hql.ca&lt;br /&gt;
	hqn.ca&lt;br /&gt;
	hqp.ca&lt;br /&gt;
	hqu.ca&lt;br /&gt;
	hqv.ca&lt;br /&gt;
	hqw.ca&lt;br /&gt;
	hqx.ca&lt;br /&gt;
	hqy.ca&lt;br /&gt;
	hqz.ca&lt;br /&gt;
	hrz.ca&lt;br /&gt;
	hsz.ca&lt;br /&gt;
	htq.ca&lt;br /&gt;
	huq.ca&lt;br /&gt;
	hvj.ca&lt;br /&gt;
	hvk.ca&lt;br /&gt;
	hvv.ca&lt;br /&gt;
	hvw.ca&lt;br /&gt;
	hvx.ca&lt;br /&gt;
	hvz.ca&lt;br /&gt;
	hwv.ca&lt;br /&gt;
	hwx.ca&lt;br /&gt;
	hwz.ca&lt;br /&gt;
	hxd.ca&lt;br /&gt;
	hxe.ca&lt;br /&gt;
	hxf.ca&lt;br /&gt;
	hxg.ca&lt;br /&gt;
	hxh.ca&lt;br /&gt;
	hxi.ca&lt;br /&gt;
	hxj.ca&lt;br /&gt;
	hxk.ca&lt;br /&gt;
	hxn.ca&lt;br /&gt;
	hxo.ca&lt;br /&gt;
	hxq.ca&lt;br /&gt;
	hxr.ca&lt;br /&gt;
	hxs.ca&lt;br /&gt;
	hxt.ca&lt;br /&gt;
	hxu.ca&lt;br /&gt;
	hxv.ca&lt;br /&gt;
	hxw.ca&lt;br /&gt;
	hxx.ca&lt;br /&gt;
	hxy.ca&lt;br /&gt;
	hxz.ca&lt;br /&gt;
	hyh.ca&lt;br /&gt;
	hyj.ca&lt;br /&gt;
	hyk.ca&lt;br /&gt;
	hyq.ca&lt;br /&gt;
	hyv.ca&lt;br /&gt;
	hyw.ca&lt;br /&gt;
	hyx.ca&lt;br /&gt;
	hyy.ca&lt;br /&gt;
	hyz.ca&lt;br /&gt;
	hza.ca&lt;br /&gt;
	hzc.ca&lt;br /&gt;
	hze.ca&lt;br /&gt;
	hzf.ca&lt;br /&gt;
	hzg.ca&lt;br /&gt;
	hzi.ca&lt;br /&gt;
	hzj.ca&lt;br /&gt;
	hzk.ca&lt;br /&gt;
	hzl.ca&lt;br /&gt;
	hzm.ca&lt;br /&gt;
	hzn.ca&lt;br /&gt;
	hzo.ca&lt;br /&gt;
	hzp.ca&lt;br /&gt;
	hzq.ca&lt;br /&gt;
	hzr.ca&lt;br /&gt;
	hzs.ca&lt;br /&gt;
	hzt.ca&lt;br /&gt;
	hzu.ca&lt;br /&gt;
	hzv.ca&lt;br /&gt;
	hzw.ca&lt;br /&gt;
	hzx.ca&lt;br /&gt;
	hzy.ca&lt;br /&gt;
	hzz.ca&lt;br /&gt;
	idq.ca&lt;br /&gt;
	igj.ca&lt;br /&gt;
	igz.ca&lt;br /&gt;
	ihv.ca&lt;br /&gt;
	ihx.ca&lt;br /&gt;
	ihz.ca&lt;br /&gt;
	iiy.ca&lt;br /&gt;
	ijh.ca&lt;br /&gt;
	iju.ca&lt;br /&gt;
	ijv.ca&lt;br /&gt;
	ijx.ca&lt;br /&gt;
	ijz.ca&lt;br /&gt;
	ikj.ca&lt;br /&gt;
	ikq.ca&lt;br /&gt;
	ikx.ca&lt;br /&gt;
	ikz.ca&lt;br /&gt;
	ilj.ca&lt;br /&gt;
	ilx.ca&lt;br /&gt;
	ilz.ca&lt;br /&gt;
	ioy.ca&lt;br /&gt;
	ioz.ca&lt;br /&gt;
	ipz.ca&lt;br /&gt;
	iqb.ca&lt;br /&gt;
	iqg.ca&lt;br /&gt;
	iqj.ca&lt;br /&gt;
	iqk.ca&lt;br /&gt;
	iqo.ca&lt;br /&gt;
	iqp.ca&lt;br /&gt;
	iqu.ca&lt;br /&gt;
	iqx.ca&lt;br /&gt;
	iqy.ca&lt;br /&gt;
	iqz.ca&lt;br /&gt;
	irz.ca&lt;br /&gt;
	iuq.ca&lt;br /&gt;
	iux.ca&lt;br /&gt;
	iuz.ca&lt;br /&gt;
	ivh.ca&lt;br /&gt;
	ivk.ca&lt;br /&gt;
	ivq.ca&lt;br /&gt;
	ivv.ca&lt;br /&gt;
	ivw.ca&lt;br /&gt;
	iwj.ca&lt;br /&gt;
	iwx.ca&lt;br /&gt;
	iwy.ca&lt;br /&gt;
	iwz.ca&lt;br /&gt;
	ixf.ca&lt;br /&gt;
	ixj.ca&lt;br /&gt;
	ixk.ca&lt;br /&gt;
	ixq.ca&lt;br /&gt;
	ixr.ca&lt;br /&gt;
	ixu.ca&lt;br /&gt;
	ixv.ca&lt;br /&gt;
	ixw.ca&lt;br /&gt;
	ixy.ca&lt;br /&gt;
	ixz.ca&lt;br /&gt;
	iyj.ca&lt;br /&gt;
	iyq.ca&lt;br /&gt;
	iyv.ca&lt;br /&gt;
	iyx.ca&lt;br /&gt;
	iyy.ca&lt;br /&gt;
	iyz.ca&lt;br /&gt;
	izb.ca&lt;br /&gt;
	izc.ca&lt;br /&gt;
	izd.ca&lt;br /&gt;
	izf.ca&lt;br /&gt;
	izg.ca&lt;br /&gt;
	izh.ca&lt;br /&gt;
	izj.ca&lt;br /&gt;
	izk.ca&lt;br /&gt;
	izl.ca&lt;br /&gt;
	izn.ca&lt;br /&gt;
	izq.ca&lt;br /&gt;
	izr.ca&lt;br /&gt;
	izs.ca&lt;br /&gt;
	izt.ca&lt;br /&gt;
	izv.ca&lt;br /&gt;
	izw.ca&lt;br /&gt;
	izx.ca&lt;br /&gt;
	jbq.ca&lt;br /&gt;
	jbv.ca&lt;br /&gt;
	jbx.ca&lt;br /&gt;
	jby.ca&lt;br /&gt;
	jcq.ca&lt;br /&gt;
	jfu.ca&lt;br /&gt;
	jfv.ca&lt;br /&gt;
	jgq.ca&lt;br /&gt;
	jgu.ca&lt;br /&gt;
	jgv.ca&lt;br /&gt;
	jgx.ca&lt;br /&gt;
	jgy.ca&lt;br /&gt;
	jgz.ca&lt;br /&gt;
	jhq.ca&lt;br /&gt;
	jhu.ca&lt;br /&gt;
	jhx.ca&lt;br /&gt;
	jhz.ca&lt;br /&gt;
	jih.ca&lt;br /&gt;
	jik.ca&lt;br /&gt;
	jiq.ca&lt;br /&gt;
	jiw.ca&lt;br /&gt;
	jiy.ca&lt;br /&gt;
	jjq.ca&lt;br /&gt;
	jju.ca&lt;br /&gt;
	jjv.ca&lt;br /&gt;
	jjx.ca&lt;br /&gt;
	jjy.ca&lt;br /&gt;
	jkj.ca&lt;br /&gt;
	jkq.ca&lt;br /&gt;
	jku.ca&lt;br /&gt;
	jkx.ca&lt;br /&gt;
	jlh.ca&lt;br /&gt;
	jlq.ca&lt;br /&gt;
	jlz.ca&lt;br /&gt;
	jmq.ca&lt;br /&gt;
	jmz.ca&lt;br /&gt;
	jnq.ca&lt;br /&gt;
	jnz.ca&lt;br /&gt;
	jpu.ca&lt;br /&gt;
	jpz.ca&lt;br /&gt;
	jqa.ca&lt;br /&gt;
	jqb.ca&lt;br /&gt;
	jqe.ca&lt;br /&gt;
	jqf.ca&lt;br /&gt;
	jqg.ca&lt;br /&gt;
	jqh.ca&lt;br /&gt;
	jqi.ca&lt;br /&gt;
	jqj.ca&lt;br /&gt;
	jql.ca&lt;br /&gt;
	jqm.ca&lt;br /&gt;
	jqn.ca&lt;br /&gt;
	jqo.ca&lt;br /&gt;
	jqq.ca&lt;br /&gt;
	jqr.ca&lt;br /&gt;
	jqt.ca&lt;br /&gt;
	jqu.ca&lt;br /&gt;
	jqv.ca&lt;br /&gt;
	jqw.ca&lt;br /&gt;
	jrq.ca&lt;br /&gt;
	jru.ca&lt;br /&gt;
	jsq.ca&lt;br /&gt;
	jsz.ca&lt;br /&gt;
	jtj.ca&lt;br /&gt;
	jtq.ca&lt;br /&gt;
	jtu.ca&lt;br /&gt;
	jtx.ca&lt;br /&gt;
	jty.ca&lt;br /&gt;
	jtz.ca&lt;br /&gt;
	juh.ca&lt;br /&gt;
	juq.ca&lt;br /&gt;
	juw.ca&lt;br /&gt;
	juz.ca&lt;br /&gt;
	jvh.ca&lt;br /&gt;
	jvj.ca&lt;br /&gt;
	jvq.ca&lt;br /&gt;
	jvv.ca&lt;br /&gt;
	jvw.ca&lt;br /&gt;
	jvy.ca&lt;br /&gt;
	jvz.ca&lt;br /&gt;
	jwj.ca&lt;br /&gt;
	jwq.ca&lt;br /&gt;
	jwu.ca&lt;br /&gt;
	jwv.ca&lt;br /&gt;
	jwx.ca&lt;br /&gt;
	jwy.ca&lt;br /&gt;
	jwz.ca&lt;br /&gt;
	jxa.ca&lt;br /&gt;
	jxb.ca&lt;br /&gt;
	jxe.ca&lt;br /&gt;
	jxf.ca&lt;br /&gt;
	jxg.ca&lt;br /&gt;
	jxh.ca&lt;br /&gt;
	jxi.ca&lt;br /&gt;
	jxk.ca&lt;br /&gt;
	jxn.ca&lt;br /&gt;
	jxq.ca&lt;br /&gt;
	jxr.ca&lt;br /&gt;
	jxt.ca&lt;br /&gt;
	jxu.ca&lt;br /&gt;
	jxw.ca&lt;br /&gt;
	jxx.ca&lt;br /&gt;
	jxy.ca&lt;br /&gt;
	jyh.ca&lt;br /&gt;
	jyi.ca&lt;br /&gt;
	jyj.ca&lt;br /&gt;
	jyn.ca&lt;br /&gt;
	jyo.ca&lt;br /&gt;
	jyq.ca&lt;br /&gt;
	jyr.ca&lt;br /&gt;
	jyv.ca&lt;br /&gt;
	jyw.ca&lt;br /&gt;
	jyx.ca&lt;br /&gt;
	jyy.ca&lt;br /&gt;
	jyz.ca&lt;br /&gt;
	jza.ca&lt;br /&gt;
	jzc.ca&lt;br /&gt;
	jzd.ca&lt;br /&gt;
	jze.ca&lt;br /&gt;
	jzf.ca&lt;br /&gt;
	jzg.ca&lt;br /&gt;
	jzh.ca&lt;br /&gt;
	jzi.ca&lt;br /&gt;
	jzj.ca&lt;br /&gt;
	jzk.ca&lt;br /&gt;
	jzl.ca&lt;br /&gt;
	jzn.ca&lt;br /&gt;
	jzo.ca&lt;br /&gt;
	jzp.ca&lt;br /&gt;
	jzq.ca&lt;br /&gt;
	jzs.ca&lt;br /&gt;
	jzt.ca&lt;br /&gt;
	jzv.ca&lt;br /&gt;
	jzw.ca&lt;br /&gt;
	jzx.ca&lt;br /&gt;
	jzz.ca&lt;br /&gt;
	kbx.ca&lt;br /&gt;
	kbz.ca&lt;br /&gt;
	kcj.ca&lt;br /&gt;
	kcz.ca&lt;br /&gt;
	kdq.ca&lt;br /&gt;
	kdx.ca&lt;br /&gt;
	kdz.ca&lt;br /&gt;
	keq.ca&lt;br /&gt;
	kfj.ca&lt;br /&gt;
	kfq.ca&lt;br /&gt;
	kgq.ca&lt;br /&gt;
	kgx.ca&lt;br /&gt;
	khq.ca&lt;br /&gt;
	khv.ca&lt;br /&gt;
	khx.ca&lt;br /&gt;
	kiy.ca&lt;br /&gt;
	kjn.ca&lt;br /&gt;
	kju.ca&lt;br /&gt;
	kjx.ca&lt;br /&gt;
	kjy.ca&lt;br /&gt;
	kkj.ca&lt;br /&gt;
	kkn.ca&lt;br /&gt;
	kkv.ca&lt;br /&gt;
	kkx.ca&lt;br /&gt;
	kky.ca&lt;br /&gt;
	kkz.ca&lt;br /&gt;
	klx.ca&lt;br /&gt;
	kmq.ca&lt;br /&gt;
	kmz.ca&lt;br /&gt;
	knj.ca&lt;br /&gt;
	knz.ca&lt;br /&gt;
	koq.ca&lt;br /&gt;
	kpj.ca&lt;br /&gt;
	kpq.ca&lt;br /&gt;
	kpv.ca&lt;br /&gt;
	kpx.ca&lt;br /&gt;
	kpz.ca&lt;br /&gt;
	kqa.ca&lt;br /&gt;
	kqb.ca&lt;br /&gt;
	kqe.ca&lt;br /&gt;
	kqf.ca&lt;br /&gt;
	kqh.ca&lt;br /&gt;
	kqi.ca&lt;br /&gt;
	kqj.ca&lt;br /&gt;
	kqk.ca&lt;br /&gt;
	kql.ca&lt;br /&gt;
	kqn.ca&lt;br /&gt;
	kqo.ca&lt;br /&gt;
	kqq.ca&lt;br /&gt;
	kqr.ca&lt;br /&gt;
	kqs.ca&lt;br /&gt;
	kqt.ca&lt;br /&gt;
	kqu.ca&lt;br /&gt;
	kqv.ca&lt;br /&gt;
	kqw.ca&lt;br /&gt;
	kqx.ca&lt;br /&gt;
	kqy.ca&lt;br /&gt;
	kqz.ca&lt;br /&gt;
	krj.ca&lt;br /&gt;
	krq.ca&lt;br /&gt;
	ksz.ca&lt;br /&gt;
	ktj.ca&lt;br /&gt;
	kuj.ca&lt;br /&gt;
	kuq.ca&lt;br /&gt;
	kux.ca&lt;br /&gt;
	kvk.ca&lt;br /&gt;
	kvq.ca&lt;br /&gt;
	kvu.ca&lt;br /&gt;
	kvv.ca&lt;br /&gt;
	kvy.ca&lt;br /&gt;
	kwq.ca&lt;br /&gt;
	kwz.ca&lt;br /&gt;
	kxa.ca&lt;br /&gt;
	kxb.ca&lt;br /&gt;
	kxc.ca&lt;br /&gt;
	kxd.ca&lt;br /&gt;
	kxe.ca&lt;br /&gt;
	kxf.ca&lt;br /&gt;
	kxg.ca&lt;br /&gt;
	kxh.ca&lt;br /&gt;
	kxi.ca&lt;br /&gt;
	kxj.ca&lt;br /&gt;
	kxl.ca&lt;br /&gt;
	kxn.ca&lt;br /&gt;
	kxo.ca&lt;br /&gt;
	kxp.ca&lt;br /&gt;
	kxq.ca&lt;br /&gt;
	kxr.ca&lt;br /&gt;
	kxt.ca&lt;br /&gt;
	kxu.ca&lt;br /&gt;
	kxw.ca&lt;br /&gt;
	kxx.ca&lt;br /&gt;
	kxy.ca&lt;br /&gt;
	kxz.ca&lt;br /&gt;
	kyg.ca&lt;br /&gt;
	kyh.ca&lt;br /&gt;
	kyl.ca&lt;br /&gt;
	kyq.ca&lt;br /&gt;
	kyv.ca&lt;br /&gt;
	kyx.ca&lt;br /&gt;
	kyz.ca&lt;br /&gt;
	kzb.ca&lt;br /&gt;
	kzc.ca&lt;br /&gt;
	kzd.ca&lt;br /&gt;
	kze.ca&lt;br /&gt;
	kzf.ca&lt;br /&gt;
	kzg.ca&lt;br /&gt;
	kzh.ca&lt;br /&gt;
	kzi.ca&lt;br /&gt;
	kzj.ca&lt;br /&gt;
	kzk.ca&lt;br /&gt;
	kzl.ca&lt;br /&gt;
	kzm.ca&lt;br /&gt;
	kzo.ca&lt;br /&gt;
	kzp.ca&lt;br /&gt;
	kzq.ca&lt;br /&gt;
	kzs.ca&lt;br /&gt;
	kzt.ca&lt;br /&gt;
	kzu.ca&lt;br /&gt;
	kzv.ca&lt;br /&gt;
	kzw.ca&lt;br /&gt;
	kzx.ca&lt;br /&gt;
	kzy.ca&lt;br /&gt;
	kzz.ca&lt;br /&gt;
	lbq.ca&lt;br /&gt;
	lbx.ca&lt;br /&gt;
	lbz.ca&lt;br /&gt;
	lcq.ca&lt;br /&gt;
	lcz.ca&lt;br /&gt;
	ldq.ca&lt;br /&gt;
	ldz.ca&lt;br /&gt;
	lfj.ca&lt;br /&gt;
	lfz.ca&lt;br /&gt;
	lgj.ca&lt;br /&gt;
	lgq.ca&lt;br /&gt;
	lhx.ca&lt;br /&gt;
	lhz.ca&lt;br /&gt;
	ljp.ca&lt;br /&gt;
	ljq.ca&lt;br /&gt;
	ljv.ca&lt;br /&gt;
	ljw.ca&lt;br /&gt;
	ljy.ca&lt;br /&gt;
	ljz.ca&lt;br /&gt;
	lkv.ca&lt;br /&gt;
	lkx.ca&lt;br /&gt;
	lkz.ca&lt;br /&gt;
	lmj.ca&lt;br /&gt;
	lmz.ca&lt;br /&gt;
	lnz.ca&lt;br /&gt;
	lpj.ca&lt;br /&gt;
	lpz.ca&lt;br /&gt;
	lqa.ca&lt;br /&gt;
	lqb.ca&lt;br /&gt;
	lqe.ca&lt;br /&gt;
	lqf.ca&lt;br /&gt;
	lqg.ca&lt;br /&gt;
	lqh.ca&lt;br /&gt;
	lqj.ca&lt;br /&gt;
	lqk.ca&lt;br /&gt;
	lql.ca&lt;br /&gt;
	lqm.ca&lt;br /&gt;
	lqn.ca&lt;br /&gt;
	lqo.ca&lt;br /&gt;
	lqq.ca&lt;br /&gt;
	lqr.ca&lt;br /&gt;
	lqu.ca&lt;br /&gt;
	lqv.ca&lt;br /&gt;
	lqw.ca&lt;br /&gt;
	lqx.ca&lt;br /&gt;
	lqy.ca&lt;br /&gt;
	lrj.ca&lt;br /&gt;
	lrq.ca&lt;br /&gt;
	lrx.ca&lt;br /&gt;
	lrz.ca&lt;br /&gt;
	lsz.ca&lt;br /&gt;
	ltj.ca&lt;br /&gt;
	ltq.ca&lt;br /&gt;
	ltz.ca&lt;br /&gt;
	luy.ca&lt;br /&gt;
	lvj.ca&lt;br /&gt;
	lvw.ca&lt;br /&gt;
	lwj.ca&lt;br /&gt;
	lwq.ca&lt;br /&gt;
	lwv.ca&lt;br /&gt;
	lwx.ca&lt;br /&gt;
	lwz.ca&lt;br /&gt;
	lxc.ca&lt;br /&gt;
	lxf.ca&lt;br /&gt;
	lxh.ca&lt;br /&gt;
	lxj.ca&lt;br /&gt;
	lxk.ca&lt;br /&gt;
	lxm.ca&lt;br /&gt;
	lxn.ca&lt;br /&gt;
	lxo.ca&lt;br /&gt;
	lxq.ca&lt;br /&gt;
	lxt.ca&lt;br /&gt;
	lxu.ca&lt;br /&gt;
	lxv.ca&lt;br /&gt;
	lxw.ca&lt;br /&gt;
	lxx.ca&lt;br /&gt;
	lxy.ca&lt;br /&gt;
	lxz.ca&lt;br /&gt;
	lyj.ca&lt;br /&gt;
	lyq.ca&lt;br /&gt;
	lyu.ca&lt;br /&gt;
	lyv.ca&lt;br /&gt;
	lyy.ca&lt;br /&gt;
	lyz.ca&lt;br /&gt;
	lza.ca&lt;br /&gt;
	lzb.ca&lt;br /&gt;
	lzc.ca&lt;br /&gt;
	lzd.ca&lt;br /&gt;
	lze.ca&lt;br /&gt;
	lzf.ca&lt;br /&gt;
	lzg.ca&lt;br /&gt;
	lzh.ca&lt;br /&gt;
	lzj.ca&lt;br /&gt;
	lzk.ca&lt;br /&gt;
	lzl.ca&lt;br /&gt;
	lzm.ca&lt;br /&gt;
	lzn.ca&lt;br /&gt;
	lzo.ca&lt;br /&gt;
	lzp.ca&lt;br /&gt;
	lzq.ca&lt;br /&gt;
	lzt.ca&lt;br /&gt;
	lzu.ca&lt;br /&gt;
	lzv.ca&lt;br /&gt;
	lzw.ca&lt;br /&gt;
	lzx.ca&lt;br /&gt;
	lzy.ca&lt;br /&gt;
	lzz.ca&lt;br /&gt;
	mgq.ca&lt;br /&gt;
	mhx.ca&lt;br /&gt;
	mjx.ca&lt;br /&gt;
	mjy.ca&lt;br /&gt;
	mkq.ca&lt;br /&gt;
	mnz.ca&lt;br /&gt;
	mqa.ca&lt;br /&gt;
	mqb.ca&lt;br /&gt;
	mqd.ca&lt;br /&gt;
	mqe.ca&lt;br /&gt;
	mqg.ca&lt;br /&gt;
	mqh.ca&lt;br /&gt;
	mqj.ca&lt;br /&gt;
	mqk.ca&lt;br /&gt;
	mql.ca&lt;br /&gt;
	mqp.ca&lt;br /&gt;
	mqq.ca&lt;br /&gt;
	mqt.ca&lt;br /&gt;
	mqu.ca&lt;br /&gt;
	mqw.ca&lt;br /&gt;
	mqx.ca&lt;br /&gt;
	mqy.ca&lt;br /&gt;
	mqz.ca&lt;br /&gt;
	muj.ca&lt;br /&gt;
	muq.ca&lt;br /&gt;
	mvj.ca&lt;br /&gt;
	mvy.ca&lt;br /&gt;
	mvz.ca&lt;br /&gt;
	mwx.ca&lt;br /&gt;
	mwz.ca&lt;br /&gt;
	mxg.ca&lt;br /&gt;
	mxh.ca&lt;br /&gt;
	mxj.ca&lt;br /&gt;
	mxw.ca&lt;br /&gt;
	mxx.ca&lt;br /&gt;
	mxz.ca&lt;br /&gt;
	mzb.ca&lt;br /&gt;
	mzc.ca&lt;br /&gt;
	mzd.ca&lt;br /&gt;
	mzf.ca&lt;br /&gt;
	mzh.ca&lt;br /&gt;
	mzj.ca&lt;br /&gt;
	mzl.ca&lt;br /&gt;
	mzn.ca&lt;br /&gt;
	mzp.ca&lt;br /&gt;
	mzq.ca&lt;br /&gt;
	mzr.ca&lt;br /&gt;
	mzs.ca&lt;br /&gt;
	mzt.ca&lt;br /&gt;
	mzv.ca&lt;br /&gt;
	mzw.ca&lt;br /&gt;
	mzx.ca&lt;br /&gt;
	mzy.ca&lt;br /&gt;
	mzz.ca&lt;br /&gt;
	nbz.ca&lt;br /&gt;
	ncq.ca&lt;br /&gt;
	ndz.ca&lt;br /&gt;
	nfq.ca&lt;br /&gt;
	nfz.ca&lt;br /&gt;
	ngq.ca&lt;br /&gt;
	ngz.ca&lt;br /&gt;
	nij.ca&lt;br /&gt;
	njj.ca&lt;br /&gt;
	njk.ca&lt;br /&gt;
	njq.ca&lt;br /&gt;
	njx.ca&lt;br /&gt;
	njy.ca&lt;br /&gt;
	njz.ca&lt;br /&gt;
	nkj.ca&lt;br /&gt;
	nkq.ca&lt;br /&gt;
	nku.ca&lt;br /&gt;
	nkx.ca&lt;br /&gt;
	nkz.ca&lt;br /&gt;
	nlq.ca&lt;br /&gt;
	nmq.ca&lt;br /&gt;
	nmz.ca&lt;br /&gt;
	nnq.ca&lt;br /&gt;
	npq.ca&lt;br /&gt;
	npy.ca&lt;br /&gt;
	npz.ca&lt;br /&gt;
	nqb.ca&lt;br /&gt;
	nqd.ca&lt;br /&gt;
	nqe.ca&lt;br /&gt;
	nqf.ca&lt;br /&gt;
	nqh.ca&lt;br /&gt;
	nqj.ca&lt;br /&gt;
	nqk.ca&lt;br /&gt;
	nqm.ca&lt;br /&gt;
	nqn.ca&lt;br /&gt;
	nqo.ca&lt;br /&gt;
	nqp.ca&lt;br /&gt;
	nqq.ca&lt;br /&gt;
	nqr.ca&lt;br /&gt;
	nqt.ca&lt;br /&gt;
	nqu.ca&lt;br /&gt;
	nqv.ca&lt;br /&gt;
	nqw.ca&lt;br /&gt;
	nqx.ca&lt;br /&gt;
	nqy.ca&lt;br /&gt;
	nqz.ca&lt;br /&gt;
	nrq.ca&lt;br /&gt;
	nrz.ca&lt;br /&gt;
	ntj.ca&lt;br /&gt;
	ntq.ca&lt;br /&gt;
	nty.ca&lt;br /&gt;
	nvj.ca&lt;br /&gt;
	nvy.ca&lt;br /&gt;
	nvz.ca&lt;br /&gt;
	nwj.ca&lt;br /&gt;
	nwq.ca&lt;br /&gt;
	nwy.ca&lt;br /&gt;
	nxb.ca&lt;br /&gt;
	nxd.ca&lt;br /&gt;
	nxe.ca&lt;br /&gt;
	nxh.ca&lt;br /&gt;
	nxj.ca&lt;br /&gt;
	nxk.ca&lt;br /&gt;
	nxm.ca&lt;br /&gt;
	nxq.ca&lt;br /&gt;
	nxu.ca&lt;br /&gt;
	nxv.ca&lt;br /&gt;
	nxw.ca&lt;br /&gt;
	nxx.ca&lt;br /&gt;
	nxz.ca&lt;br /&gt;
	nyq.ca&lt;br /&gt;
	nza.ca&lt;br /&gt;
	nzb.ca&lt;br /&gt;
	nzc.ca&lt;br /&gt;
	nzd.ca&lt;br /&gt;
	nzf.ca&lt;br /&gt;
	nzg.ca&lt;br /&gt;
	nzh.ca&lt;br /&gt;
	nzj.ca&lt;br /&gt;
	nzk.ca&lt;br /&gt;
	nzm.ca&lt;br /&gt;
	nzq.ca&lt;br /&gt;
	nzr.ca&lt;br /&gt;
	nzs.ca&lt;br /&gt;
	nzt.ca&lt;br /&gt;
	nzu.ca&lt;br /&gt;
	nzv.ca&lt;br /&gt;
	nzw.ca&lt;br /&gt;
	nzx.ca&lt;br /&gt;
	nzy.ca&lt;br /&gt;
	oax.ca&lt;br /&gt;
	odx.ca&lt;br /&gt;
	odz.ca&lt;br /&gt;
	oez.ca&lt;br /&gt;
	ofj.ca&lt;br /&gt;
	ofq.ca&lt;br /&gt;
	ofy.ca&lt;br /&gt;
	ofz.ca&lt;br /&gt;
	ogz.ca&lt;br /&gt;
	ohj.ca&lt;br /&gt;
	ohq.ca&lt;br /&gt;
	ohz.ca&lt;br /&gt;
	oix.ca&lt;br /&gt;
	oiz.ca&lt;br /&gt;
	ojb.ca&lt;br /&gt;
	ojk.ca&lt;br /&gt;
	ojq.ca&lt;br /&gt;
	oju.ca&lt;br /&gt;
	ojx.ca&lt;br /&gt;
	ojy.ca&lt;br /&gt;
	ojz.ca&lt;br /&gt;
	okj.ca&lt;br /&gt;
	okq.ca&lt;br /&gt;
	okx.ca&lt;br /&gt;
	okz.ca&lt;br /&gt;
	olz.ca&lt;br /&gt;
	opz.ca&lt;br /&gt;
	oqa.ca&lt;br /&gt;
	oqb.ca&lt;br /&gt;
	oqe.ca&lt;br /&gt;
	oqf.ca&lt;br /&gt;
	oqg.ca&lt;br /&gt;
	oqh.ca&lt;br /&gt;
	oqi.ca&lt;br /&gt;
	oqj.ca&lt;br /&gt;
	oqk.ca&lt;br /&gt;
	oql.ca&lt;br /&gt;
	oqn.ca&lt;br /&gt;
	oqq.ca&lt;br /&gt;
	oqs.ca&lt;br /&gt;
	oqt.ca&lt;br /&gt;
	oqu.ca&lt;br /&gt;
	oqw.ca&lt;br /&gt;
	oqx.ca&lt;br /&gt;
	oqz.ca&lt;br /&gt;
	orq.ca&lt;br /&gt;
	osz.ca&lt;br /&gt;
	otq.ca&lt;br /&gt;
	otz.ca&lt;br /&gt;
	oux.ca&lt;br /&gt;
	ouz.ca&lt;br /&gt;
	ovj.ca&lt;br /&gt;
	ovq.ca&lt;br /&gt;
	ovx.ca&lt;br /&gt;
	owq.ca&lt;br /&gt;
	owx.ca&lt;br /&gt;
	owz.ca&lt;br /&gt;
	oxa.ca&lt;br /&gt;
	oxb.ca&lt;br /&gt;
	oxc.ca&lt;br /&gt;
	oxd.ca&lt;br /&gt;
	oxf.ca&lt;br /&gt;
	oxh.ca&lt;br /&gt;
	oxj.ca&lt;br /&gt;
	oxl.ca&lt;br /&gt;
	oxm.ca&lt;br /&gt;
	oxp.ca&lt;br /&gt;
	oxr.ca&lt;br /&gt;
	oxt.ca&lt;br /&gt;
	oxv.ca&lt;br /&gt;
	oxw.ca&lt;br /&gt;
	oxx.ca&lt;br /&gt;
	oyj.ca&lt;br /&gt;
	oyq.ca&lt;br /&gt;
	oyu.ca&lt;br /&gt;
	oyx.ca&lt;br /&gt;
	oyy.ca&lt;br /&gt;
	oyz.ca&lt;br /&gt;
	ozb.ca&lt;br /&gt;
	ozc.ca&lt;br /&gt;
	ozd.ca&lt;br /&gt;
	ozf.ca&lt;br /&gt;
	ozg.ca&lt;br /&gt;
	ozh.ca&lt;br /&gt;
	ozi.ca&lt;br /&gt;
	ozj.ca&lt;br /&gt;
	ozk.ca&lt;br /&gt;
	ozl.ca&lt;br /&gt;
	ozn.ca&lt;br /&gt;
	ozp.ca&lt;br /&gt;
	ozq.ca&lt;br /&gt;
	ozr.ca&lt;br /&gt;
	ozs.ca&lt;br /&gt;
	ozt.ca&lt;br /&gt;
	ozv.ca&lt;br /&gt;
	ozw.ca&lt;br /&gt;
	pcy.ca&lt;br /&gt;
	pdz.ca&lt;br /&gt;
	pfj.ca&lt;br /&gt;
	pfv.ca&lt;br /&gt;
	pgq.ca&lt;br /&gt;
	pgz.ca&lt;br /&gt;
	phz.ca&lt;br /&gt;
	pju.ca&lt;br /&gt;
	pjv.ca&lt;br /&gt;
	pjx.ca&lt;br /&gt;
	pjy.ca&lt;br /&gt;
	pjz.ca&lt;br /&gt;
	pkq.ca&lt;br /&gt;
	pkx.ca&lt;br /&gt;
	pkz.ca&lt;br /&gt;
	pmy.ca&lt;br /&gt;
	pnq.ca&lt;br /&gt;
	pnz.ca&lt;br /&gt;
	pqd.ca&lt;br /&gt;
	pqf.ca&lt;br /&gt;
	pqh.ca&lt;br /&gt;
	pqj.ca&lt;br /&gt;
	pqk.ca&lt;br /&gt;
	pql.ca&lt;br /&gt;
	pqq.ca&lt;br /&gt;
	pqu.ca&lt;br /&gt;
	pqv.ca&lt;br /&gt;
	pqw.ca&lt;br /&gt;
	pqx.ca&lt;br /&gt;
	pqy.ca&lt;br /&gt;
	psz.ca&lt;br /&gt;
	puj.ca&lt;br /&gt;
	puv.ca&lt;br /&gt;
	pvj.ca&lt;br /&gt;
	pvu.ca&lt;br /&gt;
	pvy.ca&lt;br /&gt;
	pvz.ca&lt;br /&gt;
	pwj.ca&lt;br /&gt;
	pwq.ca&lt;br /&gt;
	pwx.ca&lt;br /&gt;
	pwy.ca&lt;br /&gt;
	pwz.ca&lt;br /&gt;
	pxb.ca&lt;br /&gt;
	pxc.ca&lt;br /&gt;
	pxg.ca&lt;br /&gt;
	pxh.ca&lt;br /&gt;
	pxj.ca&lt;br /&gt;
	pxk.ca&lt;br /&gt;
	pxo.ca&lt;br /&gt;
	pxq.ca&lt;br /&gt;
	pxu.ca&lt;br /&gt;
	pxw.ca&lt;br /&gt;
	pxz.ca&lt;br /&gt;
	pyd.ca&lt;br /&gt;
	pyf.ca&lt;br /&gt;
	pyh.ca&lt;br /&gt;
	pyj.ca&lt;br /&gt;
	pyq.ca&lt;br /&gt;
	pyv.ca&lt;br /&gt;
	pyy.ca&lt;br /&gt;
	pyz.ca&lt;br /&gt;
	pzc.ca&lt;br /&gt;
	pze.ca&lt;br /&gt;
	pzf.ca&lt;br /&gt;
	pzg.ca&lt;br /&gt;
	pzj.ca&lt;br /&gt;
	pzk.ca&lt;br /&gt;
	pzl.ca&lt;br /&gt;
	pzm.ca&lt;br /&gt;
	pzp.ca&lt;br /&gt;
	pzq.ca&lt;br /&gt;
	pzr.ca&lt;br /&gt;
	pzs.ca&lt;br /&gt;
	pzt.ca&lt;br /&gt;
	pzu.ca&lt;br /&gt;
	pzv.ca&lt;br /&gt;
	pzw.ca&lt;br /&gt;
	pzx.ca&lt;br /&gt;
	pzy.ca&lt;br /&gt;
	pzz.ca&lt;br /&gt;
	qaj.ca&lt;br /&gt;
	qao.ca&lt;br /&gt;
	qaq.ca&lt;br /&gt;
	qau.ca&lt;br /&gt;
	qbg.ca&lt;br /&gt;
	qbh.ca&lt;br /&gt;
	qbj.ca&lt;br /&gt;
	qbk.ca&lt;br /&gt;
	qbo.ca&lt;br /&gt;
	qbr.ca&lt;br /&gt;
	qbt.ca&lt;br /&gt;
	qbu.ca&lt;br /&gt;
	qbv.ca&lt;br /&gt;
	qbw.ca&lt;br /&gt;
	qby.ca&lt;br /&gt;
	qbz.ca&lt;br /&gt;
	qcj.ca&lt;br /&gt;
	qcv.ca&lt;br /&gt;
	qcy.ca&lt;br /&gt;
	qcz.ca&lt;br /&gt;
	qdb.ca&lt;br /&gt;
	qdd.ca&lt;br /&gt;
	qdf.ca&lt;br /&gt;
	qdh.ca&lt;br /&gt;
	qdj.ca&lt;br /&gt;
	qdk.ca&lt;br /&gt;
	qdo.ca&lt;br /&gt;
	qdq.ca&lt;br /&gt;
	qdu.ca&lt;br /&gt;
	qdw.ca&lt;br /&gt;
	qdx.ca&lt;br /&gt;
	qdy.ca&lt;br /&gt;
	qdz.ca&lt;br /&gt;
	qeg.ca&lt;br /&gt;
	qej.ca&lt;br /&gt;
	qem.ca&lt;br /&gt;
	qeo.ca&lt;br /&gt;
	qep.ca&lt;br /&gt;
	qeq.ca&lt;br /&gt;
	qeu.ca&lt;br /&gt;
	qev.ca&lt;br /&gt;
	qey.ca&lt;br /&gt;
	qez.ca&lt;br /&gt;
	qfb.ca&lt;br /&gt;
	qfe.ca&lt;br /&gt;
	qff.ca&lt;br /&gt;
	qfg.ca&lt;br /&gt;
	qfh.ca&lt;br /&gt;
	qfj.ca&lt;br /&gt;
	qfk.ca&lt;br /&gt;
	qfn.ca&lt;br /&gt;
	qfo.ca&lt;br /&gt;
	qfr.ca&lt;br /&gt;
	qfu.ca&lt;br /&gt;
	qfv.ca&lt;br /&gt;
	qfw.ca&lt;br /&gt;
	qfy.ca&lt;br /&gt;
	qfz.ca&lt;br /&gt;
	qga.ca&lt;br /&gt;
	qgb.ca&lt;br /&gt;
	qge.ca&lt;br /&gt;
	qgg.ca&lt;br /&gt;
	qgj.ca&lt;br /&gt;
	qgk.ca&lt;br /&gt;
	qgl.ca&lt;br /&gt;
	qgm.ca&lt;br /&gt;
	qgn.ca&lt;br /&gt;
	qgo.ca&lt;br /&gt;
	qgq.ca&lt;br /&gt;
	qgr.ca&lt;br /&gt;
	qgt.ca&lt;br /&gt;
	qgu.ca&lt;br /&gt;
	qgv.ca&lt;br /&gt;
	qgw.ca&lt;br /&gt;
	qgx.ca&lt;br /&gt;
	qgy.ca&lt;br /&gt;
	qgz.ca&lt;br /&gt;
	qhb.ca&lt;br /&gt;
	qhe.ca&lt;br /&gt;
	qhf.ca&lt;br /&gt;
	qhg.ca&lt;br /&gt;
	qhh.ca&lt;br /&gt;
	qhj.ca&lt;br /&gt;
	qhk.ca&lt;br /&gt;
	qhm.ca&lt;br /&gt;
	qhq.ca&lt;br /&gt;
	qhv.ca&lt;br /&gt;
	qhx.ca&lt;br /&gt;
	qhy.ca&lt;br /&gt;
	qif.ca&lt;br /&gt;
	qih.ca&lt;br /&gt;
	qij.ca&lt;br /&gt;
	qio.ca&lt;br /&gt;
	qir.ca&lt;br /&gt;
	qiv.ca&lt;br /&gt;
	qiw.ca&lt;br /&gt;
	qiy.ca&lt;br /&gt;
	qja.ca&lt;br /&gt;
	qjb.ca&lt;br /&gt;
	qjc.ca&lt;br /&gt;
	qjd.ca&lt;br /&gt;
	qjf.ca&lt;br /&gt;
	qjg.ca&lt;br /&gt;
	qjh.ca&lt;br /&gt;
	qji.ca&lt;br /&gt;
	qjj.ca&lt;br /&gt;
	qjk.ca&lt;br /&gt;
	qjl.ca&lt;br /&gt;
	qjm.ca&lt;br /&gt;
	qjn.ca&lt;br /&gt;
	qjo.ca&lt;br /&gt;
	qjp.ca&lt;br /&gt;
	qjq.ca&lt;br /&gt;
	qjr.ca&lt;br /&gt;
	qjt.ca&lt;br /&gt;
	qju.ca&lt;br /&gt;
	qjv.ca&lt;br /&gt;
	qjw.ca&lt;br /&gt;
	qjx.ca&lt;br /&gt;
	qjy.ca&lt;br /&gt;
	qjz.ca&lt;br /&gt;
	qka.ca&lt;br /&gt;
	qkb.ca&lt;br /&gt;
	qkc.ca&lt;br /&gt;
	qkd.ca&lt;br /&gt;
	qke.ca&lt;br /&gt;
	qkg.ca&lt;br /&gt;
	qkh.ca&lt;br /&gt;
	qkk.ca&lt;br /&gt;
	qkl.ca&lt;br /&gt;
	qkm.ca&lt;br /&gt;
	qkn.ca&lt;br /&gt;
	qko.ca&lt;br /&gt;
	qkp.ca&lt;br /&gt;
	qkq.ca&lt;br /&gt;
	qkr.ca&lt;br /&gt;
	qks.ca&lt;br /&gt;
	qkt.ca&lt;br /&gt;
	qku.ca&lt;br /&gt;
	qkv.ca&lt;br /&gt;
	qkw.ca&lt;br /&gt;
	qkx.ca&lt;br /&gt;
	qky.ca&lt;br /&gt;
	qkz.ca&lt;br /&gt;
	qlf.ca&lt;br /&gt;
	qlg.ca&lt;br /&gt;
	qli.ca&lt;br /&gt;
	qlj.ca&lt;br /&gt;
	qlk.ca&lt;br /&gt;
	qll.ca&lt;br /&gt;
	qlm.ca&lt;br /&gt;
	qlq.ca&lt;br /&gt;
	qlr.ca&lt;br /&gt;
	qlv.ca&lt;br /&gt;
	qlw.ca&lt;br /&gt;
	qlx.ca&lt;br /&gt;
	qly.ca&lt;br /&gt;
	qlz.ca&lt;br /&gt;
	qmj.ca&lt;br /&gt;
	qmk.ca&lt;br /&gt;
	qmn.ca&lt;br /&gt;
	qmu.ca&lt;br /&gt;
	qmv.ca&lt;br /&gt;
	qmw.ca&lt;br /&gt;
	qmx.ca&lt;br /&gt;
	qmy.ca&lt;br /&gt;
	qmz.ca&lt;br /&gt;
	qnd.ca&lt;br /&gt;
	qne.ca&lt;br /&gt;
	qnf.ca&lt;br /&gt;
	qng.ca&lt;br /&gt;
	qnh.ca&lt;br /&gt;
	qni.ca&lt;br /&gt;
	qnk.ca&lt;br /&gt;
	qno.ca&lt;br /&gt;
	qnp.ca&lt;br /&gt;
	qnr.ca&lt;br /&gt;
	qnw.ca&lt;br /&gt;
	qny.ca&lt;br /&gt;
	qnz.ca&lt;br /&gt;
	qob.ca&lt;br /&gt;
	qod.ca&lt;br /&gt;
	qoe.ca&lt;br /&gt;
	qog.ca&lt;br /&gt;
	qoh.ca&lt;br /&gt;
	qoi.ca&lt;br /&gt;
	qoj.ca&lt;br /&gt;
	qok.ca&lt;br /&gt;
	qom.ca&lt;br /&gt;
	qon.ca&lt;br /&gt;
	qoq.ca&lt;br /&gt;
	qou.ca&lt;br /&gt;
	qox.ca&lt;br /&gt;
	qoy.ca&lt;br /&gt;
	qoz.ca&lt;br /&gt;
	qpe.ca&lt;br /&gt;
	qpf.ca&lt;br /&gt;
	qpg.ca&lt;br /&gt;
	qph.ca&lt;br /&gt;
	qpj.ca&lt;br /&gt;
	qpk.ca&lt;br /&gt;
	qpn.ca&lt;br /&gt;
	qpo.ca&lt;br /&gt;
	qpu.ca&lt;br /&gt;
	qpv.ca&lt;br /&gt;
	qpw.ca&lt;br /&gt;
	qpy.ca&lt;br /&gt;
	qpz.ca&lt;br /&gt;
	qqb.ca&lt;br /&gt;
	qqd.ca&lt;br /&gt;
	qqe.ca&lt;br /&gt;
	qqf.ca&lt;br /&gt;
	qqh.ca&lt;br /&gt;
	qqi.ca&lt;br /&gt;
	qqj.ca&lt;br /&gt;
	qqk.ca&lt;br /&gt;
	qql.ca&lt;br /&gt;
	qqm.ca&lt;br /&gt;
	qqn.ca&lt;br /&gt;
	qqo.ca&lt;br /&gt;
	qqp.ca&lt;br /&gt;
	qqs.ca&lt;br /&gt;
	qqt.ca&lt;br /&gt;
	qqu.ca&lt;br /&gt;
	qqv.ca&lt;br /&gt;
	qqx.ca&lt;br /&gt;
	qqz.ca&lt;br /&gt;
	qrb.ca&lt;br /&gt;
	qrf.ca&lt;br /&gt;
	qrh.ca&lt;br /&gt;
	qrj.ca&lt;br /&gt;
	qrk.ca&lt;br /&gt;
	qrn.ca&lt;br /&gt;
	qro.ca&lt;br /&gt;
	qrq.ca&lt;br /&gt;
	qrr.ca&lt;br /&gt;
	qrv.ca&lt;br /&gt;
	qrw.ca&lt;br /&gt;
	qsg.ca&lt;br /&gt;
	qsh.ca&lt;br /&gt;
	qsj.ca&lt;br /&gt;
	qsk.ca&lt;br /&gt;
	qsu.ca&lt;br /&gt;
	qsv.ca&lt;br /&gt;
	qsz.ca&lt;br /&gt;
	qtb.ca&lt;br /&gt;
	qtd.ca&lt;br /&gt;
	qte.ca&lt;br /&gt;
	qtf.ca&lt;br /&gt;
	qtj.ca&lt;br /&gt;
	qtq.ca&lt;br /&gt;
	qtu.ca&lt;br /&gt;
	qud.ca&lt;br /&gt;
	quf.ca&lt;br /&gt;
	qug.ca&lt;br /&gt;
	quh.ca&lt;br /&gt;
	quj.ca&lt;br /&gt;
	quk.ca&lt;br /&gt;
	qum.ca&lt;br /&gt;
	quq.ca&lt;br /&gt;
	qur.ca&lt;br /&gt;
	qut.ca&lt;br /&gt;
	quu.ca&lt;br /&gt;
	quv.ca&lt;br /&gt;
	quw.ca&lt;br /&gt;
	quz.ca&lt;br /&gt;
	qvb.ca&lt;br /&gt;
	qvd.ca&lt;br /&gt;
	qvg.ca&lt;br /&gt;
	qvh.ca&lt;br /&gt;
	qvj.ca&lt;br /&gt;
	qvk.ca&lt;br /&gt;
	qvl.ca&lt;br /&gt;
	qvn.ca&lt;br /&gt;
	qvo.ca&lt;br /&gt;
	qvu.ca&lt;br /&gt;
	qvv.ca&lt;br /&gt;
	qvw.ca&lt;br /&gt;
	qvx.ca&lt;br /&gt;
	qvy.ca&lt;br /&gt;
	qvz.ca&lt;br /&gt;
	qwb.ca&lt;br /&gt;
	qwf.ca&lt;br /&gt;
	qwh.ca&lt;br /&gt;
	qwi.ca&lt;br /&gt;
	qwj.ca&lt;br /&gt;
	qwm.ca&lt;br /&gt;
	qwn.ca&lt;br /&gt;
	qwo.ca&lt;br /&gt;
	qwu.ca&lt;br /&gt;
	qwv.ca&lt;br /&gt;
	qwx.ca&lt;br /&gt;
	qwy.ca&lt;br /&gt;
	qwz.ca&lt;br /&gt;
	qxa.ca&lt;br /&gt;
	qxb.ca&lt;br /&gt;
	qxd.ca&lt;br /&gt;
	qxe.ca&lt;br /&gt;
	qxf.ca&lt;br /&gt;
	qxg.ca&lt;br /&gt;
	qxh.ca&lt;br /&gt;
	qxi.ca&lt;br /&gt;
	qxj.ca&lt;br /&gt;
	qxk.ca&lt;br /&gt;
	qxl.ca&lt;br /&gt;
	qxm.ca&lt;br /&gt;
	qxo.ca&lt;br /&gt;
	qxq.ca&lt;br /&gt;
	qxr.ca&lt;br /&gt;
	qxs.ca&lt;br /&gt;
	qxu.ca&lt;br /&gt;
	qxv.ca&lt;br /&gt;
	qxw.ca&lt;br /&gt;
	qxx.ca&lt;br /&gt;
	qxz.ca&lt;br /&gt;
	qyb.ca&lt;br /&gt;
	qyd.ca&lt;br /&gt;
	qye.ca&lt;br /&gt;
	qyf.ca&lt;br /&gt;
	qyg.ca&lt;br /&gt;
	qyh.ca&lt;br /&gt;
	qyi.ca&lt;br /&gt;
	qyj.ca&lt;br /&gt;
	qyk.ca&lt;br /&gt;
	qyl.ca&lt;br /&gt;
	qyn.ca&lt;br /&gt;
	qyo.ca&lt;br /&gt;
	qyp.ca&lt;br /&gt;
	qyq.ca&lt;br /&gt;
	qyr.ca&lt;br /&gt;
	qys.ca&lt;br /&gt;
	qyt.ca&lt;br /&gt;
	qyu.ca&lt;br /&gt;
	qyv.ca&lt;br /&gt;
	qyw.ca&lt;br /&gt;
	qyx.ca&lt;br /&gt;
	qyy.ca&lt;br /&gt;
	qyz.ca&lt;br /&gt;
	qzb.ca&lt;br /&gt;
	qzc.ca&lt;br /&gt;
	qzd.ca&lt;br /&gt;
	qze.ca&lt;br /&gt;
	qzf.ca&lt;br /&gt;
	qzg.ca&lt;br /&gt;
	qzh.ca&lt;br /&gt;
	qzi.ca&lt;br /&gt;
	qzj.ca&lt;br /&gt;
	qzk.ca&lt;br /&gt;
	qzl.ca&lt;br /&gt;
	qzm.ca&lt;br /&gt;
	qzn.ca&lt;br /&gt;
	qzo.ca&lt;br /&gt;
	qzp.ca&lt;br /&gt;
	qzq.ca&lt;br /&gt;
	qzr.ca&lt;br /&gt;
	qzs.ca&lt;br /&gt;
	qzt.ca&lt;br /&gt;
	qzu.ca&lt;br /&gt;
	qzv.ca&lt;br /&gt;
	qzw.ca&lt;br /&gt;
	qzx.ca&lt;br /&gt;
	qzy.ca&lt;br /&gt;
	qzz.ca&lt;br /&gt;
	rcz.ca&lt;br /&gt;
	rfz.ca&lt;br /&gt;
	rgq.ca&lt;br /&gt;
	rgz.ca&lt;br /&gt;
	rhx.ca&lt;br /&gt;
	rhz.ca&lt;br /&gt;
	rij.ca&lt;br /&gt;
	rjq.ca&lt;br /&gt;
	rju.ca&lt;br /&gt;
	rjx.ca&lt;br /&gt;
	rjy.ca&lt;br /&gt;
	rjz.ca&lt;br /&gt;
	rkj.ca&lt;br /&gt;
	rkq.ca&lt;br /&gt;
	rkx.ca&lt;br /&gt;
	rky.ca&lt;br /&gt;
	rlq.ca&lt;br /&gt;
	rmz.ca&lt;br /&gt;
	rnq.ca&lt;br /&gt;
	rnv.ca&lt;br /&gt;
	rnx.ca&lt;br /&gt;
	rnz.ca&lt;br /&gt;
	rpx.ca&lt;br /&gt;
	rpz.ca&lt;br /&gt;
	rqa.ca&lt;br /&gt;
	rqb.ca&lt;br /&gt;
	rqe.ca&lt;br /&gt;
	rqf.ca&lt;br /&gt;
	rqg.ca&lt;br /&gt;
	rqi.ca&lt;br /&gt;
	rqj.ca&lt;br /&gt;
	rqk.ca&lt;br /&gt;
	rql.ca&lt;br /&gt;
	rqn.ca&lt;br /&gt;
	rqp.ca&lt;br /&gt;
	rqq.ca&lt;br /&gt;
	rqr.ca&lt;br /&gt;
	rqu.ca&lt;br /&gt;
	rqv.ca&lt;br /&gt;
	rqw.ca&lt;br /&gt;
	rqx.ca&lt;br /&gt;
	rqy.ca&lt;br /&gt;
	rqz.ca&lt;br /&gt;
	rrz.ca&lt;br /&gt;
	rsz.ca&lt;br /&gt;
	rtj.ca&lt;br /&gt;
	rtq.ca&lt;br /&gt;
	ruj.ca&lt;br /&gt;
	ruq.ca&lt;br /&gt;
	rvj.ca&lt;br /&gt;
	rvq.ca&lt;br /&gt;
	rvy.ca&lt;br /&gt;
	rvz.ca&lt;br /&gt;
	rwj.ca&lt;br /&gt;
	rwq.ca&lt;br /&gt;
	rwz.ca&lt;br /&gt;
	rxe.ca&lt;br /&gt;
	rxg.ca&lt;br /&gt;
	rxh.ca&lt;br /&gt;
	rxj.ca&lt;br /&gt;
	rxk.ca&lt;br /&gt;
	rxo.ca&lt;br /&gt;
	rxq.ca&lt;br /&gt;
	rxt.ca&lt;br /&gt;
	rxw.ca&lt;br /&gt;
	rxy.ca&lt;br /&gt;
	rxz.ca&lt;br /&gt;
	ryh.ca&lt;br /&gt;
	ryv.ca&lt;br /&gt;
	ryw.ca&lt;br /&gt;
	ryy.ca&lt;br /&gt;
	ryz.ca&lt;br /&gt;
	rzb.ca&lt;br /&gt;
	rzc.ca&lt;br /&gt;
	rzd.ca&lt;br /&gt;
	rze.ca&lt;br /&gt;
	rzf.ca&lt;br /&gt;
	rzg.ca&lt;br /&gt;
	rzh.ca&lt;br /&gt;
	rzi.ca&lt;br /&gt;
	rzj.ca&lt;br /&gt;
	rzk.ca&lt;br /&gt;
	rzl.ca&lt;br /&gt;
	rzm.ca&lt;br /&gt;
	rzn.ca&lt;br /&gt;
	rzp.ca&lt;br /&gt;
	rzq.ca&lt;br /&gt;
	rzs.ca&lt;br /&gt;
	rzt.ca&lt;br /&gt;
	rzw.ca&lt;br /&gt;
	rzx.ca&lt;br /&gt;
	rzy.ca&lt;br /&gt;
	rzz.ca&lt;br /&gt;
	sbz.ca&lt;br /&gt;
	scz.ca&lt;br /&gt;
	sdz.ca&lt;br /&gt;
	sgy.ca&lt;br /&gt;
	sgz.ca&lt;br /&gt;
	shx.ca&lt;br /&gt;
	shz.ca&lt;br /&gt;
	sjz.ca&lt;br /&gt;
	skq.ca&lt;br /&gt;
	skx.ca&lt;br /&gt;
	slz.ca&lt;br /&gt;
	sqb.ca&lt;br /&gt;
	sqh.ca&lt;br /&gt;
	sqj.ca&lt;br /&gt;
	sqk.ca&lt;br /&gt;
	sqo.ca&lt;br /&gt;
	sqt.ca&lt;br /&gt;
	squ.ca&lt;br /&gt;
	sqv.ca&lt;br /&gt;
	sqw.ca&lt;br /&gt;
	sqy.ca&lt;br /&gt;
	sqz.ca&lt;br /&gt;
	srz.ca&lt;br /&gt;
	suj.ca&lt;br /&gt;
	suy.ca&lt;br /&gt;
	svj.ca&lt;br /&gt;
	svy.ca&lt;br /&gt;
	svz.ca&lt;br /&gt;
	swz.ca&lt;br /&gt;
	sxa.ca&lt;br /&gt;
	sxf.ca&lt;br /&gt;
	sxg.ca&lt;br /&gt;
	sxh.ca&lt;br /&gt;
	sxj.ca&lt;br /&gt;
	sxk.ca&lt;br /&gt;
	sxm.ca&lt;br /&gt;
	sxo.ca&lt;br /&gt;
	sxq.ca&lt;br /&gt;
	sxu.ca&lt;br /&gt;
	sxv.ca&lt;br /&gt;
	sxz.ca&lt;br /&gt;
	syh.ca&lt;br /&gt;
	syj.ca&lt;br /&gt;
	syq.ca&lt;br /&gt;
	syz.ca&lt;br /&gt;
	szb.ca&lt;br /&gt;
	szc.ca&lt;br /&gt;
	szf.ca&lt;br /&gt;
	szg.ca&lt;br /&gt;
	szh.ca&lt;br /&gt;
	szi.ca&lt;br /&gt;
	szj.ca&lt;br /&gt;
	szk.ca&lt;br /&gt;
	szl.ca&lt;br /&gt;
	szo.ca&lt;br /&gt;
	szp.ca&lt;br /&gt;
	szq.ca&lt;br /&gt;
	szr.ca&lt;br /&gt;
	szs.ca&lt;br /&gt;
	szu.ca&lt;br /&gt;
	szv.ca&lt;br /&gt;
	szw.ca&lt;br /&gt;
	szy.ca&lt;br /&gt;
	szz.ca&lt;br /&gt;
	tcz.ca&lt;br /&gt;
	tdz.ca&lt;br /&gt;
	tfq.ca&lt;br /&gt;
	tgj.ca&lt;br /&gt;
	tgq.ca&lt;br /&gt;
	tij.ca&lt;br /&gt;
	tjj.ca&lt;br /&gt;
	tjq.ca&lt;br /&gt;
	tjy.ca&lt;br /&gt;
	tkq.ca&lt;br /&gt;
	tkz.ca&lt;br /&gt;
	tpq.ca&lt;br /&gt;
	tqb.ca&lt;br /&gt;
	tqd.ca&lt;br /&gt;
	tqi.ca&lt;br /&gt;
	tqk.ca&lt;br /&gt;
	tql.ca&lt;br /&gt;
	tqo.ca&lt;br /&gt;
	tqq.ca&lt;br /&gt;
	tqt.ca&lt;br /&gt;
	tqu.ca&lt;br /&gt;
	tqv.ca&lt;br /&gt;
	tqw.ca&lt;br /&gt;
	tqx.ca&lt;br /&gt;
	tqz.ca&lt;br /&gt;
	tuj.ca&lt;br /&gt;
	tuy.ca&lt;br /&gt;
	twq.ca&lt;br /&gt;
	twy.ca&lt;br /&gt;
	txb.ca&lt;br /&gt;
	txf.ca&lt;br /&gt;
	txj.ca&lt;br /&gt;
	txk.ca&lt;br /&gt;
	txo.ca&lt;br /&gt;
	txq.ca&lt;br /&gt;
	txv.ca&lt;br /&gt;
	txw.ca&lt;br /&gt;
	txy.ca&lt;br /&gt;
	txz.ca&lt;br /&gt;
	tyh.ca&lt;br /&gt;
	tyj.ca&lt;br /&gt;
	tyq.ca&lt;br /&gt;
	tyw.ca&lt;br /&gt;
	tyx.ca&lt;br /&gt;
	tyy.ca&lt;br /&gt;
	tza.ca&lt;br /&gt;
	tzb.ca&lt;br /&gt;
	tzd.ca&lt;br /&gt;
	tze.ca&lt;br /&gt;
	tzf.ca&lt;br /&gt;
	tzg.ca&lt;br /&gt;
	tzj.ca&lt;br /&gt;
	tzk.ca&lt;br /&gt;
	tzl.ca&lt;br /&gt;
	tzp.ca&lt;br /&gt;
	tzq.ca&lt;br /&gt;
	tzr.ca&lt;br /&gt;
	tzt.ca&lt;br /&gt;
	tzu.ca&lt;br /&gt;
	tzv.ca&lt;br /&gt;
	tzw.ca&lt;br /&gt;
	tzx.ca&lt;br /&gt;
	tzy.ca&lt;br /&gt;
	uaj.ca&lt;br /&gt;
	uak.ca&lt;br /&gt;
	uax.ca&lt;br /&gt;
	uay.ca&lt;br /&gt;
	uaz.ca&lt;br /&gt;
	ubv.ca&lt;br /&gt;
	ubz.ca&lt;br /&gt;
	ucj.ca&lt;br /&gt;
	ucy.ca&lt;br /&gt;
	ucz.ca&lt;br /&gt;
	udk.ca&lt;br /&gt;
	udv.ca&lt;br /&gt;
	udy.ca&lt;br /&gt;
	udz.ca&lt;br /&gt;
	uej.ca&lt;br /&gt;
	ueq.ca&lt;br /&gt;
	uev.ca&lt;br /&gt;
	uez.ca&lt;br /&gt;
	ufy.ca&lt;br /&gt;
	ugq.ca&lt;br /&gt;
	ugv.ca&lt;br /&gt;
	ugx.ca&lt;br /&gt;
	ugy.ca&lt;br /&gt;
	ugz.ca&lt;br /&gt;
	uhj.ca&lt;br /&gt;
	uhx.ca&lt;br /&gt;
	uhz.ca&lt;br /&gt;
	uij.ca&lt;br /&gt;
	uiv.ca&lt;br /&gt;
	uiz.ca&lt;br /&gt;
	ujb.ca&lt;br /&gt;
	ujd.ca&lt;br /&gt;
	uje.ca&lt;br /&gt;
	ujg.ca&lt;br /&gt;
	ujh.ca&lt;br /&gt;
	ujk.ca&lt;br /&gt;
	ujl.ca&lt;br /&gt;
	ujp.ca&lt;br /&gt;
	ujq.ca&lt;br /&gt;
	ujt.ca&lt;br /&gt;
	ujv.ca&lt;br /&gt;
	ujw.ca&lt;br /&gt;
	ujx.ca&lt;br /&gt;
	ujy.ca&lt;br /&gt;
	ujz.ca&lt;br /&gt;
	ukj.ca&lt;br /&gt;
	ukq.ca&lt;br /&gt;
	ukx.ca&lt;br /&gt;
	uky.ca&lt;br /&gt;
	ukz.ca&lt;br /&gt;
	ulj.ca&lt;br /&gt;
	ulv.ca&lt;br /&gt;
	ulx.ca&lt;br /&gt;
	ulz.ca&lt;br /&gt;
	umy.ca&lt;br /&gt;
	umz.ca&lt;br /&gt;
	unj.ca&lt;br /&gt;
	uoz.ca&lt;br /&gt;
	upj.ca&lt;br /&gt;
	upv.ca&lt;br /&gt;
	upy.ca&lt;br /&gt;
	uqd.ca&lt;br /&gt;
	uqe.ca&lt;br /&gt;
	uqf.ca&lt;br /&gt;
	uqg.ca&lt;br /&gt;
	uqh.ca&lt;br /&gt;
	uqi.ca&lt;br /&gt;
	uqj.ca&lt;br /&gt;
	uqk.ca&lt;br /&gt;
	uql.ca&lt;br /&gt;
	uqn.ca&lt;br /&gt;
	uqp.ca&lt;br /&gt;
	uqq.ca&lt;br /&gt;
	uqr.ca&lt;br /&gt;
	uqv.ca&lt;br /&gt;
	uqw.ca&lt;br /&gt;
	uqx.ca&lt;br /&gt;
	uqy.ca&lt;br /&gt;
	uqz.ca&lt;br /&gt;
	urj.ca&lt;br /&gt;
	urv.ca&lt;br /&gt;
	urz.ca&lt;br /&gt;
	usj.ca&lt;br /&gt;
	usy.ca&lt;br /&gt;
	usz.ca&lt;br /&gt;
	utj.ca&lt;br /&gt;
	uuj.ca&lt;br /&gt;
	uuq.ca&lt;br /&gt;
	uuv.ca&lt;br /&gt;
	uux.ca&lt;br /&gt;
	uuy.ca&lt;br /&gt;
	uuz.ca&lt;br /&gt;
	uvf.ca&lt;br /&gt;
	uvj.ca&lt;br /&gt;
	uvk.ca&lt;br /&gt;
	uvn.ca&lt;br /&gt;
	uvq.ca&lt;br /&gt;
	uvr.ca&lt;br /&gt;
	uvt.ca&lt;br /&gt;
	uvv.ca&lt;br /&gt;
	uvx.ca&lt;br /&gt;
	uvy.ca&lt;br /&gt;
	uvz.ca&lt;br /&gt;
	uwj.ca&lt;br /&gt;
	uwq.ca&lt;br /&gt;
	uwy.ca&lt;br /&gt;
	uwz.ca&lt;br /&gt;
	uxa.ca&lt;br /&gt;
	uxb.ca&lt;br /&gt;
	uxc.ca&lt;br /&gt;
	uxd.ca&lt;br /&gt;
	uxf.ca&lt;br /&gt;
	uxg.ca&lt;br /&gt;
	uxh.ca&lt;br /&gt;
	uxi.ca&lt;br /&gt;
	uxj.ca&lt;br /&gt;
	uxk.ca&lt;br /&gt;
	uxm.ca&lt;br /&gt;
	uxn.ca&lt;br /&gt;
	uxo.ca&lt;br /&gt;
	uxq.ca&lt;br /&gt;
	uxs.ca&lt;br /&gt;
	uxt.ca&lt;br /&gt;
	uxv.ca&lt;br /&gt;
	uxw.ca&lt;br /&gt;
	uxx.ca&lt;br /&gt;
	uxy.ca&lt;br /&gt;
	uxz.ca&lt;br /&gt;
	uyd.ca&lt;br /&gt;
	uyf.ca&lt;br /&gt;
	uyg.ca&lt;br /&gt;
	uyj.ca&lt;br /&gt;
	uyk.ca&lt;br /&gt;
	uyl.ca&lt;br /&gt;
	uym.ca&lt;br /&gt;
	uyn.ca&lt;br /&gt;
	uyo.ca&lt;br /&gt;
	uyq.ca&lt;br /&gt;
	uyr.ca&lt;br /&gt;
	uys.ca&lt;br /&gt;
	uyu.ca&lt;br /&gt;
	uyv.ca&lt;br /&gt;
	uyw.ca&lt;br /&gt;
	uyx.ca&lt;br /&gt;
	uyy.ca&lt;br /&gt;
	uyz.ca&lt;br /&gt;
	uzb.ca&lt;br /&gt;
	uzc.ca&lt;br /&gt;
	uzd.ca&lt;br /&gt;
	uzf.ca&lt;br /&gt;
	uzg.ca&lt;br /&gt;
	uzh.ca&lt;br /&gt;
	uzk.ca&lt;br /&gt;
	uzl.ca&lt;br /&gt;
	uzm.ca&lt;br /&gt;
	uzp.ca&lt;br /&gt;
	uzq.ca&lt;br /&gt;
	uzr.ca&lt;br /&gt;
	uzs.ca&lt;br /&gt;
	uzt.ca&lt;br /&gt;
	uzv.ca&lt;br /&gt;
	uzw.ca&lt;br /&gt;
	uzx.ca&lt;br /&gt;
	uzy.ca&lt;br /&gt;
	uzz.ca&lt;br /&gt;
	vbk.ca&lt;br /&gt;
	vbz.ca&lt;br /&gt;
	vcj.ca&lt;br /&gt;
	vcq.ca&lt;br /&gt;
	vcy.ca&lt;br /&gt;
	vcz.ca&lt;br /&gt;
	vdu.ca&lt;br /&gt;
	vej.ca&lt;br /&gt;
	veu.ca&lt;br /&gt;
	vey.ca&lt;br /&gt;
	vfh.ca&lt;br /&gt;
	vfj.ca&lt;br /&gt;
	vfy.ca&lt;br /&gt;
	vfz.ca&lt;br /&gt;
	vgu.ca&lt;br /&gt;
	vgx.ca&lt;br /&gt;
	vgy.ca&lt;br /&gt;
	vgz.ca&lt;br /&gt;
	vhj.ca&lt;br /&gt;
	vhk.ca&lt;br /&gt;
	vhu.ca&lt;br /&gt;
	vhw.ca&lt;br /&gt;
	vhy.ca&lt;br /&gt;
	vhz.ca&lt;br /&gt;
	viy.ca&lt;br /&gt;
	vjd.ca&lt;br /&gt;
	vjf.ca&lt;br /&gt;
	vjj.ca&lt;br /&gt;
	vjo.ca&lt;br /&gt;
	vjq.ca&lt;br /&gt;
	vju.ca&lt;br /&gt;
	vjw.ca&lt;br /&gt;
	vjx.ca&lt;br /&gt;
	vjy.ca&lt;br /&gt;
	vjz.ca&lt;br /&gt;
	vkg.ca&lt;br /&gt;
	vkj.ca&lt;br /&gt;
	vkk.ca&lt;br /&gt;
	vkp.ca&lt;br /&gt;
	vkq.ca&lt;br /&gt;
	vkt.ca&lt;br /&gt;
	vku.ca&lt;br /&gt;
	vky.ca&lt;br /&gt;
	vkz.ca&lt;br /&gt;
	vlh.ca&lt;br /&gt;
	vlq.ca&lt;br /&gt;
	vlu.ca&lt;br /&gt;
	vly.ca&lt;br /&gt;
	vlz.ca&lt;br /&gt;
	vmj.ca&lt;br /&gt;
	vmq.ca&lt;br /&gt;
	vmy.ca&lt;br /&gt;
	vmz.ca&lt;br /&gt;
	voj.ca&lt;br /&gt;
	vpq.ca&lt;br /&gt;
	vpv.ca&lt;br /&gt;
	vpz.ca&lt;br /&gt;
	vqb.ca&lt;br /&gt;
	vqd.ca&lt;br /&gt;
	vqf.ca&lt;br /&gt;
	vqg.ca&lt;br /&gt;
	vqh.ca&lt;br /&gt;
	vqi.ca&lt;br /&gt;
	vqj.ca&lt;br /&gt;
	vqk.ca&lt;br /&gt;
	vql.ca&lt;br /&gt;
	vqm.ca&lt;br /&gt;
	vqn.ca&lt;br /&gt;
	vqo.ca&lt;br /&gt;
	vqq.ca&lt;br /&gt;
	vqs.ca&lt;br /&gt;
	vqt.ca&lt;br /&gt;
	vqu.ca&lt;br /&gt;
	vqv.ca&lt;br /&gt;
	vqw.ca&lt;br /&gt;
	vqx.ca&lt;br /&gt;
	vqy.ca&lt;br /&gt;
	vqz.ca&lt;br /&gt;
	vry.ca&lt;br /&gt;
	vsy.ca&lt;br /&gt;
	vtk.ca&lt;br /&gt;
	vtq.ca&lt;br /&gt;
	vub.ca&lt;br /&gt;
	vud.ca&lt;br /&gt;
	vuf.ca&lt;br /&gt;
	vuh.ca&lt;br /&gt;
	vuj.ca&lt;br /&gt;
	vuq.ca&lt;br /&gt;
	vur.ca&lt;br /&gt;
	vuw.ca&lt;br /&gt;
	vux.ca&lt;br /&gt;
	vuz.ca&lt;br /&gt;
	vvj.ca&lt;br /&gt;
	vvp.ca&lt;br /&gt;
	vvq.ca&lt;br /&gt;
	vvx.ca&lt;br /&gt;
	vvy.ca&lt;br /&gt;
	vvz.ca&lt;br /&gt;
	vwb.ca&lt;br /&gt;
	vwd.ca&lt;br /&gt;
	vwj.ca&lt;br /&gt;
	vwk.ca&lt;br /&gt;
	vwq.ca&lt;br /&gt;
	vwu.ca&lt;br /&gt;
	vwy.ca&lt;br /&gt;
	vwz.ca&lt;br /&gt;
	vxa.ca&lt;br /&gt;
	vxb.ca&lt;br /&gt;
	vxc.ca&lt;br /&gt;
	vxd.ca&lt;br /&gt;
	vxe.ca&lt;br /&gt;
	vxf.ca&lt;br /&gt;
	vxg.ca&lt;br /&gt;
	vxh.ca&lt;br /&gt;
	vxj.ca&lt;br /&gt;
	vxk.ca&lt;br /&gt;
	vxm.ca&lt;br /&gt;
	vxo.ca&lt;br /&gt;
	vxp.ca&lt;br /&gt;
	vxq.ca&lt;br /&gt;
	vxr.ca&lt;br /&gt;
	vxs.ca&lt;br /&gt;
	vxu.ca&lt;br /&gt;
	vxw.ca&lt;br /&gt;
	vxy.ca&lt;br /&gt;
	vyb.ca&lt;br /&gt;
	vyd.ca&lt;br /&gt;
	vye.ca&lt;br /&gt;
	vyg.ca&lt;br /&gt;
	vyh.ca&lt;br /&gt;
	vyj.ca&lt;br /&gt;
	vyk.ca&lt;br /&gt;
	vym.ca&lt;br /&gt;
	vyq.ca&lt;br /&gt;
	vyr.ca&lt;br /&gt;
	vys.ca&lt;br /&gt;
	vyu.ca&lt;br /&gt;
	vyw.ca&lt;br /&gt;
	vyx.ca&lt;br /&gt;
	vyy.ca&lt;br /&gt;
	vyz.ca&lt;br /&gt;
	vza.ca&lt;br /&gt;
	vzb.ca&lt;br /&gt;
	vzc.ca&lt;br /&gt;
	vzd.ca&lt;br /&gt;
	vzf.ca&lt;br /&gt;
	vzg.ca&lt;br /&gt;
	vzh.ca&lt;br /&gt;
	vzi.ca&lt;br /&gt;
	vzj.ca&lt;br /&gt;
	vzk.ca&lt;br /&gt;
	vzl.ca&lt;br /&gt;
	vzn.ca&lt;br /&gt;
	vzo.ca&lt;br /&gt;
	vzp.ca&lt;br /&gt;
	vzq.ca&lt;br /&gt;
	vzr.ca&lt;br /&gt;
	vzs.ca&lt;br /&gt;
	vzu.ca&lt;br /&gt;
	vzx.ca&lt;br /&gt;
	vzy.ca&lt;br /&gt;
	waq.ca&lt;br /&gt;
	wbx.ca&lt;br /&gt;
	wbz.ca&lt;br /&gt;
	wcq.ca&lt;br /&gt;
	wcy.ca&lt;br /&gt;
	wcz.ca&lt;br /&gt;
	wdj.ca&lt;br /&gt;
	wdq.ca&lt;br /&gt;
	wdv.ca&lt;br /&gt;
	wdx.ca&lt;br /&gt;
	wdy.ca&lt;br /&gt;
	wdz.ca&lt;br /&gt;
	wez.ca&lt;br /&gt;
	wfj.ca&lt;br /&gt;
	wfq.ca&lt;br /&gt;
	wfv.ca&lt;br /&gt;
	wfy.ca&lt;br /&gt;
	wfz.ca&lt;br /&gt;
	wgj.ca&lt;br /&gt;
	wgq.ca&lt;br /&gt;
	wgv.ca&lt;br /&gt;
	wgx.ca&lt;br /&gt;
	wiq.ca&lt;br /&gt;
	wiv.ca&lt;br /&gt;
	wjj.ca&lt;br /&gt;
	wjk.ca&lt;br /&gt;
	wjq.ca&lt;br /&gt;
	wju.ca&lt;br /&gt;
	wjv.ca&lt;br /&gt;
	wjx.ca&lt;br /&gt;
	wjy.ca&lt;br /&gt;
	wjz.ca&lt;br /&gt;
	wkj.ca&lt;br /&gt;
	wkq.ca&lt;br /&gt;
	wkx.ca&lt;br /&gt;
	wky.ca&lt;br /&gt;
	wkz.ca&lt;br /&gt;
	wlq.ca&lt;br /&gt;
	wlv.ca&lt;br /&gt;
	wly.ca&lt;br /&gt;
	wlz.ca&lt;br /&gt;
	wnq.ca&lt;br /&gt;
	wnz.ca&lt;br /&gt;
	woq.ca&lt;br /&gt;
	woy.ca&lt;br /&gt;
	wpq.ca&lt;br /&gt;
	wpz.ca&lt;br /&gt;
	wqa.ca&lt;br /&gt;
	wqb.ca&lt;br /&gt;
	wqd.ca&lt;br /&gt;
	wqe.ca&lt;br /&gt;
	wqf.ca&lt;br /&gt;
	wqg.ca&lt;br /&gt;
	wqh.ca&lt;br /&gt;
	wqi.ca&lt;br /&gt;
	wqj.ca&lt;br /&gt;
	wqk.ca&lt;br /&gt;
	wql.ca&lt;br /&gt;
	wqm.ca&lt;br /&gt;
	wqo.ca&lt;br /&gt;
	wqq.ca&lt;br /&gt;
	wqr.ca&lt;br /&gt;
	wqt.ca&lt;br /&gt;
	wqu.ca&lt;br /&gt;
	wqv.ca&lt;br /&gt;
	wqx.ca&lt;br /&gt;
	wqy.ca&lt;br /&gt;
	wrq.ca&lt;br /&gt;
	wtq.ca&lt;br /&gt;
	wtz.ca&lt;br /&gt;
	wuj.ca&lt;br /&gt;
	wuq.ca&lt;br /&gt;
	wux.ca&lt;br /&gt;
	wuy.ca&lt;br /&gt;
	wvb.ca&lt;br /&gt;
	wvf.ca&lt;br /&gt;
	wvj.ca&lt;br /&gt;
	wvk.ca&lt;br /&gt;
	wvq.ca&lt;br /&gt;
	wvt.ca&lt;br /&gt;
	wvv.ca&lt;br /&gt;
	wvx.ca&lt;br /&gt;
	wvy.ca&lt;br /&gt;
	wvz.ca&lt;br /&gt;
	wwq.ca&lt;br /&gt;
	wxa.ca&lt;br /&gt;
	wxb.ca&lt;br /&gt;
	wxc.ca&lt;br /&gt;
	wxd.ca&lt;br /&gt;
	wxe.ca&lt;br /&gt;
	wxf.ca&lt;br /&gt;
	wxg.ca&lt;br /&gt;
	wxh.ca&lt;br /&gt;
	wxi.ca&lt;br /&gt;
	wxj.ca&lt;br /&gt;
	wxk.ca&lt;br /&gt;
	wxm.ca&lt;br /&gt;
	wxn.ca&lt;br /&gt;
	wxq.ca&lt;br /&gt;
	wxr.ca&lt;br /&gt;
	wxt.ca&lt;br /&gt;
	wxu.ca&lt;br /&gt;
	wxv.ca&lt;br /&gt;
	wxz.ca&lt;br /&gt;
	wyf.ca&lt;br /&gt;
	wyh.ca&lt;br /&gt;
	wyl.ca&lt;br /&gt;
	wyq.ca&lt;br /&gt;
	wyu.ca&lt;br /&gt;
	wyv.ca&lt;br /&gt;
	wyx.ca&lt;br /&gt;
	wyy.ca&lt;br /&gt;
	wyz.ca&lt;br /&gt;
	wzb.ca&lt;br /&gt;
	wzd.ca&lt;br /&gt;
	wzf.ca&lt;br /&gt;
	wzg.ca&lt;br /&gt;
	wzj.ca&lt;br /&gt;
	wzk.ca&lt;br /&gt;
	wzn.ca&lt;br /&gt;
	wzq.ca&lt;br /&gt;
	wzs.ca&lt;br /&gt;
	wzt.ca&lt;br /&gt;
	wzu.ca&lt;br /&gt;
	wzv.ca&lt;br /&gt;
	wzw.ca&lt;br /&gt;
	wzx.ca&lt;br /&gt;
	wzy.ca&lt;br /&gt;
	wzz.ca&lt;br /&gt;
	xaa.ca&lt;br /&gt;
	xaf.ca&lt;br /&gt;
	xah.ca&lt;br /&gt;
	xai.ca&lt;br /&gt;
	xaj.ca&lt;br /&gt;
	xal.ca&lt;br /&gt;
	xam.ca&lt;br /&gt;
	xaq.ca&lt;br /&gt;
	xav.ca&lt;br /&gt;
	xaw.ca&lt;br /&gt;
	xay.ca&lt;br /&gt;
	xaz.ca&lt;br /&gt;
	xbb.ca&lt;br /&gt;
	xbd.ca&lt;br /&gt;
	xbe.ca&lt;br /&gt;
	xbg.ca&lt;br /&gt;
	xbi.ca&lt;br /&gt;
	xbk.ca&lt;br /&gt;
	xbm.ca&lt;br /&gt;
	xbq.ca&lt;br /&gt;
	xbr.ca&lt;br /&gt;
	xbu.ca&lt;br /&gt;
	xbw.ca&lt;br /&gt;
	xby.ca&lt;br /&gt;
	xbz.ca&lt;br /&gt;
	xcb.ca&lt;br /&gt;
	xcf.ca&lt;br /&gt;
	xcj.ca&lt;br /&gt;
	xck.ca&lt;br /&gt;
	xcn.ca&lt;br /&gt;
	xcq.ca&lt;br /&gt;
	xcr.ca&lt;br /&gt;
	xcu.ca&lt;br /&gt;
	xcy.ca&lt;br /&gt;
	xcz.ca&lt;br /&gt;
	xdj.ca&lt;br /&gt;
	xdk.ca&lt;br /&gt;
	xdl.ca&lt;br /&gt;
	xdn.ca&lt;br /&gt;
	xdo.ca&lt;br /&gt;
	xdq.ca&lt;br /&gt;
	xdu.ca&lt;br /&gt;
	xdw.ca&lt;br /&gt;
	xdy.ca&lt;br /&gt;
	xdz.ca&lt;br /&gt;
	xeb.ca&lt;br /&gt;
	xeh.ca&lt;br /&gt;
	xej.ca&lt;br /&gt;
	xek.ca&lt;br /&gt;
	xeq.ca&lt;br /&gt;
	xet.ca&lt;br /&gt;
	xeu.ca&lt;br /&gt;
	xev.ca&lt;br /&gt;
	xew.ca&lt;br /&gt;
	xey.ca&lt;br /&gt;
	xez.ca&lt;br /&gt;
	xfa.ca&lt;br /&gt;
	xfb.ca&lt;br /&gt;
	xfd.ca&lt;br /&gt;
	xfe.ca&lt;br /&gt;
	xfg.ca&lt;br /&gt;
	xfh.ca&lt;br /&gt;
	xfj.ca&lt;br /&gt;
	xfn.ca&lt;br /&gt;
	xfo.ca&lt;br /&gt;
	xfp.ca&lt;br /&gt;
	xfq.ca&lt;br /&gt;
	xfs.ca&lt;br /&gt;
	xft.ca&lt;br /&gt;
	xfu.ca&lt;br /&gt;
	xfv.ca&lt;br /&gt;
	xfz.ca&lt;br /&gt;
	xgb.ca&lt;br /&gt;
	xgc.ca&lt;br /&gt;
	xge.ca&lt;br /&gt;
	xgf.ca&lt;br /&gt;
	xgh.ca&lt;br /&gt;
	xgi.ca&lt;br /&gt;
	xgj.ca&lt;br /&gt;
	xgk.ca&lt;br /&gt;
	xgm.ca&lt;br /&gt;
	xgq.ca&lt;br /&gt;
	xgt.ca&lt;br /&gt;
	xgu.ca&lt;br /&gt;
	xgv.ca&lt;br /&gt;
	xgw.ca&lt;br /&gt;
	xha.ca&lt;br /&gt;
	xhb.ca&lt;br /&gt;
	xhd.ca&lt;br /&gt;
	xhh.ca&lt;br /&gt;
	xhi.ca&lt;br /&gt;
	xhj.ca&lt;br /&gt;
	xhk.ca&lt;br /&gt;
	xhm.ca&lt;br /&gt;
	xhn.ca&lt;br /&gt;
	xho.ca&lt;br /&gt;
	xhq.ca&lt;br /&gt;
	xhr.ca&lt;br /&gt;
	xhs.ca&lt;br /&gt;
	xht.ca&lt;br /&gt;
	xhu.ca&lt;br /&gt;
	xhv.ca&lt;br /&gt;
	xhw.ca&lt;br /&gt;
	xhx.ca&lt;br /&gt;
	xhy.ca&lt;br /&gt;
	xif.ca&lt;br /&gt;
	xig.ca&lt;br /&gt;
	xih.ca&lt;br /&gt;
	xij.ca&lt;br /&gt;
	xik.ca&lt;br /&gt;
	xiq.ca&lt;br /&gt;
	xir.ca&lt;br /&gt;
	xiw.ca&lt;br /&gt;
	xiy.ca&lt;br /&gt;
	xja.ca&lt;br /&gt;
	xjb.ca&lt;br /&gt;
	xjc.ca&lt;br /&gt;
	xjd.ca&lt;br /&gt;
	xjf.ca&lt;br /&gt;
	xjg.ca&lt;br /&gt;
	xjh.ca&lt;br /&gt;
	xji.ca&lt;br /&gt;
	xjj.ca&lt;br /&gt;
	xjk.ca&lt;br /&gt;
	xjl.ca&lt;br /&gt;
	xjm.ca&lt;br /&gt;
	xjn.ca&lt;br /&gt;
	xjo.ca&lt;br /&gt;
	xjp.ca&lt;br /&gt;
	xjq.ca&lt;br /&gt;
	xjr.ca&lt;br /&gt;
	xjt.ca&lt;br /&gt;
	xju.ca&lt;br /&gt;
	xjv.ca&lt;br /&gt;
	xjx.ca&lt;br /&gt;
	xjy.ca&lt;br /&gt;
	xjz.ca&lt;br /&gt;
	xka.ca&lt;br /&gt;
	xkb.ca&lt;br /&gt;
	xkc.ca&lt;br /&gt;
	xkd.ca&lt;br /&gt;
	xkf.ca&lt;br /&gt;
	xkh.ca&lt;br /&gt;
	xki.ca&lt;br /&gt;
	xkj.ca&lt;br /&gt;
	xkk.ca&lt;br /&gt;
	xkl.ca&lt;br /&gt;
	xkm.ca&lt;br /&gt;
	xkn.ca&lt;br /&gt;
	xko.ca&lt;br /&gt;
	xkp.ca&lt;br /&gt;
	xkq.ca&lt;br /&gt;
	xks.ca&lt;br /&gt;
	xkt.ca&lt;br /&gt;
	xku.ca&lt;br /&gt;
	xkv.ca&lt;br /&gt;
	xkw.ca&lt;br /&gt;
	xkx.ca&lt;br /&gt;
	xky.ca&lt;br /&gt;
	xkz.ca&lt;br /&gt;
	xlb.ca&lt;br /&gt;
	xlh.ca&lt;br /&gt;
	xlj.ca&lt;br /&gt;
	xlk.ca&lt;br /&gt;
	xlo.ca&lt;br /&gt;
	xlq.ca&lt;br /&gt;
	xlu.ca&lt;br /&gt;
	xlv.ca&lt;br /&gt;
	xlw.ca&lt;br /&gt;
	xly.ca&lt;br /&gt;
	xlz.ca&lt;br /&gt;
	xma.ca&lt;br /&gt;
	xmh.ca&lt;br /&gt;
	xmj.ca&lt;br /&gt;
	xmk.ca&lt;br /&gt;
	xmn.ca&lt;br /&gt;
	xmp.ca&lt;br /&gt;
	xmw.ca&lt;br /&gt;
	xmz.ca&lt;br /&gt;
	xne.ca&lt;br /&gt;
	xnf.ca&lt;br /&gt;
	xng.ca&lt;br /&gt;
	xnh.ca&lt;br /&gt;
	xni.ca&lt;br /&gt;
	xnj.ca&lt;br /&gt;
	xnk.ca&lt;br /&gt;
	xnl.ca&lt;br /&gt;
	xnn.ca&lt;br /&gt;
	xnr.ca&lt;br /&gt;
	xnt.ca&lt;br /&gt;
	xnu.ca&lt;br /&gt;
	xnv.ca&lt;br /&gt;
	xnw.ca&lt;br /&gt;
	xoa.ca&lt;br /&gt;
	xob.ca&lt;br /&gt;
	xoe.ca&lt;br /&gt;
	xof.ca&lt;br /&gt;
	xog.ca&lt;br /&gt;
	xoh.ca&lt;br /&gt;
	xoi.ca&lt;br /&gt;
	xok.ca&lt;br /&gt;
	xoq.ca&lt;br /&gt;
	xot.ca&lt;br /&gt;
	xou.ca&lt;br /&gt;
	xov.ca&lt;br /&gt;
	xow.ca&lt;br /&gt;
	xoy.ca&lt;br /&gt;
	xoz.ca&lt;br /&gt;
	xpd.ca&lt;br /&gt;
	xpe.ca&lt;br /&gt;
	xpf.ca&lt;br /&gt;
	xpg.ca&lt;br /&gt;
	xph.ca&lt;br /&gt;
	xpj.ca&lt;br /&gt;
	xpk.ca&lt;br /&gt;
	xpq.ca&lt;br /&gt;
	xpu.ca&lt;br /&gt;
	xpv.ca&lt;br /&gt;
	xpy.ca&lt;br /&gt;
	xpz.ca&lt;br /&gt;
	xqa.ca&lt;br /&gt;
	xqb.ca&lt;br /&gt;
	xqd.ca&lt;br /&gt;
	xqe.ca&lt;br /&gt;
	xqf.ca&lt;br /&gt;
	xqg.ca&lt;br /&gt;
	xqh.ca&lt;br /&gt;
	xqi.ca&lt;br /&gt;
	xqj.ca&lt;br /&gt;
	xqk.ca&lt;br /&gt;
	xqn.ca&lt;br /&gt;
	xqo.ca&lt;br /&gt;
	xqq.ca&lt;br /&gt;
	xqr.ca&lt;br /&gt;
	xqs.ca&lt;br /&gt;
	xqt.ca&lt;br /&gt;
	xqu.ca&lt;br /&gt;
	xqv.ca&lt;br /&gt;
	xqw.ca&lt;br /&gt;
	xqx.ca&lt;br /&gt;
	xqy.ca&lt;br /&gt;
	xqz.ca&lt;br /&gt;
	xra.ca&lt;br /&gt;
	xrd.ca&lt;br /&gt;
	xrh.ca&lt;br /&gt;
	xri.ca&lt;br /&gt;
	xrj.ca&lt;br /&gt;
	xrk.ca&lt;br /&gt;
	xrn.ca&lt;br /&gt;
	xrp.ca&lt;br /&gt;
	xrq.ca&lt;br /&gt;
	xrr.ca&lt;br /&gt;
	xru.ca&lt;br /&gt;
	xrv.ca&lt;br /&gt;
	xry.ca&lt;br /&gt;
	xrz.ca&lt;br /&gt;
	xsa.ca&lt;br /&gt;
	xsh.ca&lt;br /&gt;
	xsj.ca&lt;br /&gt;
	xsk.ca&lt;br /&gt;
	xso.ca&lt;br /&gt;
	xsq.ca&lt;br /&gt;
	xsr.ca&lt;br /&gt;
	xsu.ca&lt;br /&gt;
	xsy.ca&lt;br /&gt;
	xsz.ca&lt;br /&gt;
	xta.ca&lt;br /&gt;
	xtb.ca&lt;br /&gt;
	xth.ca&lt;br /&gt;
	xtj.ca&lt;br /&gt;
	xtk.ca&lt;br /&gt;
	xtm.ca&lt;br /&gt;
	xtq.ca&lt;br /&gt;
	xtu.ca&lt;br /&gt;
	xty.ca&lt;br /&gt;
	xtz.ca&lt;br /&gt;
	xua.ca&lt;br /&gt;
	xub.ca&lt;br /&gt;
	xuc.ca&lt;br /&gt;
	xud.ca&lt;br /&gt;
	xuf.ca&lt;br /&gt;
	xug.ca&lt;br /&gt;
	xuh.ca&lt;br /&gt;
	xui.ca&lt;br /&gt;
	xuj.ca&lt;br /&gt;
	xuk.ca&lt;br /&gt;
	xum.ca&lt;br /&gt;
	xuo.ca&lt;br /&gt;
	xuq.ca&lt;br /&gt;
	xur.ca&lt;br /&gt;
	xus.ca&lt;br /&gt;
	xut.ca&lt;br /&gt;
	xuu.ca&lt;br /&gt;
	xuv.ca&lt;br /&gt;
	xuw.ca&lt;br /&gt;
	xuy.ca&lt;br /&gt;
	xuz.ca&lt;br /&gt;
	xvb.ca&lt;br /&gt;
	xvc.ca&lt;br /&gt;
	xvd.ca&lt;br /&gt;
	xve.ca&lt;br /&gt;
	xvf.ca&lt;br /&gt;
	xvg.ca&lt;br /&gt;
	xvh.ca&lt;br /&gt;
	xvj.ca&lt;br /&gt;
	xvk.ca&lt;br /&gt;
	xvl.ca&lt;br /&gt;
	xvm.ca&lt;br /&gt;
	xvo.ca&lt;br /&gt;
	xvp.ca&lt;br /&gt;
	xvq.ca&lt;br /&gt;
	xvs.ca&lt;br /&gt;
	xvt.ca&lt;br /&gt;
	xvv.ca&lt;br /&gt;
	xvw.ca&lt;br /&gt;
	xvy.ca&lt;br /&gt;
	xvz.ca&lt;br /&gt;
	xwb.ca&lt;br /&gt;
	xwc.ca&lt;br /&gt;
	xwd.ca&lt;br /&gt;
	xwe.ca&lt;br /&gt;
	xwf.ca&lt;br /&gt;
	xwg.ca&lt;br /&gt;
	xwh.ca&lt;br /&gt;
	xwj.ca&lt;br /&gt;
	xwk.ca&lt;br /&gt;
	xwl.ca&lt;br /&gt;
	xwn.ca&lt;br /&gt;
	xwo.ca&lt;br /&gt;
	xwp.ca&lt;br /&gt;
	xwq.ca&lt;br /&gt;
	xwr.ca&lt;br /&gt;
	xwt.ca&lt;br /&gt;
	xwv.ca&lt;br /&gt;
	xww.ca&lt;br /&gt;
	xwy.ca&lt;br /&gt;
	xwz.ca&lt;br /&gt;
	xxb.ca&lt;br /&gt;
	xxf.ca&lt;br /&gt;
	xxg.ca&lt;br /&gt;
	xxh.ca&lt;br /&gt;
	xxk.ca&lt;br /&gt;
	xxm.ca&lt;br /&gt;
	xxq.ca&lt;br /&gt;
	xxt.ca&lt;br /&gt;
	xxv.ca&lt;br /&gt;
	xxw.ca&lt;br /&gt;
	xyb.ca&lt;br /&gt;
	xyd.ca&lt;br /&gt;
	xye.ca&lt;br /&gt;
	xyf.ca&lt;br /&gt;
	xyg.ca&lt;br /&gt;
	xyh.ca&lt;br /&gt;
	xyj.ca&lt;br /&gt;
	xyk.ca&lt;br /&gt;
	xyl.ca&lt;br /&gt;
	xym.ca&lt;br /&gt;
	xyn.ca&lt;br /&gt;
	xyo.ca&lt;br /&gt;
	xyq.ca&lt;br /&gt;
	xyr.ca&lt;br /&gt;
	xyv.ca&lt;br /&gt;
	xyw.ca&lt;br /&gt;
	xyy.ca&lt;br /&gt;
	xza.ca&lt;br /&gt;
	xzb.ca&lt;br /&gt;
	xzc.ca&lt;br /&gt;
	xzd.ca&lt;br /&gt;
	xze.ca&lt;br /&gt;
	xzf.ca&lt;br /&gt;
	xzg.ca&lt;br /&gt;
	xzh.ca&lt;br /&gt;
	xzi.ca&lt;br /&gt;
	xzj.ca&lt;br /&gt;
	xzk.ca&lt;br /&gt;
	xzl.ca&lt;br /&gt;
	xzm.ca&lt;br /&gt;
	xzn.ca&lt;br /&gt;
	xzo.ca&lt;br /&gt;
	xzp.ca&lt;br /&gt;
	xzq.ca&lt;br /&gt;
	xzr.ca&lt;br /&gt;
	xzs.ca&lt;br /&gt;
	xzt.ca&lt;br /&gt;
	xzu.ca&lt;br /&gt;
	xzv.ca&lt;br /&gt;
	xzw.ca&lt;br /&gt;
	xzy.ca&lt;br /&gt;
	xzz.ca&lt;br /&gt;
	yaj.ca&lt;br /&gt;
	yaq.ca&lt;br /&gt;
	ybq.ca&lt;br /&gt;
	ybv.ca&lt;br /&gt;
	yby.ca&lt;br /&gt;
	ybz.ca&lt;br /&gt;
	ycj.ca&lt;br /&gt;
	ycu.ca&lt;br /&gt;
	ycv.ca&lt;br /&gt;
	ycx.ca&lt;br /&gt;
	ycz.ca&lt;br /&gt;
	ydj.ca&lt;br /&gt;
	ydq.ca&lt;br /&gt;
	ydu.ca&lt;br /&gt;
	ydw.ca&lt;br /&gt;
	ydy.ca&lt;br /&gt;
	ydz.ca&lt;br /&gt;
	yej.ca&lt;br /&gt;
	yeq.ca&lt;br /&gt;
	yff.ca&lt;br /&gt;
	yfk.ca&lt;br /&gt;
	yfq.ca&lt;br /&gt;
	yfr.ca&lt;br /&gt;
	yft.ca&lt;br /&gt;
	yfv.ca&lt;br /&gt;
	yfz.ca&lt;br /&gt;
	ygd.ca&lt;br /&gt;
	ygj.ca&lt;br /&gt;
	ygk.ca&lt;br /&gt;
	ygq.ca&lt;br /&gt;
	ygt.ca&lt;br /&gt;
	ygu.ca&lt;br /&gt;
	ygx.ca&lt;br /&gt;
	ygy.ca&lt;br /&gt;
	ygz.ca&lt;br /&gt;
	yhe.ca&lt;br /&gt;
	yhg.ca&lt;br /&gt;
	yhh.ca&lt;br /&gt;
	yhj.ca&lt;br /&gt;
	yhk.ca&lt;br /&gt;
	yhq.ca&lt;br /&gt;
	yhv.ca&lt;br /&gt;
	yhw.ca&lt;br /&gt;
	yhx.ca&lt;br /&gt;
	yif.ca&lt;br /&gt;
	yih.ca&lt;br /&gt;
	yij.ca&lt;br /&gt;
	yik.ca&lt;br /&gt;
	yiq.ca&lt;br /&gt;
	yiv.ca&lt;br /&gt;
	yix.ca&lt;br /&gt;
	yja.ca&lt;br /&gt;
	yjd.ca&lt;br /&gt;
	yjf.ca&lt;br /&gt;
	yjh.ca&lt;br /&gt;
	yji.ca&lt;br /&gt;
	yjj.ca&lt;br /&gt;
	yjk.ca&lt;br /&gt;
	yjl.ca&lt;br /&gt;
	yjm.ca&lt;br /&gt;
	yjn.ca&lt;br /&gt;
	yjo.ca&lt;br /&gt;
	yjp.ca&lt;br /&gt;
	yjq.ca&lt;br /&gt;
	yjs.ca&lt;br /&gt;
	yjt.ca&lt;br /&gt;
	yju.ca&lt;br /&gt;
	yjv.ca&lt;br /&gt;
	yjx.ca&lt;br /&gt;
	yjy.ca&lt;br /&gt;
	ykh.ca&lt;br /&gt;
	ykj.ca&lt;br /&gt;
	ykl.ca&lt;br /&gt;
	ykp.ca&lt;br /&gt;
	ykq.ca&lt;br /&gt;
	ykr.ca&lt;br /&gt;
	yks.ca&lt;br /&gt;
	ykt.ca&lt;br /&gt;
	yku.ca&lt;br /&gt;
	ykv.ca&lt;br /&gt;
	ykx.ca&lt;br /&gt;
	ylj.ca&lt;br /&gt;
	ylq.ca&lt;br /&gt;
	ylr.ca&lt;br /&gt;
	ylv.ca&lt;br /&gt;
	ylx.ca&lt;br /&gt;
	yly.ca&lt;br /&gt;
	ylz.ca&lt;br /&gt;
	ymf.ca&lt;br /&gt;
	ymh.ca&lt;br /&gt;
	ymu.ca&lt;br /&gt;
	ymz.ca&lt;br /&gt;
	yni.ca&lt;br /&gt;
	ynj.ca&lt;br /&gt;
	ynv.ca&lt;br /&gt;
	ynz.ca&lt;br /&gt;
	yoj.ca&lt;br /&gt;
	yoq.ca&lt;br /&gt;
	yov.ca&lt;br /&gt;
	yox.ca&lt;br /&gt;
	ypj.ca&lt;br /&gt;
	ypq.ca&lt;br /&gt;
	ypu.ca&lt;br /&gt;
	ypv.ca&lt;br /&gt;
	ypz.ca&lt;br /&gt;
	yqd.ca&lt;br /&gt;
	yqe.ca&lt;br /&gt;
	yqf.ca&lt;br /&gt;
	yqh.ca&lt;br /&gt;
	yqi.ca&lt;br /&gt;
	yqj.ca&lt;br /&gt;
	yqk.ca&lt;br /&gt;
	yql.ca&lt;br /&gt;
	yqn.ca&lt;br /&gt;
	yqo.ca&lt;br /&gt;
	yqp.ca&lt;br /&gt;
	yqu.ca&lt;br /&gt;
	yqv.ca&lt;br /&gt;
	yqw.ca&lt;br /&gt;
	yqy.ca&lt;br /&gt;
	yqz.ca&lt;br /&gt;
	yrj.ca&lt;br /&gt;
	yrx.ca&lt;br /&gt;
	yry.ca&lt;br /&gt;
	yrz.ca&lt;br /&gt;
	ysj.ca&lt;br /&gt;
	ysq.ca&lt;br /&gt;
	ysu.ca&lt;br /&gt;
	ysv.ca&lt;br /&gt;
	ysx.ca&lt;br /&gt;
	ysz.ca&lt;br /&gt;
	ytj.ca&lt;br /&gt;
	ytx.ca&lt;br /&gt;
	yty.ca&lt;br /&gt;
	yua.ca&lt;br /&gt;
	yuq.ca&lt;br /&gt;
	yuv.ca&lt;br /&gt;
	yuw.ca&lt;br /&gt;
	yvd.ca&lt;br /&gt;
	yvf.ca&lt;br /&gt;
	yvg.ca&lt;br /&gt;
	yvh.ca&lt;br /&gt;
	yvj.ca&lt;br /&gt;
	yvk.ca&lt;br /&gt;
	yvn.ca&lt;br /&gt;
	yvp.ca&lt;br /&gt;
	yvq.ca&lt;br /&gt;
	yvu.ca&lt;br /&gt;
	yvv.ca&lt;br /&gt;
	yvx.ca&lt;br /&gt;
	yvy.ca&lt;br /&gt;
	yvz.ca&lt;br /&gt;
	ywe.ca&lt;br /&gt;
	ywj.ca&lt;br /&gt;
	ywk.ca&lt;br /&gt;
	ywq.ca&lt;br /&gt;
	ywr.ca&lt;br /&gt;
	ywt.ca&lt;br /&gt;
	ywu.ca&lt;br /&gt;
	ywv.ca&lt;br /&gt;
	yww.ca&lt;br /&gt;
	ywx.ca&lt;br /&gt;
	ywy.ca&lt;br /&gt;
	ywz.ca&lt;br /&gt;
	yxa.ca&lt;br /&gt;
	yxb.ca&lt;br /&gt;
	yxf.ca&lt;br /&gt;
	yxg.ca&lt;br /&gt;
	yxh.ca&lt;br /&gt;
	yxi.ca&lt;br /&gt;
	yxj.ca&lt;br /&gt;
	yxk.ca&lt;br /&gt;
	yxn.ca&lt;br /&gt;
	yxq.ca&lt;br /&gt;
	yxr.ca&lt;br /&gt;
	yxv.ca&lt;br /&gt;
	yxw.ca&lt;br /&gt;
	yyd.ca&lt;br /&gt;
	yye.ca&lt;br /&gt;
	yyh.ca&lt;br /&gt;
	yyl.ca&lt;br /&gt;
	yym.ca&lt;br /&gt;
	yyn.ca&lt;br /&gt;
	yyo.ca&lt;br /&gt;
	yyp.ca&lt;br /&gt;
	yyq.ca&lt;br /&gt;
	yys.ca&lt;br /&gt;
	yyu.ca&lt;br /&gt;
	yyv.ca&lt;br /&gt;
	yyw.ca&lt;br /&gt;
	yyx.ca&lt;br /&gt;
	yza.ca&lt;br /&gt;
	yzb.ca&lt;br /&gt;
	yzd.ca&lt;br /&gt;
	yzg.ca&lt;br /&gt;
	yzh.ca&lt;br /&gt;
	yzi.ca&lt;br /&gt;
	yzj.ca&lt;br /&gt;
	yzk.ca&lt;br /&gt;
	yzl.ca&lt;br /&gt;
	yzn.ca&lt;br /&gt;
	yzo.ca&lt;br /&gt;
	yzp.ca&lt;br /&gt;
	yzr.ca&lt;br /&gt;
	yzs.ca&lt;br /&gt;
	yzt.ca&lt;br /&gt;
	yzv.ca&lt;br /&gt;
	yzw.ca&lt;br /&gt;
	yzx.ca&lt;br /&gt;
	yzy.ca&lt;br /&gt;
	yzz.ca&lt;br /&gt;
	zaf.ca&lt;br /&gt;
	zbd.ca&lt;br /&gt;
	zbe.ca&lt;br /&gt;
	zbf.ca&lt;br /&gt;
	zbg.ca&lt;br /&gt;
	zbh.ca&lt;br /&gt;
	zbj.ca&lt;br /&gt;
	zbl.ca&lt;br /&gt;
	zbm.ca&lt;br /&gt;
	zbn.ca&lt;br /&gt;
	zbo.ca&lt;br /&gt;
	zbp.ca&lt;br /&gt;
	zbq.ca&lt;br /&gt;
	zbr.ca&lt;br /&gt;
	zbs.ca&lt;br /&gt;
	zbu.ca&lt;br /&gt;
	zbv.ca&lt;br /&gt;
	zbw.ca&lt;br /&gt;
	zby.ca&lt;br /&gt;
	zcb.ca&lt;br /&gt;
	zce.ca&lt;br /&gt;
	zcf.ca&lt;br /&gt;
	zch.ca&lt;br /&gt;
	zcj.ca&lt;br /&gt;
	zck.ca&lt;br /&gt;
	zcm.ca&lt;br /&gt;
	zcn.ca&lt;br /&gt;
	zcq.ca&lt;br /&gt;
	zcr.ca&lt;br /&gt;
	zct.ca&lt;br /&gt;
	zcu.ca&lt;br /&gt;
	zcv.ca&lt;br /&gt;
	zcw.ca&lt;br /&gt;
	zcx.ca&lt;br /&gt;
	zcy.ca&lt;br /&gt;
	zdd.ca&lt;br /&gt;
	zdg.ca&lt;br /&gt;
	zdi.ca&lt;br /&gt;
	zdj.ca&lt;br /&gt;
	zdk.ca&lt;br /&gt;
	zdl.ca&lt;br /&gt;
	zdo.ca&lt;br /&gt;
	zdq.ca&lt;br /&gt;
	zdv.ca&lt;br /&gt;
	zdw.ca&lt;br /&gt;
	zdy.ca&lt;br /&gt;
	zdz.ca&lt;br /&gt;
	zeg.ca&lt;br /&gt;
	zej.ca&lt;br /&gt;
	zeq.ca&lt;br /&gt;
	zew.ca&lt;br /&gt;
	zfa.ca&lt;br /&gt;
	zfb.ca&lt;br /&gt;
	zfd.ca&lt;br /&gt;
	zfe.ca&lt;br /&gt;
	zff.ca&lt;br /&gt;
	zfg.ca&lt;br /&gt;
	zfh.ca&lt;br /&gt;
	zfj.ca&lt;br /&gt;
	zfk.ca&lt;br /&gt;
	zfl.ca&lt;br /&gt;
	zfn.ca&lt;br /&gt;
	zfo.ca&lt;br /&gt;
	zfp.ca&lt;br /&gt;
	zfq.ca&lt;br /&gt;
	zfr.ca&lt;br /&gt;
	zft.ca&lt;br /&gt;
	zfu.ca&lt;br /&gt;
	zfv.ca&lt;br /&gt;
	zfw.ca&lt;br /&gt;
	zfy.ca&lt;br /&gt;
	zfz.ca&lt;br /&gt;
	zgb.ca&lt;br /&gt;
	zgd.ca&lt;br /&gt;
	zge.ca&lt;br /&gt;
	zgf.ca&lt;br /&gt;
	zgg.ca&lt;br /&gt;
	zgh.ca&lt;br /&gt;
	zgi.ca&lt;br /&gt;
	zgj.ca&lt;br /&gt;
	zgk.ca&lt;br /&gt;
	zgl.ca&lt;br /&gt;
	zgn.ca&lt;br /&gt;
	zgo.ca&lt;br /&gt;
	zgp.ca&lt;br /&gt;
	zgq.ca&lt;br /&gt;
	zgt.ca&lt;br /&gt;
	zgu.ca&lt;br /&gt;
	zgv.ca&lt;br /&gt;
	zgw.ca&lt;br /&gt;
	zgx.ca&lt;br /&gt;
	zgy.ca&lt;br /&gt;
	zgz.ca&lt;br /&gt;
	zhb.ca&lt;br /&gt;
	zhf.ca&lt;br /&gt;
	zhg.ca&lt;br /&gt;
	zhh.ca&lt;br /&gt;
	zhj.ca&lt;br /&gt;
	zhk.ca&lt;br /&gt;
	zhm.ca&lt;br /&gt;
	zhn.ca&lt;br /&gt;
	zhq.ca&lt;br /&gt;
	zht.ca&lt;br /&gt;
	zhv.ca&lt;br /&gt;
	zhw.ca&lt;br /&gt;
	zhx.ca&lt;br /&gt;
	zhy.ca&lt;br /&gt;
	zih.ca&lt;br /&gt;
	zij.ca&lt;br /&gt;
	zir.ca&lt;br /&gt;
	ziu.ca&lt;br /&gt;
	ziw.ca&lt;br /&gt;
	ziy.ca&lt;br /&gt;
	zja.ca&lt;br /&gt;
	zjb.ca&lt;br /&gt;
	zjc.ca&lt;br /&gt;
	zjd.ca&lt;br /&gt;
	zje.ca&lt;br /&gt;
	zjf.ca&lt;br /&gt;
	zjh.ca&lt;br /&gt;
	zjj.ca&lt;br /&gt;
	zjk.ca&lt;br /&gt;
	zjl.ca&lt;br /&gt;
	zjm.ca&lt;br /&gt;
	zjp.ca&lt;br /&gt;
	zjq.ca&lt;br /&gt;
	zjr.ca&lt;br /&gt;
	zjt.ca&lt;br /&gt;
	zju.ca&lt;br /&gt;
	zjv.ca&lt;br /&gt;
	zjw.ca&lt;br /&gt;
	zjx.ca&lt;br /&gt;
	zjy.ca&lt;br /&gt;
	zjz.ca&lt;br /&gt;
	zka.ca&lt;br /&gt;
	zkb.ca&lt;br /&gt;
	zkc.ca&lt;br /&gt;
	zke.ca&lt;br /&gt;
	zkf.ca&lt;br /&gt;
	zkh.ca&lt;br /&gt;
	zkj.ca&lt;br /&gt;
	zkk.ca&lt;br /&gt;
	zkl.ca&lt;br /&gt;
	zkn.ca&lt;br /&gt;
	zkp.ca&lt;br /&gt;
	zkq.ca&lt;br /&gt;
	zkr.ca&lt;br /&gt;
	zkt.ca&lt;br /&gt;
	zku.ca&lt;br /&gt;
	zkw.ca&lt;br /&gt;
	zkx.ca&lt;br /&gt;
	zky.ca&lt;br /&gt;
	zkz.ca&lt;br /&gt;
	zlb.ca&lt;br /&gt;
	zle.ca&lt;br /&gt;
	zlf.ca&lt;br /&gt;
	zlg.ca&lt;br /&gt;
	zlh.ca&lt;br /&gt;
	zli.ca&lt;br /&gt;
	zlj.ca&lt;br /&gt;
	zll.ca&lt;br /&gt;
	zln.ca&lt;br /&gt;
	zlp.ca&lt;br /&gt;
	zlq.ca&lt;br /&gt;
	zlr.ca&lt;br /&gt;
	zlu.ca&lt;br /&gt;
	zlv.ca&lt;br /&gt;
	zlw.ca&lt;br /&gt;
	zlx.ca&lt;br /&gt;
	zly.ca&lt;br /&gt;
	zlz.ca&lt;br /&gt;
	zmf.ca&lt;br /&gt;
	zmh.ca&lt;br /&gt;
	zmj.ca&lt;br /&gt;
	zmk.ca&lt;br /&gt;
	zmm.ca&lt;br /&gt;
	zmn.ca&lt;br /&gt;
	zmo.ca&lt;br /&gt;
	zmp.ca&lt;br /&gt;
	zmq.ca&lt;br /&gt;
	zmt.ca&lt;br /&gt;
	zmu.ca&lt;br /&gt;
	zmv.ca&lt;br /&gt;
	zmw.ca&lt;br /&gt;
	zmx.ca&lt;br /&gt;
	zmy.ca&lt;br /&gt;
	znb.ca&lt;br /&gt;
	znd.ca&lt;br /&gt;
	zne.ca&lt;br /&gt;
	znf.ca&lt;br /&gt;
	zng.ca&lt;br /&gt;
	znh.ca&lt;br /&gt;
	zni.ca&lt;br /&gt;
	znj.ca&lt;br /&gt;
	znm.ca&lt;br /&gt;
	zno.ca&lt;br /&gt;
	znq.ca&lt;br /&gt;
	znr.ca&lt;br /&gt;
	znt.ca&lt;br /&gt;
	znu.ca&lt;br /&gt;
	znv.ca&lt;br /&gt;
	znw.ca&lt;br /&gt;
	znx.ca&lt;br /&gt;
	zny.ca&lt;br /&gt;
	zoc.ca&lt;br /&gt;
	zoq.ca&lt;br /&gt;
	zov.ca&lt;br /&gt;
	zpb.ca&lt;br /&gt;
	zpd.ca&lt;br /&gt;
	zpe.ca&lt;br /&gt;
	zpg.ca&lt;br /&gt;
	zph.ca&lt;br /&gt;
	zpj.ca&lt;br /&gt;
	zpk.ca&lt;br /&gt;
	zpl.ca&lt;br /&gt;
	zpm.ca&lt;br /&gt;
	zpp.ca&lt;br /&gt;
	zpq.ca&lt;br /&gt;
	zpr.ca&lt;br /&gt;
	zpt.ca&lt;br /&gt;
	zpu.ca&lt;br /&gt;
	zpv.ca&lt;br /&gt;
	zpw.ca&lt;br /&gt;
	zpz.ca&lt;br /&gt;
	zqa.ca&lt;br /&gt;
	zqb.ca&lt;br /&gt;
	zqd.ca&lt;br /&gt;
	zqe.ca&lt;br /&gt;
	zqf.ca&lt;br /&gt;
	zqg.ca&lt;br /&gt;
	zqh.ca&lt;br /&gt;
	zqi.ca&lt;br /&gt;
	zqj.ca&lt;br /&gt;
	zqk.ca&lt;br /&gt;
	zql.ca&lt;br /&gt;
	zqm.ca&lt;br /&gt;
	zqn.ca&lt;br /&gt;
	zqo.ca&lt;br /&gt;
	zqp.ca&lt;br /&gt;
	zqq.ca&lt;br /&gt;
	zqr.ca&lt;br /&gt;
	zqs.ca&lt;br /&gt;
	zqt.ca&lt;br /&gt;
	zqu.ca&lt;br /&gt;
	zqv.ca&lt;br /&gt;
	zqw.ca&lt;br /&gt;
	zqx.ca&lt;br /&gt;
	zqy.ca&lt;br /&gt;
	zqz.ca&lt;br /&gt;
	zra.ca&lt;br /&gt;
	zrc.ca&lt;br /&gt;
	zrd.ca&lt;br /&gt;
	zrh.ca&lt;br /&gt;
	zri.ca&lt;br /&gt;
	zrj.ca&lt;br /&gt;
	zrk.ca&lt;br /&gt;
	zrn.ca&lt;br /&gt;
	zrq.ca&lt;br /&gt;
	zrt.ca&lt;br /&gt;
	zru.ca&lt;br /&gt;
	zrv.ca&lt;br /&gt;
	zrw.ca&lt;br /&gt;
	zrx.ca&lt;br /&gt;
	zry.ca&lt;br /&gt;
	zrz.ca&lt;br /&gt;
	zsb.ca&lt;br /&gt;
	zsf.ca&lt;br /&gt;
	zsg.ca&lt;br /&gt;
	zsk.ca&lt;br /&gt;
	zsl.ca&lt;br /&gt;
	zsn.ca&lt;br /&gt;
	zss.ca&lt;br /&gt;
	zst.ca&lt;br /&gt;
	zsv.ca&lt;br /&gt;
	zsw.ca&lt;br /&gt;
	zsy.ca&lt;br /&gt;
	zta.ca&lt;br /&gt;
	ztb.ca&lt;br /&gt;
	ztd.ca&lt;br /&gt;
	ztf.ca&lt;br /&gt;
	zth.ca&lt;br /&gt;
	ztj.ca&lt;br /&gt;
	ztk.ca&lt;br /&gt;
	ztm.ca&lt;br /&gt;
	ztn.ca&lt;br /&gt;
	ztp.ca&lt;br /&gt;
	ztq.ca&lt;br /&gt;
	ztt.ca&lt;br /&gt;
	ztu.ca&lt;br /&gt;
	ztw.ca&lt;br /&gt;
	ztx.ca&lt;br /&gt;
	zty.ca&lt;br /&gt;
	zuc.ca&lt;br /&gt;
	zud.ca&lt;br /&gt;
	zuf.ca&lt;br /&gt;
	zuh.ca&lt;br /&gt;
	zuj.ca&lt;br /&gt;
	zuq.ca&lt;br /&gt;
	zuw.ca&lt;br /&gt;
	zux.ca&lt;br /&gt;
	zuy.ca&lt;br /&gt;
	zva.ca&lt;br /&gt;
	zvb.ca&lt;br /&gt;
	zvc.ca&lt;br /&gt;
	zvd.ca&lt;br /&gt;
	zve.ca&lt;br /&gt;
	zvf.ca&lt;br /&gt;
	zvg.ca&lt;br /&gt;
	zvh.ca&lt;br /&gt;
	zvj.ca&lt;br /&gt;
	zvk.ca&lt;br /&gt;
	zvl.ca&lt;br /&gt;
	zvm.ca&lt;br /&gt;
	zvo.ca&lt;br /&gt;
	zvp.ca&lt;br /&gt;
	zvq.ca&lt;br /&gt;
	zvt.ca&lt;br /&gt;
	zvu.ca&lt;br /&gt;
	zvv.ca&lt;br /&gt;
	zvw.ca&lt;br /&gt;
	zvx.ca&lt;br /&gt;
	zvy.ca&lt;br /&gt;
	zwa.ca&lt;br /&gt;
	zwb.ca&lt;br /&gt;
	zwd.ca&lt;br /&gt;
	zwe.ca&lt;br /&gt;
	zwf.ca&lt;br /&gt;
	zwh.ca&lt;br /&gt;
	zwk.ca&lt;br /&gt;
	zwl.ca&lt;br /&gt;
	zwm.ca&lt;br /&gt;
	zwn.ca&lt;br /&gt;
	zwo.ca&lt;br /&gt;
	zwp.ca&lt;br /&gt;
	zwq.ca&lt;br /&gt;
	zwr.ca&lt;br /&gt;
	zws.ca&lt;br /&gt;
	zwt.ca&lt;br /&gt;
	zwu.ca&lt;br /&gt;
	zwv.ca&lt;br /&gt;
	zww.ca&lt;br /&gt;
	zwy.ca&lt;br /&gt;
	zwz.ca&lt;br /&gt;
	zxa.ca&lt;br /&gt;
	zxb.ca&lt;br /&gt;
	zxd.ca&lt;br /&gt;
	zxe.ca&lt;br /&gt;
	zxf.ca&lt;br /&gt;
	zxg.ca&lt;br /&gt;
	zxh.ca&lt;br /&gt;
	zxi.ca&lt;br /&gt;
	zxj.ca&lt;br /&gt;
	zxk.ca&lt;br /&gt;
	zxl.ca&lt;br /&gt;
	zxm.ca&lt;br /&gt;
	zxn.ca&lt;br /&gt;
	zxo.ca&lt;br /&gt;
	zxp.ca&lt;br /&gt;
	zxq.ca&lt;br /&gt;
	zxr.ca&lt;br /&gt;
	zxs.ca&lt;br /&gt;
	zxt.ca&lt;br /&gt;
	zxv.ca&lt;br /&gt;
	zxw.ca&lt;br /&gt;
	zxy.ca&lt;br /&gt;
	zyb.ca&lt;br /&gt;
	zyd.ca&lt;br /&gt;
	zyf.ca&lt;br /&gt;
	zyh.ca&lt;br /&gt;
	zyj.ca&lt;br /&gt;
	zym.ca&lt;br /&gt;
	zyo.ca&lt;br /&gt;
	zyr.ca&lt;br /&gt;
	zys.ca&lt;br /&gt;
	zyt.ca&lt;br /&gt;
	zyu.ca&lt;br /&gt;
	zyv.ca&lt;br /&gt;
	zyw.ca&lt;br /&gt;
	zyy.ca&lt;br /&gt;
	zzb.ca&lt;br /&gt;
	zzc.ca&lt;br /&gt;
	zzd.ca&lt;br /&gt;
	zze.ca&lt;br /&gt;
	zzf.ca&lt;br /&gt;
	zzg.ca&lt;br /&gt;
	zzh.ca&lt;br /&gt;
	zzj.ca&lt;br /&gt;
	zzk.ca&lt;br /&gt;
	zzm.ca&lt;br /&gt;
	zzn.ca&lt;br /&gt;
	zzq.ca&lt;br /&gt;
	zzs.ca&lt;br /&gt;
	zzt.ca&lt;br /&gt;
	zzu.ca&lt;br /&gt;
	zzv.ca&lt;br /&gt;
	zzw.ca&lt;br /&gt;
	zzx.ca&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=417&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/dot-ca-domain/&quot; target=&quot;_blank&quot;&gt;11条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/dot-ca-domain/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433893/longbill/feedsky/s.gif?r=http://php.js.cn/blog/dot-ca-domain/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 11 Mar 2011 16:27:05 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/dot-ca-domain/</guid><fs:srclink>http://php.js.cn/blog/dot-ca-domain/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433893/5519543</fs:itemid></item><item><title>Kindle 3的系统和网络情况以及通过其连电脑上网</title><link>http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/</link><description>&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 搜索&amp;ldquo;kindle 3用作modem共享3G上网&amp;rdquo;，有很多文章，但绝大部分都是翻译国外一个哥们的文章，写的很大概，一般人很难操作成功。 昨天根据这篇文章研究了下kindle 3的系统，得到一些成功。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; Kindle 的系统是amazon基于linux开发的嵌入式系统。通过在kindle上安装usbNetwork（网上自己搜索，有很多东西都要用到usbNetwork），可以把kindle与电脑连成一个局域网内。然后通过ssh或者telnet可以进入kindle内部。（用户名是root，密码是空，一般usbNetwork装好后，电脑的ip就是192.168.2.1，kindle的ip是192.168.2.2）&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; Kindle 3 打开wireless 并成功连上3g网络后，用ifconfig命令可以看到有一个ppp0连接，这就是3G网卡。 按理说就算是漫游，设备在连接上3G网络后，都应该有完全的网络访问能力。但是kindle系统限制了只能连接某几个ip（几个*.amazon.com的站点）。ping www.amazon.com 可以，但是ping 8.8.8.8就不行。 kindle系统里面的浏览器是通过fints-&lt;br /&gt;
	g7g.amazon.com ( 72.21.206.113 ) 这个http代理服务器实现上网的（https代理服务器是另外一个）。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 可恶的是，amazon的代理服务器需要验证身份，在发送给代理服务器的http请求header里面需要加上x-fsn和x-fn-appid头才能通过验证。不同的kindle设备这两个值不同，所以需要先截取kindle内部浏览器发送的请求，得到这两个header值。方法是下载一个&lt;a href=&quot;http://www.eecs.umich.edu/%7Etimuralp/tcpdump-arm&quot; target=&quot;_blank&quot;&gt;tcpdump-arm&lt;/a&gt;软件，传到kindle内（可以使用scp命令，或者先在U盘模式下存到kindle的sd卡里，然后可以在/mnt/us/下面找到）。然后进入kindle内部，运行此软件（如果提示没有权限，可以试试chmod 555 tcpdump-arm设置下权限）。运行方式是找到tcpdump-arm文件的文件夹，然后./tcpdump-arm -nAi ppp0 -s0。 然后在kindle上打开浏览器，随便上一个http网站，电脑上的命令行界面就可以看到截取的各种消息，很容易就从中找出需要的两个header值。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 得到两个header值之后，我们就可以在电脑上伪造kindle内部浏览器的请求了。 很遗憾，目前只能用firefox实现，并需要一枚firefox扩展：modify-headers。安装好这个扩展，先添加上面说的两个header，然后设置forefix的http代理服务器为 localhost 端口号是1234(随你)。 然后在kindle上做一个逆向端口转发，把本地的1234端口的数据转发到72.21.206.113的80端口上。 具体步骤是 先telnet或者ssh进你的kindle，然后输入ssh -R 1234:72.21.206.113:80 username@192.168.2.1。其中username@192.168.2.1是你电脑的ssh用户名和ip。能这样做的前提是你的电脑可以通过ssh登录，这个在mac os 和linux下非常容易，windows用户只能说靠你自己了。。。。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 此时你应该可以用你的firefox正常上网了。 你可以跳过添加验证header的步骤，也可以上网，但是仅限于*.amazon.com站点。 不过遗憾的是，就算能够正常上网，也无法访问https链接，因为modify-headers这个扩展貌似不支持https请求。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 另外，ssh可能会经常断，kindle的3g连接在一段时间不使用后，也会自动断开。为了防止此种情况发生，在创建好反向连接后，输入ping 192.168.2.2 从你的电脑不停的ping kindle，这样可以保持这个反向连接不断开。然后再开一个命令行窗口，再次进入kindle，输入ping www.amazon.com ，这样可以保持kindle的3G网络不断开。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 如果某个高人能够破解kindle系统对网络访问的限制，使其能访问任意站点，那就不用这么麻烦了，而且数据也不用走美国跑一趟。这应该是可以通过软方法实现的，因为既然kindle能直接访问*.amazon.com，那就证明kindle有网络访问权限，问题肯定在操作系统上。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 如果实在无法破解其限制，我在考虑做一个proxy程序，在kindle上运行，自动添加验证header到每个请求头部。这样，就可以简化到 1在kindle上运行usbNetwork和proxy并连接到电脑，2在电脑上任意浏览器输入http代理 192.168.2.2 80端口，就可以了。 而且也能更好的支持https。 我在考虑用开源的tinyproxy修改，交叉编译然后放到kindle里面运行。 &lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 交叉编译我们学校教过，但是被我完全忘了。。。。一切得从头学一下。 &lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; 对于某些同学认为如果大家都滥用kindle的免费3G，amazon肯定会禁用全部kindle的3g访问。 我觉得不会，因为目前，所有流量都是走amazon的代理，他们知道所有流量信息，并且能区分不同的kindle设备发送的数据，觉得某个kindle有问题，把那个kindle设备禁用掉就行，不会殃及到其他人的。 要是那个高人破解了kindle系统的网络访问限制，那估计AT&amp;amp;T会真的找到amazon禁用全球漫游的数据。。。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160;&amp;#160; kindle的所有网络请求都走代理，虽然响应速度慢了点，但是下载速度还可以，我试过下载最高可以达到100-200K/s，但是如果持续的大流量下载，代理服务器会禁用你的连接一会儿。 比如我无法完整的看完一个视频。&amp;#160;&amp;#160; 另外，就是这个代理服务器可以顺便实现翻墙，不过悲剧的事情有来了，twitter和facebook等绝大部分墙外的东西登录都用的是https。。。解决办法是先用电脑正常翻墙登录并保存登录信息，然后再用kindle上。&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=412&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/&quot; target=&quot;_blank&quot;&gt;17条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433894/longbill/feedsky/s.gif?r=http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Sun, 23 Jan 2011 23:26:06 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/</guid><fs:srclink>http://php.js.cn/blog/kindle-3-3g-usbnetwork-tether/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433894/5519543</fs:itemid></item><item><title>无需smtp服务器直接发送邮件</title><link>http://php.js.cn/blog/smtp-mail/</link><description>&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;以前发邮件都是连接smtp服务器然后再发送的。比如先用自己的gmail账号连接到smtp.gmail.com，认证之后再发送邮件。但是这种方式常常会有限制，发送速度慢不说，每日发送数量还有限制。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;后来一直在想邮件服务器之间是怎么发送的呢，如果可以直接连接对方mail服务器就好了。 经过很多尝试都不行，现在知道是因为各个邮件服务器都有反垃圾邮件机制，所以要做很多预备工作才可以。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;下面我以 longbill@php.js.cn 为发送者发送邮件为例，讲讲这种直接连对方服务器发送邮件的方式。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;首先需要设置 php.js.cn 域名的 txt 记录为：v=spf1 ip4:173.230.145.228 ~all 。意思是增加一个spf记录，允许173.230.145.228ip发送邮件。邮件服务器收到邮件的时候会检查这个。&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;然后设置 php.js.cn 的 MX记录为 173.230.145.228 。这点按理说是不需要的，但是我觉得还是加上比较好。 意思是别人发送邮件到 xxx@php.js.cn 的时候，会被连接到这个IP。&amp;#160;&amp;#160;&amp;#160; &amp;#160;&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;然后就可以用php直接发送邮件了。 php要做的事情如下：&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		拿到对方email后，首先检查域名的mx记录。例如 longbill.cn@gmail.com ，要用getmxrr函数得到gmail.com的mx记录，一般取第一条就可以了。&lt;/li&gt;
	&lt;li&gt;
		用fsockopen连接刚刚得到的服务器域名&lt;/li&gt;
	&lt;li&gt;
		按照SMTP协议写命令，取得返回结果。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;#160;&amp;#160; &amp;#160;看起来像这样： 绿色的是服务器返回的信息，红色的是php发送的信息。每个换行都是\r\n&lt;/p&gt;
&lt;p&gt;
	&amp;#160;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#008000;&quot;&gt;220 126.com Anti-spam GT for Coremail System (126com[20101010])&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;HELO php.js.cn&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;250 OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;MAIL FROM:&amp;lt;longbill@php.js.cn&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;250 Mail OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;RCPT TO:&amp;lt;lclgg@126.com&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;250 Mail OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;DATA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;MIME-Version: 1.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;Delivered-To: lclgg@126.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;Subject: =?UTF-8?B?6L+Z6YeM5piv5rWL6K+V6YKu5Lu25qCH6aKY?=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;From: Longbill &amp;lt;longbill@php.js.cn&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;To: &amp;#160;lclgg@126.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;Content-Type: text/plain; charset=UTF-8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;Content-Transfer-Encoding: base64&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;&lt;br /&gt;
	&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;6L+Z6YeM5piv5rWL6K+V6YKu5Lu25YaF5a6544CC&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;250 Mail OK queued as mx9,J8mowLDb7+xoCDdNCIe9AA--.240S2 1295452266&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#a52a2a;&quot;&gt;QUIT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;color:#006400;&quot;&gt;221 Bye&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;font-size:8px;&quot;&gt;&lt;span style=&quot;font-family:arial,helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	就是这样。 &amp;#160;源代码在这里。&amp;#160;&lt;a href=&quot;http://php.js.cn/down/sample/mail.php.txt&quot; target=&quot;_blank&quot;&gt;http://php.js.cn/down/sample/mail.php.txt&lt;/a&gt;&lt;/p&gt;
	&lt;img src=&quot;http://php.js.cn/?p=addread&amp;id=410&quot; width=&quot;1&quot; height=&quot;1&quot; class=&quot;avatar&quot; /&gt;
	&lt;br /&gt;
	&lt;a href=&quot;http://php.js.cn/blog/smtp-mail/&quot; target=&quot;_blank&quot;&gt;15条评论&lt;/a&gt; &amp;nbsp; &amp;nbsp; 
	&lt;a href=&quot;http://php.js.cn/blog/smtp-mail/&quot; target=&quot;_blank&quot;&gt;到PHP.JS.CN上围观原文&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/586433895/longbill/feedsky/s.gif?r=http://php.js.cn/blog/smtp-mail/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 20 Jan 2011 00:10:21 +0800</pubDate><guid isPermaLink="false">http://php.js.cn/blog/smtp-mail/</guid><fs:srclink>http://php.js.cn/blog/smtp-mail/</fs:srclink><fs:srcfeed>http://php.js.cn/rss/</fs:srcfeed><fs:itemid>feedsky/longbill/~8406749/586433895/5519543</fs:itemid></item></channel></rss>
