+ Initial source checkin

This commit is contained in:
NuSkooler
2014-10-16 20:21:06 -06:00
parent 9804c93f2e
commit 9a7e90b9b2
31 changed files with 4361 additions and 0 deletions

285
core/ansi_escape_parser.js Normal file
View File

@@ -0,0 +1,285 @@
/* jslint node: true */
'use strict';
var events = require('events');
var util = require('util');
var miscUtil = require('./misc_util.js');
exports.ANSIEscapeParser = ANSIEscapeParser;
function ANSIEscapeParser(options) {
var self = this;
events.EventEmitter.call(this);
this.column = 1;
this.row = 1;
this.flags = 0x00;
this.scrollBack = 0;
options = miscUtil.valueWithDefault(options, {
mciReplaceChar : '',
termHeight : 25,
termWidth : 80,
});
this.mciReplaceChar = miscUtil.valueWithDefault(options.mciReplaceChar, '');
this.termHeight = miscUtil.valueWithDefault(options.termHeight, 25);
this.termWidth = miscUtil.valueWithDefault(options.termWidth, 80);
function getArgArray(array) {
var i = array.length;
while(i--) {
array[i] = parseInt(array[i], 10);
}
return array;
}
self.moveCursor = function(cols, rows) {
self.column += cols;
self.row += rows;
self.column = Math.max(self.column, 1);
self.column = Math.min(self.column, self.termWidth);
self.row = Math.max(self.row, 1);
self.row = Math.min(self.row, self.termHeight);
self.emit('move cursor', self.column, self.row);
self.rowUpdated();
};
self.saveCursorPosition = function() {
self.savedPosition = {
row : self.row,
column : self.column
};
};
self.restoreCursorPosition = function() {
self.row = self.savedPosition.row;
self.column = self.savedPosition.column;
delete self.savedPosition;
self.rowUpdated();
};
self.clearScreen = function() {
// :TODO: should be doing something with row/column?
self.emit('clear screen');
};
self.resetColor = function() {
self.fgColor = 7;
self.bgColor = 0;
};
self.rowUpdated = function() {
self.emit('row update', self.row + self.scrollBack);
};
function literal(text) {
var CR = 0x0d;
var LF = 0x0a;
var charCode;
var len = text.length;
for(var i = 0; i < len; i++) {
charCode = text.charCodeAt(i) & 0xff; // ensure 8 bit
switch(charCode) {
case CR :
self.column = 1;
break;
case LF :
self.row++;
self.rowUpdated();
break;
default :
// wrap
if(self.column === self.termWidth) {
self.column = 1;
self.row++;
self.rowUpdated();
} else {
self.column++;
}
break;
}
if(self.row === 26) {
self.scrollBack++;
self.row--;
self.rowUpdated();
}
}
self.emit('chunk', text);
}
function mci(mciCode, args) {
console.log(mciCode, args);
}
function getProcessedMCI(mci) {
if(self.mciReplaceChar.length > 0) {
return new Array(mci.length + 1).join(self.mciReplaceChar);
} else {
return mci;
}
}
function parseMCI(buffer) {
var mciRe = /\%([A-Z]{2}[0-9]{1,2})(?:\(([0-9A-Z,]+)\))*/g;
var pos = 0;
var match;
var mciCode;
var args;
do {
pos = mciRe.lastIndex;
match = mciRe.exec(buffer);
if(null !== match) {
if(match.index > pos) {
literal(buffer.slice(pos, match.index));
}
mciCode = match[1];
if(match[2]) {
args = match[2].split(',');
} else {
args = [];
}
self.emit('mci', mciCode, args);
self.emit('chunk', getProcessedMCI(match[0]));
}
} while(0 !== mciRe.lastIndex);
if(pos < buffer.length) {
literal(buffer.slice(pos));
}
}
self.parse = function(buffer, savedRe) {
// :TODO: ensure this conforms to ANSI-BBS / CTerm / bansi.txt for movement/etc.
var re = /(?:\x1b\x5b)([\?=;0-9]*?)([ABCDHJKfhlmnpsu])/g;
var pos = 0;
var match;
var opCode;
var args;
// ignore anything past EOF marker, if any
buffer = buffer.split(String.fromCharCode(0x1a), 1)[0];
do {
pos = re.lastIndex;
match = re.exec(buffer);
if(null !== match) {
if(match.index > pos) {
parseMCI(buffer.slice(pos, match.index));
}
opCode = match[2];
args = getArgArray(match[1].split(';'));
escape(opCode, args);
self.emit('chunk', match[0]);
}
} while(0 !== re.lastIndex);
if(pos < buffer.length) {
parseMCI(buffer.slice(pos));
}
self.emit('complete');
};
function escape(opCode, args) {
var arg;
var i;
var len;
switch(opCode) {
// cursor up
case 'A' :
arg = args[0] || 1;
self.moveCursor(0, -arg);
break;
// cursor down
case 'B' :
arg = args[0] || 1;
self.moveCursor(0, arg);
break;
// cursor forward/right
case 'C' :
arg = args[0] || 1;
self.moveCursor(arg, 0);
break;
// cursor back/left
case 'D' :
arg = args[0] || 1;
self.moveCursor(-arg, 0);
break;
case 'f' : // horiz & vertical
case 'H' : // cursor position
self.row = args[0] || 1;
self.column = args[1] || 1;
self.rowUpdated();
break;
// save position
case 's' :
self.saveCursorPosition();
break;
// restore position
case 'u' :
self.restoreCursorPosition();
break;
// set graphic rendition
case 'm' :
for(i = 0, len = args.length; i < len; ++i) {
arg = args[i];
if(0x00 === arg) {
self.flags = 0x00;
self.resetColor();
} else {
switch(Math.floor(arg / 10)) {
case 0 : self.flags |= arg; break;
case 3 : self.fgColor = arg; break;
case 4 : self.bgColor = arg; break;
//case 3 : self.fgColor = arg - 30; break;
//case 4 : self.bgColor = arg - 40; break;
}
}
}
break;
// erase display/screen
case 'J' :
// :TODO: Handle others
if(2 === args[0]) {
self.clearScreen();
}
break;
}
}
}
util.inherits(ANSIEscapeParser, events.EventEmitter);

338
core/ansi_term.js Normal file
View File

@@ -0,0 +1,338 @@
/* jslint node: true */
'use strict';
//
// ANSI Terminal Support
//
// Resources:
// * http://ansi-bbs.org/
// * http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/ANSI/ansisys.txt
// * http://en.wikipedia.org/wiki/ANSI_escape_code
//
var assert = require('assert');
var binary = require('binary');
var miscUtil = require('./misc_util.js');
exports.sgr = sgr;
exports.clearScreen = clearScreen;
exports.clearScreenGoHome = clearScreenGoHome;
exports.normal = normal;
exports.goHome = goHome;
exports.disableVT100LineWrapping = disableVT100LineWrapping;
exports.setSyncTermFont = setSyncTermFont;
exports.fromPipeCode = fromPipeCode;
exports.forEachControlCode = forEachControlCode;
//
// See also
// https://github.com/TooTallNate/ansi.js/blob/master/lib/ansi.js
var ESC_CSI = '\u001b[';
var CONTROL = {
up : 'A',
down : 'B',
forward : 'C',
back : 'D',
nextLine : 'E',
prevLine : 'F',
horizAbsolute : 'G',
eraseData : 'J',
scrollUp : 'S',
scrollDown : 'T',
savePos : 's',
restorePos : 'u',
queryPos : '6n',
goto : 'H', // row Pr, column Pc -- same as f
gotoAlt : 'f' // same as H
};
/*
DECTERM stuff. Probably never need
hide : '?25l',
show : '?25h',*/
//
// Select Graphics Rendition
// See http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt
//
var SGR = {
reset : 0,
bold : 1,
dim : 2,
blink : 5,
fastBlink : 6,
negative : 7,
hidden : 8,
normal : 22,
steady : 25,
positive : 27,
black : 30,
red : 31,
green : 32,
yellow : 33,
blue : 34,
magenta : 35,
cyan : 36,
white : 37,
blackBG : 40,
redBG : 41,
greenBG : 42,
yellowBG : 43,
blueBG : 44,
magentaBG : 45,
cyanBG : 47,
whiteBG : 47,
};
// See http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt
// :TODO: document
var SYNC_TERM_FONTS = [
'cp437',
'cp1251',
'koi8_r',
'iso8859_2',
'iso8859_4',
'cp866',
'iso8859_9',
'haik8',
'iso8859_8',
'koi8_u',
'iso8859_15',
'iso8859_4',
'koi8_r_b',
'iso8859_4',
'iso8859_5',
'ARMSCII_8',
'iso8859_15',
'cp850',
'cp850',
'cp885',
'cp1251',
'iso8859_7',
'koi8-r_c',
'iso8859_4',
'iso8859_1',
'cp866',
'cp437',
'cp866',
'cp885',
'cp866_u',
'iso8859_1',
'cp1131',
'c64_upper',
'c64_lower',
'c128_upper',
'c128_lower',
'atari',
'pot_noodle',
'mo_soul',
'microknight',
'topaz'
];
// Create methods such as up(), nextLine(),...
Object.keys(CONTROL).forEach(function onControlName(name) {
var code = CONTROL[name];
exports[name] = function() {
var c = code;
if(arguments.length > 0) {
// arguments are array like -- we want an array
c = Array.prototype.slice.call(arguments).map(Math.round).join(';') + code;
}
return ESC_CSI + c;
};
});
// Create a reverse map of CONTROL values to their key/names
/*
var CONTROL_REVERSE_MAP = {};
Object.keys(CONTROL).forEach(function onControlName(name) {
var code = CONTROL[name];
CONTROL_REVERSE_MAP[code] = name;
});
*/
var CONTROL_RESPONSE = {
'R' : 'position',
};
// :TODO: move this to misc utils or such -- use here & parser
function getIntArgArray(array) {
var i = array.length;
while(i--) {
array[i] = parseInt(array[i], 10);
}
return array;
}
// :TODO: rename this
function forEachControlCode(data, cb) {
//var re = /\u001b\[([0-9\;])*[R]/g;
var len = data.length;
var pos = 0;
while(pos < len) {
if(0x1b !== data[pos++] || 0x5b !== data[pos++]) {
continue;
}
var params = '';
while(pos < len) {
var c = data[pos++];
if(((c > 64) && (c < 91)) || ((c > 96) && (c < 123))) {
c = String.fromCharCode(c);
var name = CONTROL_RESPONSE[c];
if(name) {
params = getIntArgArray(params.split(';'));
cb(name, params);
}
}
params += String.fromCharCode(c);
}
}
}
// Create various color methods such as white(), yellowBG(), reset(), ...
Object.keys(SGR).forEach(function onSgrName(name) {
var code = SGR[name];
exports[name] = function() {
return ESC_CSI + code + 'm';
};
});
function sgr() {
//
// - Allow an single array or variable number of arguments
// - Each element can be either a integer or string found in SGR
// which in turn maps to a integer
//
if(arguments.length <= 0) {
return '';
}
var result = '';
// :TODO: this method needs a lot of cleanup!
var args = Array.isArray(arguments[0]) ? arguments[0] : arguments;
for(var i = 0; i < args.length; i++) {
if(typeof args[i] === 'string') {
if(args[i] in SGR) {
if(result.length > 0) {
result += ';';
}
result += SGR[args[i]];
}
} else if(typeof args[i] === 'number') {
if(result.length > 0) {
result += ';';
}
result += args[i];
}
}
return ESC_CSI + result + 'm';
}
///////////////////////////////////////////////////////////////////////////////
// Shortcuts for common functions
///////////////////////////////////////////////////////////////////////////////
function clearScreen() {
return exports.eraseData(2);
}
function clearScreenGoHome() {
return exports.goto(1,1) + exports.eraseData(2);
}
function normal() {
return sgr(['normal', 'reset']);
}
function goHome() {
return exports.goto(); // no params = home = 1,1
}
//
// See http://www.termsys.demon.co.uk/vtANSI_BBS.htm
//
function disableVT100LineWrapping() {
return ESC_CSI + '7l';
}
function setSyncTermFont(name, fontPage) {
fontPage = miscUtil.valueWithDefault(fontPage, 0);
assert(fontPage === 0 || fontPage === 1); // see spec
var i = SYNC_TERM_FONTS.indexOf(name);
if(-1 != i) {
return ESC_CSI + fontPage + ';' + i + ' D';
}
return '';
}
// Also add:
// * fromRenegade(): |<0-23>
// * fromCelerity(): |<case sensitive letter>
// * fromPCBoard(): (@X<bg><fg>@)
// * fromWildcat(): (@<bg><fg>@ (same as PCBoard without 'X' prefix)
// * fromWWIV(): <ctrl-c><0-7>
// * fromSyncronet(): <ctrl-a><colorCode>
// See http://wiki.synchro.net/custom:colors
function fromPipeCode(s) {
if(-1 == s.indexOf('|')) {
return s; // no pipe codes present
}
var result = '';
var re = /\|(\d{2,3}|\|)/g;
var m;
var lastIndex = 0;
while((m = re.exec(s))) {
var val = m[1];
if('|' == val) {
result += '|';
continue;
}
// convert to number
val = parseInt(val, 10);
if(isNaN(val)) {
val = 0;
}
assert(val >= 0 && val <= 256);
var attr = '';
if(7 == val) {
attr = sgr('normal');
} else if (val < 7 || val >= 16) {
attr = sgr(['normal', val]);
} else if (val <= 15) {
attr = sgr(['normal', val - 8, 'bold']);
}
result += s.substr(lastIndex, m.index - lastIndex) + attr;
lastIndex = re.lastIndex;
}
result = (0 === result.length ? s : result + s.substr(lastIndex));
return result;
}

672
core/art.js Normal file
View File

@@ -0,0 +1,672 @@
/* jslint node: true */
'use strict';
var fs = require('fs');
var paths = require('path');
var assert = require('assert');
var iconv = require('iconv-lite');
var conf = require('./config.js');
var miscUtil = require('./misc_util.js');
var binary = require('binary');
var events = require('events');
var util = require('util');
var ansi = require('./ansi_term.js');
var aep = require('./ansi_escape_parser.js');
exports.getArt = getArt;
exports.getArtFromPath = getArtFromPath;
exports.display = display;
exports.defaultEncodingFromExtension = defaultEncodingFromExtension;
exports.ArtDisplayer = ArtDisplayer;
var SAUCE_SIZE = 128;
var SAUCE_ID = new Buffer([0x53, 0x41, 0x55, 0x43, 0x45]); // 'SAUCE'
var COMNT_ID = new Buffer([0x43, 0x4f, 0x4d, 0x4e, 0x54]); // 'COMNT'
// :TODO: Return MCI code information
// :TODO: process SAUCE comments
// :TODO: return font + font mapped information from SAUCE
var SUPPORTED_ART_TYPES = {
// :TODO: the defualt encoding are really useless if they are all the same ...
// perhaps .ansamiga and .ascamiga could be supported as well as overrides via conf
'.ans' : { name : 'ANSI', defaultEncoding : 'cp437', eof : 0x1a },
'.asc' : { name : 'ASCII', defaultEncoding : 'cp437', eof : 0x1a },
'.pcb' : { name : 'PCBoard', defaultEncoding : 'cp437', eof : 0x1a },
'.bbs' : { name : 'Wildcat', defaultEncoding : 'cp437', eof : 0x1a },
'.txt' : { name : 'Text', defaultEncoding : 'cp437', eof : 0x1a }, // :TODO: think about this more...
// :TODO: extentions for wwiv, renegade, celerity, syncronet, ...
// :TODO: extension for atari
// :TODO: extension for topaz ansi/ascii.
};
//
// See
// http://www.acid.org/info/sauce/sauce.htm
//
// :TODO: Move all SAUCE stuff to sauce.js
function readSAUCE(data, cb) {
if(data.length < SAUCE_SIZE) {
cb(new Error('No SAUCE record present'));
return;
}
var offset = data.length - SAUCE_SIZE;
var sauceRec = data.slice(offset);
binary.parse(sauceRec)
.buffer('id', 5)
.buffer('version', 2)
.buffer('title', 35)
.buffer('author', 20)
.buffer('group', 20)
.buffer('date', 8)
.word32lu('fileSize')
.word8('dataType')
.word8('fileType')
.word16lu('tinfo1')
.word16lu('tinfo2')
.word16lu('tinfo3')
.word16lu('tinfo4')
.word8('numComments')
.word8('flags')
.buffer('tinfos', 22) // SAUCE 00.5
.tap(function onVars(vars) {
if(!SAUCE_ID.equals(vars.id)) {
cb(new Error('No SAUCE record present'));
return;
}
var ver = vars.version.toString('cp437');
if('00' !== ver) {
cb(new Error('Unsupported SAUCE version: ' + ver));
return;
}
var sauce = {
id : vars.id.toString('cp437'),
version : vars.version.toString('cp437'),
title : vars.title.toString('cp437').trim(),
author : vars.author.toString('cp437').trim(),
group : vars.group.toString('cp437').trim(),
date : vars.date.toString('cp437').trim(),
fileSize : vars.fileSize,
dataType : vars.dataType,
fileType : vars.fileType,
tinfo1 : vars.tinfo1,
tinfo2 : vars.tinfo2,
tinfo3 : vars.tinfo3,
tinfo4 : vars.tinfo4,
numComments : vars.numComments,
flags : vars.flags,
tinfos : vars.tinfos,
};
var dt = SAUCE_DATA_TYPES[sauce.dataType];
if(dt && dt.parser) {
sauce[dt.name] = dt.parser(sauce);
}
cb(null, sauce);
});
}
// :TODO: These need completed:
var SAUCE_DATA_TYPES = {};
SAUCE_DATA_TYPES[0] = { name : 'None' };
SAUCE_DATA_TYPES[1] = { name : 'Character', parser : parseCharacterSAUCE };
SAUCE_DATA_TYPES[2] = 'Bitmap';
SAUCE_DATA_TYPES[3] = 'Vector';
SAUCE_DATA_TYPES[4] = 'Audio';
SAUCE_DATA_TYPES[5] = 'BinaryText';
SAUCE_DATA_TYPES[6] = 'XBin';
SAUCE_DATA_TYPES[7] = 'Archive';
SAUCE_DATA_TYPES[8] = 'Executable';
var SAUCE_CHARACTER_FILE_TYPES = {};
SAUCE_CHARACTER_FILE_TYPES[0] = 'ASCII';
SAUCE_CHARACTER_FILE_TYPES[1] = 'ANSi';
SAUCE_CHARACTER_FILE_TYPES[2] = 'ANSiMation';
SAUCE_CHARACTER_FILE_TYPES[3] = 'RIP script';
SAUCE_CHARACTER_FILE_TYPES[4] = 'PCBoard';
SAUCE_CHARACTER_FILE_TYPES[5] = 'Avatar';
SAUCE_CHARACTER_FILE_TYPES[6] = 'HTML';
SAUCE_CHARACTER_FILE_TYPES[7] = 'Source';
SAUCE_CHARACTER_FILE_TYPES[8] = 'TundraDraw';
//
// Map of SAUCE font -> encoding hint
//
// Note that this is the same mapping that x84 uses. Be compatible!
//
var SAUCE_FONT_TO_ENCODING_HINT = {
'Amiga MicroKnight' : 'amiga',
'Amiga MicroKnight+' : 'amiga',
'Amiga mOsOul' : 'amiga',
'Amiga P0T-NOoDLE' : 'amiga',
'Amiga Topaz 1' : 'amiga',
'Amiga Topaz 1+' : 'amiga',
'Amiga Topaz 2' : 'amiga',
'Amiga Topaz 2+' : 'amiga',
'Atari ATASCII' : 'atari',
'IBM EGA43' : 'cp437',
'IBM EGA' : 'cp437',
'IBM VGA25G' : 'cp437',
'IBM VGA50' : 'cp437',
'IBM VGA' : 'cp437',
};
['437', '720', '737', '775', '819', '850', '852', '855', '857', '858',
'860', '861', '862', '863', '864', '865', '866', '869', '872'].forEach(function onPage(page) {
var codec = 'cp' + page;
SAUCE_FONT_TO_ENCODING_HINT['IBM EGA43 ' + page] = codec;
SAUCE_FONT_TO_ENCODING_HINT['IBM EGA ' + page] = codec;
SAUCE_FONT_TO_ENCODING_HINT['IBM VGA25g ' + page] = codec;
SAUCE_FONT_TO_ENCODING_HINT['IBM VGA50 ' + page] = codec;
SAUCE_FONT_TO_ENCODING_HINT['IBM VGA ' + page] = codec;
});
function parseCharacterSAUCE(sauce) {
var result = {};
result.fileType = SAUCE_CHARACTER_FILE_TYPES[sauce.fileType] || 'Unknown';
if(sauce.fileType === 0 || sauce.fileType === 1 || sauce.fileType === 2) {
var i = 0;
while(i < sauce.tinfos.length && sauce.tinfos[i] !== 0x00) {
++i;
}
var fontName = sauce.tinfos.slice(0, i).toString('cp437');
if(fontName.length > 0) {
result.fontName = fontName;
}
}
return result;
}
function sliceAtEOF(data, eofMarker) {
var eof = data.length;
// :TODO: max scan back or other beter way of doing this?!
for(var i = data.length - 1; i > 0; i--) {
if(data[i] === eofMarker) {
eof = i;
break;
}
}
return data.slice(0, eof);
}
function getArtFromPath(path, options, cb) {
fs.readFile(path, function onData(err, data) {
if(err) {
cb(err);
return;
}
//
// Convert from encodedAs -> j
//
var ext = paths.extname(path).toLowerCase();
var encoding = options.encodedAs || defaultEncodingFromExtension(ext);
// :TODO: how are BOM's currently handled if present? Are they removed? Do we need to?
function sliceOfData() {
if(options.fullFile === true) {
return iconv.decode(data, encoding);
} else {
var eofMarker = defaultEofFromExtension(ext);
return iconv.decode(sliceAtEOF(data, eofMarker), encoding);
}
}
function getResult(sauce) {
var result = {
data : sliceOfData(),
fromPath : path,
};
if(sauce) {
result.sauce = sauce;
}
return result;
}
if(options.readSauce === true) {
readSAUCE(data, function onSauce(err, sauce) {
if(err) {
cb(null, getResult());
} else {
//
// If a encoding was not provided & we have a mapping from
// the information provided by SAUCE, use that.
//
if(!options.encodedAs) {
if(sauce.Character && sauce.Character.fontName) {
var enc = SAUCE_FONT_TO_ENCODING_HINT[sauce.Character.fontName];
if(enc) {
encoding = enc;
}
}
}
cb(null, getResult(sauce));
}
});
} else {
cb(null, getResult());
}
});
}
function getArt(name, options, cb) {
var ext = paths.extname(name);
options.basePath = miscUtil.valueWithDefault(options.basePath, conf.config.paths.art);
options.asAnsi = miscUtil.valueWithDefault(options.asAnsi, true);
// :TODO: make use of asAnsi option and convert from supported -> ansi
if('' !== ext) {
options.types = [ ext.toLowerCase() ];
} else {
if(typeof options.types === 'undefined') {
options.types = Object.keys(SUPPORTED_ART_TYPES);
} else if(typeof options.types === 'string') {
options.types = [ options.types.toLowerCase() ];
}
}
// If an extension is provided, just read the file now
if('' !== ext) {
var directPath = paths.join(options.basePath, name);
getArtFromPath(directPath, options, cb);
return;
}
fs.readdir(options.basePath, function onFiles(err, files) {
if(err) {
cb(err);
return;
}
var filtered = files.filter(function onFile(file) {
//
// Ignore anything not allowed in |options.types|
//
var fext = paths.extname(file);
if(options.types.indexOf(fext.toLowerCase()) < 0) {
return false;
}
var bn = paths.basename(file, fext).toLowerCase();
if(options.random) {
var suppliedBn = paths.basename(name, fext).toLowerCase();
//
// Random selection enabled. We'll allow for
// basename1.ext, basename2.ext, ...
//
if(bn.indexOf(suppliedBn) !== 0) {
return false;
}
var num = bn.substr(suppliedBn.length);
if(num.length > 0) {
if(isNaN(parseInt(num, 10))) {
return false;
}
}
} else {
//
// We've already validated the extension (above). Must be an exact
// match to basename here
//
if(bn != paths.basename(name, fext).toLowerCase()) {
return false;
}
}
return true;
});
if(filtered.length > 0) {
//
// We should now have:
// - Exactly (1) item in |filtered| if non-random
// - 1:n items in |filtered| to choose from if random
//
var readPath;
if(options.random) {
readPath = paths.join(options.basePath, filtered[Math.floor(Math.random() * filtered.length)]);
} else {
assert(1 === filtered.length);
readPath = paths.join(options.basePath, filtered[0]);
}
getArtFromPath(readPath, options, cb);
} else {
cb(new Error('No matching art for supplied criteria'));
}
});
}
// :TODO: need a showArt()
// - center (if term width > 81)
// - interruptable
// - pausable: by user key and/or by page size (e..g term height)
function defaultEncodingFromExtension(ext) {
return SUPPORTED_ART_TYPES[ext.toLowerCase()].defaultEncoding;
}
function defaultEofFromExtension(ext) {
return SUPPORTED_ART_TYPES[ext.toLowerCase()].eof;
}
function ArtDisplayer(client) {
if(!(this instanceof ArtDisplayer)) {
return new ArtDisplayer(client);
}
events.EventEmitter.call(this);
this.client = client;
}
util.inherits(ArtDisplayer, events.EventEmitter);
// :TODO: change to display(art, options, cb)
// cb(err, mci)
function display(art, options, cb) {
if(!art || 0 === art.length) {
cb(new Error('Missing or empty art'));
return;
}
if('undefined' === typeof options) {
cb(new Error('Missing options'));
return;
}
if('undefined' === typeof options.client) {
cb(new Error('Missing client in options'));
return;
}
var cancelKeys = miscUtil.valueWithDefault(options.cancelKeys, []);
var pauseKeys = miscUtil.valueWithDefault(options.pauseKeys, []);
var pauseAtTermHeight = miscUtil.valueWithDefault(options.pauseAtTermHeight, false);
var mciReplaceChar = miscUtil.valueWithDefault(options.mciReplaceChar, '');
// :TODO: support pause/cancel & pause @ termHeight
var canceled = false;
var parser = new aep.ANSIEscapeParser({
mciReplaceChar : mciReplaceChar,
termHeight : options.client.term.termHeight,
termWidth : options.client.term.termWidth,
});
var mci = {};
var mciPosQueue = [];
var emitter = null;
var parseComplete = false;
parser.on('mci', function onMCI(mciCode, args) {
if(mci[mciCode]) {
mci[mciCode].altColor = {
fg : parser.fgColor,
bg : parser.bgColor,
flags : parser.flags,
};
} else {
mci[mciCode] = {
args : args,
color : {
fg : parser.fgColor,
bg : parser.bgColor,
flags : parser.flags,
}
};
mciPosQueue.push(mciCode);
if(!emitter) {
emitter = options.client.on('onPosition', function onPosition(pos) {
if(mciPosQueue.length > 0) {
var forMciCode = mciPosQueue.shift();
mci[forMciCode].position = pos;
if(parseComplete && 0 === mciPosQueue.length) {
cb(null, mci);
}
}
});
}
options.client.term.write(ansi.queryPos());
}
});
parser.on('chunk', function onChunk(chunk) {
options.client.term.write(chunk);
});
parser.on('complete', function onComplete() {
parseComplete = true;
if(0 === mciPosQueue.length) {
cb(null, mci);
}
});
parser.parse(art);
}
ArtDisplayer.prototype.display = function(art, options) {
var client = this.client;
var self = this;
var cancelKeys = miscUtil.valueWithDefault(options.cancelKeys, []);
var pauseKeys = miscUtil.valueWithDefault(options.pauseKeys, []);
var pauseAtTermHeight = miscUtil.valueWithDefault(options.pauseAtTermHeight, false);
var canceled = false;
if(cancelKeys.length > 0 || pauseKeys.length > 0) {
var onDataKeyCheck = function(data) {
var key = String.fromCharCode(data[0]);
if(-1 !== cancelKeys.indexOf(key)) {
canceled = true;
removeDataListener();
}
};
client.on('data', onDataKeyCheck);
}
function removeDataListener() {
client.removeListener('data', onDataKeyCheck);
}
//
// Try to split lines supporting various linebreaks we may encounter:
// - DOS \r\n
// - *nix \n
// - Old Apple \r
// - Unicode PARAGRAPH SEPARATOR (U+2029) and LINE SEPARATOR (U+2028)
//
// See also http://stackoverflow.com/questions/5034781/js-regex-to-split-by-line
//
var lines = art.split(/\r?\n|\r|[\u2028\u2029]/);
var i = 0;
var count = lines.length;
if(0 === count) {
return;
}
var termHeight = client.term.termHeight;
var aep = require('./ansi_escape_parser.js');
var p = new aep.ANSIEscapeParser();
var currentRow = 0;
var lastRow = 0;
p.on('row update', function onRowUpdated(row) {
currentRow = row;
});
//--------
var mci = {};
var mciPosQueue = [];
var parseComplete = false;
var emitter = null;
p.on('mci', function onMCI(mciCode, args) {
if(mci[mciCode]) {
mci[mciCode].fgColorAlt = p.fgColor;
mci[mciCode].bgColorAlt = p.bgColor;
mci[mciCode].flagsAlt = p.flags;
} else {
mci[mciCode] = {
args : args,
fgColor : p.fgColor,
bgColor : p.bgColor,
flags : p.flags,
};
mciPosQueue.push(mciCode);
if(!emitter) {
emitter = client.on('onPosition', function onPosition(pos) {
if(mciPosQueue.length > 0) {
var mc = mciPosQueue.shift();
console.log('position @ ' + mc + ': ' + pos);
mci[mc].pos = pos;
if(parseComplete && 0 === mciPosQueue.length) {
//console.log(mci);
var p1 = mci['LV1'].pos;
client.term.write(ansi.sgr(['red']));
var g = ansi.goto(p1);
console.log(g);
client.term.write(ansi.goto(p1[0], p1[1]));
client.term.write('Hello, World');
}
}
});
}
}
});
p.on('chunk', function onChunk(chunk) {
client.term.write(chunk);
});
p.on('complete', function onComplete() {
//console.log(mci);
parseComplete = true;
if(0 === mciPosQueue.length) {
console.log('mci from complete');
console.log(mci);
}
});
p.parse(art);
//-----------
/*
var line;
(function nextLine() {
if(i === count) {
self.emit('complete');
removeDataListener();
return;
}
if(canceled) {
self.emit('canceled');
removeDataListener();
return;
}
line = lines[i];
client.term.write(line + '\n');
p.parse(line + '\r\n');
i++;
if(pauseAtTermHeight && currentRow !== lastRow && (0 === currentRow % termHeight)) {
lastRow = currentRow;
client.getch(function onKey(k) {
nextLine();
});
} else {
setTimeout(nextLine, 20);
}
})();
*/
/*
(function nextLine() {
if(i === count) {
client.emit('complete', true);
removeDataListener();
return;
}
if(canceled) {
console.log('canceled');
client.emit('canceled');
removeDataListener();
return;
}
client.term.write(lines[i] + '\n');
//
// :TODO: support pauseAtTermHeight:
//
// - All cursor movement should be recorded for pauseAtTermHeight support &
// handling > termWidth scenarios
// - MCI codes should be processed
// - All other ANSI/CSI ignored
// - Count normal chars
//
//setTimeout(nextLine, 20);
//i++;
if(pauseAtTermHeight && i > 0 && (0 === i % termHeight)) {
console.log('pausing @ ' + i);
client.getch(function onKey() {
i++;
nextLine();
});
} else {
i++;
// :TODO: If local, use setTimeout(nextLine, 20) or so -- allow to pause/cancel
//process.nextTick(nextLine);
setTimeout(nextLine, 20);
}
})();
*/
};
//
// ANSI parser for quick scanning & handling
// of basic ANSI sequences that can be used for output to clients:
//
function ANSIOutputParser(ansi) {
//
// cb's
// - onMCI
// - onTermHeight
// -
}

