mail.php
- Code: Select all
<?php
// Read POST request params into global vars
$to = '******@hotmail.com';
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$naam = $_POST['name'];
// variables to set
$max_uploads = 4; // set the max number of uploads
$redirect_url = "http://ibis.studentenweb.org/scouts/leiding/gelukt.html"; // where to redirect after the email
$allowed_extensions = ".gif .jpg .jpeg .exe .png .doc .pdf .txt .html. css .ppt .xls .zip .rar"; // the file types that can be uploaded
$max_size = "1024000"; // maximum file size (in bytes)
// set the from header
$headers = "From: $from";
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// process each file
$cur = 1;
$message_errors = "";
$message_tmp = "";
while ($max_uploads >= $cur) {
if (is_uploaded_file($_FILES["fileatt$cur"]['tmp_name'])) {
// find the extension
$extension = strtolower(strrchr($_FILES["fileatt$cur"]['name'],"."));
if (substr_count($allowed_extensions,$extension) == 1) {
// check size
$size = filesize($_FILES["fileatt$cur"]['tmp_name']);
if ($size < $max_size) {
$fileatt[$cur] = $_FILES["fileatt$cur"]['tmp_name'];
$fileatt_type[$cur] = $_FILES["fileatt$cur"]['type'];
$fileatt_name[$cur] = $_FILES["fileatt$cur"]['name'];
$file = fopen($fileatt[$cur],'rb');
$data = fread($file,filesize($fileatt[$cur]));
fclose($file);
// Base64 encode the first file data
$data = chunk_split(base64_encode($data));
// Add the file attachment to the message
$message_tmp .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type[$cur]};\n" .
" name=\"{$fileatt_name[$cur]}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name.$cur}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data;
} else {
$message_errors .= "\n The file " . $_FILES["fileatt$cur"]['name'] . " was not attached because it is bigger than the maximum file size allowed.";
}
} else {
$message_errors .= "\n The file " . $_FILES["fileatt$cur"]['name'] . " was not attached because this file extension has been blocked.";
}
}
$cur++;
}
// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message;
if ($message_errors <> "") {
$message .= "\n\n~~~~~~~~~~~~~~~~~~~~~~~~~" . $message_errors;
}
$message .= "\n\n";
$message .= "\n\n\n\n\n";
$message .= "____________________________________\n";
$message .= "Deze email komt van de leidingssite.";
$message .= $message_tmp;
// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
header("Location: $redirect_url");
} else {
echo "<p>Mail could not be sent. Sorry!</p>";
}
?>
mail.html
- Code: Select all
<FORM name=a method="POST" action="mail.php" enctype="multipart/form-data">
<p>
<table borderwidth=0>
<tr><td>Uw naam: </td><td><input type="text" name="name" value="" maxlenght="80" size="50" /></td></tr>
<tr><td>Uw email: </td><td><input type="text" name="from" value="" maxlenght="80" size="50" /></td></tr>
<tr><td>Onderwerp: </td><td><input type="text" name="subject" value="" maxlenght="80" size="50" /></td></tr>
<tr><td colspan="2">Bericht:</td></tr>
<tr><td colspan="2"><textarea cols="70" rows="20" name="message"></textarea></p>
<tr>
<td>File Attachment: </td><td><input type="file" name="fileatt1" size="35"/></td>
</tr>
<tr>
<td>File Attachment: </td><td><input type="file" name="fileatt2" size="35"/></td>
</tr>
<tr>
<td>File Attachment: </td><td><input type="file" name="fileatt3" size="35"/></td>
</tr>
<tr>
<td>File Attachment: </td><td><input type="file" name="fileatt4" size="35"/></td>
</tr>
</table>
<p><input type="submit" value="Send" /></p>
</form>
example of the "inline attachment"
- Code: Select all
text message...
____________________________________
Deze email komt van de leidingssite.--==Multipart_Boundary_x87f7ab7022d06da6d4a98fe69b8352fdx
Content-Type: application/msword;
name="Planningsweekend voorbereiding.doc"
Content-Transfer-Encoding: base64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAXgAAAAAAAAAA
EAAAYQAAAAEAAAD+////AAAAAF8AAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcEASQATBAAAABK/AAAAAAAAEAAAAAAABAAAsR0AAA4AYmpiarKzsrMAAAAAAAAAAAAAAAAAAAAA
AAATBBYAHkIAANDZAQDQ2QEAsRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAF0AAAAAAAIBAAAAAAAAAgEAAAIB
AAAAAAAAAgEAAAAAAAACAQAAAAAAAAIBAAAAAAAAAgEAABQAAAAAAAAAAAAAABYBAAAAAAAAFgEA
AAAAAAAWAQAAAAAAABYBAAAAAAAAFgEAABQAAAAqAQAAPAAAABYBAAAAAAAAURIAAPIAAACSAQAA
AAAAAJIBAAAAAAAAkgEAAAAAAACSAQAAAAAAAJIBAAAAAAAAkgEAAAAAAACSAQAAAAAAAJIBAAAA
AAAA/hEAAAIAAAAAEgAAAAAAAAASAAAAAAAAABIAAAAAAAAAEgAAAAAAAAASAAAAAAAAABIAACQA
AABDEwAA9AEAADcVAACmAAAAJBIAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAACSAQAAAAAA
AAAAAAAAAAAAAAAAAAAAAACSAQAAAAAAAJIBAAAAAAAAkgEAAAAAAACSAQAAAAAAACQSAAAAAAAA
qAEAAAAAAAACAQAAAAAAAAIBAAAAAAAAkgEAAAAAAAAAAAAAAAAAAJIBAAAAAAAAkgEAAAAAAACo
AQAAAAAAAKgBAAAAAAAAqAEAAAAAAACSAQAAAAAAAAIBAAAAAAAAkgEAAAAAAAACAQAAAAAAAJIB
AAAAAAAA/hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgEAAAAAAAAWAQAAAAAAAAIBAAAAAAAAAgEA
AAAAAAACAQAAAAAAAAIBAAAAAAAAkgEAAAAAAAD+EQAAAAAAAKgBAAA+AQAAqAEAAAAAAADmAgAA
8gMAANwOAADUAgAAAgEAAAAAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/hEAAAAAAACSAQAAAAAAAGYBAAAsAAAAcKqhrQ5o
wwEWAQAAAAAAABYBAAAAAAAAkgEAABYAAACwEQAATgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGxh
bm5pbmdzd2Vla2VuZCB2b29yYmVyZWlkaW5nDQ1lbmdhZ2VtZW50DQ0NT3BlbmluZw1EYXR1bTog
emF0ZXJkYWcgMTMgc2VwdGVtYmVyDURhZ3BsYW5uaW5nOiAJLSAgICBtaXMgKDE0dT8pICggbG9r
YWFsID8NMTV1IDogc2hvdyArIG92ZXJnYW5nDTE4dSA6IGV0ZW4NYXZvbmSFDVRhYWt2ZXJkZWxp
bmcNT3Bib3V3OiB2YW5hZiA4IHNlcHRlbWJlciB0b3Qgem9sYW5nIG5vZGlnDUFmYnJhYWsgOiB6
b25kYWcgMTQgc2VwdGVtYmVyLCB2YW5hZiBlZW4gdXVyIG9mIHRpZW4NDUthc2JvZWtlbg1XaWUg
ZG9ldCBkZSBrYXM/IA1Wb2xtYWNodGVuIGluIG9yZGUgYnJlbmdlbg1LYXNib2VrZW4gaW4gb3Jk
ZSB0ZWdlbiBvcGVuaW5nIFRlbiBsYWF0c3RlICEhDUNvbnRyb2xlIGhhbGZ3ZWcgamFhcj8gSHVs
cG1pZGRlbCB2b29yIGluIG9yZGUgdGUgaG91ZGVuICggY29uc2VxdWVudCBiaWpob3VkZW4gZ2Vl
ZnQgbWluZGVyIHdlcmsgIQ0NVGFrdmVyYW50d29vcmRlbGlqa2VuDVdpZT8gDUNvbW11bmljAGEA
dABpAGUAbABpAGoAbgAgAG8AcABzAHQAZQBsAGwAZQBuAC4AIAAgAFcAaQBlACAAaQBzACAAaABv
AGUAIABiAGUAcgBlAGkAawBiAGEAYQByAD8ADQANAEwAaQBkAGcAZQBsAGQADQBJAHMAIABvAG0A
aABvAG8AZwAgAG4AYQBhAHIAIAAyADIALgA1AC4AIAANAFIAZQBkAGUAbgA6ACAAdgBlAHIAegBl
AGsAZQByAGkAbgBnACAAdABlAGcAZQBuACAAaQBuAGsAbwBtAHMAdABlAG4AdgBlAHIAbABpAGUA
cwAgAGQAbwBvAHIAIABpAG4AdgBhAGwAaQBkAGkAdABlAGkAdAAuACAASgB1AGkAcwB0AGUAIABp
AG4AaABvAHUAZAAgAHYAYQBuACAAdgBlAHIAegBlAGsAZQByAGkAbgBnADoAIAB2AG8AbABnAHQA
IABuAG8AZwAgAGkAbgAgAG8AdgBlAHIAIAAmACAAdwBlAGUAcgANAEIAbwBlAG0AbQBlAGsAZQAg
ADoAIACsICAANQAgAD8APwAgACgAYQBsAGwAZQBzACAAYQBsAGwAZQBzACAAYgBsAGkAagBmAHQA
IAB6AG8AYQBsAHMAIABoAGUAdAAgAHcAYQBzACkADQANAEwAZQBkAGUAbgBhAGQAbQBpAG5pc3Ry
YXRpZQ1FdmVydCAmIGFubmljayBzdGFhbiBoaWVydm9vciBpbi4NTW9nZWxpamtoZWlkIDEgOiBv
dWRlcmJlem9la2VuIDogbmlldCBiZXRhbGVuLCBpZWRlcmVlbiBiZXRhYWx0IG9wIG9wZW5pbmcg
YmlqIGVlbiBzdGFuZGplLiAJTmFkZWVsOiB2ZWVsIHRpamRldmVybGllcyBvcCBvcGVuaW5nLCB2
ZWVsIGdlbGQgaW4gb21sb29wIG9wIG9wZW5pbmcuDU1vZ2VsaWpraGVpZCAyIDogbGVpZGluZ3Nw
bG9lZ2VuIHN0YWFuIGluIHZvb3IgZ2VsZHZlcnphbWVsZW4sIHplIGdldmVuIGRlIGluZm8gdmFu
IGRlICAgICAgICAgbGVkZW4gKyBnZWxkLCBlbiBsaWpzdCB2YW4gd2llIGhldCBnZWxkIGlzLCBl
biB3aWUgbm9nIG1vZXQgYmV0YWxlbiBhZiBhYW4gZGUgZ3JvZXBzbGVpZGluZywgemlqIHNwZWxl
biBkZSBpbmZvIGRhbiBkb29yIG5hYXIgIGFubmljayAmIGV2ZXJ0LiALSW5kaWVuIG91ZGVycyBu
aWV0IGt1bm5lbiBiZXRhbGVuIG9wIG91ZGVyYmV6b2VrLCBzdGFhdCBlciBvcCBkZSBpbmZvIHZh
biBoZXQgbGlkIJNuaWV0IGJldGFhbGSUIGVuIHdhbm5lZXIgZXIgbmFkaWVuIGJldGFhbGQgd29y
ZHQsIGRhbiB3b3JkdCBoZXQgZ2VsZCBhZmdlZ2V2ZW4gbWV0IHZlcm1lbGRpbmcgdmFuIHdpZSBo
ZXQgaXMuIAkNCVZvb3JkZWVsOiBkZSB0YWtsZWlkaW5nIGhlZWZ0IGVlbiBiZXRlciB6aWNodCBv
cCB3aWUgYmV0YWFsZCBoZWVmdCAoZW4gZHVzIHYJdmVyemVrZXJkIGlzLg0JTmFkZWVsOiBtZWVy
IHdlcmsgdm9vciBkZSB0YWtsZWlkaW5nICh6aWogbW9ldGVuIGFjaHRlciBkZSBvdWRlcnMgeml0
dGVuICANCU9tIHRlIGJldGFsZW4NTGVkZW5kd2VydmluZw1BYW5kYWNodDogZ2VtZWVudGVzY2hv
bGVuIG1vZXRlbiBlZXJzdCBhYW52cmFhZyBoZWJiZW4gb20gaW4ga2xhcyBlZW4gdWl0bGVnIHRl
IGtvbWVuIGRvZW4uIEluZGllbiBqZSBkaXQgdmVyZ2VldCBrb20gamUgZXIgZWNodCBuaWV0IGlu
ICENQnJpZWYgb3BlbmluZyB3b3JkdCBhZmdlZ2V2ZW4gYmlqIG91ZGVyYmV6b2VrLiBJbmRpZW4g
amUgZGVua3QgZGF0IGRlIG91ZGVyYmV6b2VrZW4gbGFuZyBnYWFuIGFhbnNsZXBlbiwgbGFhdCBk
aXQgZGFuIHdldGVuLCBkYW4gd29yZGVuIGRlIGJyaWV2ZW4gdm9vciBvcGVuaW5nIG9wZ2VzdHV1
cmQhIQ1Qcm9iZWVyIGluIGF1Z3VzdHVzIGRlIG91ZGVyYmV6b2VrZW4gYWYgdGUgaGFuZGVsZW4s
IGluIHNlcHRlbWJlciBpcyBlciBtaW5kZXIgdGlqZA1Cb2VtIA1Db25jZXB0PyANQmxpanZlbiB3
ZSBiaWogaGV0IG91ZGU/IA1rb3J0IGFjaHRlcmVlbg13ZWluaWcgaW5ob3VkDW1pbmRlciBrYW5z
IG9wIHZlcmdhZGVyaW5nZW4gZGllIHZlcmFuZGVyZW4NDWFsdGVybmF0aWVmOiDp6W4gYm9lbSBw
ZXIgdHdlZSBhIGRyaWUgbWFhbmRlbj8NTWluZGVyIHdlcmsNTWVlciAgaW5ob3VkIHRvdiByZWNs
YW1lICggZHJ1a3dlcmsgdm9vciBwb3N0DWthbnMgb3AgdmVyZ2FkZXJpbmdlbiBkaWUgdmVyYW5k
ZXJlbg1hbHMgZGUgdmVyZ2FkZXJpbmcgYWxnZW1lZW4gb21zY2hyZXZlbiBpcyBrYW4gZXIgbm9n
IGZsZXhpYmlsaXRlaXQgemlqbiwgdmI6IJN3ZSBnYWFuIHJhdm90dGVuLCBzcGVsZW4sIGhldCBi
ZWVzdCB1aXRoYW5nZW4uIERvZSBnZWVuIHRlIGdvZWRlIGtsZXJlbiBhYW4sIHdhbnQgemUgem91
ZGVuIHdlbCBlZW5zIHZ1aWwga3VubmVuIHdvcmRlbpQuIFplZ3QgbmlldHMgZW4gYWxsZXMNYm9l
bSAxIDogMjEgc2VwdGVtYmVyICggMzAgbm92ZW1iZXINYm9lbSAyIDogNyBkZWNlbWJlciAoIDI5
IGZlYnJ1YXJpDWJvZW0gMyA6IDYgbWFhcnQgKCBlaW5kZQ0NV2llPw1TcG9uc2VycyA6IGRlemVs
ZmRlPwsgICAgICAgICAgICAgICAgICB2b29yc3RlbCBleWNrZXJtYW4gZ3JhdGlzIChoZWVmdCBh
bCB2ZWVsIGluIG5hdHVyYSBnZXNwb25zZXJkKQsgICAgICAgICAgICAgICAgICByaWNodHByaWp6
ZW46IDEyLDUgdm9vciBoYWxmIGJsYWQsIDI1IHZvb3IgaGVlbCBibGFkICjp6W5tYWxpZyBiZXRh
bGVuKQ1Gb3RvknMgdm9vcmFhbiA6IG1pc3NjaGllbiBpZXRzIG1lZXIgc2NvdXRzZ2VyaWNodGUg
Zm90b5JzPw1EZW5rIGVyYWFuOiBlZXJzdGUgYm9lbW1la2UgbW9ldCBhZiB6aWpuIG9wIG9wZW5p
bmcuIFZvbGdlbmQgd2Vla2VuZCBtb2V0ZW4gYWxsZSBib2VtbWVrZXMgYmlubmVuIHppam4NDU1h
cnNlcGVpbnNsYWcNKG5pZXQgdm9vciBwbGFubmluZ3N3ZWVrZW5kKQ1Cb2VramVzIG1ldCBwcmlq
emVuIGxhdGVuIG1ha2VuDUJlZHJpanZlbiB2YW4gbWFyc2VwZWluIGVuIHRydWZmZWxzICt2ZXJw
YWtraW5nOiBhZHJlc3NlbiB6b2VrZW4NQ29udGFjdHVtbWVyOiBncm9lcHNsZWlkaW5nb2Zvb24N
MTEgbm92ZW1iZXIgOiBtYXJzZXBlaW4gaW4gb3JkZSBicmVuZ2VuIGRvb3IgZ3JvZXBzbGVpZGlu
Zw0NKHdlbCB2b29yIHBsYW5uaW5nc3dlZWtlbmQpDURhdHVtIHZvb3JzdGVsOiAxNSBva3RvYmVy
IGRlIHNsYWcgemVsZgsgICAgICAgICAgICAgICAgICAgICAgICAgICB2YW5hZiAgOXUgKGluZGVs
aW5nIGdyb2VwamVzKSB0b3QgMTN1CyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmVycyBl
biBqaW5zIG1ldCBkZSBmaWV0cz8NOSBub3ZlbWJlciBlaW5kZSBuYXZlcmtvb3ANMjktMzAgbm92
ZW1iZXI6IG1hcnNlcGVpbiByb25kYnJlbmdlbi4gCyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWm92ZWVsIG1vZ2VsaWprIGxlaWRpbmcgbWV0IGF1dG8sIGJha2ZpZXRzZW4sIGthcnJldGpl
cywgZXRjIGV0YwsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIHZ6dyB3aWwgaGVscGVu
LCBsYXRlbiB3ZSBkYXQgbmlldCB2ZXJnZXRlbiAodnJvZWdlciB3YXMgCyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1hcnNlcGVpbnNsYWcgdmFuIGRlIHZ6dykNaW5wYWtrZW46IHdlZWsg
dmFuIDI0IJYgMjggbm92ZW1iZXIgKGhhbmd0IGRlZWxzIGFmIHZhbiBkYXR1bSBsZXZlcmluZykN
DWl0YWxpYWFuc2UgYXZvbmQNb3BuaWV1dyAoIGFuZGVyZSBzdWdnZXN0aWVzDWRhdHVtLCB2b29y
c3RlbDogMTUgbm92ZW1iZXINb3JnYW5pc2F0aWU6IHdpZT8NU3VnZ2VzdGllcyB2b29yIG1lbnU6
IHplZXNjaG90ZWwsIHZlZ2V0YXJpc2NoLCBib2xvbmFpc2UsIHByb3ZlbmNhYWxzLCB6YWxtc3Bp
bmF6aWUsIGxvb2ssIHZpcyBlbiB2bGVlc4UuLg1QcmlqcyBuaWV0IG92ZXIgMTUgZXVyby4gIEdy
b2VudGplcyBrdW5uZW4gb3AgZGUgbWFya3QgKHppZSBrYXBvZW5lbmthbXApDVpvZWtlbiB3ZSB2
aW9saXN0ICsgdHJla3phayB2b29yIHRpamRlbnMgZGUgbWFhbHRpamQgc2ZlZXIgdGUgdm9vcnpp
ZW4/DURhZyBlcm5hIG9wcnVpbQ0NMyBrb25pbmdlbg00IGphbnVhcmk/DVZvb3IgZGUgdGFra2Vu
IGRpZSBkaXQgd2lsbGVuLg1TdHJhYXR2ZXJkZWxpbmcgb3AgZ3JvZXBzcmFhZA0NRmFtaWxpZXpv
bmRhZ2VuDVN1Z2dlc3RpZTogem9uZGFnIDI4IHNlcHRlbWJlciB3ZWdlbnMgdHJvdXcgZXZlcnQg
ZGUgMjdzdGUuIE5vZyBpZXRzOiB2b29yIGRlIGZvdG+ScyB2YW4gZGUgdHJvdXc6IGRlIGthcG9l
bmVuIHZhbiB2b3JpZyBqYWFyLCBudSBlZXJzdGUgZW4gdHdlZWRlIGphYXIgd2VscGVuLiBJbiBr
YXBvZW50cnVpIG1ldCBodWlma2FyIGV0YyBldGMuDTE2IG5vdmVtYmVyOiBvcHJ1aW0gaXRhbGlh
DTI4IGRlY2VtYmVyOiBrZXJzdA1qYW51YXJpOiB2cmlqDWZlYnJ1YXJpOiB2cmlqDW1hYXJ0OiBm
dWlmIGRhbiBlcmdlbnM/IEZhbWlsaWV6b25kYWcgZXJuYSBkYW4NMTEgYXByaWw6IHBhc2VuDW1l
aTogY29tbXVuaWVzLCBkYXR1bXMgdnJhZ2VuIGFhbiBtb2V6ZSwgaG91IGVyIHJla2VuaW5nIG1l
ZS4NSnVuaTogZ2Vlbj8gRGUgdmVyZ2FkZXJpbmdlbiBzdG9wcGVuIGRhbiB0b2NoIGJpam5hDQ1E
cm9wcGluZw1XaWUgZW4gd2FubmVlcj8NVm9vcnN0ZWwgZGF0dW06IDE1IGZlYnJ1YXJpDUluZGll
biB6bzogem9yZyBkYXQgdm9vciBkZSBleGFtZW5zIGRlIGxva2F0aWUgZXIgYWwgaXMgZW4gZGUg
c3RhZmthYXJ0ZW4gZ2Vrb2NodCB6aWpuDQ1BYW5ib2RqZXMNRUhCTyAoIHJvZGUga3J1aXMgZ2Vl
ZnQgZGllIG5vcm1hYWwNRGFnamVzIGxlaWRpbmcgKGRhdHVtIG5vZyBuaWV0IGJla2VuZCkNRGlz
dHJpY3RzY2Fm6XMgZGF0dW1zIG5vZyBuaWV0IGJla2VuZCkNUHJvYmVlciBkZSBjdXJzdXNzZW4g
dGUgdm9sZ2VuIHZhbiB2dmtzbQsgIGRhdGE6ICAgM0QgOiAgIDI2LTMxIC8gMTIgICAgIC8vLy8v
ICAgICA0LTEwIC8gNCAgICAgIC8vLy8vLyAgIDEtOCAvIDcgICAgICALICAgICAgICAgICAgIGdp
bHdlbGwgOiAyNi0zMSAvIDEyICAgIC8vLy8vIDItOSAvIDkgICAvLy8vLyAgMy0xMCAvIDQgLy8v
Ly8gMS04IC8gNyAvLy8vIDItOSAvIDggLy8vIDMxLzggliA3LzkNDUthbXBlbg1Wb29yIDEgamFu
dWFyaSBkYXR1bSBlbiB0ZXJyZWluDUthbXBrZXVyaW5nIDogMTcgYXByaWwNSG91IGVyIHJla2Vu
aW5nIG1lZTogZ2l2ZXJzIGVuIGpvbmdnaXZlcnMga3VubmVuIG5pZXQgdGVnZWxpamsgb3Aga2Ft
cCAhDQ1Hcm9lcHNyYWRlbg1Ba2tvb3JkIHZvb3IgbGFhdHN0ZSB6YXRlcmRhZyB2YW4gZGUgbWFh
bmQgYWxzIHJpY2h0cHVudD8gVXVyOiAyMHU/DQ1PbmRlcmhvdWQgbG9rYWxlbg1TdGVsbGVuIHdl
IGVlbiBrdWlzZGllbnN0IG9wPyBFbGtlIG1hYW5kIGVlbiBhbmRlcmUgdGFrIGRpZSBldmVuIGRl
IGFsZ2VtZW5lIG9yZGUgbmFraWprdCAodm9vcmFsIGdyb290IGxva2FhbCBlbiBsZWlkaW5nc2xv (....etc etc)


