(function(上帝){
	var 
	需编码字串表={
		'&':'&amp;',
		'<':'&lt;',
		'>':'&gt;',
		'"':'&quot;',
		"'":'&#39;',
		'/':'&#x2F;',
		'`':'&#x60;',
		'=':'&#x3D;'
	},
	编码成文本=function(string){
		return String(string).replace(/[&<>"'`=\/]/g,function(s){
			return 需编码字串表[s];
		}).replace(/\n\r/g,function(s){
			return '\\n';
		})
	},
	编码成网页=function(string){
		return String(string);
		return String(string).replace(/"/g,function(s){
			return '\\'+s;
		});
	}, 
	编译模板=function(模板字串){
		var 
		已打开的钥匙们=[],
		模板字串=模板字串
			.replace(/[\n\r\t]/g,'')
			.replace(/"/g,'\\"')
			.replace(/\{\{(#|\/|\^|&|\$)?(.+?)\}\}/g,function(整段文字,动作,管道){

			if(管道=='.')
				管道='$value';
			管道=管道.split('|');

			钥匙=管道.shift();

			var 
			管道前,
			管道后,
			钥匙和管道;

			管道前=管道.join('(')+'(';

			管道后=[];
			管道后.length=管道.length;
			管道后=管道后.join(')')+')';

			钥匙和管道=管道前+钥匙+管道后;

			switch(动作){
				case '#':
					已打开的钥匙们.push(钥匙);

				
					return '");\
					(function(){\
						var $value;\
						var $key;\
						if( typeof('+钥匙+')!=="undefined" && '+钥匙+' && (钥匙='+钥匙和管道+'))\
						for($key in '+钥匙+')\
							with($value='+钥匙+'[$key]){\
							$return.push("';

					break;
				case '$':
					已打开的钥匙们.push(钥匙);

					return '");\
					(function(){\
						if( typeof('+钥匙+')!=="undefined" && '+钥匙+' ){\
							$return.push("';
				
					break;
				case '^':
					已打开的钥匙们.push(钥匙);

					return '");\
					(function(){\
						if( typeof('+钥匙+')==="undefined" || !'+钥匙+' ){\
							$return.push("';
				
					break;
				case '/':
					var 
					长度=已打开的钥匙们.length+1;
					while(已打开的钥匙们[--长度]&&已打开的钥匙们[长度]!=钥匙);
					
					已打开的钥匙们.splice(长度,1);

					return '")\
						}\
					})();\
					$return.push("';
				
					break;
				case '&':

					return '");\
						if(typeof('+钥匙+')!=="undefined")\
							$return.push(模板.编码成网页('+钥匙和管道+'||\'\'));\
						\
						$return.push("';

					break;
				default:

					return '");\
						if(typeof('+钥匙+')!=="undefined")\
							$return.push(模板.编码成文本('+钥匙和管道+'||\'\'));\
						\
						$return.push("';

					break;
			}

		});

		模板字串='\
			var $return=[];\
			with($data){\
				$return.push("'+模板字串+'");\
			}\
			return $return.join(\'\');';

		return Function('$data',模板字串);
	},
	运转=function(模板字串,数据,作用域){
		return 编译模板(模板字串).call(作用域||上帝,数据);
	};
	
	上帝.模板={
		运转:运转,
		编译模板:编译模板,
		编码成文本:编码成文本,
		编码成网页:编码成网页,
	};

})(this);
@@ -641,17 +641,17 @@
 %09%09%09%09%E7%AE%A1%E9%81%93='
-$
+_
 value';%0A
@@ -942,17 +942,17 @@
 %09%09%09%09var 
-$
+_
 value;%5C%0A
@@ -961,17 +961,17 @@
 %09%09%09%09var 
-$
+_
 key;%5C%0A%09%09
@@ -1047,17 +1047,17 @@
 %09%09%09%09for(
-$
+_
 key in '
@@ -1076,17 +1076,17 @@
 %09%09%09with(
-$
+_
 value='+
@@ -1090,17 +1090,17 @@
 ='+%E9%92%A5%E5%8C%99+'%5B
-$
+_
 key%5D)%7B%5C%0A
@@ -1773,19 +1773,16 @@
 rn.push(
-%E6%A8%A1%E6%9D%BF.
 %E7%BC%96%E7%A0%81%E6%88%90%E7%BD%91%E9%A1%B5('+
@@ -1939,11 +1939,8 @@
 ush(
-%E6%A8%A1%E6%9D%BF.
 %E7%BC%96%E7%A0%81%E6%88%90%E6%96%87
@@ -2161,16 +2161,32 @@
 '$data',
+'%E7%BC%96%E7%A0%81%E6%88%90%E6%96%87%E6%9C%AC','%E7%BC%96%E7%A0%81%E6%88%90%E7%BD%91%E9%A1%B5',
 %E6%A8%A1%E6%9D%BF%E5%AD%97%E4%B8%B2);%0A%09
@@ -2250,16 +2250,28 @@
 %E5%9F%9F%7C%7C%E4%B8%8A%E5%B8%9D,%E6%95%B0%E6%8D%AE
+,%E7%BC%96%E7%A0%81%E6%88%90%E6%96%87%E6%9C%AC,%E7%BC%96%E7%A0%81%E6%88%90%E7%BD%91%E9%A1%B5
 );%0A%09%7D;%0A%09
@@ -2346,8 +2346,9 @@
 )(this);
+%0A

修复 $ -> _