155
core/bbs.js Normal file
View File

@@ -0,0 +1,155 @@
/* jslint node: true */
'use strict';
// ENiGMA½
var conf = require('./config.js');
var modules = require('./modules.js');
var logger = require('./logger.js');
var miscUtil = require('./misc_util.js');
var iconv = require('iconv-lite');
var paths = require('path');
exports.bbsMain = function() {
var mainArgs = parseArgs();
var configPathSupplied = false;
var configPath = conf.defaultPath();
if(mainArgs.indexOf('--help') > 0) {
// :TODO: display help
} else {
var argCount = mainArgs.length;
for(var i = 0; i < argCount; ++i) {
var arg = mainArgs[i];
if('--config' == arg) {
configPathSupplied = true;
configPath = mainArgs[i + 1];
}
}
}
try {
conf.initFromFile(configPath);
} catch(e) {
//
// If the user supplied a config and we can't read, parse, whatever
// then output a error and bail.
//
if(configPathSupplied) {
if(e.code === 'ENOENT') {
console.error('Configuration file does not exist: ' + configPath);
}
return;
}
console.log('No configuration file found, creating defaults.');
conf.createDefault();
}
logger.init();
preServingInit();
startListening();
process.on('SIGINT', function onSigInt() {
// :TODO: for any client in |clientConnections|, if 'ready', send a "Server Disconnecting" + semi-gracefull hangup
// e.g. client.disconnectNow()
logger.log.info('Process interrupted, shutting down');
process.exit();
});
};
function parseArgs() {
var args = [];
process.argv.slice(2).forEach(function(val, index, array) {
args.push(val);
});
return args;
}
function preServingInit() {
iconv.extendNodeEncodings();
}
var clientConnections = [];
function startListening() {
if(!conf.config.servers) {
// :TODO: Log error ... output to stderr as well. We can do it all with the logger
return [];
}
modules.loadModulesForCategory('servers', function onServerModule(err, module) {
if(err) {
logger.log.info(err);
return;
}
var port = parseInt(module.runtime.config.port);
if(isNaN(port)) {
logger.log.error({ port : module.runtime.config.port, server : module.moduleInfo.name }, 'Cannot load server (Invalid port)');
return;
}
var server = module.createServer();
// :TODO: handle maxConnections, e.g. conf.maxConnections
server.on('client', function onClient(client) {
//
// Start tracking the client. We'll assign it an ID which is
// just the index in our connections array.
//
if(typeof client.runtime === 'undefined') {
client.runtime = {};
}
addNewClient(client);
//client.runtime.id = clientConnections.push(client) - 1;
//logger.log.info({ clientId : client.runtime.id, from : client.address(), server : module.moduleInfo.name }, 'Client connected');
client.on('ready', function onClientReady() {
// Go to module -- use default error handler
modules.goto(conf.config.entryMod, client);
});
client.on('end', function onClientEnd() {
logger.log.info({ clientId : client.runtime.id }, 'Client disconnected');
removeClient(client);
});
client.on('error', function onClientError(err) {
logger.log.info({ clientId : client.runtime.id }, 'Connection error: %s' % err.message);
});
client.on('close', function onClientClose(hadError) {
var l = hadError ? logger.log.info : logger.log.debug;
l({ clientId : client.runtime.id }, 'Connection closed');
removeClient(client);
});
});
server.listen(port);
logger.log.info({ server : module.moduleInfo.name, port : port }, 'Listening for connections');
});
}
function addNewClient(client) {
var id = client.runtime.id = clientConnections.push(client) - 1;
logger.log.debug('Connection count is now %d', clientConnections.length);
return id;
}
function removeClient(client) {
var i = clientConnections.indexOf(client);
if(i > -1) {
clientConnections.splice(i, 1);
logger.log.debug('Connection count is now %d', clientConnections.length);
}
}

89
core/client.js Normal file
View File

@@ -0,0 +1,89 @@
/* jslint node: true */
'use strict';
var stream = require('stream');
var term = require('./client_term.js');
var assert = require('assert');
var miscUtil = require('./misc_util.js');
var ansi = require('./ansi_term.js');
var logger = require('./logger.js');
exports.Client = Client;
function Client(input, output) {
stream.call(this);
var self = this;
this.input = input;
this.output = output;
this.term = new term.ClientTerminal(this.output);
self.on('data', function onData(data) {
console.log('data: ' + data.length);
handleANSIControlResponse(data);
});
function handleANSIControlResponse(data) {
console.log(data);
ansi.forEachControlCode(data, function onControlResponse(name, params) {
var eventName = 'on' + name[0].toUpperCase() + name.substr(1);
console.log(eventName + ': ' + params);
self.emit(eventName, params);
});
}
}
require('util').inherits(Client, stream);
Client.prototype.end = function () {
return this.output.end.apply(this.output, arguments);
};
Client.prototype.destroy = function () {
return this.output.destroy.apply(this.output, arguments);
};
Client.prototype.destroySoon = function () {
return this.output.destroySoon.apply(this.output, arguments);
};
Client.prototype.getch = function(cb) {
this.input.once('data', function onData(data) {
// :TODO: needs work. What about F keys and the like?
assert(data.length === 1);
cb(data);
});
};
Client.prototype.address = function() {
return this.input.address();
};
///////////////////////////////////////////////////////////////////////////////
// Default error handlers
///////////////////////////////////////////////////////////////////////////////
Client.prototype.defaultHandlerMissingMod = function(err) {
var self = this;
function handler(err) {
logger.log.error(err);
self.term.write('An unrecoverable error has been encountered!\n');
self.term.write('This has been logged for your SysOp to review.\n');
self.term.write('\nGoodbye!\n');
//self.term.write(err);
//if(miscUtil.isDevelopment() && err.stack) {
// self.term.write('\n' + err.stack + '\n');
//}
self.end();
}
return handler;
};

101
core/client_term.js Normal file
View File

@@ -0,0 +1,101 @@
/* jslint node: true */
'use strict';
// ENiGMA½
var logger = require('./logger.js');
var iconv = require('iconv-lite');
var assert = require('assert');
iconv.extendNodeEncodings();
exports.ClientTerminal = ClientTerminal;
function ClientTerminal(output) {
this.output = output;
var self = this;
var outputEncoding = 'cp437';
assert(iconv.encodingExists(outputEncoding));
// convert line feeds such as \n -> \r\n
this.convertLF = true;
//
// Some terminal we handle specially
// They can also be found in this.env{}
//
var termType = 'unknown';
var termHeight = 0;
var termWidth = 0;
// Raw values set by e.g. telnet NAWS, ENVIRONMENT, etc.
this.env = {};
Object.defineProperty(this, 'outputEncoding', {
get : function() {
return outputEncoding;
},
set : function(enc) {
if(iconv.encodingExists(enc)) {
outputEncoding = enc;
} else {
logger.log.warn({ encoding : enc }, 'Unknown encoding');
}
}
});
Object.defineProperty(this, 'termType', {
get : function() {
return termType;
},
set : function(ttype) {
termType = ttype.toLowerCase();
//
// ANSI terminals should be encoded to CP437
//
if('ansi' == termType) {
this.outputEncoding = 'cp437';
} else {
// :TODO: See how x84 does this -- only set if local/remote are binary
this.outputEncoding = 'utf8';
}
}
});
Object.defineProperty(this, 'termWidth', {
get : function() {
return termWidth;
},
set : function(width) {
if(width > 0) {
termWidth = width;
}
}
});
Object.defineProperty(this, 'termHeight', {
get : function() {
return termHeight;
},
set : function(height) {
if(height > 0) {
termHeight = height;
}
}
});
}
ClientTerminal.prototype.isANSI = function() {
return 'ansi' === this.termType;
};
ClientTerminal.prototype.write = function(s) {
if(this.convertLF && typeof s === 'string') {
s = s.replace(/\n/g, '\r\n');
}
this.output.write(iconv.encode(s, this.outputEncoding));
};

50
core/config.js Normal file
View File

@@ -0,0 +1,50 @@
/* jslint node: true */
'use strict';
var fs = require('fs');
var paths = require('path');
var miscUtil = require('./misc_util.js');
module.exports = {
config : undefined,
defaultPath : function() {
var base = miscUtil.resolvePath('~/');
if(base) {
return paths.join(base, '.enigmabbs', 'config.json');
}
},
initFromFile : function(path, cb) {
var data = fs.readFileSync(path, 'utf8');
this.config = JSON.parse(data);
},
createDefault : function() {
this.config = {
bbsName : 'Another Fine ENiGMA½ BBS',
entryMod : 'connect',
paths : {
mods : paths.join(__dirname, './../mods/'),
servers : paths.join(__dirname, './servers/'),
art : paths.join(__dirname, './../mods/art/'),
logs : paths.join(__dirname, './../logs/'), // :TODO: set up based on system, e.g. /var/logs/enigmabbs or such
},
servers : {
telnet : {
port : 8888,
enabled : true,
},
ssh : {
port : 8889,
enabled : false,
rsaPrivateKey : paths.join(__dirname, './../misc/default_key.rsa'),
dsaPrivateKey : paths.join(__dirname, './../misc/default_key.dsa'),
}
},
};
}
};

64
core/line_editor.js Normal file
View File

@@ -0,0 +1,64 @@
"use strict";
var assert = require('assert');
var miscUtil = require('./misc_util.js');
exports.LineEditor = LineEditor;
var STANDARD_KEYSET = {
refresh : [ 12 ],
backspace : [ 8, 127 ],
backword : [ 23 ],
enter : [ 10 ],
exit : [ 27 ],
};
// :TODO: Rename to TextEdit
// :TODO: TextEdit should be single or multi line
function LineEditor(client, options) {
var self = this;
self.client = client;
self.valueText = '';
if(typeof options !== 'undefined') {
self.options.keyset = miscUtil.valueWithDefault(options.keyset, STANDARD_KEYSET);
} else {
self.options = {
keyset : STANDARD_KEYSET,
};
}
this.client.on('data', function onData(data) {
assert(1 === data.length);
self.onCh(data);
});
};
LineEditor.prototype.isKey = function(setName, ch) {
return this.options.keyset[setName].indexOf(ch) > -1;
}
LineEditor.prototype.onCh = function(ch) {
if(this.isKey('refresh', ch)) {
} else if(this.isKey('backspace', ch)) {
} else if(this.isKey('backword', ch)) {
} else if(this.isKey('enter', ch)) {
} else if(this.isKey('exit', ch)) {
} else {
// :TODO: filter out chars
// :TODO: check max width
this.valueText += ch;
this.client.term.write(ch);
}
};

39
core/logger.js Normal file
View File

@@ -0,0 +1,39 @@
"use strict";
var bunyan = require('bunyan');
var miscUtil = require('./misc_util.js');
var paths = require('path');
var conf = require('./config.js');
module.exports = {
log : undefined,
init : function() {
//var ringBufferLimit = miscUtil.valueWithDefault(config.logRingBufferLimit, 100);
var logPath = miscUtil.valueWithDefault(conf.config.paths.logs);
var logFile = paths.join(logPath, 'enigma-bbs.log');
// :TODO: make this configurable --
// user should be able to configure rotations, levels to file vs ringBuffer,
// completely disable logging, etc.
this.log = bunyan.createLogger({
name : 'ENiGMA½ BBS',
streams : [
{
type : 'rotating-file',
path : logFile,
period : '1d',
count : 3,
level : 'trace'
}
/*,
{
type : 'raw',
stream : ringBuffer,
level : 'trace'
}*/
]
});
}
};

28
core/misc_util.js Normal file
View File

@@ -0,0 +1,28 @@
"use strict";
var paths = require('path');
exports.isProduction = isProduction;
exports.isDevelopment = isDevelopment;
exports.valueWithDefault = valueWithDefault;
exports.resolvePath = resolvePath;
function isProduction() {
var env = process.env.NODE_ENV || 'dev';
return 'production' === env;
};
function isDevelopment() {
return (!(isProduction()));
};
function valueWithDefault(val, defVal) {
return (typeof val !== 'undefined' ? val : defVal);
};
function resolvePath(path) {
if(path.substr(0, 2) === '~/') {
path = (process.env.HOME || process.env.HOMEPATH || process.env.HOMEDIR || process.cwd()) + path.substr(1);
}
return paths.resolve(path);
};

85
core/modules.js Normal file
View File

@@ -0,0 +1,85 @@
/* jslint node: true */
'use strict';
var fs = require('fs');
var paths = require('path');
var conf = require('./config.js');
var miscUtil = require('./misc_util.js');
var logger = require('./logger.js');
// exports
exports.loadModule = loadModule;
exports.loadModulesForCategory = loadModulesForCategory;
exports.goto = goto;
function loadModule(name, category, cb) {
var config = conf.config;
var path = config.paths[category];
if(!path) {
cb(new Error('not sure where to look for "' + name + '" of category "' + category + '"'));
return;
}
// update conf to point at this module's section, if any
config = config[category] ? config[category][name] : null;
if(config && false === config.enabled) {
cb(new Error('module "' + name + '" is disabled'));
return;
}
try {
var mod = require(paths.join(path, name + '.js'));
if(!mod.moduleInfo) {
cb(new Error('module is missing \'moduleInfo\' section'));
return;
}
mod.runtime = {
config : config
};
cb(null, mod);
} catch(e) {
cb(e);
}
};
function loadModulesForCategory(category, cb) {
var path = conf.config.paths[category];
fs.readdir(path, function onFiles(err, files) {
if(err) {
cb(err);
return;
}
var filtered = files.filter(function onFilter(file) { return '.js' === paths.extname(file); });
filtered.forEach(function onFile(file) {
var modName = paths.basename(file, '.js');
loadModule(paths.basename(file, '.js'), category, cb);
});
});
};
function goto(name, client, cb) {
// Assign a default missing module handler callback if none was provided
cb = miscUtil.valueWithDefault(cb, client.defaultHandlerMissingMod());
loadModule(name, 'mods', function onMod(err, mod) {
if(err) {
cb(err);
} else {
try {
logger.log.debug({ moduleName : name }, 'Goto module');
mod.entryPoint(client);
} catch (e) {
cb(e);
}
}
});
};

30
core/servers/ssh.js Normal file
View File

@@ -0,0 +1,30 @@
"use strict";
var libssh = require('ssh');
var conf = require('../config.js');
/*
Notes on getting libssh to work. This will ultimately require some contribs back
* Can't install without --nodedir= as had to upgrade node on the box for other reasons
* From ssh dir, node-gyp --nodedir=... configure build
* nan is out of date and doesn't work with existing node. Had to update. ( was "~0.6.0") (npm update after this)
*
*/
exports.moduleInfo = {
name : 'SSH',
desc : 'SSH Server',
author : 'NuSkooler'
};
function createServer() {
var server = libssh.createServer(
conf.config.servers.ssh.rsaPrivateKey,
conf.config.servers.ssh.dsaPrivateKey);
server.on('connection', function onConnection(session) {
console.log('ermergerd')
});
return server;
}

729
core/servers/telnet.js Normal file
View File

