Add missing unit-test files.

0.96
Török Edvin 17 years ago
parent d99c0c4245
commit 3411775b3a
  1. 90
      unit_tests/check_bytecode.c
  2. 351
      unit_tests/input/arith.cbc
  3. 3
      unit_tests/input/retmagic.cbc

@ -0,0 +1,90 @@
/*
* Unit tests for bytecode functions.
*
* Copyright (C) 2009 Sourcefire, Inc.
*
* Authors: Török Edvin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#if HAVE_CONFIG_H
#include "clamav-config.h"
#endif
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include <check.h>
#include "../libclamav/clamav.h"
#include "../libclamav/others.h"
#include "../libclamav/bytecode.h"
#include "checks.h"
static void runtest(const char *file, uint64_t expected)
{
int rc;
int fd = open_testfile(file);
FILE *f;
struct cli_bc bc;
struct cli_bc_ctx *ctx;
uint64_t v;
fail_unless(fd >= 0, "retmagic open failed");
f = fdopen(fd, "r");
fail_unless(!!f, "retmagic fdopen failed");
cl_debug();
rc = cli_bytecode_load(&bc, f, NULL);
fail_unless(rc == CL_SUCCESS, "cli_bytecode_load failed");
fclose(f);
ctx = cli_bytecode_context_alloc();
fail_unless(!!ctx, "cli_bytecode_context_alloc failed");
cli_bytecode_context_setfuncid(ctx, &bc, 0);
rc = cli_bytecode_run(&bc, ctx);
fail_unless(rc == CL_SUCCESS, "cli_bytecode_run failed");
v = cli_bytecode_context_getresult_int(ctx);
fail_unless_fmt(v == expected, "Invalid return value from bytecode run, expected: %llx, have: %llx\n",
expected, v);
cli_bytecode_context_destroy(ctx);
cli_bytecode_destroy(&bc);
}
START_TEST (test_retmagic)
{
runtest("input/retmagic.cbc", 0x1234f00d);
}
END_TEST
START_TEST (test_arith)
{
runtest("input/arith.cbc", 0xd5555555);
}
END_TEST
Suite *test_bytecode_suite(void)
{
Suite *s = suite_create("bytecode");
TCase *tc_cli_arith = tcase_create("arithmetic");
suite_add_tcase(s, tc_cli_arith);
tcase_add_test(tc_cli_arith, test_retmagic);
tcase_add_test(tc_cli_arith, test_arith);
return s;
}

@ -0,0 +1,351 @@
ClamBCaa`|`````|`bbep`clamcoincidencejb
A`Lbabb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bb`bFbbbaa
Bb`b`oa`abb`baaoa`acb`baboa`adb`bacoa`aeb`badoa`afb`baeoa`agb`bafoa`ahb`bagoa`aib`bahoa`ajb`baioa`akb`bajoa`alb`bakoa`amb`baloa`anb`bamoa`aob`banoa`b`ab`baooa`baab`bb`aoa`bbab`bbaaa`aa`b`bbbaa`baaabb`bbcaa`bbaacb`bbdaa`bcaadb`bbeaa`bdaaeb`bbfaa`beaafb`bbgaa`bfaagb`bbhaa`bgaahb`bbiaa`bhaaib`bbjaa`biaajb`bbkaa`bjaakb`bblaa`bkaalb`bbmaa`blaamb`bbnaa`bmaanb`bboaa`bnaaob`bb`ba`boab`aTcab`bE
A`Lb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
Bah`oabbcaAaAaaaaada`AbTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabbcaAaBooaaaddaac@Taaadadac
Bb`baeoaabga@Tcaae
BahafoabbcaBooBooaaagdaafBnoTaaagafae
Bb`bahoaabga@Tcaah
BahaioabbcaBooAaaaajdaai@Taaajahag
Bb`bakoaabga@Tcaak
Bb`aaloabbdaAaAaaaamdaalAbTaaamajai
Bb`banoaabga@Tcaan
Bb`aaooabbdaAaDooooaab`adaao@Taab`aalak
Bb`bbaaoaabga@Tcabaa
Bb`abbaoabbdaDooooDooooaabcadabbaDnoooTaabcaanam
Bb`bbdaoaabga@Tcabda
Bb`abeaoabbdaDooooAaaabfadabea@Taabfab`aao
Bb`bbgaoaabga@Tcabga
Bb`bbhaoabbeaAaAaaabiadabhaAbTaabiabbabaa
Bb`bbjaoaabga@Tcabja
Bb`bbkaoabbeaAaHooooooooaabladabka@Taablabdabca
Bb`bbmaoaabga@Tcabma
Bb`bbnaoabbeaHooooooooHooooooooaaboadabnaHnoooooooTaaboabfabea
Bb`bb`boaabga@Tcab`b
Bb`bbaboabbeaHooooooooAaaabbbdabab@Taabbbbhabga
Bb`bbcboaabga@Tcabcb
Bb`dbdboabbfaAaAaaabebdabdbAbTaabebbjabia
Bb`bbfboaabga@Tcabfb
Bb`dbgboabbfaAaPooooooooooooooooaabhbdabgb@Taabhbblabka
Bb`bbiboaabga@Tcabib
Bb`dbjboabbfaPooooooooooooooooPooooooooooooooooaabkbdabjbPnoooooooooooooooTaabkbbnabma
Bb`bblboaabga@Tcablb
Bb`dbmboabbfaPooooooooooooooooAaaabnbdabmb@Taabnbb`bboa
Bb`bboboaabga@Tcabob
BTcaAaE
A`Lbdbahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bFbmcbia
Bah`oabbhaBooAaaaaada`BnoTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabbhaAaBooaaaddaacAbTaaadadac
Bb`baeoaabga@Tcaae
BahafoabbhaAaAaaaagdaaf@Taaagafae
Bb`bahoaabga@Tcaah
Bb`aaioabbiaDooooAaaaajdaaiDnoooTaaajahag
Bb`bakoaabga@Tcaak
Bb`aaloabbiaAaDooooaaamdaalAbTaaamajai
Bb`banoaabga@Tcaan
Bb`aaooabbiaAaAaaab`adaao@Taab`aalak
Bb`bbaaoaabga@Tcabaa
Bb`bbbaoabbjaHooooooooAaaabcadabbaHnoooooooTaabcaanam
Bb`bbdaoaabga@Tcabda
Bb`bbeaoabbjaAaHooooooooaabfadabeaAbTaabfab`aao
Bb`bbgaoaabga@Tcabga
Bb`bbhaoabbjaAaAaaabiadabha@Taabiabbabaa
Bb`bbjaoaabga@Tcabja
Bb`dbkaoabbkaPooooooooooooooooAaaabladabkaPnoooooooooooooooTaablabdabca
Bb`bbmaoaabga@Tcabma
Bb`dbnaoabbkaAaPooooooooooooooooaaboadabnaAbTaaboabfabea
Bb`bb`boaabga@Tcab`b
Bb`dbaboabbkaAaAaaabbbdabab@Taabbbbhabga
Bb`bbcboaabga@Tcabcb
BTcaAdE
A`Lb`cahaab`bahaab`bahaab`bahaab`bb`aaab`bb`aaab`bb`aaab`bb`aaab`bb`baab`bb`baab`bb`baab`bb`baab`bb`daab`bb`daab`bb`daab`bb`daab`bFbaebab
Bah`oabblaBooAaaaaada`BooTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabblaBooBooaaaddaacAaTaaadadac
Bb`baeoaabga@Tcaae
BahafoabblaAaAaaaagdaafAaTaaagafae
Bb`bahoaabga@Tcaah
BahaioabblaBaaBcbaaajdaaiBceTaaajahag
Bb`bakoaabga@Tcaak
Bb`aaloabbmaDooooAaaaamdaalDooooTaaamajai
Bb`banoaabga@Tcaan
Bb`aaooabbmaDooooDooooaab`adaaoAaTaab`aalak
Bb`bbaaoaabga@Tcabaa
Bb`abbaoabbmaAaAaaabcadabbaAaTaabcaanam
Bb`bbdaoaabga@Tcabda
Bb`abeaoabbmaBckCgfcaabfadabeaDe`afTaabfab`aao
Bb`bbgaoaabga@Tcabga
Bb`bbhaoabbnaHooooooooAaaabiadabhaHooooooooTaabiabbabaa
Bb`bbjaoaabga@Tcabja
Bb`bbkaoabbnaHooooooooHooooooooaabladabkaAaTaablabdabca
Bb`bbmaoaabga@Tcabma
Bb`bbnaoabbnaAaAaaaboadabnaAaTaaboabfabea
Bb`bb`boaabga@Tcab`b
Bb`bbaboabbnaE`emkbEhnmdmaabbbdababH`h`jlgbgTaabbbbhabga
Bb`bbcboaabga@Tcabcb
Bb`dbdboabboaPooooooooooooooooAaaabebdabdbPooooooooooooooooTaabebbjabia
Bb`bbfboaabga@Tcabfb
Bb`dbgboabboaPooooooooooooooooPooooooooooooooooaabhbdabgbAaTaabhbblabka
Bb`bbiboaabga@Tcabib
Bb`dbjboabboaAaAaaabkbdabjbAaTaabkbbnabma
Bb`bblboaabga@Tcablb
Bb`dbmboabboaImaghnanbdIogjdckg`baabnbdabmbPcfifjghokjjemflgTaabnbb`bboa
Bb`bboboaabga@Tcabob
BTcaB`aE
A`Lacb`aaab`bFafac
Bb`a`oabbabDjnmoAgaaaada`DfddbTaaaaabaa
Bb`baboaabga@Tcaab
BTcaB`dE
A`Lbfaahaab`bahaab`bahaab`bahaab`bahahaab`bahaab`bb`aaab`bFbebao
Bah`oabbdbAaBooaaaada`BooTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabbdbBooAaaaaddaacBooTaaadadac
Bb`baeoaabga@Tcaae
BahafoabbdbBooBooaaagdaafAaTaaagafae
Bb`bahoaabga@Tcaah
BahaioabbdbAaAaaaajdaaiAaTaaajahag
Bb`bakoaabga@Tcaak
BahaloabbcaBnoAeahamoabbdbAfalaaandaamAbTaaanajai
Bb`baooaabga@Tcaao
Bahb`aoabbdbalAbaabaadab`aAaTaabaaalak
Bb`bbbaoaabga@Tcabba
Bb`abcaoabbebDjnmoAgaabdadabcaDdkooTaabdaanam
Bb`bbeaoaabga@Tcabea
BTcaC``aE
A`Laoahaab`bahaab`bahaab`bb`aaab`bb`aaab`bFbjaak
Bah`oabblbBooAaaaaada`@Taaaaabaa
Bb`baboaabga@Tcaab
BahacoabbhbBooAaaaaddaac@Taaadadac
Bb`baeoaabga@Tcaae
BahafoabblbAaBooaaagdaaf@Taaagafae
Bb`bahoaabga@Tcaah
Bb`aaioabbmbDinmoAgaaajdaaiDmoooTaaajahag
Bb`bakoaabga@Tcaak
Bb`aaloabbibDinmoAgaaamdaalAfTaaamajai
Bb`banoaabga@Tcaan
BTcaC``dE
A`Lalahaab`bahaab`bahaab`bb`aaab`bFbeaai
Bah`oabb`cAaAaaaaada`AbTaaaaabaa
Bb`baboaabga@Tcaab
Bahacoabb`cAa@aaaddaacAaTaaadadac
Bb`baeoaabga@Tcaae
Bahafoabb`cBnoAbaaagdaafBhoTaaagafae
Bb`bahoaabga@Tcaah
Bb`aaioabbacDnojoAbaaajdaaiDhoknTaaajahag
Bb`bakoaabga@Tcaak
BTcaD```aE
A`Lagahaab`bahahaab`bFalae
Bah`oabbdcBnoAaaaaada`BogTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabbcaBnoAeahadoabbdcacAaaaaedaadAaTaaaeadac
Bb`bafoaabga@Tcaaf
BTcaD```dE
A`Lafahaab`bahaab`bFakae
Bah`oabbhcBnoAaaaaada`BooTaaaaabaa
Bb`baboaabga@Tcaab
BahacoabbhcBngAaaaaddaacBocTaaadadac
Bb`baeoaabga@Tcaae
BTcaE````aE
A`Lalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
Bah`oabblcBjeAoaaaada`AjTaaaaabaa
Bb`baboaabga@Tcaab
Bb`aacoabbmcDlkjeD```oaaaddaacD```eTaaadadac
Bb`baeoaabga@Tcaae
Bb`bafoabbncHdcbalkjeG``````oaaagdaafG``````jTaaagafae
Bb`bahoaabga@Tcaah
Bb`daioabbocPdcbahgfedcbalkjeG``````oaaajdaaiG``````fTaaajahag
Bb`bakoaabga@Tcaak
BTcaE````dE
A`Lalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
Bah`oabb`dBjeAoaaaada`BoeTaaaaabaa
Bb`baboaabga@Tcaab
Bb`aacoabbadDlkjeD```oaaaddaacDlkjoTaaadadac
Bb`baeoaabga@Tcaae
Bb`bafoabbbdHdcbalkjeG``````oaaagdaafHdcbalkoeTaaagafae
Bb`bahoaabga@Tcaah
Bb`daioabbcdPdcbahgfedcbalkjeG``````oaaajdaaiPdcbahgoedcbalkjeTaaajahag
Bb`bakoaabga@Tcaak
BTcaF`````aE
A`Lalahaab`bb`aaab`bb`baab`bb`daab`bFbeaai
Bah`oabbddBjeB`oaaaada`BjjTaaaaabaa
Bb`baboaabga@Tcaab
Bb`aacoabbedDjejeD``ooaaaddaacDjeejTaaadadac
Bb`baeoaabga@Tcaae
Bb`bafoabbfdHjejejejeH``ooooooaaagdaafHjeejejejTaaagafae
Bb`bahoaabga@Tcaah
Bb`daioabbgdPjejejejejejejejeP``ooooooooooooooaaajdaaiPjeejejejejejejejTaaajahag
Bb`bakoaabga@Tcaak
BTcaF`````dE
A`Laib`aaab`bb`baab`bb`daab`bFb`aag
Bb`a`oaabhdBloaaaada`DloooTaaaaabaa
Bb`baboaabga@Tcaab
Bb`bacoaabidDjoooaaaddaacHjoooooooTaaadadac
Bb`baeoaabga@Tcaae
Bb`dafoaabjdHjoooooooaaagdaafPjoooooooooooooooTaaagafae
Bb`bahoaabga@Tcaah
BTcaG``````aE
A`Laib`aaab`bb`baab`bb`daab`bFb`aag
Bb`a`oaabkdBloaaaada`BloTaaaaabaa
Bb`baboaabga@Tcaab
Bb`bacoaabldDloooaaaddaacDloooTaaadadac
Bb`baeoaabga@Tcaae
Bb`dafoaabmdHloooooooaaagdaafHloooooooTaaagafae
Bb`bahoaabga@Tcaah
BTcaG``````dE
A`Laiahaab`bb`aaab`bb`baab`bFb`aag
Bah`oaabndDmnnoaaaada`BmnTaaaaabaa
Bb`baboaabga@Tcaab
Bb`aacoaabodHmnnomjnmaaaddaacDmnnoTaaadadac
Bb`baeoaabga@Tcaae
Bb`bafoaab`ePonnkmnnomjnmonnkaaagdaafHonnkmnnoTaaagafae
Bb`bahoaabga@Tcaah
BTcaH```````aE
A`Laob`baab`bb`baab`bb`baab`bb`baab`bb`baab`bFbjaak
Bb`b`oadbaeHooooooooAb@Adaaaada`CijbTaaaaabaa
Bb`baboaabga@Tcaab
Bb`bacoadbaeHooooooooHooooooooAaHooooooooaaaddaacCbbcTaaadadac
Bb`baeoaabga@Tcaae
Bb`bafoadbaeHoooooooo@AcHnoooooooaaagdaafCcjbTaaagafae
Bb`bahoaabga@Tcaah
Bb`baioadbaeHoooooooo@Ac@aaajdaaiCcnbTaaajahag
Bb`bakoaabga@Tcaak
Bb`baloadbaeHoooooooo@@HooooooooaaamdaalBkbTaaamajai
Bb`banoaabga@Tcaan
BTcaH```````dE
A`Lafb`baab`bb`baab`bFakae
Bb`b`oacbbeAdAeAfaaaada`AeTaaaaabaa
Bb`baboaabga@Tcaab
Bb`bacoacbbe@AeAfaaaddaacAfTaaadadac
Bb`baeoaabga@Tcaae
BTcaH```````hE
AbLaaahahahFabaa
Bahaba`aa`TcaabE
AbLaab`ab`ab`aFabaa
Bb`aaba`aa`TcaabE
AbLaab`bb`bb`bFabaa
Bb`baba`aa`TcaabE
AbLaab`db`db`dFabaa
Bb`daba`aa`TcaabE
AaLaab`bb`bFabaa
Bb`baae`Aa`TcaaaE
AbLaaahahahFabaa
Bahabb``aaTcaabE
AbLaab`ab`ab`aFabaa
Bb`aabb``aaTcaabE
AbLaab`bb`bb`bFabaa
Bb`babb``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabb``aaTcaabE
AbLaaahahahFabaa
Bahabc`aa`TcaabE
AbLaab`ab`ab`aFabaa
Bb`aabc`aa`TcaabE
AbLaab`bb`bb`bFabaa
Bb`babc`aa`TcaabE
AbLaab`db`db`dFabaa
Bb`dabc`aa`TcaabE
AbLadahahb`bb`bb`bahFaeaa
Bb`bab`a`b`bac`aaab`badd`abacahaen`adTcaaeE
AbLadb`ab`ab`bb`bb`bb`aFaeaa
Bb`bab`a`b`bac`aaab`badd`abacb`aaen`adTcaaeE
AbLaab`bb`bb`bFabaa
Bb`babd``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabd``aaTcaabE
AbLadahahb`bb`bb`bahFaeaa
Bb`babo``b`baco`aab`bade`abacahaen`adTcaaeE
AbLadb`ab`ab`bb`bb`bb`aFaeaa
Bb`babo``b`baco`aab`bade`abacb`aaen`adTcaaeE
AbLaab`bb`bb`bFabaa
Bb`babe``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabe``aaTcaabE
AbLadahahb`bb`bb`bahFaeaa
Bb`bab`a`b`bac`aaab`badf`abacahaen`adTcaaeE
AbLadb`ab`ab`bb`bb`bb`aFaeaa
Bb`bab`a`b`bac`aaab`badf`abacb`aaen`adTcaaeE
AbLaab`bb`bb`bFabaa
Bb`babf``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabf``aaTcaabE
AbLadahahb`bb`bb`bahFaeaa
Bb`babo``b`baco`aab`badg`abacahaen`adTcaaeE
AbLadb`ab`ab`bb`bb`bb`aFaeaa
Bb`babo``b`baco`aab`badg`abacb`aaen`adTcaaeE
AbLaab`bb`bb`bFabaa
Bb`babg``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabg``aaTcaabE
AbLacahb`bb`bb`bahFadaa
Bb`babo``b`bach`abaaahadn`acTcaadE
AbLacb`ab`bb`bb`bb`aFadaa
Bb`babo``b`bach`abaab`aadn`acTcaadE
AbLaab`bb`bb`bFabaa
Bb`babh``aaTcaabE
AbLabb`db`bb`db`dFacaa
Bb`dab`aaab`dach``abTcaacE
AbLacahb`bb`bb`bahFadaa
Bb`bab`a`b`baci`abaaahadn`acTcaadE
AbLacb`ab`bb`bb`bb`aFadaa
Bb`bab`a`b`baci`abaab`aadn`acTcaadE
AbLaab`bb`bb`bFabaa
Bb`babi``aaTcaabE
AbLabb`db`bb`db`dFacaa
Bb`dab`aaab`daci``abTcaacE
AbLadahahb`bb`bb`bahFaeaa
Bb`babo``b`baco`aab`badj`abacahaen`adTcaaeE
AbLadb`ab`ab`bb`bb`bb`aFaeaa
Bb`babo``b`baco`aab`badj`abacb`aaen`adTcaaeE
AbLaab`bb`bb`bFabaa
Bb`babj``aaTcaabE
AbLaab`db`db`dFabaa
Bb`dabj``aaTcaabE
AbLaaahahahFabaa
Bahabk`aa`TcaabE
AbLaab`ab`ab`aFabaa
Bb`aabk`aa`TcaabE
AbLaab`bb`bb`bFabaa
Bb`babk`aa`TcaabE
AbLaab`db`db`dFabaa
Bb`dabk`aa`TcaabE
AbLaaahahahFabaa
Bahabl`aa`TcaabE
AbLaab`ab`ab`aFabaa
Bb`aabl`aa`TcaabE
AbLaab`bb`bb`bFabaa
Bb`babl`aa`TcaabE
AbLaab`db`db`dFabaa
Bb`dabl`aa`TcaabE
AbLaaahahahFabaa
Bahabm`aa`TcaabE
AbLaab`ab`ab`aFabaa
Bb`aabm`aa`TcaabE
AbLaab`bb`bb`bFabaa
Bb`babm`aa`TcaabE
AbLaab`db`db`dFabaa
Bb`dabm`aa`TcaabE
AaLaaahb`aFabaa
Bb`aaao``TcaaaE
AaLaab`ab`bFabaa
Bb`baao``TcaaaE
AaLaab`bb`dFabaa
Bb`daao``TcaaaE
AaLaaahb`aFabaa
Bb`aaa`a`TcaaaE
AaLaab`ab`bFabaa
Bb`baa`a`TcaaaE
AaLaab`bb`dFabaa
Bb`daa`a`TcaaaE
AaLaab`aahFabaa
Bahaan``TcaaaE
AaLaab`bb`aFabaa
Bb`aaan``TcaaaE
AaLaab`db`bFabaa
Bb`baan``TcaaaE
AdLbmab`bb`bb`bb`baab`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`baab`bb`bFbnaaa
Baaadma`aab`bae`aadaaafjaaaabb`bagl`aeAbb`bahnaafaeagaaaija`aab`bajl`ahAdb`baknaaiajahaaalmaaaabb`baml`akAhb`bannaalakamaaaoha`acb`bb`al`anB`ab`bbaanaaob`aanaabbafaaaacb`bbcal`baaB`bb`bbdanabbabaabcaaabeahaabacb`bbfal`bdaB`db`bbganabeabdabfaaabhafa`acb`bbial`bgaB`hb`bbjanabhabiabgaaabkada`aab`bblal`bjaC``ab`bbmanabkablabjaaabnadaaaabb`bboal`bmaC``bb`bb`bnabnabmaboaTcab`bE
AcLabb`bb`bb`baab`bFacaa
Baaacea`@b`badnaacaaabTcaadE

@ -0,0 +1,3 @@
ClamBCaa`|`````|`aap`clamcoincidencejb
A`L`Faaaa
BTcaHm``odcbaE
Loading…
Cancel
Save