@@ -0,0 +1,729 @@
/* jslint node: true */
'use strict';
// ENiGMA½
var baseClient = require('../client.js');
var logger = require('../logger.js');
var net = require('net');
var buffers = require('buffers');
var binary = require('binary');
var stream = require('stream');
var assert = require('assert');
//var debug = require('debug')('telnet');
exports.moduleInfo = {
name : 'Telnet',
desc : 'Telnet Server',
author : 'NuSkooler'
};
exports.createServer = createServer;
//
// Telnet Protocol Resources
// * http://pcmicro.com/netfoss/telnet.html
// * http://mud-dev.wikidot.com/telnet:negotiation
//
/*
TODO:
* Document COMMANDS -- add any missing
* Document OPTIONS -- add any missing
* Internally handle OPTIONS:
* Some should be emitted generically
* Some shoudl be handled internally -- denied, handled, etc.
*
* Allow term (ttype) to be set by environ sub negotiation
* Process terms in loop.... research needed
* Handle will/won't
* Handle do's, ..
* Some won't should close connection
* Options/Commands we don't understand shouldn't crash the server!!
*/
var COMMANDS = {
SE : 240, // End of Sub-Negotation Parameters
NOP : 241, // No Operation
DM : 242, // Data Mark
BRK : 243, // Break
IP : 244, // Interrupt Process
AO : 245, // Abort Output
AYT : 246, // Are You There?
EC : 247, // Erase Character
EL : 248, // Erase Line
GA : 249, // Go Ahead
SB : 250, // Start Sub-Negotiation Parameters
WILL : 251, //
WONT : 252,
DO : 253,
DONT : 254,
IAC : 255, // (Data Byte)
};
//
// Resources:
// * http://www.faqs.org/rfcs/rfc1572.html
//
var SB_COMMANDS = {
IS : 0,
SEND : 1,
INFO : 2,
};
//
// Telnet Options
//
// Resources
// * http://mars.netanya.ac.il/~unesco/cdrom/booklet/HTML/NETWORKING/node300.html
//
var OPTIONS = {
TRANSMIT_BINARY : 0, // http://tools.ietf.org/html/rfc856
ECHO : 1, // http://tools.ietf.org/html/rfc857
// RECONNECTION : 2
SUPPRESS_GO_AHEAD : 3, // aka 'SGA': RFC 858 @ http://tools.ietf.org/html/rfc858
//APPROX_MESSAGE_SIZE : 4
STATUS : 5, // http://tools.ietf.org/html/rfc859
TIMING_MARK : 6, // http://tools.ietf.org/html/rfc860
//RC_TRANS_AND_ECHO : 7, // aka 'RCTE' @ http://www.rfc-base.org/txt/rfc-726.txt
//OUPUT_LINE_WIDTH : 8,
//OUTPUT_PAGE_SIZE : 9, //
//OUTPUT_CARRIAGE_RETURN_DISP : 10, // RFC 652
//OUTPUT_HORIZ_TABSTOPS : 11, // RFC 653
//OUTPUT_HORIZ_TAB_DISP : 12, // RFC 654
//OUTPUT_FORMFEED_DISP : 13, // RFC 655
//OUTPUT_VERT_TABSTOPS : 14, // RFC 656
//OUTPUT_VERT_TAB_DISP : 15, // RFC 657
//OUTPUT_LF_DISP : 16, // RFC 658
//EXTENDED_ASCII : 17, // RFC 659
//LOGOUT : 18, // RFC 727
//BYTE_MACRO : 19, // RFC 753
//DATA_ENTRY_TERMINAL : 20, // RFC 1043
//SUPDUP : 21, // RFC 736
//SUPDUP_OUTPUT : 22, // RFC 749
//SEND_LOCATION : 23, // RFC 779
TERMINAL_TYPE : 24, // aka 'TTYPE': RFC 1091 @ http://tools.ietf.org/html/rfc1091
//END_OF_RECORD : 25, // RFC 885
//TACACS_USER_ID : 26, // RFC 927
//OUTPUT_MARKING : 27, // RFC 933
//TERMINCAL_LOCATION_NUMBER : 28, // RFC 946
//TELNET_3270_REGIME : 29, // RFC 1041
WINDOW_SIZE : 31, // aka 'NAWS': RFC 1073 @ http://tools.ietf.org/html/rfc1073
TERMINAL_SPEED : 32, // RFC 1079 @ http://tools.ietf.org/html/rfc1079
REMOTE_FLOW_CONTROL : 33, // RFC 1072 @ http://tools.ietf.org/html/rfc1372
LINEMODE : 34, // RFC 1184 @ http://tools.ietf.org/html/rfc1184
X_DISPLAY_LOCATION : 35, // aka 'XDISPLOC': RFC 1096 @ http://tools.ietf.org/html/rfc1096
NEW_ENVIRONMENT_DEP : 36, // aka 'NEW-ENVIRON': RFC 1408 @ http://tools.ietf.org/html/rfc1408 (note: RFC 1572 is an update to this)
AUTHENTICATION : 37, // RFC 2941 @ http://tools.ietf.org/html/rfc2941
ENCRYPT : 38, // RFC 2946 @ http://tools.ietf.org/html/rfc2946
NEW_ENVIRONMENT : 39, // aka 'NEW-ENVIRON': RFC 1572 @ http://tools.ietf.org/html/rfc1572 (note: update to RFC 1408)
//TN3270E : 40, // RFC 2355
//XAUTH : 41,
//CHARSET : 42, // RFC 2066
//REMOTE_SERIAL_PORT : 43,
//COM_PORT_CONTROL : 44, // RFC 2217
//SUPRESS_LOCAL_ECHO : 45,
//START_TLS : 46,
//KERMIT : 47, // RFC 2840
//SEND_URL : 48,
//FORWARD_X : 49,
//PRAGMA_LOGON : 138,
//SSPI_LOGON : 139,
//PRAGMA_HEARTBEAT : 140
EXTENDED_OPTIONS_LIST : 255, // RFC 861 (STD 32)
}
// Commands used within NEW_ENVIRONMENT[_DEP]
var NEW_ENVIRONMENT_COMMANDS = {
VAR : 0,
VALUE : 1,
ESC : 2,
USERVAR : 3,
};
var IAC_BUF = new Buffer([ COMMANDS.IAC ]);
var SB_BUF = new Buffer([ COMMANDS.SB ]);
var SE_BUF = new Buffer([ COMMANDS.SE ]);
var IAC_SE_BUF = new Buffer([ COMMANDS.IAC, COMMANDS.SE ]);
var COMMAND_NAMES = Object.keys(COMMANDS).reduce(function(names, name) {
names[COMMANDS[name]] = name.toLowerCase();
return names;
}, {});
var COMMAND_IMPLS = {};
['do', 'dont', 'will', 'wont', 'sb'].forEach(function(command) {
var code = COMMANDS[command.toUpperCase()];
COMMAND_IMPLS[code] = function(bufs, i, event) {
if(bufs.length < (i + 1)) {
return MORE_DATA_REQUIRED;
}
return parseOption(bufs, i, event);
}
});
// :TODO: See TooTallNate's telnet.js: Handle COMMAND_IMPL for IAC in binary mode
// Create option names such as 'transmit binary' -> OPTIONS.TRANSMIT_BINARY
var OPTION_NAMES = Object.keys(OPTIONS).reduce(function(names, name) {
names[OPTIONS[name]] = name.toLowerCase().replace(/_/g, ' ');
return names;
}, {});
var OPTION_IMPLS = {};
// :TODO: fill in the rest...
OPTION_IMPLS.NO_ARGS =
OPTION_IMPLS[OPTIONS.ECHO] =
OPTION_IMPLS[OPTIONS.STATUS] =
OPTION_IMPLS[OPTIONS.LINEMODE] =
OPTION_IMPLS[OPTIONS.TRANSMIT_BINARY] =
OPTION_IMPLS[OPTIONS.AUTHENTICATION] =
OPTION_IMPLS[OPTIONS.TERMINAL_SPEED] =
//OPTION_IMPLS[OPTIONS.TERMINAL_TYPE] =
OPTION_IMPLS[OPTIONS.REMOTE_FLOW_CONTROL] =
OPTION_IMPLS[OPTIONS.X_DISPLAY_LOCATION] =
OPTION_IMPLS[OPTIONS.SUPPRESS_GO_AHEAD] = function(bufs, i, event) {
event.buf = bufs.splice(0, i).toBuffer();
return event;
};
OPTION_IMPLS[OPTIONS.TERMINAL_TYPE] = function(bufs, i, event) {
if(event.commandCode !== COMMANDS.SB) {
OPTION_IMPLS.NO_ARGS(bufs, i, event);
} else {
// We need 4 bytes header + data + IAC SE
if(bufs.length < 7) {
return MORE_DATA_REQUIRED;
}
var end = bufs.indexOf(IAC_SE_BUF, 5); // look past header bytes
if(-1 === end) {
return MORE_DATA_REQUIRED;
}
// eat up and process the header
var buf = bufs.splice(0, 4).toBuffer();
binary.parse(buf)
.word8('iac1')
.word8('sb')
.word8('ttype')
.word8('is')
.tap(function(vars) {
assert(vars.iac1 === COMMANDS.IAC);
assert(vars.sb === COMMANDS.SB);
assert(vars.ttype === OPTIONS.TERMINAL_TYPE);
assert(vars.is === SB_COMMANDS.IS);
});
// eat up the rest
end -= 4;
buf = bufs.splice(0, end).toBuffer();
//
// From this point -> |end| is our ttype
//
// Look for trailing NULL(s). Client such as Netrunner do this.
//
var trimAt = 0;
for(; trimAt < buf.length; ++trimAt) {
if(0x00 === buf[trimAt]) {
break;
}
}
event.ttype = buf.toString('ascii', 0, trimAt);
// pop off the terminating IAC SE
bufs.splice(0, 2);
}
return event;
};
OPTION_IMPLS[OPTIONS.WINDOW_SIZE] = function(bufs, i, event) {
if(event.commandCode !== COMMANDS.SB) {
OPTION_IMPLS.NO_ARGS(bufs, i, event);
} else {
// we need 9 bytes
if(bufs.length < 9) {
return MORE_DATA_REQUIRED;
}
event.buf = bufs.splice(0, 9).toBuffer();
binary.parse(event.buf)
.word8('iac1')
.word8('sb')
.word8('naws')
.word16bu('width')
.word16bu('height')
.word8('iac2')
.word8('se')
.tap(function(vars) {
assert(vars.iac1 == COMMANDS.IAC);
assert(vars.sb == COMMANDS.SB);
assert(vars.naws == OPTIONS.WINDOW_SIZE);
assert(vars.iac2 == COMMANDS.IAC);
assert(vars.se == COMMANDS.SE);
event.cols = event.columns = event.width = vars.width;
event.rows = event.height = vars.height;
});
}
return event;
};
// Build an array of delimiters for parsing NEW_ENVIRONMENT[_DEP]
var NEW_ENVIRONMENT_DELIMITERS = [];
Object.keys(NEW_ENVIRONMENT_COMMANDS).forEach(function onKey(k) {
NEW_ENVIRONMENT_DELIMITERS.push(NEW_ENVIRONMENT_COMMANDS[k]);
});
// Handle the deprecated RFC 1408 & the updated RFC 1572:
OPTION_IMPLS[OPTIONS.NEW_ENVIRONMENT_DEP] =
OPTION_IMPLS[OPTIONS.NEW_ENVIRONMENT] = function(bufs, i, event) {
if(event.commandCode !== COMMANDS.SB) {
OPTION_IMPLS.NO_ARGS(bufs, i, event);
} else {
// We need 4 bytes header + payload + IAC SE
if(bufs.length < 7) {
return MORE_DATA_REQUIRED;
}
var end = bufs.indexOf(IAC_SE_BUF, 5); // look past header bytes
if(-1 === end) {
return MORE_DATA_REQUIRED;
}
// eat up and process the header
var buf = bufs.splice(0, 4).toBuffer();
binary.parse(buf)
.word8('iac1')
.word8('sb')
.word8('newEnv')
.word8('isOrInfo') // initial=IS, updates=INFO
.tap(function(vars) {
assert(vars.iac1 === COMMANDS.IAC);
assert(vars.sb === COMMANDS.SB);
assert(vars.newEnv === OPTIONS.NEW_ENVIRONMENT || vars.newEnv === OPTIONS.NEW_ENVIRONMENT_DEP);
assert(vars.isOrInfo === SB_COMMANDS.IS || vars.isOrInfo === SB_COMMANDS.INFO);
event.type = vars.isOrInfo;
if(vars.newEnv === OPTIONS.NEW_ENVIRONMENT_DEP) {
logger.log.warn('Handling deprecated RFC 1408 NEW-ENVIRON');
}
});
// eat up the rest
end -= 4;
buf = bufs.splice(0, end).toBuffer();
//
// This part can become messy. The basic spec is:
// IAC SB NEW-ENVIRON IS type ... [ VALUE ... ] [ type ... [ VALUE ... ] [ ... ] ] IAC SE
//
// See RFC 1572 @ http://www.faqs.org/rfcs/rfc1572.html
//
// Start by splitting up the remaining buffer. Keep the delimiters
// as prefixes we can use for processing.
//
// :TODO: Currently not supporting ESCaped values (ESC + <type>). Probably not really in the wild, but we should be compliant
var params = [];
var p = 0;
for(var j = 0, l = buf.length; j < l; ++j) {
if(NEW_ENVIRONMENT_DELIMITERS.indexOf(buf[j]) === -1) {
continue;
}
params.push(buf.slice(p, j));
p = j;
}
// remainder
if(p < l) {
params.push(buf.slice(p, l));
}
var varName;
event.envVars = {};
// :TODO: handle cases where a variable was present in a previous exchange, but missing here...e.g removed
for(var j = 0; j < params.length; ++j) {
if(params[j].length < 2) {
continue;
}
var cmd = params[j].readUInt8();
if(cmd === NEW_ENVIRONMENT_COMMANDS.VAR || cmd === NEW_ENVIRONMENT_COMMANDS.USERVAR) {
varName = params[j].slice(1).toString('utf8'); // :TODO: what encoding should this really be?
} else {
event.envVars[varName] = params[j].slice(1).toString('utf8'); // :TODO: again, what encoding?
}
}
// pop off remaining IAC SE
bufs.splice(0, 2);
}
return event;
};
var MORE_DATA_REQUIRED = 0xfeedface;
function parseBufs(bufs) {
assert(bufs.length >= 2);
assert(bufs.get(0) === COMMANDS.IAC)
return parseCommand(bufs, 1, {});
}
function parseCommand(bufs, i, event) {
var command = bufs.get(i); // :TODO: fix deprecation... [i] is not the same
event.commandCode = command;
event.command = COMMAND_NAMES[command];
var handler = COMMAND_IMPLS[command];
if(handler) {
//return COMMAND_IMPLS[command](bufs, i + 1, event);
return handler(bufs, i + 1, event);
} else {
assert(2 == bufs.length); // IAC + COMMAND
event.buf = bufs.splice(0, 2).toBuffer();
return event;
}
}
function parseOption(bufs, i, event) {
var option = bufs.get(i); // :TODO: fix deprecation... [i] is not the same
event.optionCode = option;
event.option = OPTION_NAMES[option];
return OPTION_IMPLS[option](bufs, i + 1, event);
}
function TelnetClient(input, output) {
baseClient.Client.apply(this, arguments);
var self = this;
var bufs = buffers();
this.bufs = bufs;
var readyFired = false;
var encodingSet = false;
this.negotiationsComplete = false; // are we in the 'negotiation' phase?
this.didReady = false; // have we emit the 'ready' event?
this.input.on('data', function onData(b) {
bufs.push(b);
var i;
while((i = bufs.indexOf(IAC_BUF)) >= 0) {
// :TODO: Android client Irssi ConnectBot asserts here:
assert(bufs.length > (i + 1), 'bufs.length=' + bufs.length + ' i=' + i + ' bufs=' + bufs);
if(i > 0) {
self.emit('data', bufs.splice(0, i).toBuffer());
}
i = parseBufs(bufs);
if(MORE_DATA_REQUIRED === i) {
break;
} else {
//self.emit('event', i); // generic event
//self.emit(i.command, i); // "will", "wont", ...
if(i.option) {
self.emit(i.option, i); // "transmit binary", "echo", ...
}
self.handleTelnetEvent(i);
if(i.data) {
self.emit('data', i.data);
}
}
}
if(MORE_DATA_REQUIRED !== i && bufs.length > 0) {
//
// Standard data payload. This can still be "non-user" data
// such as ANSI control, but we don't handle that here.
//
self.emit('data', bufs.splice(0).toBuffer());
}
});
this.input.on('end', function() {
self.emit('end');
});
}
require('util').inherits(TelnetClient, baseClient.Client);
///////////////////////////////////////////////////////////////////////////////
// Telnet Command/Option handling
///////////////////////////////////////////////////////////////////////////////
TelnetClient.prototype.handleTelnetEvent = function(evt) {
// handler name e.g. 'handleWontCommand'
var handlerName = 'handle' + evt.command.charAt(0).toUpperCase() + evt.command.substr(1) + 'Command';
if(this[handlerName]) {
// specialized
this[handlerName](evt);
} else {
// generic-ish
this.handleMiscCommand(evt);
}
};
TelnetClient.prototype.handleWillCommand = function(evt) {
if('terminal type' === evt.option) {
//
// See RFC 1091 @ http://www.faqs.org/rfcs/rfc1091.html
//
this.requestTerminalType();
} else if('environment variables' === evt.option) {
//
// See RFC 1572 @ http://www.faqs.org/rfcs/rfc1572.html
//
this.requestEnvironmentVariables();
} else {
// :TODO: temporary:
console.log('will ' + JSON.stringify(evt));
}
};
TelnetClient.prototype.handleWontCommand = function(evt) {
console.log('wont ' + JSON.stringify(evt));
};
TelnetClient.prototype.handleDoCommand = function(evt) {
// :TODO: handle the rest, e.g. echo nd the like
if('linemode' === evt.option) {
//
// Client wants to enable linemode editing. Denied.
//
this.wont.linemode();
} else if('encrypt' === evt.option) {
//
// Client wants to enable encryption. Denied.
//
this.wont.encrypt();
} else {
// :TODO: temporary:
console.log('do ' + JSON.stringify(evt));
}
};
TelnetClient.prototype.handleDontCommand = function(evt) {
console.log('dont ' + JSON.stringify(evt));
};
TelnetClient.prototype.setTermType = function(ttype) {
this.term.env['TERM'] = ttype;
this.term.termType = ttype;
logger.log.debug({ termType : ttype }, 'Set terminal type');
}
TelnetClient.prototype.handleSbCommand = function(evt) {
var self = this;
if('terminal type' === evt.option) {
//
// See RFC 1091 @ http://www.faqs.org/rfcs/rfc1091.html
//
// :TODO: According to RFC 1091 @ http://www.faqs.org/rfcs/rfc1091.html
// We should keep asking until we see a repeat. From there, determine the best type/etc.
self.setTermType(evt.ttype);
self.negotiationsComplete = true; // :TODO: throw in a array of what we've taken care. Complete = array satisified or timeout
if(!self.didReady) {
self.didReady = true;
self.emit('ready');
}
} else if('new environment' === evt.option) {
//
// Handling is as follows:
// * Map 'TERM' -> 'termType' and only update if ours is 'unknown'
// * Map COLUMNS -> 'termWidth' and only update if ours is 0
// * Map ROWS -> 'termHeight' and only update if ours is 0
// * Add any new variables, ignore any existing
//
Object.keys(evt.envVars).forEach(function onEnv(name) {
if('TERM' === name && 'unknown' === self.term.termType) {
self.setTermType(evt.envVars[name]);
} else if('COLUMNS' === name && 0 === self.term.termWidth) {
self.term.termWidth = parseInt(evt.envVars[name]);
} else if('ROWS' === name && 0 === self.term.termHeight) {
self.term.termHeight = parseInt(evt.envVars[name]);
} else {
if(name in self.term.env) {
assert(evt.type === SB_COMMANDS.INFO);
logger.log.warn(
{ varName : name, value : evt.envVars[name], existingValue : self.term.env[name] },
'Environment variable already exists');
} else {
self.term.env[name] = evt.envVars[name];
}
}
});
} else if('window size' === evt.option) {
//
// Update termWidth & termHeight.
// Set LINES and COLUMNS environment variables as well.
//
self.term.termWidth = evt.width;
self.term.termHeight = evt.height;
if(evt.width > 0) {
self.term.env['COLUMNS'] = evt.height;
}
if(evt.height > 0) {
self.term.env['ROWS'] = evt.height;
}
logger.log.debug({ termWidth : evt.width , termHeight : evt.height }, 'Window size updated');
} else {
console.log('unhandled SB: ' + JSON.stringify(evt));
}
};
var IGNORED_COMMANDS = [];
[ COMMANDS.EL, COMMANDS.GA, COMMANDS.NOP, COMMANDS.DM, COMMANDS.BRK ].forEach(function onCommandCode(cc) {
IGNORED_COMMANDS.push(cc);
});
TelnetClient.prototype.handleMiscCommand = function(evt) {
assert(evt.command !== 'undefined' && evt.command.length > 0);
//
// See:
// * RFC 854 @ http://tools.ietf.org/html/rfc854
//
if('ip' === evt.command) {
// Interrupt Process (IP)
logger.log.debug('Interrupt Process (IP) - Ending');
this.input.end();
} else if('ayt' === evt.command) {
this.output.write('\b');
logger.log.debug('Are You There (AYT) - Replied "\\b"');
} else if(IGNORED_COMMANDS.indexOf(evt.commandCode)) {
logger.log.debug({ evt : evt }, 'Ignoring command');
} else {
logger.log.warn({ evt : evt }, 'Unknown command');
}
};
TelnetClient.prototype.requestTerminalType = function() {
var buf = Buffer([ COMMANDS.IAC, COMMANDS.SB, OPTIONS.TERMINAL_TYPE, SB_COMMANDS.SEND, COMMANDS.IAC, COMMANDS.SE ]);
/*
var buf = Buffer(6);
buf[0] = COMMANDS.IAC;
buf[1] = COMMANDS.SB;
buf[2] = OPTIONS.TERMINAL_TYPE;
buf[3] = SB_COMMANDS.SEND;
buf[4] = COMMANDS.IAC;
buf[5] = COMMANDS.SE;
*/
return this.output.write(buf);
};
var WANTED_ENVIRONMENT_VARIABLES = [ 'LINES', 'COLUMNS', 'TERM' ];
TelnetClient.prototype.requestEnvironmentVariables = function() {
var bufs = buffers();
bufs.push(new Buffer([ COMMANDS.IAC, COMMANDS.SB, OPTIONS.NEW_ENVIRONMENT, SB_COMMANDS.SEND ]));
for(var i = 0; i < WANTED_ENVIRONMENT_VARIABLES.length; ++i) {
bufs.push(new Buffer( [ ENVIRONMENT_VARIABLES_COMMANDS.VAR ]));
bufs.push(new Buffer(WANTED_ENVIRONMENT_VARIABLES[i])); // :TODO: encoding here?! UTF-8 will work, but shoudl be more explicit
}
bufs.push(new Buffer([ COMMANDS.IAC, COMMANDS.SE ]));
return this.output.write(bufs.toBuffer());
};
TelnetClient.prototype.banner = function() {
// :TODO: See x84 implementation here.
// First, we should probably buffer then send.
this.will.echo();
this.will.suppress_go_ahead();
this.do.suppress_go_ahead();
this.do.transmit_binary();
this.will.transmit_binary();
this.do.terminal_type();
this.do.window_size();
this.do.new_environment();
}
function Command(command, client) {
this.command = COMMANDS[command.toUpperCase()];
this.client = client;
};
// Create Command objects with echo, transmit_binary, ...
Object.keys(OPTIONS).forEach(function(name) {
var code = OPTIONS[name];
Command.prototype[name.toLowerCase()] = function() {
var buf = Buffer(3);
buf[0] = COMMANDS.IAC;
buf[1] = this.command;
buf[2] = code;
return this.client.output.write(buf);
}
});
// Create do, dont, etc. methods on Client
['do', 'dont', 'will', 'wont'].forEach(function(command) {
function get() {
return new Command(command, this);
}
Object.defineProperty(TelnetClient.prototype, command, {
get : get,
enumerable : true,
configurable : true
});
});
function createServer() {
var server = net.createServer(function onConnection(sock) {
var self = this;
var client = new TelnetClient(sock, sock);
client.banner();
self.emit('client', client);
});
return server;
};

11
main.js Normal file
View File

@@ -0,0 +1,11 @@
"use strict";
var net = require('net');
var fs = require('fs');
var paths = require('path');
// ENiGMA½
var bbs = require('./core/bbs.js')
// The entry point.
bbs.bbsMain();

12
misc/default_key.dsa Normal file
View File

@@ -0,0 +1,12 @@
-----BEGIN DSA PRIVATE KEY-----
MIIBugIBAAKBgQDA9HhqZZrq167Vz/AJECJGjJB0DKu72Qji0HfZxDBw/mrsRh89
W/0LQSIOBROIGczGyxuelUAwQxzx5sN3LBABPGutKat4FbxsKO5Ix6VODt5gmT82
eyXm9XpV49EDRoO3AxZJoc+Fmiy7meqtAoGNG9Y4K7fRsq9NTNMgt5w4RQIVAIDp
xj5whr2w95anI/UBs9GPvodpAoGABzR9OqO/yrgOmjq+vg6+T+RRQNB7dRjfsY9A
NJFKC15ZNsLFXJSyKV067GW/6AYYaqJokz93ZS/azuNRm4GesbvIltri3MXZ0cRF
m9zazKS4OlCwCySBIai4Hjv4oNSV+hiYqEsNYA8fubP9fILXioD0ojwIC7tJam9d
UTPOhNMCgYAh8P2Cu6hE6qJy9NToeaimRcIT3UCqnqORWrelOymmrX2v9wboB2DB
Ehm4RpJhPps8NnxIg4fDxARqBVpgAkizfWlzdJMw5JFz3qm5To7MMD4AJ9ZbtpHE
uTGglej7v5jTM+qk6hlB5mNgvqHgtKkyLLMZz2PTzRo1+bJ6bA0c2AIUFUxwM+1H
zd9qN20heajSqKqiZ4g=
-----END DSA PRIVATE KEY-----

1
misc/default_key.dsa.pub Normal file
View File

@@ -0,0 +1 @@
ssh-dss AAAAB3NzaC1kc3MAAACBAMD0eGplmurXrtXP8AkQIkaMkHQMq7vZCOLQd9nEMHD+auxGHz1b/QtBIg4FE4gZzMbLG56VQDBDHPHmw3csEAE8a60pq3gVvGwo7kjHpU4O3mCZPzZ7Jeb1elXj0QNGg7cDFkmhz4WaLLuZ6q0CgY0b1jgrt9Gyr01M0yC3nDhFAAAAFQCA6cY+cIa9sPeWpyP1AbPRj76HaQAAAIAHNH06o7/KuA6aOr6+Dr5P5FFA0Ht1GN+xj0A0kUoLXlk2wsVclLIpXTrsZb/oBhhqomiTP3dlL9rO41GbgZ6xu8iW2uLcxdnRxEWb3NrMpLg6ULALJIEhqLgeO/ig1JX6GJioSw1gDx+5s/18gteKgPSiPAgLu0lqb11RM86E0wAAAIAh8P2Cu6hE6qJy9NToeaimRcIT3UCqnqORWrelOymmrX2v9wboB2DBEhm4RpJhPps8NnxIg4fDxARqBVpgAkizfWlzdJMw5JFz3qm5To7MMD4AJ9ZbtpHEuTGglej7v5jTM+qk6hlB5mNgvqHgtKkyLLMZz2PTzRo1+bJ6bA0c2A== ENiGMA½ Default DSA Key

27
misc/default_key.rsa Normal file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAns9TDs2FY3dXmGtE5a3tu5GS3I9/O9a9NU1yPrcuwhXgOL3D
hPYjbWT8ypKZyMMwdRNxmfnXNQjooBt2CdcVjezrWPTfexQRNNEfcQ7JmUPKrtQQ
ZZRU+ubFMycgNyDt3w3SwgisBFcb9qiFj1Y12jpKpkvnB+HtuV5HA0XODoI4OA93
mef02q+rbHfyT3EDlwBLJcZiew/ALlOiB/bACHXkYoal979HRTV4aW8Xx2WxstLD
bBaZSuQJQFNLR2DsivHHs0JlxcO4D6oBiw8mTr1SRrunDldmndCYPp66gpsJf+7B
5PwrQ20hOG+UEp7CReBvX4y7AD2TP6nKjJ96EQIDAQABAoIBADQtMcC/TX/sid8N
/0jm6CCkJ3hHvSnP18JXe52XWclynoSF9GMO63zZnSSBHf2UA6uzg7NvHoHSN3vD
CfkZrX8/w+MqMPKjGTQdMRNYJGwylbjy+6AkJ/d3Mnsn87GpI/4Q8JnHd5zFce6M
V7VMQc09MaGJdpJkbFJm4zX0DUs+gN2liq+lOQWVBBY3baAS9ZhDGAnxgDzCteRQ
lJYbKbO4MqwNvzKRgUjCNMpf28tUXu1JzK7NosQ0eA8yz3il8MQuD7+1Kmaxrkhv
/FhV9GaVod4HB7iwVyM4cvwXDGtMg8W0IU6aaqmctWvEckCnImuqRrzxseeAQA8K
fgTeIwECgYEA0Q38Rk1SryCMKtJZisQCwsNN8eFs7tT9QhpJxQG4JsJtjid4q+Ze
YMOVDwSdlsPu3XPGql/88mawjOSQLw2bQ9kOOjm3/1G1XoKqCajmWyvYznLc22/b
wN3zeubkk2/PHPP8h43WZCLxnfbMGyEXxCmOZYz/AIv3CKlA5KnM9ZkCgYEAwnjl
ZB+kh8AnejDhcCiNbk0Bt8xYMHiewSU5jW3sCrXpcZ7fPLERJhxiMEVT7WfnIdb7
z1OZOqEnl+XhqGIJRLRgM2FrFSHgWbdATcSNLYaMVrMwGOcaHB/Ww2ffVhRa2B5H
16yol6oeya7OubQE+4JeqPU3thCR+OGFCgl8AzkCgYAgLr/8bqDg9ui9Gt7P/vbR
1tEkAGkNp1pJl9RtcKNRzDKjZK4uAGvdB57lzfcYo5cdHlqiFd7Rzj81oWYU6EpT
upF3IzWRJ5n9L65PiGHV/T0GIyae3Wx+F20JKYxcqiS/N0xT7eDoT3zUrY6kSobn
GuKh/X+wLNvdyHiF+yHjWQKBgEWn6/Iq61G8X+eCbp0vyUjCyGS/Cq+B5MslvDGO
N8e2VMFfuHISsiPGctz7WA5m8wDJ8jPWq8G2S2o66tLXGp7DRNnigOp20dcQrjWs
uyydTtMXJ5kj3dRJCzG+mN5KOCfE4NK9gz2fr5tpw538fvRfQ+ycuLG7ya0tieuI
biTxAoGAZAglKOHJIqLXoBPT3GH2nDl0BDEJ/3Ob7g54nupz753LO/6MlFGGX7Cg
X360g9Snk08+pYDos6ayT/vmeegbqfV7A+1sXHsGGuYyaLSkTjdcIUV/eF5h/HbE
CnRfXZe2jsFzYNK835BcYIndDIElyW6jipkgkwwWCOMqPC9Ulto=
-----END RSA PRIVATE KEY-----

1
misc/default_key.rsa.pub Normal file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCez1MOzYVjd1eYa0Tlre27kZLcj3871r01TXI+ty7CFeA4vcOE9iNtZPzKkpnIwzB1E3GZ+dc1COigG3YJ1xWN7OtY9N97FBE00R9xDsmZQ8qu1BBllFT65sUzJyA3IO3fDdLCCKwEVxv2qIWPVjXaOkqmS+cH4e25XkcDRc4Ogjg4D3eZ5/Tar6tsd/JPcQOXAEslxmJ7D8AuU6IH9sAIdeRihqX3v0dFNXhpbxfHZbGy0sNsFplK5AlAU0tHYOyK8cezQmXFw7gPqgGLDyZOvVJGu6cOV2ad0Jg+nrqCmwl/7sHk/CtDbSE4b5QSnsJF4G9fjLsAPZM/qcqMn3oR ENiGMA½ Default RSA Key

BIN
mods/art/CONNECT1.ANS Normal file

Binary file not shown.

19
mods/art/DM-ENIG.ANS Normal file
View File

@@ -0,0 +1,19 @@
 <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<6D><DCB2>  <33>  <31><6D> 
 <31><6D><EFBFBD><31><31><6D> <31><6D><EFBFBD><EFBFBD><EFBFBD>۲<37><31><6D><30><6D><EFBFBD>  <20><>  <33><6D><EFBFBD> <33><6D><EFBFBD><EFBFBD> <20> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><31><6D><EFBFBD><EFBFBD><EFBFBD><31><6D><37><6D><EFBFBD><31><6D><30><6D> <30><6D>  <20><><EFBFBD> <31><6D> <33><37><6D><EFBFBD><EFBFBD><EFBFBD><31><31><6D><30><6D><EFBFBD>
<31><6D><EFBFBD><EFBFBD><EFBFBD><37><6D><30><6D>  <20><31><37>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><30>۲<37><6D><EFBFBD><EFBFBD><30><6D>ܲ<37><6D><EFBFBD><30><6D> <31><6D><31><6D><EFBFBD><EFBFBD><EFBFBD>۲
 <20><37><31><6D><37><6D><EFBFBD><30><31><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> <37><6D><30><6D><37><6D><30> <31><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><37><6D><30><31><30><6D>
<37><6D><EFBFBD>۲<EFBFBD><DBB2>     <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><37> <20><><EFBFBD><30><30>  <37><6D><EFBFBD><EFBFBD><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>  
<31><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <20>  <20><><EFBFBD><37><6D><30><6D><EFBFBD><EFBFBD><37><6D><30><6D><EFBFBD><EFBFBD><30><6D> <31><6D> <31><37> <37><6D><EFBFBD><EFBFBD> <30> <20><><EFBFBD><30><6D><EFBFBD><30> <20><><30><6D><EFBFBD><30><6D> <31><6D> <20> <20><><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>   <31><6D><37><6D><EFBFBD><EFBFBD><EFBFBD> <30><6D>    <37><6D><EFBFBD><EFBFBD><EFBFBD><30>  <20><37><6D><EFBFBD><EFBFBD><37>  <20><37><30><6D><EFBFBD> <30><37><30><6D><EFBFBD><EFBFBD><30> <20> <20><> <20><><EFBFBD><EFBFBD> 
<34> <30><37><6D><EFBFBD> <20><><30>  <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><37><6D><EFBFBD><30><6D><EFBFBD><34>ܲ<EFBFBD> <20><><37><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <34> <37><6D><EFBFBD><EFBFBD><EFBFBD><30> <34><6D><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><37>  <34><6D> 
<34><34> <37> <30><6D><EFBFBD><EFBFBD><30> <34><6D><34><6D> <30><6D><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30>۲<EFBFBD> <34><6D> <30><6D><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><30><6D><37><6D><EFBFBD><EFBFBD> <34><34><34> <30><37><6D><EFBFBD><30><6D> <34><34><6D><34><6D><EFBFBD> <37><6D><EFBFBD><EFBFBD><30><6D><EFBFBD> <20><><34>
<34>  <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <34>߲<EFBFBD> <30><6D><EFBFBD><37><6D><30>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD>۲ <34><6D>߲ <20><30> <37><6D><30><6D> ߲<6D> <30>۲۲<DBB2> <20><><EFBFBD> <34> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><30> ߲<6D>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>۲<30><6D><EFBFBD> <20><><EFBFBD><30><6D> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <20><><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD> ޲<30><30><6D><37><6D><EFBFBD><30><6D>
 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>۲<30><6D> 
 <30><6D> <20><><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD> <31><6D> enigma<6D>bbs soft<30><6D><EFBFBD><37><6D><30><6D><31> <20><><EFBFBD><EFBFBD>۲ <31><6D>
dangermouse <20><>۲<6D><DBB2><EFBFBD><EFBFBD><30><37><6D><30><6D> <31>
  <20><>  ۲<><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD><31><31><31><6D><EFBFBD>
 <20> <30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>


19
mods/art/DM-ENIG.PCB Normal file
View File

@@ -0,0 +1,19 @@
@X0F @X04<30><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @X0Fܲ<46><DCB2> @X0E<30> @X0F<30><46>
@X0F @X04<30><34><EFBFBD>@X4F<34>@X04<30><34> @X0F<30><46><EFBFBD><EFBFBD><EFBFBD>۲@X7F<37>@X4F<34><46>@X0F<30><46><EFBFBD> @X07<30><37> @X0E<30><45><EFBFBD> <20><><EFBFBD><EFBFBD> <20> @X0F<30><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@X0F @X04<30> @X0F<30><46><EFBFBD><EFBFBD><EFBFBD> <20><>@X7F<37><46><EFBFBD>@X4F<34><46>@X0F<30><46> @X07<30><37> @X0F<30><46><EFBFBD> <20><> @X0E<30>@X0F<30><46><EFBFBD><EFBFBD><EFBFBD> <20>@X4F<34><46>@X0F<30><46><EFBFBD>
@X0F<30><46><EFBFBD><EFBFBD><EFBFBD>@X7F<37><46>@X0F<30><46> @X04<30> @X0F<30>@X7F<37>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>@X0F <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X4F<34><46>@X0F<30> ۲@X7F<37><46><EFBFBD><EFBFBD>@X0F<30><46>ܲ@X7F<37><46><EFBFBD>@X0F<30><46> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>۲
@X0F <20>@X7F<37>@X4F<34><46>@X7F<37><46><EFBFBD>@X0F<30> <20><>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X0F<30> @X7F<37><46>@X0F<30><46>@X7F<37><46>@X0F<30> <20>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD>@X0F<30> <20>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X0F <20>@X7F<37><46>@X0F<30>@X4F<34>@X0F<30><46>
@X0F @X7F<37><46><EFBFBD>۲<EFBFBD><DBB2>@X07 @X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X07<30><37>@X7F<37> <20><><EFBFBD>@X78<37>@X07<30> @X78 @X7F<37><46><EFBFBD><EFBFBD><EFBFBD>@X08 @X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X0F @X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X0F<30>
@X0F<30><46><EFBFBD><EFBFBD>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD>@X0F<30><46> <20> @X07<30><37><EFBFBD>@X7F<37><46>@X07<30><37><EFBFBD><EFBFBD>@X7F<37><46>@X78<37><38><EFBFBD><EFBFBD>@X0F<30><46> <20><> <20>@X7F<37> <20><><EFBFBD><EFBFBD> @X07<30>@X7F <20><><EFBFBD>@X78<37><38><EFBFBD>@X07<30>@X7F <20><>@X78<37><38><EFBFBD>@X0F<30><46> <20><> <20> <20><>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X0F<30><46>
@X0F <20><>@X7F<37><46><EFBFBD><EFBFBD><EFBFBD> @X07<30><37> @X78<37><38><EFBFBD><EFBFBD><EFBFBD>@X08<30> <20>@X78<37><38><EFBFBD><EFBFBD>@X7F<37> @X78<37>@X7F<37>@X78<37><38><EFBFBD>@X08 @X07<30>@X7F<37>@X78<37><38><EFBFBD><EFBFBD>@X08<30> @X01<30> @X07<30><37>@X7F <20><><EFBFBD><EFBFBD>@X07
@X01<30> @X07<30>@X7F<37><46><EFBFBD> @X78<37><38>@X08<30> @X01<30> @X08<30><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>@X78<37><38><EFBFBD>@X08<30><38><EFBFBD>@X01<30>ܲ<EFBFBD> @X08<30><38>@X78<37><38><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X07 @X01<30> @X78<37><38><EFBFBD><EFBFBD><EFBFBD>@X08<30> @X01<30><31><EFBFBD><EFBFBD>۲<EFBFBD> @X07<30><37><EFBFBD><EFBFBD><EFBFBD>@X7F<37> @X07 @X01<30><31>
@X19<31>@X01<30> @X7F<37> @X78<37><38><EFBFBD><EFBFBD>@X08<30> @X19<31><39>@X01<30><31> @X08<30><38>@X78<37><38>@X08<30><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X78<37>@X08<30>۲<EFBFBD> @X19<31><39>@X07 @X08<30><38><EFBFBD><EFBFBD><EFBFBD>@X78<37><38><EFBFBD>@X08<30><38>@X78<37><38><EFBFBD><EFBFBD>@X08 @X01<30>@X19<31>@X01<30> @X08<30>@X78<37><38><EFBFBD>@X08<30><38> @X01<30>@X19<31><39>@X01<30><31><EFBFBD> @X78<37><38><EFBFBD><EFBFBD>@X07<30><37><EFBFBD> @X01<30><31>@X19<31>@X07
@X01<30> @X78<37><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X08 @X01<30>߲<EFBFBD> @X08<30><38><EFBFBD>@X78<37><38>@X08<30>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD>۲ @X01<30><31>߲ <20> @X08<30> @X78<37><38>@X08<30><38> @X01߲<31> @X08<30>۲۲<DBB2> <20><><EFBFBD> @X01<30> @X08<30>@X78<37><38><EFBFBD><EFBFBD><EFBFBD>@X07<30> @X01߲<31>
@X01 @X08<30>@X78<37><38><EFBFBD><EFBFBD><EFBFBD>@X08<30><38> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>۲ <20><><EFBFBD> <20><><EFBFBD> <20><> <20>@X78<37><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@X07
@X0F @X08<30>@X78<37><38><EFBFBD><EFBFBD><EFBFBD>@X08<30> <20><><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD> ޲ <20> <20><>@X78<37><38><EFBFBD>@X08<30><38>
@X08 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>@X78۲@X08<30><38>
@X08 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> @X0C<30><43><EFBFBD> <20><> @X0Feni@X4Fg@X0Fma<6D> @X07bbs soft @X08<30><38><EFBFBD>@X78<37><38>@X08<30><38> @X04<30> @X08<30><38><EFBFBD><EFBFBD>۲ @X04<30><34>
@X08dangermouse <20><> ۲<><DBB2><EFBFBD><EFBFBD> <20>@X78<37><38>@X08<30><38> @X04<30>
@X04 @X08<30><38> ۲<><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@X08 <20><><EFBFBD><EFBFBD><EFBFBD> @X04<30>@X4F<34>@X04<30><34><EFBFBD>
@X04 @X08<30> <20> @X04<30><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

Binary file not shown.

21
mods/art/DM-ENIG2.ANS Normal file
View File

@@ -0,0 +1,21 @@
  <30> <31><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD>
<30>  <30> <31><6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><32><6D><37><30><37><32><6D> <20>
<30> <37><32><6D>  <20><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><33><6D> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><31><32><6D><EFBFBD><EFBFBD>  <20>
 <37><32><37><6D><EFBFBD> <37><6D><32><37><6D><EFBFBD><EFBFBD><30><6D><EFBFBD> <20><31><33><6D> <33><6D><EFBFBD><33><6D><EFBFBD> <31>  <37><32><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><37><6D><EFBFBD><30>
 <20><37><6D><EFBFBD><EFBFBD><EFBFBD><30><37><30>߲<EFBFBD><DFB2><EFBFBD><37><6D><30> <37><6D><32><6D><EFBFBD><32><30> <33><6D><EFBFBD><33><6D><EFBFBD><EFBFBD> <20><><31><32><6D>۲<30><6D><EFBFBD> <31><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> <37><6D><EFBFBD><EFBFBD><EFBFBD><30>
 <32><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>  <37> <37> <37> <35>  <31><32><6D><EFBFBD><32><6D>ܲ<EFBFBD><DCB2><EFBFBD> <32><32><6D><EFBFBD><EFBFBD><30>  <20><>  <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D>  <20><><EFBFBD> <37><37><6D><EFBFBD><EFBFBD><EFBFBD>  
  <37><6D><30> <30> <35><6D><EFBFBD>  <32><6D><EFBFBD><30><6D><32>߲<EFBFBD>߲<30> <20><> <32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><6D><EFBFBD><EFBFBD><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <20><><EFBFBD><EFBFBD> <37><37><6D><EFBFBD><EFBFBD><30> <30>߲<EFBFBD><DFB2> <35>  ߲<37><30><6D>  <20>
<35>  <37><6D>ܲ<EFBFBD>   <20><><32> ۲<6D><DBB2> <20><><EFBFBD><32><30><32> <35> <32> <32><6D> <32> <20><>۲<6D><32><6D><EFBFBD><EFBFBD><32>  <20><><EFBFBD>  <37><6D> <37> <35><6D> <20>  <37><32><30> <37><6D>  <20><>
<35><6D>  ۲<><32><6D> <37><6D><32> <32><6D> ۲<><DBB2><EFBFBD>   <20><32><30><6D><EFBFBD> <20><>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><32> <20><><30><6D>   <32><30><6D><32><6D>  <20><><EFBFBD><EFBFBD>  <32><6D><30><32>߲<30>  <20><> 
 <20>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD> ߲ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ߲<6D> <32><30>۲<EFBFBD>   <20>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>
  <20><> <20><>߲<EFBFBD><DFB2> <32>  <20><>  <32><6D><EFBFBD>  <20><>  <20><><EFBFBD><EFBFBD>۲<EFBFBD><DBB2>  <20><>  <20>߲<EFBFBD><DFB2>  <20><>
<35><6D><EFBFBD><EFBFBD><EFBFBD><35><6D><EFBFBD> <35><6D><EFBFBD><35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <20><> <35><6D><EFBFBD><EFBFBD> <32><6D><EFBFBD>  <35><6D><EFBFBD><EFBFBD>   <20><><EFBFBD><EFBFBD><EFBFBD> <35><6D><EFBFBD><EFBFBD>
<35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>   ߲<>  <35><6D><EFBFBD> <20> <35><6D>  <35><35><35><35>  <20><><35><6D> 
<39><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dangermouse help c<30><6D>o  mm a n d shelp
<39> <20><><EFBFBD><EFBFBD>
ESC - Exit ENiGMA<4D> F3 - Configure
SPC - Logon Local <35>F4 - User Editor
F1  - Init Modem <35>F5 - DOS Shell
F2  - Hangup Modem F6 - Review Logs


551
mods/art/IC-CS.ANS Normal file
View File

@@ -0,0 +1,551 @@


<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<34><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰ <37><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
۰
<34><43><37><32><6D><30><30>߰ <37><32><6D><30>
<30><6D><EFBFBD><EFBFBD>߰
<30><6D><EFBFBD> <20><><EFBFBD><37><32><6D><30><30> 
<37><32><6D><30><30>
<37><30><37><31><31><37><33><6D><37>
<30> <37><33><6D><37><30><37>
<20> <20> <20> <20><37><33><6D><37><30> 
<37><33><6D><37><30><36>
<EFBFBD><EFBFBD><37><6D><37><33><6D><37><30><6D> <37><33><6D>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><30>
<20><><37><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><30> <37>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><30><30>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37>
<39><30><6D><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
<30><6D>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D> <37><6D><30> <37><31>
<37><31><31><31><31><34><33><32><31>
<37><31><30><31>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37> <20> <20> <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD> <20> <20><32>
<30><43><32><31><37><30>
<30><6D><EFBFBD><39><43><38><39><39><37><6D>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><37><38><37><30>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><37><30><43><36><43><EFBFBD><35><43>
<EFBFBD><39><35><39><43>ް <20><33><43>
<30><43><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><32><43><38><43><EFBFBD> <20><><EFBFBD><EFBFBD><37>
<30>
<38><37><30><38> <20><> <20> <20><><EFBFBD><EFBFBD> <20> <20><> ۲<><DBB2>
<37><30><35>
<20><><EFBFBD><EFBFBD><EFBFBD> <37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><36><43><37><6D><EFBFBD><30><6D> <20> <20> <20><><EFBFBD> <20>
<31><43><EFBFBD> ޲<> <20><><37><30> <20> <37><6D><30>
<EFBFBD><37><6D><30><35><43><EFBFBD><EFBFBD><EFBFBD><37><6D><30><6D> <20><><37><30> <20><>
<34> <20><><EFBFBD> <20><><EFBFBD> ۲<> <20><37><30><6D> <20> <37><6D><30> <20> 
 <20>
<35><43><EFBFBD> <20><>ܲ<EFBFBD><DCB2><37><6D><30><6D> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><37>
<30> <20><><EFBFBD>޲޲<DEB2> <20><37><6D><EFBFBD><30><6D> <37><6D><EFBFBD><30> <20><>
 <20>
<20><><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><37><30> <20><><EFBFBD> <20><> ߲<> <20> <20><><EFBFBD> <20><37>
<30> <20><37><30><37><30><6D><37><30> <37>
<37><6D><EFBFBD><30> <37><6D><EFBFBD><30> <20> <20> <20><> <20><37><6D>
<30>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <30><6D><37><6D><EFBFBD><30> <30><6D> ۲
<37><37><6D><EFBFBD><30><37><30><37><30> <37><6D>
<30><37><6D><EFBFBD><30><30> <37><6D><EFBFBD><30> <20><><EFBFBD><EFBFBD> <20><>
<37><30>
<EFBFBD><EFBFBD><EFBFBD> <37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><37><6D><EFBFBD><30><6D> <20><>
<37><30> <30><6D><37><6D><30> <20><37><30>
<39><37><30><30><37><6D><30><37>۲<43><DBB2>
<37><6D><30> <37><30><6D><EFBFBD><37><6D><EFBFBD><30><6D> <20>
<37><30>
<EFBFBD><33><6D><30><37><30><6D><EFBFBD> <20><><EFBFBD><EFBFBD><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<35><43> <20><37><6D><30><30><30><6D><EFBFBD><EFBFBD> <37><30><6D>
<37><31><43><31><30><37><30><37><6D><EFBFBD>
<30><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><>
<33><6D><33><30> <20><><33><33><6D>ܲ<6D><DCB2>
<37><6D><30><6D><37><30> <20><><EFBFBD> <20><37><30> <30><6D>
<37><30> <20> <37><30><37><30><6D><37>
<30><6D> <20><><EFBFBD><37><6D><30><37><6D><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
 <20>
<33><6D><EFBFBD><30> <33><6D><EFBFBD>۲<6D><DBB2><37><30> 
<37><6D><30>ܱ <20><37><30><6D><EFBFBD> <20> <30><30> <20>
 <20> <37><31><43><30> <20> <37><6D><30><37><30> <20><>
<30><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD>
<33><6D><30> <33><6D><EFBFBD>۲<6D><DBB2><37><30> 
<37><6D><33> <33>ޱ <20><37><30><6D> <20> <20><>
 <20> <20> <37><30><6D><37><30><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>
<37><30><6D> <20><><EFBFBD><35><43>
<33><33><30> <20><33><33>۲<6D><DBB2>
<37><30> <37><6D><33><33><33>ޱ<6D><DEB1>
<37><30> <33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD> <30> <20><> <20> 
<37><30> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><30>
<33><30><6D><EFBFBD><EFBFBD><33><33>޲<6D><DEB2><37><30> 
<37><6D><33><33><33>޲<6D> <20><37>
<30><6D><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><30> <20><> <20><>
<35><43><EFBFBD> <20><><EFBFBD><EFBFBD><37><6D><30><6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><30><33><6D><30><33>޲<6D><DEB2><37>
<30> <37><6D><30><6D><33><6D><30><6D><33>
<30><37><30>ޱ<33><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<33><6D><EFBFBD><30><37><30><30> <20> <20><> <20><><EFBFBD><33>
<38> <30><6D> <37><30><6D><EFBFBD> <20><><37><30> <20><><EFBFBD><EFBFBD><EFBFBD>
<33><30><33><6D><EFBFBD><33><30><6D><EFBFBD><37><30><33>
<30><37><30><6D><EFBFBD><33><30><6D> <33>
<30><37><33>޲<6D><33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD>
<33><6D><EFBFBD><33><6D><EFBFBD><30><37><30><6D><EFBFBD><EFBFBD><EFBFBD> <20> 
<33><6D> <33><30><6D><EFBFBD><EFBFBD>߲<EFBFBD> <33><30><6D><EFBFBD> <20><>
<33><6D><33><33><6D>޲<6D><37><30><33><6D>
<37><6D><30><33> ޲<6D><33><30>
<37><30><33><33><30><6D><33><6D><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30> <30> <20><><EFBFBD> <20>
<34><33><33><6D><33><6D><33>޲ <37>
<33> <30><6D> <20><33><33><33><30><6D>
<33><6D>
<33><6D><33><6D><33><30><6D><37><6D><33>
<33><30><37><30><33><30> <20>۲<33>
 ۲<30><33><6D>޲<33>
<33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30> <20><>
 <33><6D> <33><6D><EFBFBD><33><30><6D><37><30>
<33> <30> <20>ݰ<33> <30>
<33><33><6D><EFBFBD><33><30><6D><37><30><33><33>
<30><37><33> <30>޲ <33><30>
<37><30><33><33><6D>޲<33>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30><33>
<30> <33><6D> <33><6D><EFBFBD><EFBFBD><33><30><6D><EFBFBD><33>
<33> <30><6D><33><6D><30><33> 
<30>
<33><6D><30><6D><30><6D><37><6D><30><33><33>
<37><30><33><6D><30><6D><EFBFBD><EFBFBD><33><30><6D>
<37><30><33><33><6D><33><30><6D>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><33>
<30> <33><33><6D> <33><6D><EFBFBD><EFBFBD><33> <30>
<35><33><33><33><30> <33><6D><EFBFBD><30><33>
 
<33><6D><EFBFBD><EFBFBD><30><6D><37><30><33><6D><30><6D><EFBFBD><33><30>
<35><43><EFBFBD><33><6D><30><6D><37><30><33><6D><EFBFBD><EFBFBD>
<30><6D><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30>
<37><30><33><30><6D><EFBFBD><33>
<33> <33><6D><EFBFBD><EFBFBD><EFBFBD><33><30><6D><EFBFBD><33><6D><33> 
<30><33><33><6D><EFBFBD><30> 
<33><6D><EFBFBD><EFBFBD><30><37><6D><30><33><33><30>
<37><33><6D><30><6D><EFBFBD><EFBFBD><33><33><30><6D><EFBFBD><EFBFBD>
<33><33><6D><EFBFBD><33><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D>
<37><6D><33><30><6D><37><30>  
<33><6D><EFBFBD><EFBFBD><EFBFBD><33><30><6D><37><30><33>
<33> <33><6D><EFBFBD><EFBFBD><31>
<33><6D><EFBFBD><EFBFBD><30><37><30><6D><33><33><30>
<37><33><6D><30> <20><><33><30> <37><30>
<33><33><33><6D><EFBFBD><30> <33><6D><EFBFBD><EFBFBD>
<33><6D><37><6D><30><33> <30> 
<37><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><33><30><6D><37>
<30><33><6D><30><6D> <33><33><33><6D><EFBFBD>
<30>
<33><6D><EFBFBD><33><37><30><6D><EFBFBD><33><33><30><6D>
<33><6D><30><6D><EFBFBD><33><33><30> <20><37>
<30><33> <33><33><30><6D><30> 
<33><6D><EFBFBD><33><6D><37><6D><30> <20><33> 
<37><30><33><6D><EFBFBD><EFBFBD><EFBFBD><33><30><6D>
<37><30><6D><33><30><6D><33> <33><6D><EFBFBD><33><6D>
<33><6D><EFBFBD>޲<6D><DEB2><EFBFBD><33><33><30><6D><33><6D><EFBFBD><30>
<36><33><6D><30><33><30><6D><37><33>
<33><33><33><6D><EFBFBD><EFBFBD><33><30> <33>
<33><6D><37><6D><30><30> <20><><33><37>
<33><33><6D><EFBFBD><33>޲ <37><30> <20>
<33><33><33><33><6D><EFBFBD><33>
<33><33><6D>޲<6D><DEB2><33><33><33>
<30><6D><33><30><33><30><6D><33><6D>
<30><33><30><6D><37><33> <30>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><33><37><6D>
<30><6D><33> <30><6D><33><6D><EFBFBD><EFBFBD><30><6D><33>
<37><33><30><6D><EFBFBD><33><33><30> 
<33><6D><EFBFBD><EFBFBD>
<33><33><33><30><6D><EFBFBD><EFBFBD><33><33>
<33><30><6D><33><30><33><6D><30><6D>
<33><30><33><30><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D>
<37><6D><30><33><30><33> 
<30><37><30><33><33><31><30><6D>
<33><37><33><30><6D><33><6D><EFBFBD><33>
<33><33><6D><EFBFBD>
<33><6D><33><30><6D><33><30><33>
<33><33><30><6D><33><30><33><6D>
<30><6D><33><30><33><6D><30> <20><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><37><6D><33><6D> <30> <20>
<33><30><33> <31><30><6D>
ݲ<30><30><33><30><6D><33>
<33><30><33><6D><EFBFBD><33><6D><31><30><6D>
<33><33>ް<33><6D><30><33>
<33><33><33><30><33><30><33><6D>
<30><6D><33><6D><30><33><30><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><33><6D><37><6D><30><33><6D><33> <30>
<33> <30><33><33><6D><30><6D> 
<33><30><6D><33><6D><30><6D><33><30>
<35><33><30><33><6D><EFBFBD><EFBFBD><33><30><33>
<33><6D>
<33><6D><EFBFBD><30><33><6D><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><30>
<33><6D><EFBFBD><30><33><33><33><6D><EFBFBD><30> <20>
<36><33><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><37><6D><33><6D>
<33><30> <33><6D><30><6D><33><6D><30><30>
<33><33><30><33><33><30><6D><33><30><6D>
<39><33><6D><EFBFBD><EFBFBD><33><31><30>
<33> <20> <30><33><6D> <20><><EFBFBD><30><33><6D><EFBFBD><30><6D>
<33><33><6D> <30><33><6D><30>
<33><33><6D><EFBFBD><33><6D><30><37><30> <30>
<33> <30><33><35><33><30><6D>
<33><6D><30><30><33><6D><30><33><33>
<37><30><30><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>
<33>
<37><6D> <30> <33><30><6D> <33><30><6D><EFBFBD>
<33><6D> <30><6D><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D>
<30><6D> <30> <33> <33><33> ޱ<>
<30><6D><33><6D><30><30><33><6D><30><33>
<31><37><30><33><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33>
<30> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D> <20> <20> <33><6D><EFBFBD><EFBFBD><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><30><6D><EFBFBD> <33> <20>
<33><6D><33><6D><33><33><6D><30>
<33><33><6D><30><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><33>
<33><6D><30><30><33><33><6D><EFBFBD><EFBFBD><EFBFBD>۲
<30> <20> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><37> <30> <20> <33><6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><6D><EFBFBD><EFBFBD><30> <20><33> ܱ
<38>ݱ<EFBFBD><DDB1><EFBFBD><33><6D><30><33><6D><EFBFBD><EFBFBD>ޱ<30><6D><33><6D>
<33><30><30><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30> <20><37><6D> <37><30> <20><> <20><33><6D><31><6D><EFBFBD>
<31><43><EFBFBD><30><33> ܱ<><DCB1><EFBFBD>޲<EFBFBD> <31>
<30><33><33><6D><EFBFBD><EFBFBD><33><30><33>
<33><6D><EFBFBD><33><30><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><33><30><6D><EFBFBD> <20> <20><> <20> <33> <20><>
<30> <20> <33><33><30>ݱ<EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><6D><33><33>
<33><30><6D><33><6D><33><33><6D><30>
<30><43><EFBFBD><EFBFBD> <30><33><6D>
<30> <20><><33><6D><30><33><30><6D><EFBFBD> 
<33> <20><33>ܲ <20><><EFBFBD><33><6D><EFBFBD><EFBFBD>
<31> <33> <20> <20><30><33><6D> <20><> <30> <33>
 <20><><EFBFBD><EFBFBD>
<EFBFBD><39> <30> <20> <33><30><33>
<33><31>۰<33><6D> <20><> <30><33>
<30><6D><36>
<33><6D><EFBFBD> ܱ<><30> <20><36><43><33> <30>
<33><30>ݰ<33><6D><EFBFBD><30> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33>ܲ<EFBFBD><DCB2><30><6D><33> <30><6D><33>
<31><30><33>ܰ<33><6D><EFBFBD> <30> <33> 
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD>
<33><6D><EFBFBD><38><30><6D> <20><33><31><37>۲
<33><6D><EFBFBD><33><6D><EFBFBD> <20> <20><30> <20><33><30> 
 <33><6D> <20>
<EFBFBD><37><43><EFBFBD> <30> <20><33><30><33>
۲<6D><DBB2><EFBFBD><30><6D><EFBFBD><33><33><6D><33><6D>
<33><33><6D>ܲ<43><DCB2> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
<35><43><EFBFBD><EFBFBD> <30><35><38><33><33>
<31><37><6D><EFBFBD><EFBFBD><30>۲<6D><33>
<33><30><33>߰<EFBFBD><DFB0>۲<6D><DBB2> ޲<33>
۲<6D><DBB2> <20><><EFBFBD>ݰ<EFBFBD><DDB0>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><37><6D><EFBFBD><30><37><6D><EFBFBD><EFBFBD>
ܲ<37><6D><33><30><6D><33>ܰ<EFBFBD><DCB0><EFBFBD><33><6D><EFBFBD>
<33><37><30><33><33><6D> <20>ޱ<EFBFBD><DEB1><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><34><33><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><30><6D><37><6D><EFBFBD><33><30><6D><33><6D><37>
<33>ܰ<31><43><30><37><6D><30><33><6D> <20><><EFBFBD> 
<31>
ܲ<6D><30><33><31><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<33><6D><37><6D><EFBFBD><EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><37><6D><EFBFBD><EFBFBD>
<33><33><6D><33><33><6D><33><6D>
<33><6D><EFBFBD><EFBFBD><30><31><33><31><37><6D><EFBFBD>
<30><6D><EFBFBD><EFBFBD><33><6D><30><6D><37>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><33>
<30><37><30><33><33><6D><EFBFBD><33><6D> 
<33><6D>
 <30><6D><EFBFBD><EFBFBD><EFBFBD><33><31> <20> <30><33> <30>
<30><37><33><31><37><30><6D><EFBFBD><EFBFBD><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<34><43><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37><30><6D><EFBFBD><33><33> 
<33><6D> <33><6D><EFBFBD>
 <33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><30><33><6D><33>
<33><31><6D><30><37><30><6D><EFBFBD><EFBFBD><33>
<33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><33><37><30> <20>
<37><30><6D><33><33> <33><6D> <33><6D><EFBFBD>
<33><6D> <20><33><6D><33><30><6D><33><6D><EFBFBD>
<30><6D><37><30><33><31><30><37><6D>
<37><30><6D><EFBFBD> <33><6D><31><33><6D><30><6D><EFBFBD>
۲<6D><DBB2><EFBFBD><30><33><33><6D><EFBFBD><31><33>
<33><6D> <20><33><6D><33><6D><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><30><33><33><6D><EFBFBD><30><6D>
<30><33><31><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <33>߲
<33><6D>߲<30><6D><33><6D><33> <31>
<33><6D><EFBFBD><EFBFBD> <20><33><6D><33><6D><33><6D><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><33><6D><33><6D><30>
<37><30><33><6D><EFBFBD><33><31><6D><30>
<37><6D><EFBFBD><30><6D>ܲ<6D><DCB2><36><43><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2> <20><><EFBFBD>
<33><30><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><33><6D><33><6D><30>
<37><33><6D><EFBFBD><EFBFBD><EFBFBD><30><33><31><6D><EFBFBD><EFBFBD> <20><>
<37><6D><33><33><6D><EFBFBD>ܰ <20><><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD> <33><6D><EFBFBD><EFBFBD><EFBFBD>
<30><6D><33><31><33><6D><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30><33><6D>
<38><43><EFBFBD><EFBFBD><36> <20> <30><6D>߲<6D><33><6D><37>
<37><6D><EFBFBD><EFBFBD><EFBFBD><33><33><33><33><6D><EFBFBD><EFBFBD><EFBFBD> 
<33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<33><6D><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><33><33><6D><EFBFBD><33><6D><30>
<37><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><31><33><6D><33><6D><EFBFBD>
 ޲<30><37><6D><33><6D><EFBFBD><EFBFBD><30> 
<33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><30><33><6D><33><6D><30><37>
<30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><43><33><37><33>
۲<6D><DBB2> ޲<30><6D><33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33>۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D>
<33><30><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30><6D> 
<33><6D>߲<EFBFBD><37><43><33><6D><33><6D> <20> 
ܲ<6D> <20><><EFBFBD><33><6D><EFBFBD><33><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<30><43><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><33><6D><30>߲<33><6D><EFBFBD>
<33><6D><EFBFBD> <20><33><6D><EFBFBD><EFBFBD><33><6D><30><37><30>
<37><6D>ݱ<6D><DDB1><EFBFBD><EFBFBD><EFBFBD> <20><>߲<6D><DFB2><33>ܲ
<30><33><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><6D><EFBFBD><33><6D>
<33><6D> <30><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37>
<37><6D>۲<6D>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><31>
<33><33><6D><30><30> <33>
<33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
<30><6D><33><6D>
<33><6D><33><6D><33><30><6D><33><33><6D><30>
<37><30><30><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D>
<30><37><6D><30><37><6D><30><37><30>ޱ 
<33><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
<30><33><6D><EFBFBD>
<33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><37><30>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37> <30><6D><37><6D><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>۲<EFBFBD>
ݲ<6D> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><> <30> 
 <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><30>
<33> <20><33><6D><30><33><33><6D><30><37>
<30><30><6D> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D> <30><37><6D><EFBFBD><EFBFBD>
<30><37><6D><30><37><6D><30><37>ޱ 
<37><33><6D><33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <30><6D><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><30><30>
<33><33><6D><33> <33><6D><33><6D><30>
<37><30><6D>޲<6D> <20><><EFBFBD> <20><> <20><> <37><30><30>
 <31><6D><EFBFBD><30><37><30><37><6D><30><6D> <30> 
<33><6D><EFBFBD><33><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><30>
<33><6D><EFBFBD><33><33><33><6D><30><37><30><30>
<37>ݲ<6D><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D><EFBFBD><31><30><6D> 
<37><43> <20><37>ޱ <33><6D><33><6D><EFBFBD> <20><><EFBFBD><EFBFBD> 
 <31><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D>
<30> <30>
<33><33><33><6D><EFBFBD><30><33><6D><30><37>
<37><30><30><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><30><37><6D><EFBFBD><30> ݲ<6D> <33>
<33><6D><33><6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><33>
<33><6D><EFBFBD><33> <30><6D><33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD>
<30><6D>
<33><33><6D><EFBFBD><EFBFBD><33><30><6D><37><30><30><6D> <30><6D><EFBFBD>
޲<43><DEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37> <30><6D><37><30><37><6D><EFBFBD><EFBFBD><EFBFBD>
<37><30><37><30>ޱ <33><33><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
 <30> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD>
<33><6D><30><30> <20>
<33><33><6D><EFBFBD><EFBFBD><33><6D><30><37><30> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<37><30><37><6D><30> <20><> <20><><EFBFBD><30><37>
۲<30><30> <30> <33><33>
<33> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><33><6D><EFBFBD><30>
<33><6D><EFBFBD><EFBFBD><33><6D><30><37><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <37> <20><>
<35><43><37><6D><30> <31><30><6D><37><30> <31><6D>
<33><33> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>  
<30><6D> <30> <20><><33><6D><EFBFBD><33><33><6D>
<30><30> <20>
<33><6D><EFBFBD><33><6D><EFBFBD><30><37><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><30><37><30><6D><EFBFBD><33> 
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD>
<30>
<33><6D><EFBFBD><EFBFBD><EFBFBD><30><37><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35><43><EFBFBD>
<33><6D><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><33> 
<33> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><33><31>
<33><33><6D><EFBFBD><EFBFBD><33><6D><30><30> <20> <20>
<33><31><33><6D><EFBFBD><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><38><43><EFBFBD>
<33><6D><37><6D><33><6D><EFBFBD><33> <20><><EFBFBD> 
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD>
<33><6D><33><6D><EFBFBD><30> <20><><EFBFBD>
<37><33><6D><31><43><33><37><33><6D><EFBFBD><33> <20><> 
<33> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><33>
<33><6D><EFBFBD><EFBFBD><32><43><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><30> <20> <20>
<30><43><33><6D><30><43><EFBFBD> <20><> <20> <30><6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><33><6D><33><6D> <30>
<33><6D><EFBFBD><30><33><6D><EFBFBD><30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><33><30><33><6D><31><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><33><6D><30><6D><EFBFBD><33><6D><30><6D> 
<30> <20> <20> <20>
<33><6D><EFBFBD><EFBFBD> <20>۲<EFBFBD><DBB2> <20><>ܱ<6D><33><6D><EFBFBD> <20><><EFBFBD> <30>
 <20><> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33> ݰ <20><> <20>
<37><6D><EFBFBD><30><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>ܲ<EFBFBD><DCB2><33><6D><EFBFBD><EFBFBD>
޲<6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<6D><DDB0> <20><37>ݰ <20><> 
<31><37><30> <20> <20><> <20> <20> <20> <20>
<35><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>߲<6D><30><6D><EFBFBD><33><6D>
<33><6D><EFBFBD>޲<6D><33><6D><33>
<30> <20><><EFBFBD> <37><6D><30><6D> <37><6D>
<30> <20><> <20> <20> <20><> <20>
<37><6D><30><30><37><43><33><6D>߲<30>
<37><30><33><6D><EFBFBD><33><31><33> ܱ
۰ <20><> <37><6D><30> <20> <20><37>
<30> <20> <20><> <20> <37><30>
<30><30><6D><38><33>޲<30>
<37><6D><EFBFBD><33><37><6D><33><30><33><30><6D>ݰ <20>
 <20><><EFBFBD><37>ݰ <20> <20><37><30> <37>
<30> <20> <20> <20><>
<36><43><37>޲<33><30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ݰ<6D><DDB0><EFBFBD> <20> <20> <20><37>ݱ <20><> <20><> <20> <20><> <20> <20> 
<37>
<36><43><EFBFBD><37><33>޲<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><30><6D> <20><> <20> <20> <20> <20> <37>ݱ <20><> <37>
ݰ<6D><DDB0> <20><> <20> <20> <20> <37>
<35><43> <37><30>ܲ<6D><30><37><6D><30><6D><EFBFBD> 
<30><37>ݰ <20> <20> <20> <20>ݰ <37><30> <20><><EFBFBD> 
<37><30><6D>۰ <37><30> <20> ݰ<><DDB0>
<30> <20><33><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><37><30><6D>
<37><30> <30><6D><EFBFBD><EFBFBD><EFBFBD> <20><37><30> <20> <20> <20> <20> <20> <20><><EFBFBD> 
<38><43><EFBFBD> <37><30> <37><30> <20> ް<><DEB0>
<35> <20><33><6D><33><6D><EFBFBD><30><6D>۲<6D><DBB2><30> 
<37><30><30> <20> <20><37><30><6D><EFBFBD> <20> <20><> <20> <20>
 <20><><EFBFBD> <20> <37><30><6D> <20><> <37>ݰ <20><> <20> <20>
<EFBFBD><EFBFBD> <20><><33><6D><33><31><6D><EFBFBD><30><6D><37><6D><EFBFBD>
<30> <37><30><30> <20><> <20><37>
<30> <20><> <20> <20><> <20><> <20><37><30> <20> <20><><EFBFBD> <20><> <20><><EFBFBD> <20><> <20> <20>
<20><><EFBFBD><33><6D><33><31><6D><EFBFBD><30><6D><37><6D><EFBFBD><30> 
<37><30><6D><EFBFBD><EFBFBD> <20><37><30> <20> ۰ <20> <20><> <20><> 
 ۰ <20><> <20> <20><><EFBFBD><EFBFBD> <20> <20> <20><> <20><>
<20> <20><><33><6D><33><31><6D><EFBFBD><30><6D><37><6D><EFBFBD>
<30> <20><30><6D><30><6D> <30><37><30> <20> <20>ݰ<EFBFBD><DDB0><EFBFBD> <20> <20>
<30> <20> <20> <20> <20><>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD> <20> <20> <20> <20> <20>
<20><> <20><> <33><6D><33><31><6D><EFBFBD><30><6D><37><6D><EFBFBD>
<30><6D><EFBFBD><30><6D><30><37><30><30> <20> <20> <20><> <20>
<33><43><EFBFBD> <20> <20> <20> <20><><EFBFBD>ݰ <20> <20><><EFBFBD> <20> <20> <20> <20> <20><>
<EFBFBD><37><43> <33><6D><33><31><6D><EFBFBD><30><6D><37><6D><30><6D>
<37><30> <37><30><30><6D> <20> <20>ݱ <20>
<31> <20><> <20> <20> <20> <20> <20><> <20> <20> <20> <20> <20><> <20><> <20> <20>ݰ
<39> <33><6D><33><31><6D><EFBFBD><30><6D><37><6D><EFBFBD><EFBFBD><30>
<34><43><30><6D><30><6D><30><37><30> <20> <20> <20> <20>
<37><30><6D> <20><> <20> <20> <20> <20><>ݱ <20> <20> <20><><EFBFBD> <20> <20>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD> Prophet is Copyright of Rob 
Liefeld - Image Comics<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<35><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><38><43>
<35><43><EFBFBD><EFBFBD><EFBFBD><31>
<30><6D><EFBFBD><31><31><6D><EFBFBD><30><36><30>
<31><31><6D><EFBFBD><EFBFBD><EFBFBD><31><30><36> 
<35><31>
<36><6D><EFBFBD><36><6D><EFBFBD><37><6D><EFBFBD> <30><36><6D><EFBFBD><36><6D><EFBFBD>
<37><6D><EFBFBD><32><43><EFBFBD><34><43><EFBFBD><36><6D><EFBFBD><36><6D><EFBFBD><37><6D>
<37><36><6D><EFBFBD><36><6D><EFBFBD><37><6D><EFBFBD><30>
<37><6D><EFBFBD><30> <20><36><6D><30><6D> <30> <36><6D><EFBFBD>
<36><6D><EFBFBD><37><6D><EFBFBD>
<30><36><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <30><36><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><30>
 <37><6D><36><34><37><6D><30><36><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><30><31><30><36><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><30> <20>
<37><6D><EFBFBD><EFBFBD><36><6D><EFBFBD><EFBFBD><30> <30><36><6D><31><6D><EFBFBD><EFBFBD><EFBFBD>
<30>
<20><37><30><37><6D><EFBFBD><30><37><30> 
<37><36><6D><30> <36><6D><37>
<31><37><37><30><31><37><6D><EFBFBD>ܰ
<37><6D><EFBFBD><30><37><6D><EFBFBD><30><36><6D><EFBFBD>
<30><37><30>
<30><37><6D><36><6D><36><37><6D><36><6D>
<36><36><6D><EFBFBD><37><30> <36><6D><EFBFBD>
<31><6D><36><6D><EFBFBD><30><37><6D><36>
<36><30><30><37><6D><EFBFBD><36><6D><36>
<31><30><36> <36><6D><EFBFBD><30>
<37><6D><36><6D><30>
<20><36><6D><EFBFBD><30><36> <37><36><6D><EFBFBD><30><6D><36>
<36> <36><6D><30><6D><36><31> 
<36><36><6D><30> <36><36><6D><EFBFBD><30>
<36><37><37><36><36><6D><EFBFBD><36>
<31><6D><EFBFBD><36><36><6D><30><36><6D><EFBFBD>
<30><36>
<20><36><6D><EFBFBD><EFBFBD><EFBFBD><36><6D><EFBFBD><36><36><6D><EFBFBD><EFBFBD>
<36> <31><6D><36><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36>
<30><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><37><37><30>
<36><36><30><6D><EFBFBD><30> <31><30> <30>
<36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><30><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36>
<36><30><6D><EFBFBD> <36><36><6D> <20><36><6D><EFBFBD><EFBFBD><30><31>
<31><31><30><6D><EFBFBD><EFBFBD><EFBFBD><36><6D><37><30><6D><EFBFBD><EFBFBD>
<36><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><37><6D><30><36><30><6D><EFBFBD>
<31><31><6D><EFBFBD><30><30><6D><EFBFBD><EFBFBD><36><6D><EFBFBD><EFBFBD> <30><6D>
<30><43><36><6D><EFBFBD><EFBFBD>
<31><30><36>۲<6D><31><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><DCB0><EFBFBD><30>
<35><31><6D><EFBFBD><31><30><31><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><DCB0><EFBFBD>
<30>
<30><6D><36><6D><EFBFBD><30><6D> <31><31><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD>
<30><43><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><30><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><DCB0><EFBFBD><30>
<30><36><6D><30><6D><EFBFBD><EFBFBD><36><6D><EFBFBD><30><31><37><6D>
<37><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><30>
<36><6D><EFBFBD><EFBFBD><EFBFBD><30><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><DCB0><EFBFBD>
<30><30><36><30>
<36><6D><30> <20><><36><36><31><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><30> <36><6D><EFBFBD>
<30><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><30><6D><EFBFBD><EFBFBD><30><30>
<36><6D><EFBFBD><30>
<36><6D><36><30><6D><31><6D><EFBFBD><31><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <36><6D><EFBFBD>
<30><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><30><6D><EFBFBD><EFBFBD><30>
<36><6D><EFBFBD>
<36> <30><6D><31><6D><EFBFBD><31><37><6D><EFBFBD>
<37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D><EFBFBD>  
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><30><6D><EFBFBD><EFBFBD><30><36>
 
<36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><30><31><6D><EFBFBD><31><30>
<36><6D><36><6D><EFBFBD><36><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36>
<36><6D><37><6D><EFBFBD><EFBFBD><31><31><6D><36><6D><EFBFBD><37>
<36><36>
<38><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><6D><EFBFBD><36> <30><31><6D><36>
<36><6D><36><6D><31><36><36><6D><30><6D><36>
<36><6D><36><37><6D><EFBFBD><EFBFBD><36><36><36><31>
<37><6D><31><31><36><36><6D><EFBFBD><36>
<36><6D><30> <20><><EFBFBD><36><36>
<31><36><6D><31><43><EFBFBD><30> <20> <31><6D><31> <36>
<30><6D><EFBFBD><36><6D><30><30><36><36>
<37><30><36><36><30><31><31><30>
<31><36><36><30> <20><><EFBFBD><36><6D><30><6D>
<36><6D><30> <20><><EFBFBD> <36><30>
<37><6D><EFBFBD><30><37><6D><30><37><30><6D><EFBFBD>
<37><30><31><6D><36><37><30><6D><36><6D><31><6D>
<36><37><30><31><31><6D><EFBFBD><30> <30> 
<36><37><6D><30> <37><30> <20><37><30>
<37><6D><30> <20><37><30>
<30><6D><37><6D><EFBFBD><30> <30><37><30> 
<30><31><37><6D><30><30>
<37><30><6D> <37><6D><32><43><EFBFBD><30> <30> <30>
<31><43><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><30><37><30> <20><36><37>
<37><6D><36><30>
<30> <20><><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><37><6D>
<30><6D><EFBFBD><EFBFBD><EFBFBD> <37><6D><30><6D><EFBFBD> <31><30>
<37><6D><30><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<37><6D><33><31><43><EFBFBD><30><6D> <20> <20><37>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <30><30> <20><31><31>
<37><6D><30><30><6D><30><6D><30><6D><EFBFBD><36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<30><43><EFBFBD> <20><><EFBFBD>
 <31><30><30><31><6D><EFBFBD><EFBFBD><31><30><6D><EFBFBD>
<31><30><30><6D>
<37><6D><30><31><6D><EFBFBD><EFBFBD><EFBFBD><30>
<37><6D><30><31><30>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><30><30><6D><EFBFBD><EFBFBD><EFBFBD> Cru
sty's SpamLan
d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>SysOps<70> Warlock<30><6D><EFBFBD><EFBFBD><37><6D>
<30><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>914.9
44.8046<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Deadpool [GRF]<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<38><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>96oo - 14.4 only
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>GRF Affiliate Board<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[24oo by 
invite]<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Art, Music, & Anarchy ONLY!
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Running Obli
vion/2 Registered
<30><6D>All Artists, Coders, & M
usicians welcome<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Impac
TNeT, ToXiCNeT<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21>Icy of 
ACiD Producti
ons<6E>!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Greets to all ex-Valiant guys!7.28.93

19
mods/art/MATRIX1.ANS Normal file
View File

@@ -0,0 +1,19 @@
 <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<6D><DCB2>  <33>  <31><6D> 
 <31><6D><EFBFBD><31><31><6D> <31><6D><EFBFBD><EFBFBD><EFBFBD>۲<37><31><6D><30><6D><EFBFBD>  <20><>  <33><6D><EFBFBD> <33><6D><EFBFBD><EFBFBD> <20> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><31><6D><EFBFBD><EFBFBD><EFBFBD><31><6D><37><6D><EFBFBD><31><6D><30><6D> <30><6D>  <20><><EFBFBD> <31><6D> <33><37><6D><EFBFBD><EFBFBD><EFBFBD><31><31><6D><30><6D><EFBFBD>
<31><6D><EFBFBD><EFBFBD><EFBFBD><37><6D><30><6D>  <20><31><37>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><30>۲<37><6D><EFBFBD><EFBFBD><30><6D>ܲ<37><6D><EFBFBD><30><6D> <31><6D><31><6D><EFBFBD><EFBFBD><EFBFBD>۲
 <20><37><31><6D><37><6D><EFBFBD><30><31><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> <37><6D><30><6D><37><6D><30> <31><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><37><6D><30><31><30><6D>
<37><6D><EFBFBD>۲<EFBFBD><DBB2>     <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><37> <20><><EFBFBD><30><30>  <37><6D><EFBFBD><EFBFBD><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>  
<31><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <20>  <20><><EFBFBD><37><6D><30><6D><EFBFBD><EFBFBD><37><6D><30><6D><EFBFBD><EFBFBD><30><6D> <31><6D> <31><37> <37><6D><EFBFBD><EFBFBD> <30> <20><><EFBFBD><30><6D><EFBFBD><30> <20><><30><6D><EFBFBD><30><6D> <31><6D> <20> <20><><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>   <31><6D><37><6D><EFBFBD><EFBFBD><EFBFBD> <30><6D>    <37><6D><EFBFBD><EFBFBD><EFBFBD><30>  <20><37><6D><EFBFBD><EFBFBD><37>  <20><37><30><6D><EFBFBD> <30><37><30><6D><EFBFBD><EFBFBD><30> <20> <20><> <20><><EFBFBD><EFBFBD> 
<34> <30><37><6D><EFBFBD> <20><><30>  <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><37><6D><EFBFBD><30><6D><EFBFBD><34>ܲ<EFBFBD> <20><><37><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <34> <37><6D><EFBFBD><EFBFBD><EFBFBD><30> <34><6D><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><37>  <34><6D> 
<34><34> <37> <30><6D><EFBFBD><EFBFBD><30> <34><6D><34><6D> <30><6D><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30>۲<EFBFBD> <34><6D> <30><6D><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><30><6D><37><6D><EFBFBD><EFBFBD> <34><34><34> <30><37><6D><EFBFBD><30><6D> <34><34><6D><34><6D><EFBFBD> <37><6D><EFBFBD><EFBFBD><30><6D><EFBFBD> <20><><34>
<34>  <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <34>߲<EFBFBD> <30><6D><EFBFBD><37><6D><30>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD>۲ <34><6D>߲ <20><30> <37><6D><30><6D> ߲<6D> <30>۲۲<DBB2> <20><><EFBFBD> <34> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><30> ߲<6D>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>۲<30><6D><EFBFBD> <20><><EFBFBD><30><6D> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <20><><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD> ޲<30><30><6D><37><6D><EFBFBD><30><6D>
 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>۲<30><6D> 
 <30><6D> <20><><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD> <31><6D> enigma<6D>bbs soft<30><6D><EFBFBD><37><6D><30><6D><31> <20><><EFBFBD><EFBFBD>۲ <31><6D>
dangermouse <20><>۲<6D><DBB2><EFBFBD><EFBFBD><30><37><6D><30><6D> <31>
  <20><>  ۲<><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD><EFBFBD><31><31><31><6D><EFBFBD>
 <20> <30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>


823
mods/art/SO-CC1.ANS Normal file
View File

@@ -0,0 +1,823 @@
ܲ<6D><DCB2>ܲ<EFBFBD><DCB2> <20> <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><30> <30><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><30><30> <20><>ܲ<EFBFBD> <20><>߲ <20>
<37><30><6D>߰<6D><DFB0> <20> <20><30><37> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>
۲<6D><DBB2><37><6D><30><6D><EFBFBD><30><30><30><6D><EFBFBD><EFBFBD><30><6D><EFBFBD>ܲ<EFBFBD><DCB2> <20><> <20>
<><75><EFBFBD> <20><> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><37><6D><EFBFBD><30>
<37><30><6D><30><6D><37><30><6D><37> <30>
<37> <20>ܱ<EFBFBD><30><6D> <20><> <20><> <20><> ܲ<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD> <31> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <37><30>
<37><30><6D><EFBFBD><37><30><6D><EFBFBD> <30><30><6D><EFBFBD><30> ܲ<>
<> ܲ<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <37><30><30><30>
<><75> <20><>ܲ<EFBFBD><DCB2><EFBFBD> <20> <20><><30><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37><6D>
<30>۲<6D>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD> <20><30> <30> <30><6D><EFBFBD>
<37><30><6D><EFBFBD><EFBFBD> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><39> <37>ܲ<6D><DCB2> <20><><EFBFBD><30>
<><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><37><30><6D><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
۲<6D><DBB2><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><30>߲<EFBFBD><DFB2><EFBFBD><30> <37> 
<><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <30><30><6D><30><37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <30><6D><37> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37><30><6D> 
<><31><6D><EFBFBD><30> <30>߲<EFBFBD> <20> <20><><EFBFBD> <20>ܲ<EFBFBD><DCB2> <37> <20><><EFBFBD><EFBFBD><EFBFBD>
<><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D> <30>
<37><30> <30> <30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D>߲ <31><6D><EFBFBD>ܱ<EFBFBD><30> <30> <20><>߲<EFBFBD> <20> <20><><30><6D><EFBFBD>
<><75> <31><36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <30><39><37><30><6D><37><6D> 
<30><6D><EFBFBD> <30><6D><EFBFBD><EFBFBD> <30><6D><EFBFBD><EFBFBD><37><6D><EFBFBD><EFBFBD>
<30> <20> <20><><EFBFBD><EFBFBD> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ <30><37>۲<EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37> <30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35> 
<37><30><48><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30> <30><6D><EFBFBD><30><6D>
<30><30> <30> <20><37><6D>۲<30><6D><31><31><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <30>۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30> <20><><EFBFBD> <20><> <20> <20> <20> <30> <31><30><6D><EFBFBD>
<37><30><6D>߲<6D> ߰ <31><6D><33><31><6D>ܱ
<31><30> <20><><EFBFBD>߲ <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> 
޲<37>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD> <20><><EFBFBD> <20><> <20> <30>
<37><30><30><6D>ܲ<EFBFBD><DCB2> <20>ܲ <31><31><6D><EFBFBD>۲<EFBFBD>۲<EFBFBD><DBB2><EFBFBD>
<30><6D><31><30><6D> <20><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D> 
<30> <20><> <20> <20><><EFBFBD><30><6D> <31><6D> <20><><37><43> <20><30><6D> <20><30><6D>
߱<6D><DFB1><30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD>߲<EFBFBD><DFB2><30><6D>
<31><30><6D><EFBFBD><31><6D><EFBFBD><EFBFBD><30><6D><31><6D>
<30><6D> ܲ<> ܲ<> <20> <20> <37> <20><><EFBFBD><37><43> <20><30>
<37><30><37><30><37><6D><EFBFBD>۲
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD> <30>
<31><30><31><30><31><6D><EFBFBD><EFBFBD><30>
<31><30><6D> ޲<6D>߲<6D><DFB2>߲<EFBFBD><DFB2><EFBFBD> <20><><EFBFBD> <37> <20><><EFBFBD><EFBFBD><EFBFBD> <20>
<><75><EFBFBD><EFBFBD> <20> <31><37><30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><31><6D><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><31><6D>
<30>ݲ<EFBFBD><31>ܰ<31><43><30><31>ݲ  <31>
 <33><6D><31><31><30>߲<31><6D><EFBFBD>
<30><6D> <37> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <31><37>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>
<31><6D>߰<6D><DFB0><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><30>޲<31><6D>
<> <33><6D><EFBFBD><EFBFBD> <20><33><6D><31>߱ <20><><31><30> <37>
<35><43><EFBFBD><EFBFBD><35> <31><37><6D><EFBFBD><EFBFBD><EFBFBD>۲<30><31> 
<31><6D><EFBFBD><EFBFBD><30><31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> <20><>߲<EFBFBD> <20>
<31><6D><EFBFBD><EFBFBD><30><33> ޲<6D><DEB2><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><33><6D> <31><6D> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<31><37><6D>۲<EFBFBD><DBB2><30> <31> <31><6D>
<30><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><30>߲<EFBFBD> <33><31> <33><6D>
 <31><6D><EFBFBD>޲<33> <33><31> <20><> 
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲ <31> <37> S<>-CC1.ANS <20>
<37><6D><30><6D> <31> ޲ <31><30><31>
<30><31><30><31><6D><30> <33><6D><EFBFBD><EFBFBD>
 <31> <20><> <31><30><33>޲<33>
<33> <31><6D> <20><><33><33> <20><><EFBFBD><33> <20> <20> 
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31><30> ܲ
<31><30> <20><> <31><30><31><30>
<31><30><31><6D><30><33> <30><6D>
 <31><6D><EFBFBD> <20><><EFBFBD><EFBFBD><33>޲<6D><DEB2><EFBFBD> <33><6D><33><31> 
<33> <31><6D><33><33><33> <20><31><33><6D><EFBFBD>
<33>ܲ <31> <33> <30><31><31>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><30><6D>
<31><31><6D> <30> <31> <20><><31> 
<32><43><EFBFBD><EFBFBD><31><30>  <33><33><6D><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31><6D><33><33><33>
<33><6D>  <31>޲<31>߲ 
<33> <20><><EFBFBD><33><6D>ܱ<6D>ܰ
<33><31><6D><33><6D><EFBFBD>  <31><6D><31>
<31><31><6D><30>
<31><30><6D> <31>  <20><><EFBFBD><EFBFBD> <31>
  <31><30> <33> 
 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><31> <33> <31> <31> <33>
<33><33><6D>  <31><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33> <31> <33><6D><33>
<33><31><6D><31><30><31><6D><EFBFBD><EFBFBD>
 <31><31><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <33>
  <20> <31> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD>۲ <31>
 <33> <20>  <33><6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33> <31><33><33>
<31><6D><EFBFBD><31><30><31><6D><EFBFBD>
<31><6D><EFBFBD>߲ <31><30> <20><33><6D>
 <20><33>  <31> <20><><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>   <33><6D><EFBFBD><EFBFBD><33><6D>
 <20><>     <20>. <33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33>ݰ<33>
<33> ߲<6D><DFB2><EFBFBD><31><30>
<31><6D><EFBFBD><EFBFBD> <31><6D>ݰ<33> <20><><EFBFBD>
 ް<6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>
<33><33><6D><33><6D><EFBFBD><33> <20><>
<30><37><30>  <33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D> <33><33><33>
޲<6D>ܲ<EFBFBD><DCB2><31>
<31> <31><31><6D>߰<33> <20><><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D>
<33>  <33>ܲ  .<2E>߲
<31><37><30><30>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33> <33><33><6D>  <20><><EFBFBD>
<31><30><31><30><6D>
<31><6D> <20><30> <20><30> <20><><EFBFBD><EFBFBD><33>
 <20>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D>
<35>  <33><33><33> <20><>
<35> <33><35>  <37><30>
 <20>ܲ<6D><DCB2><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><33><33><30>
 <31><31><30> <31><31><6D><EFBFBD>
<31>
<31><30>  <31><6D><30><33>
 <20><><EFBFBD><EFBFBD><EFBFBD>  <20><33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>۲<EFBFBD>  <20><33> <30>
<37><6D><30><30> <35><37><6D>
<33><6D><30><33><6D><EFBFBD> <33><6D><EFBFBD><EFBFBD><33><6D>
<37> <31> <20><><EFBFBD>  <31><6D><EFBFBD>
 S<6D><53> <30><33> 
<33><33><33><6D> <33>
<33> <33><6D>  
<33><6D><33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33>
<33><6D><33> <37><37><6D><EFBFBD><30><6D>
 <31><6D><33>  <33><30><6D>
<33><6D><EFBFBD> <20> <20><><30><30><33><6D> 
 <20><><EFBFBD>  <31><6D>
 <33><6D> <33>߰ <20>ܲ<EFBFBD>  
ܲ<43>  <30>ܰ <31>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD> <30><30><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33> <31><6D><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
 <33><33><30><6D> <31><31><6D><EFBFBD><EFBFBD>
 <31><6D>
<33><6D><EFBFBD><EFBFBD>ܲ<33>ܲ<6D><DCB2> <30> 
     <20><33>
<34><43> <33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><30>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD>
 <31><6D><EFBFBD><EFBFBD><EFBFBD> <33><31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><31>  <20> <31> <31>
<31><6D><30><6D><EFBFBD>
<33> <20><33><6D>   
߲ .<2E><>   <30> <33>
<33><33> <33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31> <30><33>
 <31>ܲ <31><30><6D> <31>
<33><30><33> ܱ<6D> <30>
 ܲ<30><35><6D><33> ܲ<><37><37>
<32><30>  <33><33><33>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD> <31>
 <33> ܲ<6D><DCB2><EFBFBD><31><30>
<31>
<33><6D> <33><33> <20><33> 
 <30><30><37><30><35><6D><30><6D><37>
<30><30> <31><6D><33>ܰ<EFBFBD><DCB0><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
<30><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><33><33><6D><EFBFBD><EFBFBD>
 <31> <31> <31><6D>ܱ <31><6D> <20>
<31><33><6D> <33><33><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
 <20><31><6D><EFBFBD><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<36>۲<6D><DBB2><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
ܱ<6D> <33><31><6D><EFBFBD>۲ <31><6D><EFBFBD><EFBFBD>
<31><6D><33><6D><30><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<30><6D>
<39><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD>۲<6D><DBB2><EFBFBD><EFBFBD>۲<30><33>
<38><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33> <31>.
<31> <31>۲ <31><6D><EFBFBD>
<33><33><30><6D><33><6D> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><33>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><30><6D>
<39><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31><37><33>
<31> <31><33><31> <31>
<31><6D><EFBFBD>
<31><6D> <31> <33><30><33><31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><33>
<31><33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>
<31><33><33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><31><6D>
<31>
۲<6D> <20>  <20> <33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<36><43><EFBFBD><EFBFBD><33><6D><EFBFBD><33><31><6D><EFBFBD><EFBFBD><33><6D><33><6D>
<33><6D><33><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><30><6D>
<33><6D><33><6D><30><6D><EFBFBD><37><30><6D><33><6D>
<33><43>  <31>
۲<6D>ݲ<EFBFBD> <20><33>  <31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>
<33><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><33><6D><33><6D><EFBFBD><33>
<33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> 
<33><33><30><6D><EFBFBD><EFBFBD><33><33><33><6D>
 <31><6D><EFBFBD><31>
<31> <20><><EFBFBD> <20> <33><31><6D><EFBFBD> <31><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD>۲<EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><33> <33>
<33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <20><><33><6D><EFBFBD><EFBFBD><EFBFBD>
<30><43> <31>  <33><33><6D><EFBFBD><33><6D><EFBFBD>
߲<6D><31><30><31>
<31><6D><EFBFBD><EFBFBD>ݲ<31><30><33><31><6D><EFBFBD><EFBFBD><EFBFBD>
<31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<30><6D><33><6D>۲<EFBFBD><33>
<33><6D><EFBFBD><EFBFBD><30><6D><33><31><6D>ܲ<EFBFBD> <20> <31><6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D> ߲<6D><33>  <33>
<33>  <31><6D><EFBFBD><31><30>
<31>
<31><30><6D><EFBFBD> <33><31> .
<31><6D>߲<EFBFBD>   <31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
<33><6D><EFBFBD><33><6D><EFBFBD><31>ܲ<EFBFBD><31>۲<6D><30>
<36><43>ܱ<6D> <31><33>۲<EFBFBD><DBB2><EFBFBD><30><33><6D>
 <31> ܲ <33> <31>
 <31><31><30><31> <31>
<31><6D><31><6D><30> <33><30><37>
<33><6D> <31><6D>ݲ<EFBFBD> <20><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31>  <20><><EFBFBD> <20><30><31><6D><37><6D><30>
<35><31>ܰ<31> <31><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
<33><6D><33><33> <31> 
<31><6D><EFBFBD><33><31><31> ޲ݲ
<31>
<31><31><30><6D><33><33><30><33><30><6D><EFBFBD>
<33><6D> <31> ޱ<>  <20><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D> <33> <20><><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><30>
ܲ<6D><31><6D><33><33><30><6D><33><6D><EFBFBD>
<36><43> <33> <20><> <31>߰<31> 
  <20> ݲ <20><><31>
<31> <33><6D><33><33><33><6D><30><6D><33><33><6D>
<33> <20>޲<EFBFBD> <31>  <20><33><6D><EFBFBD><EFBFBD><EFBFBD> <20>
<33> <31><6D><31> <20><><30><31><6D>
<33><6D><33><6D><30><33>۲<EFBFBD><30><33>
  <20><33><6D><EFBFBD><30> <31><31><6D> 
<31><31><30> <20><> <31><31>
<31><6D><EFBFBD> ܲ<6D><DCB2><EFBFBD><33><33><6D> <20>߲ <31>
 <31> <31><33>
ܰ <20><> <20><33><6D><31><33>
<33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><6D> 
<33><31><6D><EFBFBD><30><6D> <31><30>
<31><6D><EFBFBD> <20><><EFBFBD>  <31><31>
<31><6D><EFBFBD>ܰ޲<6D><33><33>ܰ <20><><EFBFBD><EFBFBD>޲<EFBFBD>
<31>  <20><> <33><6D> <20><><EFBFBD>
<30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30> <33>
 <20><><30><33><30><6D> <31><6D><31><6D>
<31> <31><6D><EFBFBD> <31><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><33><31> <33> <31><6D>
<31><6D><EFBFBD><EFBFBD><31> <31><6D>  
<33>   <33><6D>  <33><6D>
 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<30><6D>  <33>
 <20><><EFBFBD><30><33><30><6D><EFBFBD> <31><6D>
<31><6D><31><6D>
<31><6D><EFBFBD><31><30>۲ <20><31><31><6D><EFBFBD><30>
<34> <31><30> <31><6D> <31>
   <31> <33><6D><EFBFBD> <20><><EFBFBD><EFBFBD> 
  <33> <20><><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31>  <20>  <31> <31><6D>
 <31><6D><EFBFBD> <30><6D>  <31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD>
ݲ <31> <31>  <31><6D>
<33> <20> <33> <20><>
<33><30><6D><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <31>
ܲ<6D><DCB2><31><6D>
<31><6D><EFBFBD><31> <30><6D>޲<31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD>޲<EFBFBD><DEB2>
 <31>  <31> <20> <33> <20>
  <20> <20><><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ܰ
߲<6D>  <20> 
<31><6D><EFBFBD><31><30>ݲ<EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD> <20><><EFBFBD>
 <20> <31><6D><33><6D> <20> 
<33> <20><><EFBFBD><30><6D><EFBFBD> <35><31><30>
<35>ܲ<35><31>  <31>߲
<31><31><30><6D><31><6D> <30><6D><31><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D><30><31><30> <20><><EFBFBD><EFBFBD> <31><6D>
   <33><6D>  <20>
 <33><6D><EFBFBD> <35> <35><30>
<31><43><EFBFBD>߲<35><6D><30><6D><35><30> <31><6D>
<35><30>
 <20><31><30><6D><31><6D>ݲ<31><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D><30><31><6D><30> <31><30>
<35><31><30><6D>   <33> <20> <20>
     <20><30><35>
<35><30><6D><EFBFBD><35><30><35><6D><35>߲<EFBFBD>
 <20><35> <31><6D><31>  
<35><6D>
 <20><31><6D> <31><6D> <20><31><6D><EFBFBD>
<31><6D><EFBFBD><30><31><6D><EFBFBD><EFBFBD> <31>
<31><6D><31><6D><30>  <20> 
  <30><35><30> <30>
ܰ<6D>ܲ<EFBFBD><30><35><35><6D><30>߲<EFBFBD><35>
ܲ<43><35><35><35><35><35><35>
 <20><><EFBFBD><33> <31><6D>  <35>
  ߲<31> <20><> <20><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><31><6D><EFBFBD><EFBFBD><30><6D><31><30>
<31><6D><30>  <20><30><35><6D>
<35><6D><EFBFBD><EFBFBD> ߲<6D> ܲ<><DCB2><EFBFBD><35><35><35>
<35><30><35><30><6D><30><35> <20> <31>
<33><30><33><6D> <33><31><31>
 <33><35>
<33>۲ <33><30><31><6D>
<31><30><6D><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><30><31><6D>
<31><6D><EFBFBD><EFBFBD><30><31> <20><><30>  
  <35> <35><6D>  <30> <35>
 <20> <30> <30> <30><6D><EFBFBD><EFBFBD><30>
<37><30><31><33>۲<EFBFBD>  <33>
 <31> <33><6D>
<33><6D> <33> <31><6D><31><6D><30><6D><EFBFBD><EFBFBD>
<31><6D><EFBFBD><EFBFBD><30><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30> <30>  <20><>ܲݲ<DCB2><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<38><37><30><6D><EFBFBD><37> <33><6D><EFBFBD><EFBFBD> <33> 
<33> <20> <33>S<EFBFBD>
 <20> <20> <33> <31><6D><31><6D><EFBFBD> <30> <20>
<31><6D><30><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
 <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><37><6D><30>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> <33><6D>
<33><6D><33> <20><31> <33>
<33>
<33><33>߲ <20>ܲ <31><6D><31><6D><EFBFBD> 
<31><6D><EFBFBD><31><30><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  <20>۲۲<DBB2><DBB2> <30><6D> <30><6D>
<37><30><6D><EFBFBD><37><30><6D><EFBFBD><EFBFBD><37><6D><30><6D><EFBFBD><30>
<37><30><33> <31><6D><33><6D><30><31>
<31> <33> <33>
<33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ޲<6D><31><6D><EFBFBD> <30><6D><EFBFBD><EFBFBD>
<31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> 
 <30><6D>߲۲<DFB2><DBB2><EFBFBD> ۲۲<DBB2>߰<30><37><6D>
<30><6D><EFBFBD><37><6D><EFBFBD><EFBFBD><30><6D> <31>۱<6D><DBB1>
 <31><6D> <33><6D><EFBFBD>
<33><30><33><30><6D><EFBFBD><33> <30> <31>
<31><30><31><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D>
<31><6D><EFBFBD><30><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>޲
<37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><37> <20><30>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><31><33><6D><EFBFBD>
<31>޲ ߲ <33>
<31><6D><33><30><6D><33> <35><6D><EFBFBD> <31>
<31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD> <20><31><6D><EFBFBD><EFBFBD><30>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <37><30><6D><EFBFBD><37><30><6D>
 ޲<6D><DEB2><37><30> <30><37><6D><EFBFBD>
<37><6D>۲<30><6D>۲<30> ޲ <33><6D>
<33> <31><31>
<31><6D><EFBFBD><EFBFBD><EFBFBD> <35>۲ݰ <31><6D><31><6D><EFBFBD>
<31><6D> <31><6D><EFBFBD> <20><><31><6D><30><31><6D>
<31><31><6D><EFBFBD> <30><37><30><6D> <20>
<37>ݲ<6D><DDB2><EFBFBD><37><6D><30><37><6D>۲<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><43> <30><30> <30><6D><33>
<31><31>  <33>  <33>
<31><6D><EFBFBD><EFBFBD><33><35>۲<EFBFBD>߲  <31><6D><31>
<36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><31><6D><EFBFBD><30><31><6D>
<30><6D><EFBFBD><EFBFBD> <30> <20><><EFBFBD><EFBFBD><37><6D><EFBFBD><30><37>
<33><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD><30><6D> <31><33>
 <33>
<31><6D><EFBFBD><33> <35><35> <20>۱<30>
<31><6D><EFBFBD> <30><6D><EFBFBD><EFBFBD><31><30>۲<EFBFBD> <20><>
<39><31><6D> <20><> <30><6D><EFBFBD><EFBFBD><EFBFBD>  
<34><43><EFBFBD><EFBFBD><EFBFBD><37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۱ <20><><EFBFBD><EFBFBD>۲<EFBFBD> <31>
<31><30> ߲<6D>  
<31><6D><EFBFBD> <35> ݰ۲<30> <30>
 <31> <31><6D> <31><6D><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD> <20><><EFBFBD><EFBFBD> <20>
  <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<39><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD> <31><6D>ܲ <33> 
<30>
<31><6D><EFBFBD><35><35><35> ۲<> ܲ<6D>
ް<43><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><30><6D><EFBFBD><EFBFBD> <20>  
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<31><43>߲<33>  <20> ܲ<><33> <20><>
<30><6D>
<31><6D> <35><6D><35><35><35><6D>
<30><6D><EFBFBD><EFBFBD>ޱ<6D> <31><6D><EFBFBD><EFBFBD><31><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><31><30>  
<38><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD>
<39><43><32> <20> ܲ <30><6D>۲
<33> <33> <20><>
<31> <35><6D> <35><6D><35>
<30><6D><EFBFBD><EFBFBD> <31> <31> <31>
<39><43><EFBFBD><EFBFBD> <20><30><6D>۲<EFBFBD><DBB2> <20><><37>
<31><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD>߲ <32><33><32>
 <20><> <20><><EFBFBD> <33><6D><EFBFBD> <20><30><6D><EFBFBD>
<33><35><35><35><35><35><6D> <30><6D><EFBFBD>
<31><43><31><6D><EFBFBD><EFBFBD> <31><30><6D><EFBFBD><EFBFBD><31>
<34><31><30>۲<EFBFBD><31><30><6D><EFBFBD><EFBFBD>
<31><43><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <30><6D><EFBFBD><32> <30> <20>
 <31> <20> <30><6D><EFBFBD><EFBFBD> <33>߲<33><6D>
<33> <20><>
<35><35> <35><6D> <30><6D><EFBFBD><37><30>
<31> <31><31><30> <31><31>
<31><6D><EFBFBD><EFBFBD><EFBFBD><31><6D><30><6D>ݲ<31><30>
<30>۲<EFBFBD><37><30> <20><><EFBFBD> <20><>ܲ<EFBFBD> <20><><EFBFBD><33>
 <31><31><31><6D>ܲ<6D><DCB2><EFBFBD><33>
<33><30><6D><37> <20><><30><6D><EFBFBD>
<35><6D> <20> <30>߲<37><6D><30><31><6D>
<31><6D> <20><31>۲<EFBFBD><DBB2><31><30>
<31><6D><EFBFBD><30><6D><31><30><6D>
<37><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD> <20> <20><> <33> <32>  <31><6D>
 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><33><30><33><6D>
<34> <20><><EFBFBD>
ܲ<35><30> <30><6D><37><6D><30><31><6D>
<31><6D> <20> <31><30><6D><EFBFBD><31><30>
<31><6D><EFBFBD><EFBFBD><30> <20><> <33>
 <30><32> <30> <32>
<32> <33><30><6D><31><31>ܲ<EFBFBD> <20>
<31><43><EFBFBD><EFBFBD>۲ <33><6D><EFBFBD><EFBFBD><EFBFBD><37><31> <20><><EFBFBD>
޲<6D> <20><37><6D><30><31><6D><31><6D><EFBFBD>
<31><30> <20><31><6D><30><6D><EFBFBD><31><6D>
<31><6D><30> <20><> <20> <32><6D><EFBFBD><33>
<31><43> <32><6D> ߱ <32> <31><6D>
 ܱ<><DCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><33><30>
 <31>ܲ <20><><EFBFBD>
<35>  <20><><EFBFBD><31><6D><31><6D><EFBFBD><30><33>
<31><6D> <20><31><6D>۲ <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <20> ߲<> <20> <30> 
<32>  <20><>  ܲ <20><><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>
 ܲ<33><6D> <31><30><6D><EFBFBD><EFBFBD>
<30> <30><31><6D><31><6D><EFBFBD><30><33>
<31><6D><EFBFBD> <31><30>۲ <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31> <31><6D>߲<31><31>
<31><31><6D><EFBFBD><EFBFBD><31><6D><31>ܲ<EFBFBD>ܱ<6D><DCB1>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>
<32><43><EFBFBD><EFBFBD><33><6D> <33>߲<EFBFBD> <30><6D><EFBFBD><EFBFBD>
<31><31> <20><><30><6D><EFBFBD><31><6D><EFBFBD><EFBFBD> <31>
<31>۲ <20><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>  <20><><EFBFBD>ܲ<EFBFBD><DCB2>
<31><6D><EFBFBD>    <20><>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<35><33><6D><EFBFBD>  <20><><EFBFBD><EFBFBD>
<31><31><6D><EFBFBD><30><6D><31><6D><EFBFBD><EFBFBD><EFBFBD><30> <31>
۲<6D><DBB2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD><37>
<30><30> <20>ܲ<EFBFBD><DCB2> <20><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>
<33><33>߱ <30><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D> <30><6D><EFBFBD><EFBFBD><31><30>. 
<31> <30><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <20><><37><6D><30><37>۲ ޲۲ݲ۲<DDB2><DBB2><EFBFBD>
<34><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><33><6D> <33><6D> <31>
<30><6D><EFBFBD><EFBFBD><37>
<31><30><6D><EFBFBD><EFBFBD><EFBFBD> ܰ  <31><31>
<31><6D> <31><6D><31><6D>۲<EFBFBD><DBB2><EFBFBD>
<30><6D><EFBFBD><37><6D><EFBFBD><EFBFBD><EFBFBD><30><6D>۲<EFBFBD><DBB2>۲<EFBFBD><DBB2><EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>
 <33><33><33><6D><EFBFBD><33><33>
<33> <30> <30><37>۲<EFBFBD>
<31><31><30> ܲ<><DCB2> <31><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D><31><6D><EFBFBD>۲<EFBFBD><30> <31><6D> <30><6D><EFBFBD>
<37><6D><EFBFBD><30><37>۲<6D><DBB2><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD> <30> <37><6D><EFBFBD><EFBFBD><30>
<31><30><6D>߰<6D><30> ߲<6D><31>
<31><6D><EFBFBD><EFBFBD><31><6D>۲<EFBFBD><30> ܲ<6D>  <20><>
<30><37><6D><30><37><30><6D><EFBFBD><EFBFBD><EFBFBD>۲ݲ<DBB2><DDB2><EFBFBD><EFBFBD>۲۲۲<DBB2><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><33><6D><33><6D><EFBFBD> ޲ 
<37><6D><EFBFBD> <35>
߱<6D><DFB1> <30><31><6D><EFBFBD><31><6D><30><6D><EFBFBD><31>
<31><6D><30><6D><EFBFBD><EFBFBD><31><6D><30> <33><6D><EFBFBD>
<37><30><37><30><6D><EFBFBD>۲۲<DBB2><DBB2><EFBFBD>ޱ<EFBFBD><DEB1>޲۲<DEB2><DBB2>۲<EFBFBD><DBB2><EFBFBD>
ܲ<6D> <33><33><30>߰ <31>
 <20><30><31><37><6D><30>޲
<EFBFBD>ܰ <30><31><31><30><6D><31>
ݲ<43><DDB2><EFBFBD> <20><><31><6D><EFBFBD><30> <33> <33>
<33><30><30><33> <37>
<32><43>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2>  <33>
<33> <20><> <30><6D> <20><><30><6D>
<37><6D><30><35><6D>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><30><6D>۲ <33>
<36><37><33><6D><33> <30>۲۲<DBB2><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<38>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><33><6D> <20><><33><6D>ܲ<EFBFBD><37>
<37><30> <37> <20><37><6D><EFBFBD>
 <35>
<EFBFBD><31>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>  
<33><30><33><6D><33><6D><EFBFBD> <30><6D><EFBFBD>۲<EFBFBD>
<39><43><EFBFBD><EFBFBD> <30><6D> <20><><EFBFBD><EFBFBD><EFBFBD><33> <33><6D>
<33><33><6D>߲<EFBFBD><DFB2> <37><6D> <37>
<31><37><37><6D><EFBFBD><30><35>
<37><6D><30> <31><6D><31>۲<6D><DBB2>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD> <33><6D><33><6D>
<38><33><6D><33><30><37> <33><6D>
߲<6D><DFB2><EFBFBD> <20> <20><> <33> <20><>޲ <33> <20><><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD> <30><6D> <37><6D><EFBFBD><EFBFBD><EFBFBD>
<38>
<37> <30> <20><31><6D><30><6D><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><30><6D><33><33><30><33>
޲ <33><33><6D><EFBFBD><33><6D>
 <33><6D>   <33> <31>
<33><6D> ޲ <33><6D><EFBFBD><EFBFBD><EFBFBD> <20>۲<6D><DBB2><EFBFBD>
<37><30> <37><30><31><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37> <30> <20><31><30><6D><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD> <30><6D>۲<30><33>
<38> <33><30> <30><6D>
  <33><33><30><33> <33><6D>
<33><33><6D><33><6D> <33><33><6D><EFBFBD><EFBFBD><EFBFBD>
<39> <30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>   <31>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <30>  <20><31><30><6D><EFBFBD><31><6D><EFBFBD><EFBFBD><EFBFBD>
 <31>   <30>߰<6D><DFB0><EFBFBD><30><31>
<33><6D><EFBFBD><33><6D><30> <33><6D><33>
<31><33> <33>۰<33><6D><EFBFBD><30>
 <20> <33> <33><6D><EFBFBD><EFBFBD> 
<31><43><37>۲<EFBFBD><DBB2> <30><6D><31><30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <20><30> <31><30><6D><EFBFBD><EFBFBD><31><6D><EFBFBD><EFBFBD>
 <20>   <20>ܲ <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
޲<6D><33> <33> ޲
<33><6D><33> <33><6D>ݲ<EFBFBD><33><6D><EFBFBD><33><6D>
 <33> <33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D>
<37> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><30> <31><30><6D><EFBFBD><31><6D><EFBFBD><EFBFBD>
 <20>  <30><6D><37><6D><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37> <33><33><30><6D><33><30>
<37> <33><6D><33><6D> <33><33>ܲ
<33><33><6D><EFBFBD> ܲ<6D><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲
ݰ<43><31> ۲<6D>۲<EFBFBD><DBB2>
 <37><30> <31><6D><EFBFBD><31><6D><EFBFBD><EFBFBD> <20><>
 ܲ߰<6D><DFB0> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><31>
 <33><6D><EFBFBD><30> <30> <33><6D><33>
<33><33>  <33><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
 <31><6D><30><6D>۲<30>۲<6D>
 <37> <31><6D><EFBFBD><31><6D><EFBFBD><30><6D><EFBFBD> 
<34><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><31><6D>
޲۲۲<DBB2> <33><6D><33> <30><6D>
<30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31> <30><37>
<33><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37> <30> <20><31><6D><EFBFBD><30> <20><> <37><6D>
<37><6D><EFBFBD><EFBFBD><EFBFBD> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31><6D><30>
<36><43>۲<EFBFBD><DBB2><EFBFBD>۲<6D> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30>
<31> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30><6D>
<37> <20>  <31><6D><31> <30><6D><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<30><6D>
 <20><>߲<6D><DFB2><EFBFBD><EFBFBD><30>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33> <31>   <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><30><31><6D> <30><6D><31>
 <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><37><6D>
<32><43><EFBFBD><EFBFBD><EFBFBD> <20> <30><6D><30>۲<EFBFBD><DBB2> <20> <20><><EFBFBD><EFBFBD>
 <31>ܲ<EFBFBD> <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD> <31><30><6D><31><30>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><37><6D><EFBFBD><EFBFBD><30><37><6D>
<30><43><EFBFBD><EFBFBD>۲ <20> <20> <20>  <30>۲<EFBFBD><DBB2>
 <31>ܲ<EFBFBD><DCB2><EFBFBD>  <20> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD><30><31> <20><><EFBFBD><EFBFBD><30><37><6D><EFBFBD><EFBFBD><30>
<37><6D><EFBFBD>ݰ<37><30><37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD> <20> <20><><EFBFBD>
 <31>  <31> <20><> <20>  <20><>
 <20> <20><>ݰ<EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30><31> <20>  <37><6D>
<35><37><30><6D><37><30><6D> <37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30>۲ <20> <20><><EFBFBD><30>   <20><>۲۲ <20> <20><><EFBFBD>
  ޲<6D><DEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲
<30><6D><EFBFBD><37><30><37><6D><30> <31><30>
 <31> <37><6D><30><6D><37><30><6D><EFBFBD>
<30><6D><EFBFBD><EFBFBD>۲۲ <20> <20><><EFBFBD><30><6D> <30>
  <20><>۲۲<DBB2> <20> <20> <20> <20><><EFBFBD><EFBFBD>۲<EFBFBD>۲<EFBFBD>
۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><31><30> <31><6D><30><6D>
<37><6D><30>۲ ޲۲<DEB2><DBB2><EFBFBD> <20> <20><><EFBFBD><EFBFBD>  <20>
 <30><6D><EFBFBD><EFBFBD> <30> 
<33><43><EFBFBD>۲۱<DBB2><DBB1> <20><> <20> <20><> <20> <20><>
<30><6D><EFBFBD>۲۲<DBB2><33><31><6D> <30><6D> <20>
<30><6D><EFBFBD>۱<EFBFBD>޲<EFBFBD><DEB2> <20> <20><><EFBFBD><EFBFBD> <30> 
 <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <30><6D><EFBFBD>۲<EFBFBD>
<31><43><EFBFBD> <20><> <20> <20><><EFBFBD> <20> 
<30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><6D><30> <30>۲<EFBFBD><DBB2><EFBFBD>ܲ<EFBFBD><DCB2>
 <30> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><30><6D>
<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30> <30><6D><EFBFBD>۲۲ݱ ܰ
 <20> <20><> 
<30><6D> <20> <20> ߰ <31><30> ޲<6D>۲۲<DBB2><DBB2>
<32>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <30><6D><EFBFBD><EFBFBD><EFBFBD> <30>
 <30> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD>
<32><43> <30>޲<EFBFBD> ܲ<><DCB2><EFBFBD><EFBFBD><EFBFBD>ܲ
<30>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31> <30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30>
<34><43>۲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD><EFBFBD>޲۲<DEB2><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<30> ۲<6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><6D><EFBFBD><EFBFBD>ܲ<EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD><EFBFBD>ݱ <30><6D> <20> <20> <20>
<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><6D><EFBFBD> <30><6D><EFBFBD>۲۲<DBB2><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
   <30> <20>߲<EFBFBD><DFB2>۲<EFBFBD>
<30>߲<EFBFBD><DFB2>۲<EFBFBD>۲<EFBFBD>۲۲<DBB2>ܲ۲<DCB2><DBB2> <20>  <30> <30><6D><EFBFBD><EFBFBD>
<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲<EFBFBD><DEB2> <30>۲<EFBFBD><DBB2><EFBFBD>۲۱<DBB2><DBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<34> <20><><EFBFBD>  <30>   
 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲۲
<30>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲۲<DBB2><DBB2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ܱ
<36>S<EFBFBD>
 <20><><EFBFBD> <20> <20><>۲۲<DBB2><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37>
<39>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD>۲۲<DBB2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>
<30><6D><EFBFBD> <20><><EFBFBD> <30> <30> <30>
 <30> <20> <30>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><37> <30><6D><EFBFBD><37><30>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>۲<EFBFBD><DBB2>۲
<30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>  ޲<><DEB2><EFBFBD><EFBFBD><EFBFBD><37>
<35><43><37><6D><30><6D><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><37><30><37><6D><EFBFBD><30><6D>
<37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>
<30><6D> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20>  <20> 
<31><43> <30>    <20>
<30><6D><30><6D><30>
<30><6D> <30><6D><30><6D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 
<30> <30> <20><35> <35>
   <35><30><35>  <20><>
 <35><6D><30><35>ܰ<EFBFBD><DCB0> <20> <35>
<35><6D><30><35> <35><6D>ܱ<EFBFBD><30>
<35><30><35>  <20> <35><6D>ܰ<EFBFBD>
<38><30> <35><6D> <35><35>
   <30> ܲ<><30><35>
<34><43>ܲ<EFBFBD><DCB2>ܲ<EFBFBD><DCB2><EFBFBD> <20><30><35>߲߰<DFB0><DFB2>۲<EFBFBD>߲߲ܲ<DFB2>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD>
۱<43>۰ <30> <20><35><35><6D><35><6D>
<38><35><6D><35><6D>߲<EFBFBD><30><35><6D>
  <35>߰ <35> ߰
<35> <20><>߰<EFBFBD> <35><6D><EFBFBD><30>  
 <20>ܱ <35><6D> <20><>  <20> <35>
 <35>  <20> <35><6D> <20>
<30> <35> <30> <35><6D><EFBFBD>
<35><30><35> <35><6D> <35>
<35>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>ܲ<EFBFBD><DCB2>߲<EFBFBD>  <35>ܲ<EFBFBD>߲<30>
߲߲<DFB2><DFB2>߲<EFBFBD>ܲ<EFBFBD><DCB2>߲߲߲ܲ<30> <30>
<35>ܲ<35><6D><30>ܲ<35><6D><35><35>
<35><35>ܲ<EFBFBD><DCB2>
<35><6D><30><35>߰<30><35><6D> <35><6D>
 <35><6D> <35><6D>߲<EFBFBD> <35><30>
<35> <35><6D> <35><6D> <35><6D>
<35><30><35><6D>߰ <35><6D><EFBFBD> <35>
 <30><6D> <35> <35> <35><6D>
 <35> <35><6D> <35><6D><30>
<36>߰
 <30> <20><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ܲ<EFBFBD><30>
  <30><33><6D>ܲ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><30>
<33><30><6D> <30> <30><33><6D><EFBFBD>
<34><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>  <20> <35>
 <30><33> <20> <20> <20> <20><> <20><><33>
  ܱ<6D> <20><><EFBFBD><EFBFBD> ܱܲ<DCB2><DCB1><EFBFBD> <20> <20> <33>
<30>  <20> <20> <20>ܱ<EFBFBD><DCB1> <20> <30> 
<33>
<33><33><6D><EFBFBD>ܲ<EFBFBD><DCB2> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33>
 <31><6D><33><6D><30><6D><EFBFBD><EFBFBD><33><30><6D><33>۲<EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><33> <30><31><33><6D>
<31><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD> <20> <20><>
<31><6D><EFBFBD><33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD>
<31><6D><33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD>  <30> <33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲
۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>  <20>
<33><6D><30><6D><33><30><6D><EFBFBD><EFBFBD><33>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>
<30><6D> <31><33><6D><30><6D><EFBFBD><EFBFBD><33>۲<30><6D><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><30>
<31>ݰ<6D><30><6D><33><30><33>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <30><37><30> <33><6D><30><6D>
<33><6D><30><6D><EFBFBD><EFBFBD><33>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD>
<30> <33><33><30><33>۲۲<DBB2><DBB2><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33> <31><31>
<33><33><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<30><33><6D><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>߲<6D>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><31><31>
<31><31><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><6D><EFBFBD>۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><32>ܲ
<31><6D><33><33><31><33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><31>۲<EFBFBD> <33><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><31>߱
<33><6D> <33> <33><6D><EFBFBD>
. <20> <33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<31><6D><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><33><6D> <33><30> <32><6D><EFBFBD>
 <33> <33> <33><33>
<33><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><6D>۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><33> <33><6D>
<33><6D><EFBFBD><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD> 
<31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD>
 <33><33><33><6D><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 
<31><6D><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<36><43><33><6D><33><31><33> <33><33>
<33><6D><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD> 
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><31><33><6D><30><30><6D> <31>
<33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 
<20> <31><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><33><6D><EFBFBD><30><33><33><30>
<33><6D><EFBFBD> <33><6D> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<EFBFBD><37><6D><EFBFBD> <20><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><43><EFBFBD><EFBFBD> <33><33><33><6D>߰<33><33>
<33><6D><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33>
<36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><33> <33>
<33><6D><33><6D><EFBFBD> <31><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
۲<30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<37><6D><EFBFBD><EFBFBD><EFBFBD><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD>
<37><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><30><33> <33><6D><31><33>
  <33><33><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><30><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<37><6D><30>۲   <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33>۲<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD><33>
<31><6D>  <33><33><6D><EFBFBD><EFBFBD><30><33><30>
<33><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<37>۰<6D> <35><35> 
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<30> <35><6D><35><35> <35>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<33><6D><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33><30><33>
<36><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 
 <20><><35><35> <30><35><30>
 <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33> <33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<35><6D><EFBFBD> <30><35><35><6D><30><6D> 
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
<33><6D><EFBFBD><EFBFBD> <33>ܰ<EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33><30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<30><35><6D><35><6D><30><30> <20><37>
<33><6D><EFBFBD><EFBFBD><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD>
<33><6D><EFBFBD><EFBFBD> ݲܲ<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
۲<6D><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<35><6D><EFBFBD><35><35> <20><><37><6D><EFBFBD><EFBFBD> <33><6D>
<33><6D><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<32><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <35><6D><EFBFBD> <20><37>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D><EFBFBD><30><33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<38><43><EFBFBD><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30>
<33><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <20><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D><EFBFBD><EFBFBD><30><33>
<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33>۲<30><6D><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D>
<35><43><EFBFBD><EFBFBD><33><6D><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D><EFBFBD><EFBFBD><EFBFBD><30><33>
<34><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><30><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD>
<37><43><EFBFBD><EFBFBD><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><33>
<37><33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2><30><6D><EFBFBD><EFBFBD>۲<30>
<33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33>
 <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<37>  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><33>
<33><6D><EFBFBD><EFBFBD><EFBFBD>
<33> <37><6D><EFBFBD><EFBFBD><EFBFBD> <37>߰<30><37>
<33> <30> <31><37><6D>߰<30> <31>
߱<6D><30> <33> <31><37><30>
<37><6D><30> <20><37> <20><><30> <33> <20>
ܱ<6D><DCB1><30> <31> <31>߱<6D><DFB1><30>
<33> <37><6D><EFBFBD>߰<EFBFBD> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<33> <30><37><6D><EFBFBD><EFBFBD> <37><37><30><6D><EFBFBD><EFBFBD>
 <37> <31><37><30><37><6D><30>
 <31><6D><EFBFBD><EFBFBD><EFBFBD> <33> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><37>
<37><6D><30><6D> <33> <31><37><6D><EFBFBD><30>
<33> <33> <31>ܱ<30><37><30>
<33> <31><37><6D><EFBFBD><EFBFBD><30> <33><6D><EFBFBD>
<33><6D>
<33><33> <37><6D><EFBFBD><EFBFBD> <37>޲<EFBFBD><DEB2>
<33> <37><30> <20><><EFBFBD><EFBFBD> <33> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<32><43><EFBFBD><EFBFBD><37><30> <33><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><33><6D> <20>
<37><6D><30><37><30> <33><33>
 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33><6D> <30>
 <35><6D>
<33><30> <37><6D><EFBFBD><EFBFBD> <37> <20><><EFBFBD>
<33> <37> <37><6D>ܲ<EFBFBD><30> <31><6D><EFBFBD><EFBFBD><EFBFBD>
<33> <20><><EFBFBD><EFBFBD><37><30>  <20> <20><><EFBFBD><EFBFBD>
 <20><><37><30><37><30> <33>
<31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33> <31><6D><EFBFBD><37><30><6D>
<37><6D><EFBFBD><30>޲
<31><33> <30><37><6D><EFBFBD> <37><37> <20><>
<33> <37> <31><6D><EFBFBD><EFBFBD><37><30> <31>
<37><30><6D><EFBFBD> <33> <37><6D><EFBFBD>߰
<37> <33> <20> <20><><EFBFBD> <31><6D><37> <20><30>
<33> <31><37><30><6D><EFBFBD><EFBFBD> <33>
 <31><6D><EFBFBD>ݰ<30> <37><6D><EFBFBD><30>
<35>
<31><6D> <30><37><6D><EFBFBD> <37><37><6D><EFBFBD><EFBFBD><30>
 <37> <31><6D><37>߱<30> <31><37><6D>
<37><30>   <31><6D>ܰ<6D><30>
 <20><><EFBFBD> <20> <31><37><6D>ܱ<30> <33>
 <31><37><6D><EFBFBD><30><6D> <37> <31><6D>
<37>۱<30> <37><30><6D><EFBFBD><EFBFBD><35>
<31><6D><EFBFBD> <37><6D><EFBFBD> <37><37><6D><EFBFBD><EFBFBD><30> 
<35> <31>߰<6D><DFB0><30> <31><37><6D><EFBFBD><30>
<33> <20>߰<6D><DFB0><30>  <20> <20> <20><>
 <20><37> <20><><30> <33> <37><37>
<37><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><37>߰<EFBFBD><30> ۲۲<DBB2>
<31><6D><EFBFBD> <37><6D><EFBFBD><30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33> 
<33><33> <20><><EFBFBD><EFBFBD>  <33>
  <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ܲ<6D><DCB2>߰<30>
<31><6D><33> <30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<36> <20> <20><> <20> <33><6D>
<30><6D><37><6D><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>۲<EFBFBD><30><6D>۲۲<DBB2><DBB2><37><30>
<37><30> 
<31><33><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<39><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30> <31><6D><EFBFBD><EFBFBD> <30><37>
<31> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ߲
<31><33> <31>߱<6D><DFB1><30> <30> 
<32><37><30><37><6D><30> <31><37><30><37>
<33><43> <20> <31><37><6D><EFBFBD><EFBFBD><30> <33>
 <37><37>߰<EFBFBD><30> <33> <20><37>
۱<6D><30> <31>߰<6D><30><6D> <37>
<31>߰<30><37><30>  
<37><6D><30>߰<30> <33>
<33><6D> <31><37><30><6D><EFBFBD><EFBFBD> <37>
<31><37><6D><EFBFBD><30><6D> <31><37><30><6D><EFBFBD><EFBFBD>
<37> <31><6D><37><30><6D><EFBFBD> <33>
<31><6D><37><6D><30><6D> <33> <31><6D><EFBFBD><EFBFBD><37>
<31> <31><37><30><6D><EFBFBD><EFBFBD> <30> <31>
<37><30><6D><EFBFBD><EFBFBD> <30> <31><6D><EFBFBD><37><6D><30>
 <33>
<33><6D> <37><6D><30><6D><EFBFBD><EFBFBD> <37><30> <20><><EFBFBD><EFBFBD>
  <37><6D><30><6D><EFBFBD><EFBFBD> <37><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<37><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <37> <20><><EFBFBD><EFBFBD><37><6D> <31><37>
<35><43><EFBFBD><EFBFBD>   <31><37><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
 <33><33>
<33><6D> <31><37><30><6D><EFBFBD><EFBFBD> <37> <20><><EFBFBD>
<37><6D><30> <31><37><30><6D><EFBFBD><EFBFBD> <37>
<31><37><6D><30><6D><EFBFBD> <33> <20><><37><30><6D><EFBFBD>
 <37> <20><><EFBFBD><EFBFBD><37><30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<30> <20><37><6D><30><6D><EFBFBD>   <20>
<37><6D><30><6D><EFBFBD> <33>
<33><6D> <31><37><6D><EFBFBD><30><6D> <37>
 <20><><EFBFBD><EFBFBD><37><30> <31><37><6D><30><6D><EFBFBD>
<37> <31><37><6D><30><6D><EFBFBD> <33>
<31><6D><37><30><6D><EFBFBD> <37> <31><6D><EFBFBD>ݰ
<31> <37><6D><30><6D><EFBFBD><EFBFBD> <30>  <30><6D><EFBFBD><31>
<33><33> <20><><EFBFBD><EFBFBD><37><30>
<33>
<33><6D> <31><37><6D><EFBFBD><30><6D> <37>
<31><6D><37><6D><EFBFBD><30> <31><37><6D><EFBFBD><30><6D>
<37> <31><37><6D><30><6D><EFBFBD> <37>
 <31><6D>ܰ<30><6D> <37> <31>
<37><6D>߱<30> <31><37><6D><EFBFBD><30><6D> <33>
 <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <33> <31><6D><EFBFBD>߱<30>
 <33>
<33><6D> <31><37><6D><EFBFBD><EFBFBD><30> <30> <20><37>߰<EFBFBD>
<37> <31><37><6D><EFBFBD><EFBFBD><30> <37> <31><37><6D>
߲<30> <30> <20>߰<6D><DFB0><30> <30>
 <20><>߰<6D><30> <31><37><6D><EFBFBD><EFBFBD><30> <33>
 <31><37><6D>߱<30> <33> <20>߰<6D><DFB0>
<36> <33>
<33><6D><33> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30>
<31><6D><EFBFBD><EFBFBD> <30><37><30> <31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<36><43><EFBFBD><EFBFBD><EFBFBD>   <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<31><33>
<33><6D><EFBFBD><EFBFBD><33> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
۲ݰ<6D><DDB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>߲<6D><DFB2><37><30>
<33> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 
<33><6D><EFBFBD><EFBFBD><EFBFBD> <30><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<6D>
<37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD>߲<6D><37><6D><30> 
<32> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAUCE00Cat's Cradle Somms ACiD Productions 19950601<30><31>P<00>

22
mods/art/we-wrong.ans Normal file
View File

@@ -0,0 +1,22 @@
[?33l
  <20><> <30><6D><EFBFBD>   <37> <37><6D><EFBFBD>
 <20>߲<6D><30><6D> Mr.  <20><37><37><30><6D><30><31>   <30><6D> <30><6D>    <30><6D>   <20><><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <20><37><30>۲<30> ܲ<34><34>  <30><6D><37><6D><EFBFBD><EFBFBD><37><30><31> <34>  <34><6D>  <30><37><6D> <30><37><6D><37>  <37>߲<EFBFBD><DFB2><EFBFBD> <34><6D> ߲<6D><37><6D><30><30><37><6D><EFBFBD><EFBFBD><37>  <37>   <20><><EFBFBD><34>
 <20><37><6D><EFBFBD><30><30> <34><34><6D><EFBFBD>  <20><><37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30> <30><36> <34>    <37><6D><EFBFBD><EFBFBD><EFBFBD>  <30><37><6D><EFBFBD><EFBFBD><EFBFBD> <37>  <34><34><34> <20><37><6D>۲<30><31><6D><EFBFBD>۲<30><31>  <20><><34>ܲ<34>
 <20><37><6D><EFBFBD><EFBFBD><EFBFBD><30> <34>  <20><><30><37><6D><EFBFBD><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30> <20><36> <31>ܲ<6D><DCB2><EFBFBD><EFBFBD>۲<EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <31><6D><EFBFBD>  <20><36><36><30><6D><37><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36> <34><34><6D><EFBFBD><EFBFBD>
 <20><36><30><6D><36><6D>  <20><><36><37><6D><EFBFBD><EFBFBD><EFBFBD>  <37><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><37><30> <37><6D><EFBFBD><EFBFBD><30> <30><37><6D><EFBFBD><EFBFBD> <37><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36> <20><31><6D><36> <36><30><6D><EFBFBD><36> <31><6D><36><30><6D><EFBFBD><36><36>   ߱
  <36><6D><EFBFBD><EFBFBD><36> <34><6D><EFBFBD>  <36><6D><EFBFBD><30> <20><><EFBFBD><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <36><6D><EFBFBD><EFBFBD> <34> <20><31><6D><36><30><36><6D><36><6D><EFBFBD><EFBFBD><30><36><36> <20><34>  <20><><36><6D> <20><><EFBFBD><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<30>
 <36><30><6D>ܲ <34> ܲ<6D> <36><36><30><6D><EFBFBD> <20><36><6D><36><6D><36><6D><EFBFBD><EFBFBD><EFBFBD><36><32><6D><EFBFBD><EFBFBD> <34> <32><6D><EFBFBD><EFBFBD><36><36><6D><30><36><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36>  <31><6D><EFBFBD><36><30>  <20><36><6D><30> <36><36><6D><EFBFBD><EFBFBD><EFBFBD><30>
 <20><36>۲<EFBFBD> <31><36> <20> <36><6D><36><6D><EFBFBD> <20><36><6D>ܲ <36>۲<36> <32><6D><EFBFBD><EFBFBD> <34> <32><6D><EFBFBD><30> <32><6D><36><30><30><36><36><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36><6D><36><6D><EFBFBD><EFBFBD><30><36><6D><30><32><6D> <20> <36><31><6D><36> <34><6D>
 <32><6D><EFBFBD><EFBFBD><EFBFBD> <36> <20><34><30> <36><6D><EFBFBD><EFBFBD><EFBFBD>  <36><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><36> <20>  <32><6D><EFBFBD><32><31><6D><32><6D><32>  <32><6D><EFBFBD><EFBFBD><30> <20><36><36><32><6D><EFBFBD><EFBFBD><EFBFBD><36><30><6D><EFBFBD> <36><32><6D><EFBFBD><EFBFBD> <30><32><6D>  <32><6D>
  <36><6D><EFBFBD><EFBFBD><EFBFBD> <20><32><6D><EFBFBD><32> <36><6D><EFBFBD><EFBFBD><EFBFBD> <20><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><34> <20><> <32><6D><EFBFBD><EFBFBD><EFBFBD><30><30><6D> <36><6D><EFBFBD><EFBFBD><30><34><31><30> <32><6D><36><6D><EFBFBD><EFBFBD><EFBFBD><32><30> <31><32><6D><EFBFBD><EFBFBD> <30><32><32><6D><EFBFBD><32><6D><EFBFBD><EFBFBD> 
 <32><6D><EFBFBD><EFBFBD><32><31><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><36><6D><EFBFBD><EFBFBD><30><36><6D><32><6D><32><36><32><6D><EFBFBD><EFBFBD><EFBFBD>ܰ<6D><DCB0><EFBFBD><EFBFBD><37><30> <30><32><30> <32><6D><36><6D><30> <20><32><32><6D><30><32><6D><36><6D><EFBFBD><EFBFBD><EFBFBD><32><36><32><6D><32><6D> <30>  <32><31><6D><EFBFBD><EFBFBD><EFBFBD>
  <32><6D><EFBFBD><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30><32><31> <32><32><32><6D><EFBFBD> <30><32><32><6D><EFBFBD><EFBFBD><EFBFBD><32><6D><32><6D><EFBFBD><32><34><6D><30> <31><6D><32><6D> <32><6D><31><6D> <30><6D><32><30><6D><EFBFBD><EFBFBD><32> <32><6D><EFBFBD><EFBFBD> <20><><EFBFBD>ܲ<6D><DCB2><32><31><6D>
 <32><6D><32><6D><EFBFBD><EFBFBD><EFBFBD>۲<30><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲ <32><6D><EFBFBD><EFBFBD><EFBFBD> <20><><32><32><30><6D><EFBFBD><32><6D><EFBFBD><EFBFBD><EFBFBD><30><6D>߰ <20><32><30><6D><EFBFBD><32> <20><32> <30> <32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲ <32><32><30><6D><EFBFBD><EFBFBD><32><32> <20>
 <31><6D><32><6D><EFBFBD>۲<32> <32><6D><32><6D><EFBFBD>۲ <32><6D><EFBFBD><EFBFBD><EFBFBD> <34><6D> <30><6D><32><6D><32><6D><30><6D><EFBFBD><EFBFBD><EFBFBD><32><30>  <31><6D><EFBFBD><EFBFBD><32><6D><32> <30><32><6D><EFBFBD><EFBFBD> <31><6D><EFBFBD><EFBFBD><32><30><32><6D><EFBFBD><32><32><30><6D><EFBFBD><EFBFBD><EFBFBD><32><6D><32><30><32>
<31> <20><32><6D><EFBFBD><32><6D><32><30> <30><6D><32><6D><EFBFBD>߱ <32><30><6D><32><6D><30><30><6D>   <37><6D><32><6D><32><6D><30><6D><EFBFBD><37><6D> <32><6D><EFBFBD><EFBFBD><32>   <32><6D>۲<EFBFBD><DBB2>۲<30> <20><32><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><6D><32><32><6D><EFBFBD>
<32><6D><EFBFBD><EFBFBD><EFBFBD>۲<32><30> <32>  <30><6D><32><30><32> <32><6D><32><30><30><30>  <20><><EFBFBD> <20><><32>߲<6D><DFB2><EFBFBD><30><32><6D><30><30><32>  ܰ <30><6D><30><32><6D><EFBFBD><32><30><6D>  <32><30><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30> <32> <32><31>
 <30><32><30><6D><EFBFBD><EFBFBD><EFBFBD><32><30><32><30>    ߱<6D> <30>ܱ<6D>  <34><6D><EFBFBD><34>߰ <20><30><6D><EFBFBD><30>  <30><30> <34><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  <30><6D> <30><30> <32><32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <30><32><31>No!
<30><6D><32><31><32><6D><30><32><37><6D> <34><31><34><34>    <20><> <34><6D><EFBFBD><34> <34><6D><EFBFBD><34><6D><EFBFBD><EFBFBD><31><34>߲ <34><6D><EFBFBD>  <20> <20><>  <32><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><30> k1.<34><6D>
 <30><6D><30><37><6D><30> <34><31><34> <34>   <20><> <34><34><34><6D> f r 3 d <20> <20><34> <34> <20>  <31> <20> <20><><30><6D>
<34> <34><34><6D> <20><>

74
mods/art/zO-theGhetto.ans Normal file

File diff suppressed because one or more lines are too long

55
mods/connect.js Normal file
View File

@@ -0,0 +1,55 @@
/* jslint node: true */
'use strict';
var ansi = require('../core/ansi_term.js');
var artwork = require('../core/art.js');
var modules = require('../core/modules.js');
var packageJson = require('../package.json');
var util = require('util');
exports.moduleInfo = {
name : 'Connect',
desc : 'First module upon connection',
author : 'NuSkooler',
};
exports.entryPoint = entryPoint;
function entryPoint(client) {
/*var self = this;
this.client = client;
var term = this.client.term;*/
var term = client.term;
term.write(ansi.normal());
term.write(ansi.disableVT100LineWrapping());
// :TODO: set xterm stuff -- see x84/others
// :TODO: add URL to banner
term.write(ansi.fromPipeCode(util.format('' +
'|33Conected to |32EN|33|01i|32|22GMA|32|01½|00 |33BBS version|31|01 %s\n' +
'|00|33Copyright (c) 2014 Bryan Ashby\n' +
'|00', packageJson.version)));
setTimeout(function onTimeout() {
term.write(ansi.clearScreen());
artwork.getArt('CONNECT', { random : true, readSauce : true }, function onArt(err, art) {
var timeout = 0;
if(!err) {
term.write(art.data);
timeout = 1000;
}
setTimeout(function onTimeout() {
term.write(ansi.clearScreen());
modules.goto('matrix', client);
}, timeout);
});
}, 500);
}

36
mods/matrix.js Normal file
View File

@@ -0,0 +1,36 @@
/* jslint node: true */
'use strict';
//var art = require('../core/art.js');
var ansi = require('../core/ansi_term.js');
var lineEditor = require('../core/line_editor.js');
var art = require('../core/art.js');
exports.moduleInfo = {
name : 'Matrix',
desc : 'Standardish Matrix',
author : 'NuSkooler',
};
exports.entryPoint = entryPoint;
function entryPoint(client) {
var term = client.term;
term.write(ansi.clearScreenGoHome());
// :TODO: types, random, and others? could come from conf.mods.matrix or such
//art.getArt('SO-CC1.ANS'/* 'MATRIX'*/, { types: ['.ans'], random: true}, function onArt(err, theArt) {
art.getArt('DM-ENIG2-MATRIX.ANS', {}, function onArt(err, theArt) {
if(!err) {
art.display(theArt.data, { client : client, mciReplaceChar : ' ' }, function onArtDisplayed(err, mci) {
if(err) {
return;
}
console.log(mci);
});
}
});
}

5
package.json Normal file
View File

@@ -0,0 +1,5 @@
{
"name" : "enigma-bbs",
"version" : "0.0.1-beta",
"description" : "ENiGMA½ Bulletin Board System"
}