From 4210e62e57cdee172b44066378574b65a4631d56 Mon Sep 17 00:00:00 2001 From: Evan Typanski Date: Thu, 19 Sep 2024 13:55:55 -0400 Subject: [PATCH 01/14] spicy-redis: Begin Spicy Redis analyzer --- scripts/base/protocols/redis/__load__.zeek | 1 + scripts/base/protocols/redis/main.zeek | 97 ++++++++++++++++ src/analyzer/protocol/redis/CMakeLists.txt | 6 + src/analyzer/protocol/redis/resp.evt | 8 ++ src/analyzer/protocol/redis/resp.spicy | 107 ++++++++++++++++++ src/analyzer/protocol/redis/zeek_resp.spicy | 72 ++++++++++++ .../conn.log.filtered | 2 + .../output | 2 + .../output | 25 ++++ .../scripts.base.protocols.redis.trace/output | 15 +++ .../resp.log | 24 ++++ testing/btest/Traces/redis/loop-redis.trace | Bin 0 -> 52946 bytes .../base/protocols/redis/availability.zeek | 3 + .../base/protocols/redis/standalone.spicy | 11 ++ .../scripts/base/protocols/redis/trace.zeek | 10 ++ 15 files changed, 383 insertions(+) create mode 100644 scripts/base/protocols/redis/__load__.zeek create mode 100644 scripts/base/protocols/redis/main.zeek create mode 100644 src/analyzer/protocol/redis/CMakeLists.txt create mode 100644 src/analyzer/protocol/redis/resp.evt create mode 100644 src/analyzer/protocol/redis/resp.spicy create mode 100644 src/analyzer/protocol/redis/zeek_resp.spicy create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/conn.log.filtered create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.standalone/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.trace/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log create mode 100644 testing/btest/Traces/redis/loop-redis.trace create mode 100644 testing/btest/scripts/base/protocols/redis/availability.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/standalone.spicy create mode 100644 testing/btest/scripts/base/protocols/redis/trace.zeek diff --git a/scripts/base/protocols/redis/__load__.zeek b/scripts/base/protocols/redis/__load__.zeek new file mode 100644 index 0000000000..a10fe855df --- /dev/null +++ b/scripts/base/protocols/redis/__load__.zeek @@ -0,0 +1 @@ +@load ./main diff --git a/scripts/base/protocols/redis/main.zeek b/scripts/base/protocols/redis/main.zeek new file mode 100644 index 0000000000..f71044b373 --- /dev/null +++ b/scripts/base/protocols/redis/main.zeek @@ -0,0 +1,97 @@ +@load base/protocols/conn/removal-hooks + +module RESP; + +export { + ## Log stream identifier. + redef enum Log::ID += { LOG }; + + ## The ports to register RESP for. + const ports = { + 6379/tcp, + } &redef; + + type RESPData: record { + simple_string: string &optional &log; + simple_error: string &optional &log; + i: int &optional &log; + bulk_string: string &optional &log; + #array: + is_null: bool &log; + boolean: bool &optional &log; + double_: double &optional &log; + big_num: string &optional &log; + bulk_error: string &optional &log; + verbatim_string: string &optional &log; + }; + + ## Record type containing the column fields of the RESP log. + type Info: record { + ## Timestamp for when the activity happened. + ts: time &log; + ## Unique ID for the connection. + uid: string &log; + ## The connection's 4-tuple of endpoint addresses/ports. + id: conn_id &log; + resp_data: RESPData &log; + }; + + ## A default logging policy hook for the stream. + global log_policy: Log::PolicyHook; + + ## Default hook into RESP logging. + global log_resp: event(rec: Info); +} + +redef record connection += { + redis_resp: Info &optional; +}; + +redef likely_server_ports += { ports }; + +# TODO: If you're going to send file data into the file analysis framework, you +# need to provide a file handle function. This is a simple example that's +# sufficient if the protocol only transfers a single, complete file at a time. +# +# function get_file_handle(c: connection, is_orig: bool): string +# { +# return cat(Analyzer::ANALYZER_SPICY_RESP, c$start_time, c$id, is_orig); +# } + +event zeek_init() &priority=5 + { + Log::create_stream(RESP::LOG, [$columns=Info, $ev=log_resp, $path="resp", $policy=log_policy]); + + Analyzer::register_for_ports(Analyzer::ANALYZER_SPICY_RESP, ports); + + # TODO: To activate the file handle function above, uncomment this. + # Files::register_protocol(Analyzer::ANALYZER_SPICY_RESP, [$get_file_handle=RESP::get_file_handle ]); + } + +# Initialize logging state. +hook set_session(c: connection) + { + if ( c?$redis_resp ) + return; + + c$redis_resp = Info($ts=network_time(), $uid=c$uid, $id=c$id); + } + +function emit_log(c: connection) + { + if ( ! c?$redis_resp ) + return; + + Log::write(RESP::LOG, c$redis_resp); + delete c$redis_resp; + } + +# Example event defined in resp.evt. +event RESP::data(c: connection, payload: RESPData) + { + hook set_session(c); + + local info = c$redis_resp; + info$resp_data = payload; + emit_log(c); + } diff --git a/src/analyzer/protocol/redis/CMakeLists.txt b/src/analyzer/protocol/redis/CMakeLists.txt new file mode 100644 index 0000000000..e2fb1ab53c --- /dev/null +++ b/src/analyzer/protocol/redis/CMakeLists.txt @@ -0,0 +1,6 @@ +spicy_add_analyzer( + NAME RESP + PACKAGE_NAME spicy-resp + SOURCES resp.spicy resp.evt zeek_resp.spicy + SCRIPTS __load__.zeek main.zeek +) diff --git a/src/analyzer/protocol/redis/resp.evt b/src/analyzer/protocol/redis/resp.evt new file mode 100644 index 0000000000..25cd1ebdd1 --- /dev/null +++ b/src/analyzer/protocol/redis/resp.evt @@ -0,0 +1,8 @@ +protocol analyzer spicy::RESP over TCP: + parse with RESP::Messages, + port 6379/tcp; + +import RESP; +import Zeek_RESP; + +on RESP::Data -> event RESP::data($conn, Zeek_RESP::create_data(self)); diff --git a/src/analyzer/protocol/redis/resp.spicy b/src/analyzer/protocol/redis/resp.spicy new file mode 100644 index 0000000000..f661a8e0bb --- /dev/null +++ b/src/analyzer/protocol/redis/resp.spicy @@ -0,0 +1,107 @@ +module RESP; + +public type Messages = unit { + : Data[]; +}; + +public type Data = unit { + ty: uint8 &convert=DataType($$); + switch ( self.ty ) { + DataType::SIMPLE_STRING -> simple_string: SimpleString(False); + DataType::SIMPLE_ERROR -> simple_error: SimpleString(True); + DataType::INTEGER -> integer: Integer; + DataType::BULK_STRING -> bulk_string: BulkString(False); + DataType::ARRAY -> array: Array; + DataType::NULL -> null: Null_; + DataType::BOOLEAN -> boolean: Boolean; + DataType::DOUBLE -> double: Double; + DataType::BIG_NUM -> big_num: BigNum; + DataType::BULK_ERROR -> bulk_error: BulkString(True); + # This can be a different type, but the docs also say: + # "Some client libraries may ignore the difference between this type and the string type" + # It just includes the encoding first in the content + DataType::VERBATIM_STRING -> verbatim_string: BulkString(False); + DataType::MAP -> map_: Map; + DataType::SET -> set_: Set; + # "Push events are encoded similarly to arrays, differing only in their + # first byte" - TODO: can probably make it more obvious, though + DataType::PUSH -> push: Array; + }; +}; + +type DataType = enum { + SIMPLE_STRING = '+', + SIMPLE_ERROR = '-', + INTEGER = ':', + BULK_STRING = '$', + ARRAY = '*', + NULL = '_', + BOOLEAN = '#', + DOUBLE = ',', + BIG_NUM = '(', + BULK_ERROR = '!', + VERBATIM_STRING = '=', + MAP = '%', + SET = '~', + PUSH = '>' +}; + +type SimpleString = unit(is_error: bool) { + content: bytes &until=b"\x0d\x0a"; +}; + +type Integer = unit { + int: bytes &convert=$$.to_int(10) &until=b"\x0d\x0a"; +}; + +type BulkString = unit(is_error: bool) { + length: bytes &convert=$$.to_int(10) &until=b"\x0d\x0a"; + # NullBulkString is a BulkString with content unset + content: bytes &size=uint64( self.length ) if ( self.length >= 0 ); + + # Consume last CLRF + : bytes &until=b"\x0d\x0a"; +}; + +type Array = unit { + num_elements: bytes &convert=$$.to_int(10) &until=b"\x0d\x0a"; + # Null array is an array with elements unset. This is different from an empty array + elements: Data[uint64(self.num_elements)] if ( self.num_elements >= 0 ); +}; + +type Null_ = unit { + # Still must consume CLRF + : bytes &until=b"\x0d\x0a"; +}; + +type Boolean = unit { + val: uint8 &convert=$$ == 't'; + : bytes &until=b"\x0d\x0a"; +}; + +type Double = unit { + val: bytes &convert=$$.to_real() &until=b"\x0d\x0a"; +}; + +type BigNum = unit { + # Big num can be very big so put it in a UTF-8 decoded string + val: bytes &convert=$$.decode() &until=b"\x0d\x0a"; +}; + +type Map = unit { + var key_val_pairs: vector>; + num_elements: bytes &convert=$$.to_uint(10) &until=b"\x0d\x0a"; + # TODO: How can I make this into a map? Alternatively, how can I do this better? + raw_data: Data[self.num_elements*2] { + while ( local i = 0; i < self.num_elements ) { + self.key_val_pairs.push_back(($$[i], $$[i+1])); + i += 2; + } + } +}; + +type Set = unit { + num_elements: bytes &convert=$$.to_uint(10) &until=b"\x0d\x0a"; + # TODO: This should be a set but doesn't go in the backed C++ set + elements: Data[self.num_elements]; +}; diff --git a/src/analyzer/protocol/redis/zeek_resp.spicy b/src/analyzer/protocol/redis/zeek_resp.spicy new file mode 100644 index 0000000000..89a163daa9 --- /dev/null +++ b/src/analyzer/protocol/redis/zeek_resp.spicy @@ -0,0 +1,72 @@ +# Set up protocol confirmation/rejection for analyzers, as well as any further +# Zeek-specific analysis. + +module Zeek_RESP; + +import RESP; +import zeek; + +# Any error bubbling up to the top unit will trigger a protocol rejection. +on RESP::Data::%done { + zeek::confirm_protocol(); +} + +on RESP::Data::%error { + zeek::reject_protocol("error while parsing RESP data"); +} + +type ZeekData = tuple< + optional, + optional, + optional, + optional, + #optional>, # TODO: This segfaults because recursive type :( + bool, + optional, + optional, + optional, + optional, + optional, +>; + +public function create_data(data: RESP::Data): ZeekData { + local simple_string: optional; + local simple_error: optional; + local i: optional; + local bulk_string: optional; + #local array: optional>; + local null: bool; + local boolean: optional; + local double: optional; + local big_num: optional; + local bulk_error: optional; + local verbatim_string: optional; + if (data?.simple_string) + simple_string = data.simple_string.content; + if (data?.simple_error) + simple_error = data.simple_error.content; + if (data?.integer) + i = data.integer.int; + if (data?.bulk_string) + bulk_string = data.bulk_string.content; + #if (data?.array) { + # for ( data in data.array.elements ) { + # array.push_back(data); + # } + #} + if (data?.null) + null = True; + else + null = False; + if (data?.boolean) + boolean = data.boolean.val; + if (data?.double) + double = data.double.val; + if (data?.big_num) + big_num = data.big_num.val; + if (data?.bulk_error) + bulk_error = data.bulk_error.content; + if (data?.verbatim_string) + verbatim_string = data.verbatim_string.content; + return (simple_string, simple_error, i, bulk_string, null, boolean, double, big_num, bulk_error, verbatim_string); +} diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/conn.log.filtered b/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/conn.log.filtered new file mode 100644 index 0000000000..1e6917b8c7 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/conn.log.filtered @@ -0,0 +1,2 @@ +ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state missed_bytes history orig_pkts orig_ip_bytes resp_pkts resp_ip_bytes tunnel_parents +XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 10.1.9.63 63526 54.175.222.246 80 tcp http 0.755677 207 489 SF 0 ShADTadFf 7 790 4 705 - diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/output b/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/output new file mode 100644 index 0000000000..781c9fcbd9 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.run-pcap/output @@ -0,0 +1,2 @@ +Hello world! +Goodbye world! diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.standalone/output b/testing/btest/Baseline/scripts.base.protocols.redis.standalone/output new file mode 100644 index 0000000000..6a6e880e2d --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.standalone/output @@ -0,0 +1,25 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +RESP::Data { + ty: SIMPLE_STRING + simple_string: RESP::SimpleString { + content: OK + } +} +RESP::Data { + ty: INTEGER + integer: RESP::Integer { + int_: 1000 + } +} +RESP::Data { + ty: INTEGER + integer: RESP::Integer { + int_: -1000 + } +} +RESP::Data { + ty: INTEGER + integer: RESP::Integer { + int_: 1000 + } +} diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.trace/output b/testing/btest/Baseline/scripts.base.protocols.redis.trace/output new file mode 100644 index 0000000000..a3c0b852bb --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.trace/output @@ -0,0 +1,15 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=SET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:2, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=2, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=OK, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=SET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:3, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=sup, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=OK, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=GET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:3, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +Testing RESP: [simple_string=, simple_error=, i=, bulk_string=sup, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log new file mode 100644 index 0000000000..85c62c2387 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log @@ -0,0 +1,24 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p resp_data.simple_string resp_data.simple_error resp_data.i resp_data.bulk_string resp_data.is_null resp_data.boolean resp_data.double_ resp_data.big_num resp_data.bulk_error resp_data.verbatim_string +#types time string addr port addr port string string int string bool bool double string string string +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - SET F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:2 F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - 2 F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 OK - - - F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - SET F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:3 F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - sup F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 OK - - - F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - GET F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:3 F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - sup F - - - - - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Traces/redis/loop-redis.trace b/testing/btest/Traces/redis/loop-redis.trace new file mode 100644 index 0000000000000000000000000000000000000000..4ce10fdf5577fd295fbf1f4db66e2e2bf6946c97 GIT binary patch literal 52946 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 2>&1 +# @TEST-EXEC: printf ":1000\x0d\x0a" | spicy-dump -p RESP::Data resp.hlto >>output 2>&1 +# @TEST-EXEC: printf ":-1000\x0d\x0a" | spicy-dump -p RESP::Data resp.hlto >>output 2>&1 +# @TEST-EXEC: printf ":+1000\x0d\x0a" | spicy-dump -p RESP::Data resp.hlto >>output 2>&1 +# @TEST-EXEC: TEST_DIFF_CANONIFIER= btest-diff output diff --git a/testing/btest/scripts/base/protocols/redis/trace.zeek b/testing/btest/scripts/base/protocols/redis/trace.zeek new file mode 100644 index 0000000000..bc20102b6c --- /dev/null +++ b/testing/btest/scripts/base/protocols/redis/trace.zeek @@ -0,0 +1,10 @@ +# @TEST-DOC: Test Zeek parsing a trace file through the RESP analyzer. +# +# @TEST-EXEC: zeek -Cr $TRACES/redis/loop-redis.trace base/protocols/redis %INPUT >output +# @TEST-EXEC: btest-diff output +# @TEST-EXEC: btest-diff resp.log + +event RESP::data(c: connection, payload: RESP::RESPData) + { + print fmt("Testing RESP: %s", payload); + } From 97d26a689da390568bf95ea94f6900c0f5dac851 Mon Sep 17 00:00:00 2001 From: Evan Typanski Date: Thu, 26 Sep 2024 13:25:32 -0400 Subject: [PATCH 02/14] spicy-redis: Add synchronization and pipeline support Also adds some command support --- scripts/base/protocols/redis/main.zeek | 49 +- src/analyzer/protocol/redis/resp.evt | 10 +- src/analyzer/protocol/redis/resp.spicy | 16 +- src/analyzer/protocol/redis/zeek_resp.spicy | 357 +++++- .../scripts.base.protocols.redis.bulk/output | 1001 +++++++++++++++++ .../output | 153 +++ .../resp.log | 168 +++ .../output | 309 +++++ .../resp.log | 326 ++++++ .../output | 1 + .../resp.log | 14 + .../output | 1 + .../resp.log | 13 + .../output | 1 + .../resp.log | 14 + .../scripts.base.protocols.redis.set/output | 4 + .../scripts.base.protocols.redis.trace/output | 17 +- .../resp.log | 21 +- testing/btest/Traces/redis/bulk-loading.trace | Bin 0 -> 46823 bytes testing/btest/Traces/redis/django-cache.trace | Bin 0 -> 291390 bytes testing/btest/Traces/redis/django-cloud.trace | Bin 0 -> 75817 bytes .../Traces/redis/pipeline-with-commands.trace | Bin 0 -> 16820 bytes .../Traces/redis/pipelining-example.trace | Bin 0 -> 19921 bytes testing/btest/Traces/redis/pubsub.trace | Bin 0 -> 484058 bytes testing/btest/Traces/redis/set.trace | Bin 0 -> 82912 bytes testing/btest/Traces/redis/tls.trace | Bin 0 -> 226984 bytes .../scripts/base/protocols/redis/bulk.zeek | 13 + .../base/protocols/redis/django-cloud.zeek | 15 + .../scripts/base/protocols/redis/django.zeek | 11 + .../redis/pipelined-with-commands.zeek | 18 + .../base/protocols/redis/pipelined.zeek | 12 + .../scripts/base/protocols/redis/pubsub.zeek | 9 + .../scripts/base/protocols/redis/set.zeek | 9 + .../scripts/base/protocols/redis/tls.zeek | 6 + .../scripts/base/protocols/redis/trace.zeek | 9 +- 35 files changed, 2469 insertions(+), 108 deletions(-) create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.bulk/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/resp.log create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.django/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.django/resp.log create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/resp.log create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pipelined/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pipelined/resp.log create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pubsub/output create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.pubsub/resp.log create mode 100644 testing/btest/Baseline/scripts.base.protocols.redis.set/output create mode 100644 testing/btest/Traces/redis/bulk-loading.trace create mode 100644 testing/btest/Traces/redis/django-cache.trace create mode 100644 testing/btest/Traces/redis/django-cloud.trace create mode 100644 testing/btest/Traces/redis/pipeline-with-commands.trace create mode 100644 testing/btest/Traces/redis/pipelining-example.trace create mode 100644 testing/btest/Traces/redis/pubsub.trace create mode 100644 testing/btest/Traces/redis/set.trace create mode 100644 testing/btest/Traces/redis/tls.trace create mode 100644 testing/btest/scripts/base/protocols/redis/bulk.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/django-cloud.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/django.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/pipelined-with-commands.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/pipelined.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/pubsub.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/set.zeek create mode 100644 testing/btest/scripts/base/protocols/redis/tls.zeek diff --git a/scripts/base/protocols/redis/main.zeek b/scripts/base/protocols/redis/main.zeek index f71044b373..42fba5b72c 100644 --- a/scripts/base/protocols/redis/main.zeek +++ b/scripts/base/protocols/redis/main.zeek @@ -11,18 +11,30 @@ export { 6379/tcp, } &redef; - type RESPData: record { - simple_string: string &optional &log; - simple_error: string &optional &log; - i: int &optional &log; - bulk_string: string &optional &log; - #array: - is_null: bool &log; - boolean: bool &optional &log; - double_: double &optional &log; - big_num: string &optional &log; - bulk_error: string &optional &log; - verbatim_string: string &optional &log; + type SetCommand: record { + key: string &log; + value: string &log; + nx: bool; + xx: bool; + get: bool; + ex: count &optional; + px: count &optional; + exat: count &optional; + pxat: count &optional; + keep_ttl: bool; + }; + + type GetCommand: record { + key: string &log; + }; + + type Command: record { + ## The raw command, exactly as parsed + raw: vector of string &log; + ## The key, if this command is known to have a key + key: string &log &optional; + ## The value, if this command is known to have a value + value: string &log &optional; }; ## Record type containing the column fields of the RESP log. @@ -33,7 +45,8 @@ export { uid: string &log; ## The connection's 4-tuple of endpoint addresses/ports. id: conn_id &log; - resp_data: RESPData &log; + ## The Redis command + cmd: Command &log; }; ## A default logging policy hook for the stream. @@ -69,12 +82,12 @@ event zeek_init() &priority=5 } # Initialize logging state. -hook set_session(c: connection) +hook set_session(c: connection, cmd: Command) { if ( c?$redis_resp ) return; - c$redis_resp = Info($ts=network_time(), $uid=c$uid, $id=c$id); + c$redis_resp = Info($ts=network_time(), $uid=c$uid, $id=c$id, $cmd=cmd); } function emit_log(c: connection) @@ -86,12 +99,10 @@ function emit_log(c: connection) delete c$redis_resp; } -# Example event defined in resp.evt. -event RESP::data(c: connection, payload: RESPData) +event RESP::command(c: connection, is_orig: bool, command: Command) { - hook set_session(c); + hook set_session(c, command); local info = c$redis_resp; - info$resp_data = payload; emit_log(c); } diff --git a/src/analyzer/protocol/redis/resp.evt b/src/analyzer/protocol/redis/resp.evt index 25cd1ebdd1..69c63c6a28 100644 --- a/src/analyzer/protocol/redis/resp.evt +++ b/src/analyzer/protocol/redis/resp.evt @@ -5,4 +5,12 @@ protocol analyzer spicy::RESP over TCP: import RESP; import Zeek_RESP; -on RESP::Data -> event RESP::data($conn, Zeek_RESP::create_data(self)); +on RESP::Array if ( Zeek_RESP::is_set(self) ) -> event RESP::set_command($conn, $is_orig, Zeek_RESP::make_set(self)); +on RESP::Array if ( Zeek_RESP::is_get(self) ) -> event RESP::get_command($conn, $is_orig, Zeek_RESP::make_get(self)); + +# Generic catch-all for commands. A command is an array of bulk strings, so we hope that +# this will catch those, but the server can provide that as well. +on RESP::Array if ( Zeek_RESP::is_command(self) ) -> event RESP::command($conn, $is_orig, Zeek_RESP::make_command(self)); + +# These are from commands that weren't serialized +on RESP::Data if ( self?.not_serialized ) -> event RESP::command($conn, $is_orig, Zeek_RESP::unserialized_command(self)); diff --git a/src/analyzer/protocol/redis/resp.spicy b/src/analyzer/protocol/redis/resp.spicy index f661a8e0bb..5c5ccb627d 100644 --- a/src/analyzer/protocol/redis/resp.spicy +++ b/src/analyzer/protocol/redis/resp.spicy @@ -1,10 +1,13 @@ module RESP; +import spicy; + public type Messages = unit { - : Data[]; + : (Data &synchronize)[]; }; public type Data = unit { + %synchronize-after=b"\x0d\x0a"; ty: uint8 &convert=DataType($$); switch ( self.ty ) { DataType::SIMPLE_STRING -> simple_string: SimpleString(False); @@ -26,6 +29,11 @@ public type Data = unit { # "Push events are encoded similarly to arrays, differing only in their # first byte" - TODO: can probably make it more obvious, though DataType::PUSH -> push: Array; + # HACK: If the type isn't recognized, this is just some random unserialized + # string until \r\n - do this by prepending the type to the remaining bytes. + # We will, however, cap this data off at 1024 bytes. This may be encrypted, we + # don't want to accept random gibberish here. + * -> not_serialized: bytes &convert=(pack(cast(self.ty), spicy::ByteOrder::Network) + $$) &until=b"\x0d\x0a" &max-size=1024; }; }; @@ -60,7 +68,7 @@ type BulkString = unit(is_error: bool) { content: bytes &size=uint64( self.length ) if ( self.length >= 0 ); # Consume last CLRF - : bytes &until=b"\x0d\x0a"; + : skip bytes &until=b"\x0d\x0a"; }; type Array = unit { @@ -71,12 +79,12 @@ type Array = unit { type Null_ = unit { # Still must consume CLRF - : bytes &until=b"\x0d\x0a"; + : skip bytes &until=b"\x0d\x0a"; }; type Boolean = unit { val: uint8 &convert=$$ == 't'; - : bytes &until=b"\x0d\x0a"; + : skip bytes &until=b"\x0d\x0a"; }; type Double = unit { diff --git a/src/analyzer/protocol/redis/zeek_resp.spicy b/src/analyzer/protocol/redis/zeek_resp.spicy index 89a163daa9..4cda131096 100644 --- a/src/analyzer/protocol/redis/zeek_resp.spicy +++ b/src/analyzer/protocol/redis/zeek_resp.spicy @@ -15,58 +15,311 @@ on RESP::Data::%error { zeek::reject_protocol("error while parsing RESP data"); } -type ZeekData = tuple< - optional, - optional, - optional, - optional, - #optional>, # TODO: This segfaults because recursive type :( - bool, - optional, - optional, - optional, - optional, - optional, +type KnownCommand = enum { + APPEND, + BITCOUNT, + BITFIELD, + BITFIELD_RO, + BITOP, + BITPOS, + BLMPOP, + BLPOP, + BRPOP, + COPY, + DECR, + DECRBY, + DEL, + DUMP, + EXISTS, + EXPIRE, + EXPIREAT, + EXPIRETIME, + GET, + GETBIT, + GETDEL, + GETEX, + GETRANGE, + GETSET, + HDEL, + HGET, + HSET, + INCR, + INCRBY, + KEYS, + MGET, + MOVE, + MSET, + PERSIST, + RENAME, + SET, + STRLEN, + TTL, + TYPE, +}; + +# Determines whether the structure of the array is a command. A command is just an array +# of bulk strings, so that's what we're looking for. +# +# TODO: Really commands will only go from client->server, so maybe encode that somehow? +public function is_command(arr: RESP::Array): bool { + if (arr.num_elements < 1) + return False; + + return True; +} + +type Command = tuple< + # raw command + vector, + # key + optional, + # value + optional, >; -public function create_data(data: RESP::Data): ZeekData { - local simple_string: optional; - local simple_error: optional; - local i: optional; - local bulk_string: optional; - #local array: optional>; - local null: bool; - local boolean: optional; - local double: optional; - local big_num: optional; - local bulk_error: optional; - local verbatim_string: optional; - if (data?.simple_string) - simple_string = data.simple_string.content; - if (data?.simple_error) - simple_error = data.simple_error.content; - if (data?.integer) - i = data.integer.int; - if (data?.bulk_string) - bulk_string = data.bulk_string.content; - #if (data?.array) { - # for ( data in data.array.elements ) { - # array.push_back(data); - # } - #} - if (data?.null) - null = True; - else - null = False; - if (data?.boolean) - boolean = data.boolean.val; - if (data?.double) - double = data.double.val; - if (data?.big_num) - big_num = data.big_num.val; - if (data?.bulk_error) - bulk_error = data.bulk_error.content; - if (data?.verbatim_string) - verbatim_string = data.verbatim_string.content; - return (simple_string, simple_error, i, bulk_string, null, boolean, double, big_num, bulk_error, verbatim_string); +# This just assumes all elements in the array is a bulk string and puts them in a vector +public function make_command(arr: RESP::Array): Command { + local v: vector; + for ( ele in arr.elements ) { + # TODO: Stringify the other data too. Apparently commands *can* have other stuff + # such as SUBSCRIBE, which will magically put an integer after it. + if ( ele?.bulk_string ) + v.push_back(ele.bulk_string.content); + } + return parse_command(v); +} + +public function unserialized_command(unserialized: RESP::Data): Command { + # Only call this if it's unserialized :) + assert unserialized?.not_serialized; + local content = unserialized.not_serialized; + # TODO: escaping/strings? For example, string "Hi there" should be one element. + return parse_command(content.split()); +} + +# Parses the vector of bytes to get a Command object +function parse_command(raw: vector): Command { + assert |raw| >= 1; + local parsed: Command = (raw, Null, Null); + local cmd = command_from(raw[0]); + if ( ! cmd ) + return parsed; + + if ( |raw| >= 2 ) { + switch ( *cmd ) { + case KnownCommand::KEYS: + parsed[2] = raw[1]; + case KnownCommand::APPEND, KnownCommand::BITCOUNT, KnownCommand::BITFIELD, + KnownCommand::BITFIELD_RO, KnownCommand::BITPOS, KnownCommand::BLPOP, + KnownCommand::BRPOP, KnownCommand::COPY, KnownCommand::DECR, + KnownCommand::DECRBY, KnownCommand::DEL, KnownCommand::DUMP, + KnownCommand::EXISTS, KnownCommand::EXPIRE, KnownCommand::EXPIREAT, + KnownCommand::EXPIRETIME, KnownCommand::GET, KnownCommand::GETBIT, + KnownCommand::GETDEL, KnownCommand::GETEX, KnownCommand::GETRANGE, + KnownCommand::GETSET, KnownCommand::HDEL, KnownCommand::HGET, + KnownCommand::HSET, KnownCommand::INCR, KnownCommand::INCRBY, + KnownCommand::MGET, KnownCommand::MOVE, KnownCommand::MSET, + KnownCommand::PERSIST, KnownCommand::RENAME, KnownCommand::SET, + KnownCommand::STRLEN, KnownCommand::TTL, KnownCommand::TYPE: + parsed[1] = raw[1]; + default: (); + } + } + + if ( |raw| >= 3 ) { + switch ( *cmd ) { + case KnownCommand::SET, KnownCommand::APPEND, KnownCommand::DECRBY, + KnownCommand::EXPIRE, KnownCommand::EXPIREAT, KnownCommand::GETBIT, + KnownCommand::GETSET, KnownCommand::HDEL, KnownCommand::HGET, + KnownCommand::INCRBY, KnownCommand::MOVE, KnownCommand::MSET, + KnownCommand::RENAME: + parsed[2] = raw[2]; + # Op first, destination second, then a list of keys. Just log dest + case KnownCommand::BITOP: parsed[1] = raw[2]; + default: (); + } + } + + if ( |raw| >= 4 ) { + switch ( *cmd ) { + # timeout, numkeys, then key + case KnownCommand::BLMPOP: parsed[1] = raw[3]; + default: (); + } + } + + return parsed; +} + +function command_from(cmd_bytes: bytes): optional { + local cmd: optional = Null; + switch (cmd_bytes.lower()) { + case b"set": cmd = KnownCommand::SET; + case b"append": cmd = KnownCommand::APPEND; + case b"bitcount": cmd = KnownCommand::BITCOUNT; + case b"bitfield": cmd = KnownCommand::BITFIELD; + case b"bitfield_ro": cmd = KnownCommand::BITFIELD_RO; + case b"bitop": cmd = KnownCommand::BITOP; + case b"bitpos": cmd = KnownCommand::BITPOS; + case b"blmpop": cmd = KnownCommand::BLMPOP; + case b"blpop": cmd = KnownCommand::BLPOP; + case b"brpop": cmd = KnownCommand::BRPOP; + case b"copy": cmd = KnownCommand::COPY; + case b"decr": cmd = KnownCommand::DECR; + case b"decrby": cmd = KnownCommand::DECRBY; + case b"del": cmd = KnownCommand::DEL; + case b"dump": cmd = KnownCommand::DUMP; + case b"exists": cmd = KnownCommand::EXISTS; + case b"expire": cmd = KnownCommand::EXPIRE; + case b"expireat": cmd = KnownCommand::EXPIREAT; + case b"expiretime": cmd = KnownCommand::EXPIRETIME; + case b"expiretime": cmd = KnownCommand::EXPIRETIME; + case b"get": cmd = KnownCommand::GET; + case b"getbit": cmd = KnownCommand::GETBIT; + case b"getdel": cmd = KnownCommand::GETDEL; + case b"getex": cmd = KnownCommand::GETEX; + case b"getrange": cmd = KnownCommand::GETRANGE; + case b"getset": cmd = KnownCommand::GETSET; + case b"hdel": cmd = KnownCommand::HDEL; + case b"hget": cmd = KnownCommand::HGET; + case b"hset": cmd = KnownCommand::HSET; + case b"incr": cmd = KnownCommand::INCR; + case b"incrby": cmd = KnownCommand::INCRBY; + case b"keys": cmd = KnownCommand::KEYS; + case b"mget": cmd = KnownCommand::MGET; + case b"move": cmd = KnownCommand::MOVE; + case b"mset": cmd = KnownCommand::MSET; + case b"persist": cmd = KnownCommand::PERSIST; + case b"rename": cmd = KnownCommand::RENAME; + case b"strlen": cmd = KnownCommand::STRLEN; + case b"ttl": cmd = KnownCommand::TTL; + case b"type": cmd = KnownCommand::TYPE; + default: cmd = Null; + } + + return cmd; +} + +type Set = tuple< + # key + bytes, + # value + bytes, + # NX + bool, + # XX + bool, + # GET + bool, + # EX + optional, + # PX + optional, + # EXAT + optional, + # PXAT + optional, + # KEEPTTL + bool, +>; + +public function make_set(arr: RESP::Array): Set { + assert arr.num_elements >= 3 : "Must have at least 3 elements in SET"; + local key = arr.elements[1].bulk_string.content; + local value = arr.elements[2].bulk_string.content; + local nx = False; + local xx = False; + local get = False; + local ex: optional = Null; + local px: optional = Null; + local exat: optional = Null; + local pxat: optional = Null; + local keep_ttl = False; + local i = 3; + local elements = cast(arr.num_elements); + while ( i < elements ) { + # All array elements in a command will be a bulk string by default + if ( ! arr.elements[i]?.bulk_string ) { + ++i; + continue; + } + + local content = arr.elements[i].bulk_string.content; + switch (content.lower()) { + case b"nx": nx = True; + case b"xx": xx = True; + case b"get": get = True; + case b"ex": { + ++i; + if ( i >= elements || ! arr.elements[i]?.bulk_string ) + break; + local inner = arr.elements[i].bulk_string.content; + ex = inner.to_uint(); + } + case b"px": { + ++i; + if ( i >= elements || ! arr.elements[i]?.bulk_string ) + break; + local inner = arr.elements[i].bulk_string.content; + px = inner.to_uint(); + } + case b"exat": { + ++i; + if ( i >= elements || ! arr.elements[i]?.bulk_string ) + break; + local inner = arr.elements[i].bulk_string.content; + exat = inner.to_uint(); + } + case b"pxat": { + ++i; + if ( i >= elements || ! arr.elements[i]?.bulk_string ) + break; + local inner = arr.elements[i].bulk_string.content; + pxat = inner.to_uint(); + } + case b"keepttl": keep_ttl = True; + default: (); + } + + ++i; + } + return (key, value, nx, xx, get, ex, px, exat, pxat, keep_ttl); +} + +# Convenience method to avoid comparison with an optional in the evt +public function is_set(arr: RESP::Array): bool { + # SET key value + if (arr.num_elements < 3) + return False; + + local first = arr.elements[0]; + if (!first?.bulk_string) + return False; + + local cmd_bytes = first.bulk_string.content; + + local cmd = command_from(cmd_bytes); + return cmd && (*cmd == KnownCommand::SET); +} + +type Get = tuple; + +public function make_get(arr: RESP::Array): Get { + return (arr.elements[1].bulk_string.content, ); +} + +# Convenience method to avoid comparison with an optional in the evt +public function is_get(arr: RESP::Array): bool { + # GET key + if (arr.num_elements != 2) + return False; + + local first = arr.elements[0]; + if (!first?.bulk_string) + return False; + + local cmd_bytes = first.bulk_string.content; + + local cmd = command_from(cmd_bytes); + return cmd && (*cmd == KnownCommand::GET); } diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.bulk/output b/testing/btest/Baseline/scripts.base.protocols.redis.bulk/output new file mode 100644 index 0000000000..1ffdbd717b --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.bulk/output @@ -0,0 +1,1001 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +SET: Key0 Value0 +SET: Key1 Value1 +SET: Key2 Value2 +SET: Key3 Value3 +SET: Key4 Value4 +SET: Key5 Value5 +SET: Key6 Value6 +SET: Key7 Value7 +SET: Key8 Value8 +SET: Key9 Value9 +SET: Key10 Value10 +SET: Key11 Value11 +SET: Key12 Value12 +SET: Key13 Value13 +SET: Key14 Value14 +SET: Key15 Value15 +SET: Key16 Value16 +SET: Key17 Value17 +SET: Key18 Value18 +SET: Key19 Value19 +SET: Key20 Value20 +SET: Key21 Value21 +SET: Key22 Value22 +SET: Key23 Value23 +SET: Key24 Value24 +SET: Key25 Value25 +SET: Key26 Value26 +SET: Key27 Value27 +SET: Key28 Value28 +SET: Key29 Value29 +SET: Key30 Value30 +SET: Key31 Value31 +SET: Key32 Value32 +SET: Key33 Value33 +SET: Key34 Value34 +SET: Key35 Value35 +SET: Key36 Value36 +SET: Key37 Value37 +SET: Key38 Value38 +SET: Key39 Value39 +SET: Key40 Value40 +SET: Key41 Value41 +SET: Key42 Value42 +SET: Key43 Value43 +SET: Key44 Value44 +SET: Key45 Value45 +SET: Key46 Value46 +SET: Key47 Value47 +SET: Key48 Value48 +SET: Key49 Value49 +SET: Key50 Value50 +SET: Key51 Value51 +SET: Key52 Value52 +SET: Key53 Value53 +SET: Key54 Value54 +SET: Key55 Value55 +SET: Key56 Value56 +SET: Key57 Value57 +SET: Key58 Value58 +SET: Key59 Value59 +SET: Key60 Value60 +SET: Key61 Value61 +SET: Key62 Value62 +SET: Key63 Value63 +SET: Key64 Value64 +SET: Key65 Value65 +SET: Key66 Value66 +SET: Key67 Value67 +SET: Key68 Value68 +SET: Key69 Value69 +SET: Key70 Value70 +SET: Key71 Value71 +SET: Key72 Value72 +SET: Key73 Value73 +SET: Key74 Value74 +SET: Key75 Value75 +SET: Key76 Value76 +SET: Key77 Value77 +SET: Key78 Value78 +SET: Key79 Value79 +SET: Key80 Value80 +SET: Key81 Value81 +SET: Key82 Value82 +SET: Key83 Value83 +SET: Key84 Value84 +SET: Key85 Value85 +SET: Key86 Value86 +SET: Key87 Value87 +SET: Key88 Value88 +SET: Key89 Value89 +SET: Key90 Value90 +SET: Key91 Value91 +SET: Key92 Value92 +SET: Key93 Value93 +SET: Key94 Value94 +SET: Key95 Value95 +SET: Key96 Value96 +SET: Key97 Value97 +SET: Key98 Value98 +SET: Key99 Value99 +SET: Key100 Value100 +SET: Key101 Value101 +SET: Key102 Value102 +SET: Key103 Value103 +SET: Key104 Value104 +SET: Key105 Value105 +SET: Key106 Value106 +SET: Key107 Value107 +SET: Key108 Value108 +SET: Key109 Value109 +SET: Key110 Value110 +SET: Key111 Value111 +SET: Key112 Value112 +SET: Key113 Value113 +SET: Key114 Value114 +SET: Key115 Value115 +SET: Key116 Value116 +SET: Key117 Value117 +SET: Key118 Value118 +SET: Key119 Value119 +SET: Key120 Value120 +SET: Key121 Value121 +SET: Key122 Value122 +SET: Key123 Value123 +SET: Key124 Value124 +SET: Key125 Value125 +SET: Key126 Value126 +SET: Key127 Value127 +SET: Key128 Value128 +SET: Key129 Value129 +SET: Key130 Value130 +SET: Key131 Value131 +SET: Key132 Value132 +SET: Key133 Value133 +SET: Key134 Value134 +SET: Key135 Value135 +SET: Key136 Value136 +SET: Key137 Value137 +SET: Key138 Value138 +SET: Key139 Value139 +SET: Key140 Value140 +SET: Key141 Value141 +SET: Key142 Value142 +SET: Key143 Value143 +SET: Key144 Value144 +SET: Key145 Value145 +SET: Key146 Value146 +SET: Key147 Value147 +SET: Key148 Value148 +SET: Key149 Value149 +SET: Key150 Value150 +SET: Key151 Value151 +SET: Key152 Value152 +SET: Key153 Value153 +SET: Key154 Value154 +SET: Key155 Value155 +SET: Key156 Value156 +SET: Key157 Value157 +SET: Key158 Value158 +SET: Key159 Value159 +SET: Key160 Value160 +SET: Key161 Value161 +SET: Key162 Value162 +SET: Key163 Value163 +SET: Key164 Value164 +SET: Key165 Value165 +SET: Key166 Value166 +SET: Key167 Value167 +SET: Key168 Value168 +SET: Key169 Value169 +SET: Key170 Value170 +SET: Key171 Value171 +SET: Key172 Value172 +SET: Key173 Value173 +SET: Key174 Value174 +SET: Key175 Value175 +SET: Key176 Value176 +SET: Key177 Value177 +SET: Key178 Value178 +SET: Key179 Value179 +SET: Key180 Value180 +SET: Key181 Value181 +SET: Key182 Value182 +SET: Key183 Value183 +SET: Key184 Value184 +SET: Key185 Value185 +SET: Key186 Value186 +SET: Key187 Value187 +SET: Key188 Value188 +SET: Key189 Value189 +SET: Key190 Value190 +SET: Key191 Value191 +SET: Key192 Value192 +SET: Key193 Value193 +SET: Key194 Value194 +SET: Key195 Value195 +SET: Key196 Value196 +SET: Key197 Value197 +SET: Key198 Value198 +SET: Key199 Value199 +SET: Key200 Value200 +SET: Key201 Value201 +SET: Key202 Value202 +SET: Key203 Value203 +SET: Key204 Value204 +SET: Key205 Value205 +SET: Key206 Value206 +SET: Key207 Value207 +SET: Key208 Value208 +SET: Key209 Value209 +SET: Key210 Value210 +SET: Key211 Value211 +SET: Key212 Value212 +SET: Key213 Value213 +SET: Key214 Value214 +SET: Key215 Value215 +SET: Key216 Value216 +SET: Key217 Value217 +SET: Key218 Value218 +SET: Key219 Value219 +SET: Key220 Value220 +SET: Key221 Value221 +SET: Key222 Value222 +SET: Key223 Value223 +SET: Key224 Value224 +SET: Key225 Value225 +SET: Key226 Value226 +SET: Key227 Value227 +SET: Key228 Value228 +SET: Key229 Value229 +SET: Key230 Value230 +SET: Key231 Value231 +SET: Key232 Value232 +SET: Key233 Value233 +SET: Key234 Value234 +SET: Key235 Value235 +SET: Key236 Value236 +SET: Key237 Value237 +SET: Key238 Value238 +SET: Key239 Value239 +SET: Key240 Value240 +SET: Key241 Value241 +SET: Key242 Value242 +SET: Key243 Value243 +SET: Key244 Value244 +SET: Key245 Value245 +SET: Key246 Value246 +SET: Key247 Value247 +SET: Key248 Value248 +SET: Key249 Value249 +SET: Key250 Value250 +SET: Key251 Value251 +SET: Key252 Value252 +SET: Key253 Value253 +SET: Key254 Value254 +SET: Key255 Value255 +SET: Key256 Value256 +SET: Key257 Value257 +SET: Key258 Value258 +SET: Key259 Value259 +SET: Key260 Value260 +SET: Key261 Value261 +SET: Key262 Value262 +SET: Key263 Value263 +SET: Key264 Value264 +SET: Key265 Value265 +SET: Key266 Value266 +SET: Key267 Value267 +SET: Key268 Value268 +SET: Key269 Value269 +SET: Key270 Value270 +SET: Key271 Value271 +SET: Key272 Value272 +SET: Key273 Value273 +SET: Key274 Value274 +SET: Key275 Value275 +SET: Key276 Value276 +SET: Key277 Value277 +SET: Key278 Value278 +SET: Key279 Value279 +SET: Key280 Value280 +SET: Key281 Value281 +SET: Key282 Value282 +SET: Key283 Value283 +SET: Key284 Value284 +SET: Key285 Value285 +SET: Key286 Value286 +SET: Key287 Value287 +SET: Key288 Value288 +SET: Key289 Value289 +SET: Key290 Value290 +SET: Key291 Value291 +SET: Key292 Value292 +SET: Key293 Value293 +SET: Key294 Value294 +SET: Key295 Value295 +SET: Key296 Value296 +SET: Key297 Value297 +SET: Key298 Value298 +SET: Key299 Value299 +SET: Key300 Value300 +SET: Key301 Value301 +SET: Key302 Value302 +SET: Key303 Value303 +SET: Key304 Value304 +SET: Key305 Value305 +SET: Key306 Value306 +SET: Key307 Value307 +SET: Key308 Value308 +SET: Key309 Value309 +SET: Key310 Value310 +SET: Key311 Value311 +SET: Key312 Value312 +SET: Key313 Value313 +SET: Key314 Value314 +SET: Key315 Value315 +SET: Key316 Value316 +SET: Key317 Value317 +SET: Key318 Value318 +SET: Key319 Value319 +SET: Key320 Value320 +SET: Key321 Value321 +SET: Key322 Value322 +SET: Key323 Value323 +SET: Key324 Value324 +SET: Key325 Value325 +SET: Key326 Value326 +SET: Key327 Value327 +SET: Key328 Value328 +SET: Key329 Value329 +SET: Key330 Value330 +SET: Key331 Value331 +SET: Key332 Value332 +SET: Key333 Value333 +SET: Key334 Value334 +SET: Key335 Value335 +SET: Key336 Value336 +SET: Key337 Value337 +SET: Key338 Value338 +SET: Key339 Value339 +SET: Key340 Value340 +SET: Key341 Value341 +SET: Key342 Value342 +SET: Key343 Value343 +SET: Key344 Value344 +SET: Key345 Value345 +SET: Key346 Value346 +SET: Key347 Value347 +SET: Key348 Value348 +SET: Key349 Value349 +SET: Key350 Value350 +SET: Key351 Value351 +SET: Key352 Value352 +SET: Key353 Value353 +SET: Key354 Value354 +SET: Key355 Value355 +SET: Key356 Value356 +SET: Key357 Value357 +SET: Key358 Value358 +SET: Key359 Value359 +SET: Key360 Value360 +SET: Key361 Value361 +SET: Key362 Value362 +SET: Key363 Value363 +SET: Key364 Value364 +SET: Key365 Value365 +SET: Key366 Value366 +SET: Key367 Value367 +SET: Key368 Value368 +SET: Key369 Value369 +SET: Key370 Value370 +SET: Key371 Value371 +SET: Key372 Value372 +SET: Key373 Value373 +SET: Key374 Value374 +SET: Key375 Value375 +SET: Key376 Value376 +SET: Key377 Value377 +SET: Key378 Value378 +SET: Key379 Value379 +SET: Key380 Value380 +SET: Key381 Value381 +SET: Key382 Value382 +SET: Key383 Value383 +SET: Key384 Value384 +SET: Key385 Value385 +SET: Key386 Value386 +SET: Key387 Value387 +SET: Key388 Value388 +SET: Key389 Value389 +SET: Key390 Value390 +SET: Key391 Value391 +SET: Key392 Value392 +SET: Key393 Value393 +SET: Key394 Value394 +SET: Key395 Value395 +SET: Key396 Value396 +SET: Key397 Value397 +SET: Key398 Value398 +SET: Key399 Value399 +SET: Key400 Value400 +SET: Key401 Value401 +SET: Key402 Value402 +SET: Key403 Value403 +SET: Key404 Value404 +SET: Key405 Value405 +SET: Key406 Value406 +SET: Key407 Value407 +SET: Key408 Value408 +SET: Key409 Value409 +SET: Key410 Value410 +SET: Key411 Value411 +SET: Key412 Value412 +SET: Key413 Value413 +SET: Key414 Value414 +SET: Key415 Value415 +SET: Key416 Value416 +SET: Key417 Value417 +SET: Key418 Value418 +SET: Key419 Value419 +SET: Key420 Value420 +SET: Key421 Value421 +SET: Key422 Value422 +SET: Key423 Value423 +SET: Key424 Value424 +SET: Key425 Value425 +SET: Key426 Value426 +SET: Key427 Value427 +SET: Key428 Value428 +SET: Key429 Value429 +SET: Key430 Value430 +SET: Key431 Value431 +SET: Key432 Value432 +SET: Key433 Value433 +SET: Key434 Value434 +SET: Key435 Value435 +SET: Key436 Value436 +SET: Key437 Value437 +SET: Key438 Value438 +SET: Key439 Value439 +SET: Key440 Value440 +SET: Key441 Value441 +SET: Key442 Value442 +SET: Key443 Value443 +SET: Key444 Value444 +SET: Key445 Value445 +SET: Key446 Value446 +SET: Key447 Value447 +SET: Key448 Value448 +SET: Key449 Value449 +SET: Key450 Value450 +SET: Key451 Value451 +SET: Key452 Value452 +SET: Key453 Value453 +SET: Key454 Value454 +SET: Key455 Value455 +SET: Key456 Value456 +SET: Key457 Value457 +SET: Key458 Value458 +SET: Key459 Value459 +SET: Key460 Value460 +SET: Key461 Value461 +SET: Key462 Value462 +SET: Key463 Value463 +SET: Key464 Value464 +SET: Key465 Value465 +SET: Key466 Value466 +SET: Key467 Value467 +SET: Key468 Value468 +SET: Key469 Value469 +SET: Key470 Value470 +SET: Key471 Value471 +SET: Key472 Value472 +SET: Key473 Value473 +SET: Key474 Value474 +SET: Key475 Value475 +SET: Key476 Value476 +SET: Key477 Value477 +SET: Key478 Value478 +SET: Key479 Value479 +SET: Key480 Value480 +SET: Key481 Value481 +SET: Key482 Value482 +SET: Key483 Value483 +SET: Key484 Value484 +SET: Key485 Value485 +SET: Key486 Value486 +SET: Key487 Value487 +SET: Key488 Value488 +SET: Key489 Value489 +SET: Key490 Value490 +SET: Key491 Value491 +SET: Key492 Value492 +SET: Key493 Value493 +SET: Key494 Value494 +SET: Key495 Value495 +SET: Key496 Value496 +SET: Key497 Value497 +SET: Key498 Value498 +SET: Key499 Value499 +SET: Key500 Value500 +SET: Key501 Value501 +SET: Key502 Value502 +SET: Key503 Value503 +SET: Key504 Value504 +SET: Key505 Value505 +SET: Key506 Value506 +SET: Key507 Value507 +SET: Key508 Value508 +SET: Key509 Value509 +SET: Key510 Value510 +SET: Key511 Value511 +SET: Key512 Value512 +SET: Key513 Value513 +SET: Key514 Value514 +SET: Key515 Value515 +SET: Key516 Value516 +SET: Key517 Value517 +SET: Key518 Value518 +SET: Key519 Value519 +SET: Key520 Value520 +SET: Key521 Value521 +SET: Key522 Value522 +SET: Key523 Value523 +SET: Key524 Value524 +SET: Key525 Value525 +SET: Key526 Value526 +SET: Key527 Value527 +SET: Key528 Value528 +SET: Key529 Value529 +SET: Key530 Value530 +SET: Key531 Value531 +SET: Key532 Value532 +SET: Key533 Value533 +SET: Key534 Value534 +SET: Key535 Value535 +SET: Key536 Value536 +SET: Key537 Value537 +SET: Key538 Value538 +SET: Key539 Value539 +SET: Key540 Value540 +SET: Key541 Value541 +SET: Key542 Value542 +SET: Key543 Value543 +SET: Key544 Value544 +SET: Key545 Value545 +SET: Key546 Value546 +SET: Key547 Value547 +SET: Key548 Value548 +SET: Key549 Value549 +SET: Key550 Value550 +SET: Key551 Value551 +SET: Key552 Value552 +SET: Key553 Value553 +SET: Key554 Value554 +SET: Key555 Value555 +SET: Key556 Value556 +SET: Key557 Value557 +SET: Key558 Value558 +SET: Key559 Value559 +SET: Key560 Value560 +SET: Key561 Value561 +SET: Key562 Value562 +SET: Key563 Value563 +SET: Key564 Value564 +SET: Key565 Value565 +SET: Key566 Value566 +SET: Key567 Value567 +SET: Key568 Value568 +SET: Key569 Value569 +SET: Key570 Value570 +SET: Key571 Value571 +SET: Key572 Value572 +SET: Key573 Value573 +SET: Key574 Value574 +SET: Key575 Value575 +SET: Key576 Value576 +SET: Key577 Value577 +SET: Key578 Value578 +SET: Key579 Value579 +SET: Key580 Value580 +SET: Key581 Value581 +SET: Key582 Value582 +SET: Key583 Value583 +SET: Key584 Value584 +SET: Key585 Value585 +SET: Key586 Value586 +SET: Key587 Value587 +SET: Key588 Value588 +SET: Key589 Value589 +SET: Key590 Value590 +SET: Key591 Value591 +SET: Key592 Value592 +SET: Key593 Value593 +SET: Key594 Value594 +SET: Key595 Value595 +SET: Key596 Value596 +SET: Key597 Value597 +SET: Key598 Value598 +SET: Key599 Value599 +SET: Key600 Value600 +SET: Key601 Value601 +SET: Key602 Value602 +SET: Key603 Value603 +SET: Key604 Value604 +SET: Key605 Value605 +SET: Key606 Value606 +SET: Key607 Value607 +SET: Key608 Value608 +SET: Key609 Value609 +SET: Key610 Value610 +SET: Key611 Value611 +SET: Key612 Value612 +SET: Key613 Value613 +SET: Key614 Value614 +SET: Key615 Value615 +SET: Key616 Value616 +SET: Key617 Value617 +SET: Key618 Value618 +SET: Key619 Value619 +SET: Key620 Value620 +SET: Key621 Value621 +SET: Key622 Value622 +SET: Key623 Value623 +SET: Key624 Value624 +SET: Key625 Value625 +SET: Key626 Value626 +SET: Key627 Value627 +SET: Key628 Value628 +SET: Key629 Value629 +SET: Key630 Value630 +SET: Key631 Value631 +SET: Key632 Value632 +SET: Key633 Value633 +SET: Key634 Value634 +SET: Key635 Value635 +SET: Key636 Value636 +SET: Key637 Value637 +SET: Key638 Value638 +SET: Key639 Value639 +SET: Key640 Value640 +SET: Key641 Value641 +SET: Key642 Value642 +SET: Key643 Value643 +SET: Key644 Value644 +SET: Key645 Value645 +SET: Key646 Value646 +SET: Key647 Value647 +SET: Key648 Value648 +SET: Key649 Value649 +SET: Key650 Value650 +SET: Key651 Value651 +SET: Key652 Value652 +SET: Key653 Value653 +SET: Key654 Value654 +SET: Key655 Value655 +SET: Key656 Value656 +SET: Key657 Value657 +SET: Key658 Value658 +SET: Key659 Value659 +SET: Key660 Value660 +SET: Key661 Value661 +SET: Key662 Value662 +SET: Key663 Value663 +SET: Key664 Value664 +SET: Key665 Value665 +SET: Key666 Value666 +SET: Key667 Value667 +SET: Key668 Value668 +SET: Key669 Value669 +SET: Key670 Value670 +SET: Key671 Value671 +SET: Key672 Value672 +SET: Key673 Value673 +SET: Key674 Value674 +SET: Key675 Value675 +SET: Key676 Value676 +SET: Key677 Value677 +SET: Key678 Value678 +SET: Key679 Value679 +SET: Key680 Value680 +SET: Key681 Value681 +SET: Key682 Value682 +SET: Key683 Value683 +SET: Key684 Value684 +SET: Key685 Value685 +SET: Key686 Value686 +SET: Key687 Value687 +SET: Key688 Value688 +SET: Key689 Value689 +SET: Key690 Value690 +SET: Key691 Value691 +SET: Key692 Value692 +SET: Key693 Value693 +SET: Key694 Value694 +SET: Key695 Value695 +SET: Key696 Value696 +SET: Key697 Value697 +SET: Key698 Value698 +SET: Key699 Value699 +SET: Key700 Value700 +SET: Key701 Value701 +SET: Key702 Value702 +SET: Key703 Value703 +SET: Key704 Value704 +SET: Key705 Value705 +SET: Key706 Value706 +SET: Key707 Value707 +SET: Key708 Value708 +SET: Key709 Value709 +SET: Key710 Value710 +SET: Key711 Value711 +SET: Key712 Value712 +SET: Key713 Value713 +SET: Key714 Value714 +SET: Key715 Value715 +SET: Key716 Value716 +SET: Key717 Value717 +SET: Key718 Value718 +SET: Key719 Value719 +SET: Key720 Value720 +SET: Key721 Value721 +SET: Key722 Value722 +SET: Key723 Value723 +SET: Key724 Value724 +SET: Key725 Value725 +SET: Key726 Value726 +SET: Key727 Value727 +SET: Key728 Value728 +SET: Key729 Value729 +SET: Key730 Value730 +SET: Key731 Value731 +SET: Key732 Value732 +SET: Key733 Value733 +SET: Key734 Value734 +SET: Key735 Value735 +SET: Key736 Value736 +SET: Key737 Value737 +SET: Key738 Value738 +SET: Key739 Value739 +SET: Key740 Value740 +SET: Key741 Value741 +SET: Key742 Value742 +SET: Key743 Value743 +SET: Key744 Value744 +SET: Key745 Value745 +SET: Key746 Value746 +SET: Key747 Value747 +SET: Key748 Value748 +SET: Key749 Value749 +SET: Key750 Value750 +SET: Key751 Value751 +SET: Key752 Value752 +SET: Key753 Value753 +SET: Key754 Value754 +SET: Key755 Value755 +SET: Key756 Value756 +SET: Key757 Value757 +SET: Key758 Value758 +SET: Key759 Value759 +SET: Key760 Value760 +SET: Key761 Value761 +SET: Key762 Value762 +SET: Key763 Value763 +SET: Key764 Value764 +SET: Key765 Value765 +SET: Key766 Value766 +SET: Key767 Value767 +SET: Key768 Value768 +SET: Key769 Value769 +SET: Key770 Value770 +SET: Key771 Value771 +SET: Key772 Value772 +SET: Key773 Value773 +SET: Key774 Value774 +SET: Key775 Value775 +SET: Key776 Value776 +SET: Key777 Value777 +SET: Key778 Value778 +SET: Key779 Value779 +SET: Key780 Value780 +SET: Key781 Value781 +SET: Key782 Value782 +SET: Key783 Value783 +SET: Key784 Value784 +SET: Key785 Value785 +SET: Key786 Value786 +SET: Key787 Value787 +SET: Key788 Value788 +SET: Key789 Value789 +SET: Key790 Value790 +SET: Key791 Value791 +SET: Key792 Value792 +SET: Key793 Value793 +SET: Key794 Value794 +SET: Key795 Value795 +SET: Key796 Value796 +SET: Key797 Value797 +SET: Key798 Value798 +SET: Key799 Value799 +SET: Key800 Value800 +SET: Key801 Value801 +SET: Key802 Value802 +SET: Key803 Value803 +SET: Key804 Value804 +SET: Key805 Value805 +SET: Key806 Value806 +SET: Key807 Value807 +SET: Key808 Value808 +SET: Key809 Value809 +SET: Key810 Value810 +SET: Key811 Value811 +SET: Key812 Value812 +SET: Key813 Value813 +SET: Key814 Value814 +SET: Key815 Value815 +SET: Key816 Value816 +SET: Key817 Value817 +SET: Key818 Value818 +SET: Key819 Value819 +SET: Key820 Value820 +SET: Key821 Value821 +SET: Key822 Value822 +SET: Key823 Value823 +SET: Key824 Value824 +SET: Key825 Value825 +SET: Key826 Value826 +SET: Key827 Value827 +SET: Key828 Value828 +SET: Key829 Value829 +SET: Key830 Value830 +SET: Key831 Value831 +SET: Key832 Value832 +SET: Key833 Value833 +SET: Key834 Value834 +SET: Key835 Value835 +SET: Key836 Value836 +SET: Key837 Value837 +SET: Key838 Value838 +SET: Key839 Value839 +SET: Key840 Value840 +SET: Key841 Value841 +SET: Key842 Value842 +SET: Key843 Value843 +SET: Key844 Value844 +SET: Key845 Value845 +SET: Key846 Value846 +SET: Key847 Value847 +SET: Key848 Value848 +SET: Key849 Value849 +SET: Key850 Value850 +SET: Key851 Value851 +SET: Key852 Value852 +SET: Key853 Value853 +SET: Key854 Value854 +SET: Key855 Value855 +SET: Key856 Value856 +SET: Key857 Value857 +SET: Key858 Value858 +SET: Key859 Value859 +SET: Key860 Value860 +SET: Key861 Value861 +SET: Key862 Value862 +SET: Key863 Value863 +SET: Key864 Value864 +SET: Key865 Value865 +SET: Key866 Value866 +SET: Key867 Value867 +SET: Key868 Value868 +SET: Key869 Value869 +SET: Key870 Value870 +SET: Key871 Value871 +SET: Key872 Value872 +SET: Key873 Value873 +SET: Key874 Value874 +SET: Key875 Value875 +SET: Key876 Value876 +SET: Key877 Value877 +SET: Key878 Value878 +SET: Key879 Value879 +SET: Key880 Value880 +SET: Key881 Value881 +SET: Key882 Value882 +SET: Key883 Value883 +SET: Key884 Value884 +SET: Key885 Value885 +SET: Key886 Value886 +SET: Key887 Value887 +SET: Key888 Value888 +SET: Key889 Value889 +SET: Key890 Value890 +SET: Key891 Value891 +SET: Key892 Value892 +SET: Key893 Value893 +SET: Key894 Value894 +SET: Key895 Value895 +SET: Key896 Value896 +SET: Key897 Value897 +SET: Key898 Value898 +SET: Key899 Value899 +SET: Key900 Value900 +SET: Key901 Value901 +SET: Key902 Value902 +SET: Key903 Value903 +SET: Key904 Value904 +SET: Key905 Value905 +SET: Key906 Value906 +SET: Key907 Value907 +SET: Key908 Value908 +SET: Key909 Value909 +SET: Key910 Value910 +SET: Key911 Value911 +SET: Key912 Value912 +SET: Key913 Value913 +SET: Key914 Value914 +SET: Key915 Value915 +SET: Key916 Value916 +SET: Key917 Value917 +SET: Key918 Value918 +SET: Key919 Value919 +SET: Key920 Value920 +SET: Key921 Value921 +SET: Key922 Value922 +SET: Key923 Value923 +SET: Key924 Value924 +SET: Key925 Value925 +SET: Key926 Value926 +SET: Key927 Value927 +SET: Key928 Value928 +SET: Key929 Value929 +SET: Key930 Value930 +SET: Key931 Value931 +SET: Key932 Value932 +SET: Key933 Value933 +SET: Key934 Value934 +SET: Key935 Value935 +SET: Key936 Value936 +SET: Key937 Value937 +SET: Key938 Value938 +SET: Key939 Value939 +SET: Key940 Value940 +SET: Key941 Value941 +SET: Key942 Value942 +SET: Key943 Value943 +SET: Key944 Value944 +SET: Key945 Value945 +SET: Key946 Value946 +SET: Key947 Value947 +SET: Key948 Value948 +SET: Key949 Value949 +SET: Key950 Value950 +SET: Key951 Value951 +SET: Key952 Value952 +SET: Key953 Value953 +SET: Key954 Value954 +SET: Key955 Value955 +SET: Key956 Value956 +SET: Key957 Value957 +SET: Key958 Value958 +SET: Key959 Value959 +SET: Key960 Value960 +SET: Key961 Value961 +SET: Key962 Value962 +SET: Key963 Value963 +SET: Key964 Value964 +SET: Key965 Value965 +SET: Key966 Value966 +SET: Key967 Value967 +SET: Key968 Value968 +SET: Key969 Value969 +SET: Key970 Value970 +SET: Key971 Value971 +SET: Key972 Value972 +SET: Key973 Value973 +SET: Key974 Value974 +SET: Key975 Value975 +SET: Key976 Value976 +SET: Key977 Value977 +SET: Key978 Value978 +SET: Key979 Value979 +SET: Key980 Value980 +SET: Key981 Value981 +SET: Key982 Value982 +SET: Key983 Value983 +SET: Key984 Value984 +SET: Key985 Value985 +SET: Key986 Value986 +SET: Key987 Value987 +SET: Key988 Value988 +SET: Key989 Value989 +SET: Key990 Value990 +SET: Key991 Value991 +SET: Key992 Value992 +SET: Key993 Value993 +SET: Key994 Value994 +SET: Key995 Value995 +SET: Key996 Value996 +SET: Key997 Value997 +SET: Key998 Value998 +SET: Key999 Value999 diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/output b/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/output new file mode 100644 index 0000000000..db76ce0f00 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/output @@ -0,0 +1,153 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +SET: :1:factorial_1 1 expires in 60000 milliseconds +SET: :1:factorial_2 2 expires in 60000 milliseconds +SET: :1:factorial_3 6 expires in 60000 milliseconds +SET: :1:factorial_4 24 expires in 60000 milliseconds +SET: :1:factorial_5 120 expires in 60000 milliseconds +SET: :1:factorial_6 720 expires in 60000 milliseconds +SET: :1:factorial_7 5040 expires in 60000 milliseconds +SET: :1:factorial_8 40320 expires in 60000 milliseconds +SET: :1:factorial_9 362880 expires in 60000 milliseconds +SET: :1:factorial_10 3628800 expires in 60000 milliseconds +SET: :1:factorial_11 39916800 expires in 60000 milliseconds +SET: :1:factorial_12 479001600 expires in 60000 milliseconds +SET: :1:factorial_13 6227020800 expires in 60000 milliseconds +SET: :1:factorial_14 87178291200 expires in 60000 milliseconds +SET: :1:factorial_15 1307674368000 expires in 60000 milliseconds +SET: :1:factorial_16 20922789888000 expires in 60000 milliseconds +SET: :1:factorial_17 355687428096000 expires in 60000 milliseconds +SET: :1:factorial_18 6402373705728000 expires in 60000 milliseconds +SET: :1:factorial_19 121645100408832000 expires in 60000 milliseconds +SET: :1:factorial_20 2432902008176640000 expires in 60000 milliseconds +SET: :1:factorial_21 51090942171709440000 expires in 60000 milliseconds +SET: :1:factorial_22 1124000727777607680000 expires in 60000 milliseconds +SET: :1:factorial_23 25852016738884976640000 expires in 60000 milliseconds +SET: :1:factorial_24 620448401733239439360000 expires in 60000 milliseconds +SET: :1:factorial_25 15511210043330985984000000 expires in 60000 milliseconds +SET: :1:factorial_26 403291461126605635584000000 expires in 60000 milliseconds +SET: :1:factorial_27 10888869450418352160768000000 expires in 60000 milliseconds +SET: :1:factorial_28 304888344611713860501504000000 expires in 60000 milliseconds +SET: :1:factorial_29 8841761993739701954543616000000 expires in 60000 milliseconds +SET: :1:factorial_30 265252859812191058636308480000000 expires in 60000 milliseconds +SET: :1:factorial_31 8222838654177922817725562880000000 expires in 60000 milliseconds +SET: :1:factorial_32 263130836933693530167218012160000000 expires in 60000 milliseconds +SET: :1:factorial_33 8683317618811886495518194401280000000 expires in 60000 milliseconds +SET: :1:factorial_34 295232799039604140847618609643520000000 expires in 60000 milliseconds +SET: :1:factorial_35 10333147966386144929666651337523200000000 expires in 60000 milliseconds +SET: :1:factorial_36 371993326789901217467999448150835200000000 expires in 60000 milliseconds +SET: :1:factorial_37 13763753091226345046315979581580902400000000 expires in 60000 milliseconds +SET: :1:factorial_38 523022617466601111760007224100074291200000000 expires in 60000 milliseconds +SET: :1:factorial_39 20397882081197443358640281739902897356800000000 expires in 60000 milliseconds +SET: :1:factorial_40 815915283247897734345611269596115894272000000000 expires in 60000 milliseconds +SET: :1:factorial_41 33452526613163807108170062053440751665152000000000 expires in 60000 milliseconds +SET: :1:factorial_42 1405006117752879898543142606244511569936384000000000 expires in 60000 milliseconds +SET: :1:factorial_43 60415263063373835637355132068513997507264512000000000 expires in 60000 milliseconds +SET: :1:factorial_44 2658271574788448768043625811014615890319638528000000000 expires in 60000 milliseconds +SET: :1:factorial_45 119622220865480194561963161495657715064383733760000000000 expires in 60000 milliseconds +SET: :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 expires in 60000 milliseconds +SET: :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 expires in 60000 milliseconds +SET: :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 expires in 60000 milliseconds +SET: :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_1 1 expires in 60000 milliseconds +SET: :1:factorial_2 2 expires in 60000 milliseconds +SET: :1:factorial_3 6 expires in 60000 milliseconds +SET: :1:factorial_4 24 expires in 60000 milliseconds +SET: :1:factorial_5 120 expires in 60000 milliseconds +SET: :1:factorial_6 720 expires in 60000 milliseconds +SET: :1:factorial_7 5040 expires in 60000 milliseconds +SET: :1:factorial_8 40320 expires in 60000 milliseconds +SET: :1:factorial_9 362880 expires in 60000 milliseconds +SET: :1:factorial_10 3628800 expires in 60000 milliseconds +SET: :1:factorial_11 39916800 expires in 60000 milliseconds +SET: :1:factorial_12 479001600 expires in 60000 milliseconds +SET: :1:factorial_13 6227020800 expires in 60000 milliseconds +SET: :1:factorial_14 87178291200 expires in 60000 milliseconds +SET: :1:factorial_15 1307674368000 expires in 60000 milliseconds +SET: :1:factorial_16 20922789888000 expires in 60000 milliseconds +SET: :1:factorial_17 355687428096000 expires in 60000 milliseconds +SET: :1:factorial_18 6402373705728000 expires in 60000 milliseconds +SET: :1:factorial_19 121645100408832000 expires in 60000 milliseconds +SET: :1:factorial_20 2432902008176640000 expires in 60000 milliseconds +SET: :1:factorial_21 51090942171709440000 expires in 60000 milliseconds +SET: :1:factorial_22 1124000727777607680000 expires in 60000 milliseconds +SET: :1:factorial_23 25852016738884976640000 expires in 60000 milliseconds +SET: :1:factorial_24 620448401733239439360000 expires in 60000 milliseconds +SET: :1:factorial_25 15511210043330985984000000 expires in 60000 milliseconds +SET: :1:factorial_26 403291461126605635584000000 expires in 60000 milliseconds +SET: :1:factorial_27 10888869450418352160768000000 expires in 60000 milliseconds +SET: :1:factorial_28 304888344611713860501504000000 expires in 60000 milliseconds +SET: :1:factorial_29 8841761993739701954543616000000 expires in 60000 milliseconds +SET: :1:factorial_30 265252859812191058636308480000000 expires in 60000 milliseconds +SET: :1:factorial_31 8222838654177922817725562880000000 expires in 60000 milliseconds +SET: :1:factorial_32 263130836933693530167218012160000000 expires in 60000 milliseconds +SET: :1:factorial_33 8683317618811886495518194401280000000 expires in 60000 milliseconds +SET: :1:factorial_34 295232799039604140847618609643520000000 expires in 60000 milliseconds +SET: :1:factorial_35 10333147966386144929666651337523200000000 expires in 60000 milliseconds +SET: :1:factorial_36 371993326789901217467999448150835200000000 expires in 60000 milliseconds +SET: :1:factorial_37 13763753091226345046315979581580902400000000 expires in 60000 milliseconds +SET: :1:factorial_38 523022617466601111760007224100074291200000000 expires in 60000 milliseconds +SET: :1:factorial_39 20397882081197443358640281739902897356800000000 expires in 60000 milliseconds +SET: :1:factorial_40 815915283247897734345611269596115894272000000000 expires in 60000 milliseconds +SET: :1:factorial_41 33452526613163807108170062053440751665152000000000 expires in 60000 milliseconds +SET: :1:factorial_42 1405006117752879898543142606244511569936384000000000 expires in 60000 milliseconds +SET: :1:factorial_43 60415263063373835637355132068513997507264512000000000 expires in 60000 milliseconds +SET: :1:factorial_44 2658271574788448768043625811014615890319638528000000000 expires in 60000 milliseconds +SET: :1:factorial_45 119622220865480194561963161495657715064383733760000000000 expires in 60000 milliseconds +SET: :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 expires in 60000 milliseconds +SET: :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 expires in 60000 milliseconds +SET: :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 expires in 60000 milliseconds +SET: :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_51 1551118753287382280224243016469303211063259720016986112000000000000 expires in 60000 milliseconds +SET: :1:factorial_52 80658175170943878571660636856403766975289505440883277824000000000000 expires in 60000 milliseconds +SET: :1:factorial_53 4274883284060025564298013753389399649690343788366813724672000000000000 expires in 60000 milliseconds +SET: :1:factorial_54 230843697339241380472092742683027581083278564571807941132288000000000000 expires in 60000 milliseconds +SET: :1:factorial_55 12696403353658275925965100847566516959580321051449436762275840000000000000 expires in 60000 milliseconds +SET: :1:factorial_56 710998587804863451854045647463724949736497978881168458687447040000000000000 expires in 60000 milliseconds +SET: :1:factorial_57 40526919504877216755680601905432322134980384796226602145184481280000000000000 expires in 60000 milliseconds +SET: :1:factorial_58 2350561331282878571829474910515074683828862318181142924420699914240000000000000 expires in 60000 milliseconds +SET: :1:factorial_59 138683118545689835737939019720389406345902876772687432540821294940160000000000000 expires in 60000 milliseconds +SET: :1:factorial_60 8320987112741390144276341183223364380754172606361245952449277696409600000000000000 expires in 60000 milliseconds +SET: :1:factorial_61 507580213877224798800856812176625227226004528988036003099405939480985600000000000000 expires in 60000 milliseconds +SET: :1:factorial_62 31469973260387937525653122354950764088012280797258232192163168247821107200000000000000 expires in 60000 milliseconds +SET: :1:factorial_63 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000 expires in 60000 milliseconds +SET: :1:factorial_64 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 expires in 60000 milliseconds +SET: :1:factorial_65 8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000 expires in 60000 milliseconds +SET: :1:factorial_66 544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000 expires in 60000 milliseconds +SET: :1:factorial_67 36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000 expires in 60000 milliseconds +SET: :1:factorial_68 2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000 expires in 60000 milliseconds +SET: :1:factorial_69 171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000 expires in 60000 milliseconds +SET: :1:factorial_70 11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 expires in 60000 milliseconds +SET: :1:factorial_71 850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000 expires in 60000 milliseconds +SET: :1:factorial_72 61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000 expires in 60000 milliseconds +SET: :1:factorial_73 4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000 expires in 60000 milliseconds +SET: :1:factorial_74 330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000 expires in 60000 milliseconds +SET: :1:factorial_75 24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_76 1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_77 145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_78 11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_79 894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_80 71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_81 5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_82 475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_83 39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_84 3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_85 281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_86 24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_87 2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_88 185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_89 16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_90 1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_91 135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_92 12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_93 1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_94 108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_95 10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_96 991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_97 96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_98 9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_99 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 expires in 60000 milliseconds diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/resp.log new file mode 100644 index 0000000000..94f2795b5b --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.django-cloud/resp.log @@ -0,0 +1,168 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_3 :1:factorial_3 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_3 :1:factorial_3 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_50 :1:factorial_50 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_1,1,PX,60000 :1:factorial_1 1 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_2,2,PX,60000 :1:factorial_2 2 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_3,6,PX,60000 :1:factorial_3 6 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_4,24,PX,60000 :1:factorial_4 24 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_5,120,PX,60000 :1:factorial_5 120 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_6,720,PX,60000 :1:factorial_6 720 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_7,5040,PX,60000 :1:factorial_7 5040 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_8,40320,PX,60000 :1:factorial_8 40320 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_9,362880,PX,60000 :1:factorial_9 362880 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_10,3628800,PX,60000 :1:factorial_10 3628800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_11,39916800,PX,60000 :1:factorial_11 39916800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_12,479001600,PX,60000 :1:factorial_12 479001600 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_13,6227020800,PX,60000 :1:factorial_13 6227020800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_14,87178291200,PX,60000 :1:factorial_14 87178291200 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_15,1307674368000,PX,60000 :1:factorial_15 1307674368000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_16,20922789888000,PX,60000 :1:factorial_16 20922789888000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_17,355687428096000,PX,60000 :1:factorial_17 355687428096000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_18,6402373705728000,PX,60000 :1:factorial_18 6402373705728000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_19,121645100408832000,PX,60000 :1:factorial_19 121645100408832000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_20,2432902008176640000,PX,60000 :1:factorial_20 2432902008176640000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_21,51090942171709440000,PX,60000 :1:factorial_21 51090942171709440000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_22,1124000727777607680000,PX,60000 :1:factorial_22 1124000727777607680000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_23,25852016738884976640000,PX,60000 :1:factorial_23 25852016738884976640000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_24,620448401733239439360000,PX,60000 :1:factorial_24 620448401733239439360000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_25,15511210043330985984000000,PX,60000 :1:factorial_25 15511210043330985984000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_26,403291461126605635584000000,PX,60000 :1:factorial_26 403291461126605635584000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_27,10888869450418352160768000000,PX,60000 :1:factorial_27 10888869450418352160768000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_28,304888344611713860501504000000,PX,60000 :1:factorial_28 304888344611713860501504000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_29,8841761993739701954543616000000,PX,60000 :1:factorial_29 8841761993739701954543616000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_30,265252859812191058636308480000000,PX,60000 :1:factorial_30 265252859812191058636308480000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_31,8222838654177922817725562880000000,PX,60000 :1:factorial_31 8222838654177922817725562880000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_32,263130836933693530167218012160000000,PX,60000 :1:factorial_32 263130836933693530167218012160000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_33,8683317618811886495518194401280000000,PX,60000 :1:factorial_33 8683317618811886495518194401280000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_34,295232799039604140847618609643520000000,PX,60000 :1:factorial_34 295232799039604140847618609643520000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_35,10333147966386144929666651337523200000000,PX,60000 :1:factorial_35 10333147966386144929666651337523200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_36,371993326789901217467999448150835200000000,PX,60000 :1:factorial_36 371993326789901217467999448150835200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_37,13763753091226345046315979581580902400000000,PX,60000 :1:factorial_37 13763753091226345046315979581580902400000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_38,523022617466601111760007224100074291200000000,PX,60000 :1:factorial_38 523022617466601111760007224100074291200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_39,20397882081197443358640281739902897356800000000,PX,60000 :1:factorial_39 20397882081197443358640281739902897356800000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_40,815915283247897734345611269596115894272000000000,PX,60000 :1:factorial_40 815915283247897734345611269596115894272000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_41,33452526613163807108170062053440751665152000000000,PX,60000 :1:factorial_41 33452526613163807108170062053440751665152000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_42,1405006117752879898543142606244511569936384000000000,PX,60000 :1:factorial_42 1405006117752879898543142606244511569936384000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_43,60415263063373835637355132068513997507264512000000000,PX,60000 :1:factorial_43 60415263063373835637355132068513997507264512000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_44,2658271574788448768043625811014615890319638528000000000,PX,60000 :1:factorial_44 2658271574788448768043625811014615890319638528000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_45,119622220865480194561963161495657715064383733760000000000,PX,60000 :1:factorial_45 119622220865480194561963161495657715064383733760000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_46,5502622159812088949850305428800254892961651752960000000000,PX,60000 :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_47,258623241511168180642964355153611979969197632389120000000000,PX,60000 :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_48,12413915592536072670862289047373375038521486354677760000000000,PX,60000 :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_49,608281864034267560872252163321295376887552831379210240000000000,PX,60000 :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_50 :1:factorial_50 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_50 :1:factorial_50 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 GET,:1:factorial_100 :1:factorial_100 - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_1,1,PX,60000 :1:factorial_1 1 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_2,2,PX,60000 :1:factorial_2 2 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_3,6,PX,60000 :1:factorial_3 6 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_4,24,PX,60000 :1:factorial_4 24 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_5,120,PX,60000 :1:factorial_5 120 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_6,720,PX,60000 :1:factorial_6 720 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_7,5040,PX,60000 :1:factorial_7 5040 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_8,40320,PX,60000 :1:factorial_8 40320 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_9,362880,PX,60000 :1:factorial_9 362880 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_10,3628800,PX,60000 :1:factorial_10 3628800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_11,39916800,PX,60000 :1:factorial_11 39916800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_12,479001600,PX,60000 :1:factorial_12 479001600 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_13,6227020800,PX,60000 :1:factorial_13 6227020800 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_14,87178291200,PX,60000 :1:factorial_14 87178291200 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_15,1307674368000,PX,60000 :1:factorial_15 1307674368000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_16,20922789888000,PX,60000 :1:factorial_16 20922789888000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_17,355687428096000,PX,60000 :1:factorial_17 355687428096000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_18,6402373705728000,PX,60000 :1:factorial_18 6402373705728000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_19,121645100408832000,PX,60000 :1:factorial_19 121645100408832000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_20,2432902008176640000,PX,60000 :1:factorial_20 2432902008176640000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_21,51090942171709440000,PX,60000 :1:factorial_21 51090942171709440000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_22,1124000727777607680000,PX,60000 :1:factorial_22 1124000727777607680000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_23,25852016738884976640000,PX,60000 :1:factorial_23 25852016738884976640000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_24,620448401733239439360000,PX,60000 :1:factorial_24 620448401733239439360000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_25,15511210043330985984000000,PX,60000 :1:factorial_25 15511210043330985984000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_26,403291461126605635584000000,PX,60000 :1:factorial_26 403291461126605635584000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_27,10888869450418352160768000000,PX,60000 :1:factorial_27 10888869450418352160768000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_28,304888344611713860501504000000,PX,60000 :1:factorial_28 304888344611713860501504000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_29,8841761993739701954543616000000,PX,60000 :1:factorial_29 8841761993739701954543616000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_30,265252859812191058636308480000000,PX,60000 :1:factorial_30 265252859812191058636308480000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_31,8222838654177922817725562880000000,PX,60000 :1:factorial_31 8222838654177922817725562880000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_32,263130836933693530167218012160000000,PX,60000 :1:factorial_32 263130836933693530167218012160000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_33,8683317618811886495518194401280000000,PX,60000 :1:factorial_33 8683317618811886495518194401280000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_34,295232799039604140847618609643520000000,PX,60000 :1:factorial_34 295232799039604140847618609643520000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_35,10333147966386144929666651337523200000000,PX,60000 :1:factorial_35 10333147966386144929666651337523200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_36,371993326789901217467999448150835200000000,PX,60000 :1:factorial_36 371993326789901217467999448150835200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_37,13763753091226345046315979581580902400000000,PX,60000 :1:factorial_37 13763753091226345046315979581580902400000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_38,523022617466601111760007224100074291200000000,PX,60000 :1:factorial_38 523022617466601111760007224100074291200000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_39,20397882081197443358640281739902897356800000000,PX,60000 :1:factorial_39 20397882081197443358640281739902897356800000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_40,815915283247897734345611269596115894272000000000,PX,60000 :1:factorial_40 815915283247897734345611269596115894272000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_41,33452526613163807108170062053440751665152000000000,PX,60000 :1:factorial_41 33452526613163807108170062053440751665152000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_42,1405006117752879898543142606244511569936384000000000,PX,60000 :1:factorial_42 1405006117752879898543142606244511569936384000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_43,60415263063373835637355132068513997507264512000000000,PX,60000 :1:factorial_43 60415263063373835637355132068513997507264512000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_44,2658271574788448768043625811014615890319638528000000000,PX,60000 :1:factorial_44 2658271574788448768043625811014615890319638528000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_45,119622220865480194561963161495657715064383733760000000000,PX,60000 :1:factorial_45 119622220865480194561963161495657715064383733760000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_46,5502622159812088949850305428800254892961651752960000000000,PX,60000 :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_47,258623241511168180642964355153611979969197632389120000000000,PX,60000 :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_48,12413915592536072670862289047373375038521486354677760000000000,PX,60000 :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_49,608281864034267560872252163321295376887552831379210240000000000,PX,60000 :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_51,1551118753287382280224243016469303211063259720016986112000000000000,PX,60000 :1:factorial_51 1551118753287382280224243016469303211063259720016986112000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_52,80658175170943878571660636856403766975289505440883277824000000000000,PX,60000 :1:factorial_52 80658175170943878571660636856403766975289505440883277824000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_53,4274883284060025564298013753389399649690343788366813724672000000000000,PX,60000 :1:factorial_53 4274883284060025564298013753389399649690343788366813724672000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_54,230843697339241380472092742683027581083278564571807941132288000000000000,PX,60000 :1:factorial_54 230843697339241380472092742683027581083278564571807941132288000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_55,12696403353658275925965100847566516959580321051449436762275840000000000000,PX,60000 :1:factorial_55 12696403353658275925965100847566516959580321051449436762275840000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_56,710998587804863451854045647463724949736497978881168458687447040000000000000,PX,60000 :1:factorial_56 710998587804863451854045647463724949736497978881168458687447040000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_57,40526919504877216755680601905432322134980384796226602145184481280000000000000,PX,60000 :1:factorial_57 40526919504877216755680601905432322134980384796226602145184481280000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_58,2350561331282878571829474910515074683828862318181142924420699914240000000000000,PX,60000 :1:factorial_58 2350561331282878571829474910515074683828862318181142924420699914240000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_59,138683118545689835737939019720389406345902876772687432540821294940160000000000000,PX,60000 :1:factorial_59 138683118545689835737939019720389406345902876772687432540821294940160000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_60,8320987112741390144276341183223364380754172606361245952449277696409600000000000000,PX,60000 :1:factorial_60 8320987112741390144276341183223364380754172606361245952449277696409600000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_61,507580213877224798800856812176625227226004528988036003099405939480985600000000000000,PX,60000 :1:factorial_61 507580213877224798800856812176625227226004528988036003099405939480985600000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_62,31469973260387937525653122354950764088012280797258232192163168247821107200000000000000,PX,60000 :1:factorial_62 31469973260387937525653122354950764088012280797258232192163168247821107200000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_63,1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000,PX,60000 :1:factorial_63 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_64,126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000,PX,60000 :1:factorial_64 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_65,8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000,PX,60000 :1:factorial_65 8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_66,544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000,PX,60000 :1:factorial_66 544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_67,36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000,PX,60000 :1:factorial_67 36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_68,2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000,PX,60000 :1:factorial_68 2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_69,171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000,PX,60000 :1:factorial_69 171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_70,11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000,PX,60000 :1:factorial_70 11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_71,850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000,PX,60000 :1:factorial_71 850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_72,61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000,PX,60000 :1:factorial_72 61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_73,4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000,PX,60000 :1:factorial_73 4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_74,330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000,PX,60000 :1:factorial_74 330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_75,24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000,PX,60000 :1:factorial_75 24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_76,1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000,PX,60000 :1:factorial_76 1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_77,145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000,PX,60000 :1:factorial_77 145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_78,11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000,PX,60000 :1:factorial_78 11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_79,894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000,PX,60000 :1:factorial_79 894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_80,71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000,PX,60000 :1:factorial_80 71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_81,5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000,PX,60000 :1:factorial_81 5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_82,475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000,PX,60000 :1:factorial_82 475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_83,39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000,PX,60000 :1:factorial_83 39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_84,3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000,PX,60000 :1:factorial_84 3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_85,281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000,PX,60000 :1:factorial_85 281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_86,24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000,PX,60000 :1:factorial_86 24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_87,2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000,PX,60000 :1:factorial_87 2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_88,185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000,PX,60000 :1:factorial_88 185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_89,16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000,PX,60000 :1:factorial_89 16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_90,1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000,PX,60000 :1:factorial_90 1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_91,135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000,PX,60000 :1:factorial_91 135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_92,12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000,PX,60000 :1:factorial_92 12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_93,1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000,PX,60000 :1:factorial_93 1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_94,108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000,PX,60000 :1:factorial_94 108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_95,10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000,PX,60000 :1:factorial_95 10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_96,991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000,PX,60000 :1:factorial_96 991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_97,96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000,PX,60000 :1:factorial_97 96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_98,9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000,PX,60000 :1:factorial_98 9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_99,933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000,PX,60000 :1:factorial_99 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_100,93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000,PX,60000 :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 192.168.1.4 50044 18.234.186.95 10625 SET,:1:factorial_100,93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000,PX,60000 :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.django/output b/testing/btest/Baseline/scripts.base.protocols.redis.django/output new file mode 100644 index 0000000000..e2782e7aef --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.django/output @@ -0,0 +1,309 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +SET: :1:factorial_1 1 expires in 60000 milliseconds +SET: :1:factorial_2 2 expires in 60000 milliseconds +SET: :1:factorial_3 6 expires in 60000 milliseconds +SET: :1:factorial_4 24 expires in 60000 milliseconds +SET: :1:factorial_5 120 expires in 60000 milliseconds +SET: :1:factorial_6 720 expires in 60000 milliseconds +SET: :1:factorial_7 5040 expires in 60000 milliseconds +SET: :1:factorial_8 40320 expires in 60000 milliseconds +SET: :1:factorial_9 362880 expires in 60000 milliseconds +SET: :1:factorial_10 3628800 expires in 60000 milliseconds +SET: :1:factorial_11 39916800 expires in 60000 milliseconds +SET: :1:factorial_12 479001600 expires in 60000 milliseconds +SET: :1:factorial_13 6227020800 expires in 60000 milliseconds +SET: :1:factorial_14 87178291200 expires in 60000 milliseconds +SET: :1:factorial_15 1307674368000 expires in 60000 milliseconds +SET: :1:factorial_16 20922789888000 expires in 60000 milliseconds +SET: :1:factorial_17 355687428096000 expires in 60000 milliseconds +SET: :1:factorial_18 6402373705728000 expires in 60000 milliseconds +SET: :1:factorial_19 121645100408832000 expires in 60000 milliseconds +SET: :1:factorial_20 2432902008176640000 expires in 60000 milliseconds +SET: :1:factorial_21 51090942171709440000 expires in 60000 milliseconds +SET: :1:factorial_22 1124000727777607680000 expires in 60000 milliseconds +SET: :1:factorial_23 25852016738884976640000 expires in 60000 milliseconds +SET: :1:factorial_24 620448401733239439360000 expires in 60000 milliseconds +SET: :1:factorial_25 15511210043330985984000000 expires in 60000 milliseconds +SET: :1:factorial_26 403291461126605635584000000 expires in 60000 milliseconds +SET: :1:factorial_27 10888869450418352160768000000 expires in 60000 milliseconds +SET: :1:factorial_28 304888344611713860501504000000 expires in 60000 milliseconds +SET: :1:factorial_29 8841761993739701954543616000000 expires in 60000 milliseconds +SET: :1:factorial_30 265252859812191058636308480000000 expires in 60000 milliseconds +SET: :1:factorial_31 8222838654177922817725562880000000 expires in 60000 milliseconds +SET: :1:factorial_32 263130836933693530167218012160000000 expires in 60000 milliseconds +SET: :1:factorial_33 8683317618811886495518194401280000000 expires in 60000 milliseconds +SET: :1:factorial_34 295232799039604140847618609643520000000 expires in 60000 milliseconds +SET: :1:factorial_35 10333147966386144929666651337523200000000 expires in 60000 milliseconds +SET: :1:factorial_36 371993326789901217467999448150835200000000 expires in 60000 milliseconds +SET: :1:factorial_37 13763753091226345046315979581580902400000000 expires in 60000 milliseconds +SET: :1:factorial_38 523022617466601111760007224100074291200000000 expires in 60000 milliseconds +SET: :1:factorial_39 20397882081197443358640281739902897356800000000 expires in 60000 milliseconds +SET: :1:factorial_40 815915283247897734345611269596115894272000000000 expires in 60000 milliseconds +SET: :1:factorial_41 33452526613163807108170062053440751665152000000000 expires in 60000 milliseconds +SET: :1:factorial_42 1405006117752879898543142606244511569936384000000000 expires in 60000 milliseconds +SET: :1:factorial_43 60415263063373835637355132068513997507264512000000000 expires in 60000 milliseconds +SET: :1:factorial_44 2658271574788448768043625811014615890319638528000000000 expires in 60000 milliseconds +SET: :1:factorial_45 119622220865480194561963161495657715064383733760000000000 expires in 60000 milliseconds +SET: :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 expires in 60000 milliseconds +SET: :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 expires in 60000 milliseconds +SET: :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 expires in 60000 milliseconds +SET: :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_1 1 expires in 60000 milliseconds +SET: :1:factorial_2 2 expires in 60000 milliseconds +SET: :1:factorial_3 6 expires in 60000 milliseconds +SET: :1:factorial_4 24 expires in 60000 milliseconds +SET: :1:factorial_5 120 expires in 60000 milliseconds +SET: :1:factorial_6 720 expires in 60000 milliseconds +SET: :1:factorial_7 5040 expires in 60000 milliseconds +SET: :1:factorial_8 40320 expires in 60000 milliseconds +SET: :1:factorial_9 362880 expires in 60000 milliseconds +SET: :1:factorial_10 3628800 expires in 60000 milliseconds +SET: :1:factorial_11 39916800 expires in 60000 milliseconds +SET: :1:factorial_12 479001600 expires in 60000 milliseconds +SET: :1:factorial_13 6227020800 expires in 60000 milliseconds +SET: :1:factorial_14 87178291200 expires in 60000 milliseconds +SET: :1:factorial_15 1307674368000 expires in 60000 milliseconds +SET: :1:factorial_16 20922789888000 expires in 60000 milliseconds +SET: :1:factorial_17 355687428096000 expires in 60000 milliseconds +SET: :1:factorial_18 6402373705728000 expires in 60000 milliseconds +SET: :1:factorial_19 121645100408832000 expires in 60000 milliseconds +SET: :1:factorial_20 2432902008176640000 expires in 60000 milliseconds +SET: :1:factorial_21 51090942171709440000 expires in 60000 milliseconds +SET: :1:factorial_22 1124000727777607680000 expires in 60000 milliseconds +SET: :1:factorial_23 25852016738884976640000 expires in 60000 milliseconds +SET: :1:factorial_24 620448401733239439360000 expires in 60000 milliseconds +SET: :1:factorial_25 15511210043330985984000000 expires in 60000 milliseconds +SET: :1:factorial_26 403291461126605635584000000 expires in 60000 milliseconds +SET: :1:factorial_27 10888869450418352160768000000 expires in 60000 milliseconds +SET: :1:factorial_28 304888344611713860501504000000 expires in 60000 milliseconds +SET: :1:factorial_29 8841761993739701954543616000000 expires in 60000 milliseconds +SET: :1:factorial_30 265252859812191058636308480000000 expires in 60000 milliseconds +SET: :1:factorial_31 8222838654177922817725562880000000 expires in 60000 milliseconds +SET: :1:factorial_32 263130836933693530167218012160000000 expires in 60000 milliseconds +SET: :1:factorial_33 8683317618811886495518194401280000000 expires in 60000 milliseconds +SET: :1:factorial_34 295232799039604140847618609643520000000 expires in 60000 milliseconds +SET: :1:factorial_35 10333147966386144929666651337523200000000 expires in 60000 milliseconds +SET: :1:factorial_36 371993326789901217467999448150835200000000 expires in 60000 milliseconds +SET: :1:factorial_37 13763753091226345046315979581580902400000000 expires in 60000 milliseconds +SET: :1:factorial_38 523022617466601111760007224100074291200000000 expires in 60000 milliseconds +SET: :1:factorial_39 20397882081197443358640281739902897356800000000 expires in 60000 milliseconds +SET: :1:factorial_40 815915283247897734345611269596115894272000000000 expires in 60000 milliseconds +SET: :1:factorial_41 33452526613163807108170062053440751665152000000000 expires in 60000 milliseconds +SET: :1:factorial_42 1405006117752879898543142606244511569936384000000000 expires in 60000 milliseconds +SET: :1:factorial_43 60415263063373835637355132068513997507264512000000000 expires in 60000 milliseconds +SET: :1:factorial_44 2658271574788448768043625811014615890319638528000000000 expires in 60000 milliseconds +SET: :1:factorial_45 119622220865480194561963161495657715064383733760000000000 expires in 60000 milliseconds +SET: :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 expires in 60000 milliseconds +SET: :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 expires in 60000 milliseconds +SET: :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 expires in 60000 milliseconds +SET: :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 expires in 60000 milliseconds +SET: :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 expires in 60000 milliseconds +SET: :1:factorial_51 1551118753287382280224243016469303211063259720016986112000000000000 expires in 60000 milliseconds +SET: :1:factorial_52 80658175170943878571660636856403766975289505440883277824000000000000 expires in 60000 milliseconds +SET: :1:factorial_53 4274883284060025564298013753389399649690343788366813724672000000000000 expires in 60000 milliseconds +SET: :1:factorial_54 230843697339241380472092742683027581083278564571807941132288000000000000 expires in 60000 milliseconds +SET: :1:factorial_55 12696403353658275925965100847566516959580321051449436762275840000000000000 expires in 60000 milliseconds +SET: :1:factorial_56 710998587804863451854045647463724949736497978881168458687447040000000000000 expires in 60000 milliseconds +SET: :1:factorial_57 40526919504877216755680601905432322134980384796226602145184481280000000000000 expires in 60000 milliseconds +SET: :1:factorial_58 2350561331282878571829474910515074683828862318181142924420699914240000000000000 expires in 60000 milliseconds +SET: :1:factorial_59 138683118545689835737939019720389406345902876772687432540821294940160000000000000 expires in 60000 milliseconds +SET: :1:factorial_60 8320987112741390144276341183223364380754172606361245952449277696409600000000000000 expires in 60000 milliseconds +SET: :1:factorial_61 507580213877224798800856812176625227226004528988036003099405939480985600000000000000 expires in 60000 milliseconds +SET: :1:factorial_62 31469973260387937525653122354950764088012280797258232192163168247821107200000000000000 expires in 60000 milliseconds +SET: :1:factorial_63 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000 expires in 60000 milliseconds +SET: :1:factorial_64 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 expires in 60000 milliseconds +SET: :1:factorial_65 8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000 expires in 60000 milliseconds +SET: :1:factorial_66 544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000 expires in 60000 milliseconds +SET: :1:factorial_67 36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000 expires in 60000 milliseconds +SET: :1:factorial_68 2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000 expires in 60000 milliseconds +SET: :1:factorial_69 171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000 expires in 60000 milliseconds +SET: :1:factorial_70 11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 expires in 60000 milliseconds +SET: :1:factorial_71 850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000 expires in 60000 milliseconds +SET: :1:factorial_72 61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000 expires in 60000 milliseconds +SET: :1:factorial_73 4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000 expires in 60000 milliseconds +SET: :1:factorial_74 330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000 expires in 60000 milliseconds +SET: :1:factorial_75 24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_76 1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_77 145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_78 11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_79 894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_80 71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_81 5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_82 475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_83 39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_84 3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_85 281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_86 24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_87 2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_88 185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_89 16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_90 1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_91 135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_92 12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_93 1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_94 108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_95 10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_96 991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_97 96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_98 9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_99 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_101 9425947759838359420851623124482936749562312794702543768327889353416977599316221476503087861591808346911623490003549599583369706302603264000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_102 961446671503512660926865558697259548455355905059659464369444714048531715130254590603314961882364451384985595980362059157503710042865532928000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_103 99029007164861804075467152545817733490901658221144924830052805546998766658416222832141441073883538492653516385977292093222882134415149891584000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_104 10299016745145627623848583864765044283053772454999072182325491776887871732475287174542709871683888003235965704141638377695179741979175588724736000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_105 1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_106 114628056373470835453434738414834942870388487424139673389282723476762012382449946252660360871841673476016298287096435143747350528228224302506311680000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_107 12265202031961379393517517010387338887131568154382945052653251412013535324922144249034658613287059061933743916719318560380966506520420000368175349760000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_108 1324641819451828974499891837121832599810209360673358065686551152497461815091591578895743130235002378688844343005686404521144382704205360039762937774080000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_109 144385958320249358220488210246279753379312820313396029159834075622223337844983482099636001195615259277084033387619818092804737714758384244334160217374720000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_110 15882455415227429404253703127090772871724410234473563207581748318444567162948183030959960131517678520479243672638179990208521148623422266876757623911219200000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_111 1762952551090244663872161047107075788761409536026565516041574063347346955087248316436555574598462315773196047662837978913145847497199871623320096254145331200000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_112 197450685722107402353682037275992488341277868034975337796656295094902858969771811440894224355027779366597957338237853638272334919686385621811850780464277094400000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_113 22311927486598136465966070212187151182564399087952213171022161345724023063584214692821047352118139068425569179220877461124773845924561575264739138192463311667200000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_114 2543559733472187557120132004189335234812341496026552301496526393412538629248600474981599398141467853800514886431180030568224218435400019580180261753940817530060800000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_115 292509369349301569068815180481773552003419272043053514672100535242441942363589054622883930786268803187059211939585703515345785120071002251720730101703194015956992000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_116 33931086844518982011982560935885732032396635556994207701963662088123265314176330336254535971207181169698868584991941607780111073928236261199604691797570505851011072000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_117 3969937160808720895401959629498630647790406360168322301129748464310422041758630649341780708631240196854767624444057168110272995649603642560353748940315749184568295424000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_118 468452584975429065657431236280838416439267950499862031533310318788629800927518416622330123618486343228862579684398745837012213486653229822121742374957258403779058860032000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_119 55745857612076058813234317117419771556272886109483581752463927935846946310374691578057284710599874844234646982443450754604453404911734348832487342619913750049708004343808000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_120 6689502913449127057588118054090372586752746333138029810295671352301633557244962989366874165271984981308157637893214090552534408589408121859898481114389650005964960521256960000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_121 809429852527344373968162284544935082997082306309701607045776233628497660426640521713391773997910182738287074185078904956856663439318382745047716214841147650721760223072092160000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_122 98750442008336013624115798714482080125644041369783596059584700502676714572050143649033796427745042294071023050579626404736512939596842694895821378210620013388054747214795243520000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_123 12146304367025329675766243241881295855454217088483382315328918161829235892362167668831156960612640202170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_124 1506141741511140879795014161993280686076322918971939407100785852066825250652908790935063463115967385069171243567440461925041295354731044782551067660468376444194611004520057054167040000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_125 188267717688892609974376770249160085759540364871492425887598231508353156331613598866882932889495923133646405445930057740630161919341380597818883457558547055524326375565007131770880000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_126 23721732428800468856771473051394170805702085973808045661837377170052497697783313457227249544076486314839447086187187275319400401837013955325179315652376928996065123321190898603130880000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_127 3012660018457659544809977077527059692324164918673621799053346900596667207618480809067860692097713761984609779945772783965563851033300772326297773087851869982500270661791244122597621760000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_128 385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_129 49745042224772874403902341504126809639656611137138843145968864022652168932196355119328515747917449637889876686464600208839390308261862352651828829226610077151044469167497022952331930501120000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_130 6466855489220473672507304395536485253155359447828049608975952322944781961185526165512707047229268452925683969240398027149120740074042105844737747799459310029635780991774612983803150965145600000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_131 847158069087882051098456875815279568163352087665474498775849754305766436915303927682164623187034167333264599970492141556534816949699515865660644961729169613882287309922474300878212776434073600000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_132 111824865119600430744996307607616902997562475571842633838412167568361169672820118454045730260688510087990927196104962685462595837360336094267205134948250389032461924909766607715924086489297715200000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_133 14872707060906857289084508911813048098675809251055070300508818286592035566485075754388082124671571841702793317081960037166525246368924700537538282948117301741317436012998958826217903503076596121600000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_134 1992942746161518876737324194182948445222558439641379420268181650403332765909000151088003004705990626788174304488982644980314383013435909872030129915047718433336536425741860482713199069412263880294400000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_135 269047270731805048359538766214698040105045389351586221736204522804449923397715020396880405635308734616403531106012657072342441706813847832724067538531441988500432417475151165166281874370655623839744000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_136 36590428819525486576897272205198933454286172951815726156123815101405189582089242773975735166401987907830880230417721361838572072126683305250473185240276110436058808776620558462614334914409164842205184000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_137 5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_138 691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_139 96157231969410890041971956135297253988256079629956908500367081914696145479218112119985149618783441690577636407442564169301886059792163365100096999581219760002673769583579570682891939608962934200435638009856000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_140 13462012475717524605876073858941615558355851148193967190051391468057460367090535696797920946629681836680869097041958983702264048370902871114013579941370766400374327741701139895604871545254810788060989321379840000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_141 1898143759076170969428526414110767793728175011895349373797246196996101911759765533248506853474785138972002542682916216702019230820297304827075914771733278062452780211579860725280286887880928321116599494314557440000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_142 269536413788816277658850750803729026709400851689139611079208959973446471469886705721287973193419489734024361060974102771686730776482217285444779897586125484868294790044340222989800738079091821598557128192667156480000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_143 38543707171800727705215657364933250819444321791546964384326881276202845420193798918144180166658987031965483631719296696351202501036957071818603525354815944336166154976340651887541505545310130488593669331551403376640000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_144 5550293832739304789551054660550388117999982337982762871343070903773209740507907044212761943998894132603029642967578724274573160149321818341878907651093495984407926316593053871805976798524658790357488383743402086236160000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_145 804792605747199194484902925779806277109997439007500616344745281047115412373646521410850481879839649227439298230298915019813108221651663659572441609408556917739149315905992811411866635786075524601835815642793302504243200000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_146 117499720439091082394795827163851716458059626095095089986332811032878850206552392125984170354456588787206137541623641592892713800361142894297576474973649309989915800122274950466132528824767026591868029083847822165619507200000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_147 17272458904546389112034986593086202319334765035978978227990923221833190980363201642519673042105118551719302218618675314155228928653088005461743741821126448568517622617974417718521481737240752909004600275325629858346067558400000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_148 2556323917872865588581178015776757943261545225324888777742656636831312265093753843092911610231557545654456728355563946494973881440657024808338073789526714388140608147460213822341179297111631430532680840748193219035217998643200000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_149 380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_150 57133839564458545904789328652610540031895535786011264182548375833179829124845398393126574488675311145377107878746854204162666250198684504466355949195922066574942592095735778929325357290444962472405416790722118445437122269675520000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_151 8627209774233240431623188626544191544816225903687700891564804750810154197851655157362112747789971982951943289690774984828562603780001360174419748328584232052816331406456102618328128950857189333333217935399039885261005462721003520000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_152 1311335885683452545606724671234717114812066337360530535517850322123143438073451583919041137664075741408695380032997797693941515774560206746511801745944803272028082373781327597985875600530292778666649126180654062559672830333592535040000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_153 200634390509568239477828874698911718566246149616161171934231099284840946025238092339613294062603588435530393145048663047173051913507711632216305667129554900620296603188543122491838966881134795135997316305640071571629943041039657861120000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_154 30897696138473508879585646703632404659201907040888820477871589289865505687886666220300447285640952619071680544337494109264649994680187591361311072737951454695525676891035640863743200899694758450943586711068571022031011228320107310612480000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_155 4789142901463393876335775239063022722176295591337767174070096339929153381622433264146569329274347655956110484372311586936020749175429076661003216274382475477806479918110524333880196139452687559896255940215628508414806740389616633144934400000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_156 747106292628289444708380937293831544659502112248691679154935029028947927533099589206864815366798234329153235562080607562019236871366935959116501738803666174537810867225241796085310597754619259343815926673638047312709851500780194770609766400000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_157 117295687942641442819215807155131552511541831623044593627324799557544824622696635505477776012587322789677057983246655387237020188804608945581290772992175589402436306154362961985393763847475223716979100487761173428095446685622490578985733324800000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_158 18532718694937347965436097530510785296823609396441045793117318330092082290386068409865488609988797000768975161352971551183449189831128213401843942132763743125584936372389347993692214687901085347282697877066265401639080576328353511479745865318400000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_159 2946702272495038326504339507351214862194953894034126281105653614484641084171384877168612688988218723122267050655122476638168421183149385930893186799109435156968004883209906330997062135376272570217948962453536198860613811636208208325279592585625600000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_160 471472363599206132240694321176194377951192623045460204976904578317542573467421580346978030238114995699562728104819596262106947389303901748942909887857509625114880781313585012959529941660203611234871833992565791817698209861793313332044734813700096000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_161 75907050539472187290751785709367294850142012310319093001281637109124354328254874435863462868336514307629599224875954998199218529677928181579808491945059049643495805791487187086484320607292781408814365272803092482649411787748723446459202305005715456000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_162 12296942187394494341101789284917501765723005994271693066207625211678145401177289658609880984670515317835995074429904709708273401807824365415928975695099566042246320538220924308010459938381430588227927174194100982189204709615293198326390773410925903872000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_163 2004401576545302577599591653441552787812849977066285969791842909503537700391898214353410600501293996807267197132074467682448564494675371562796423038301229264886150247730010662205704969956173185881152129393638460096840367667292791327201696065980922331136000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_164 328721858553429622726333031164414657201307396238870899045862237158580182864271307153959338482212215476391820329660212699921564577126760936298613378281401599441328640627721748601735615072812402484508949220556707455881820297436017777661078154820871262306304000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_165 54239106661315887749844950142128418438215720379413698342567269131165730172604765680403290849565015553604650354393935095487058155225915554489271207416431263907819225703574088519286376487014046409943976621391856730220500349076942933314077895545443758280540160000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_166 9003691705778437366474261723593317460743809582982673924866166675773511208652391102946946281027792581898371958829393225850851653767501982045219020431127589808697991466793298694201538496844331704050700119151048217216603057946772526930136930660543663874569666560000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_167 1503616514864999040201201707840084015944216200358106545452649834854176371844949314192140028931641361177028117124508668717092226179172831001551576411998307498052564574954480881931656928973003394576466919898225052275172710677111011997332867420310791867053134315520000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_168 252607574497319838753801886917134114678628321660161899636045172255501630469951484784279524860515748677740723676917456344471493998101035608260664837215715659672830848592352788164518364067464570288846442542901808782229015393754650015551921726612213033664926565007360000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_169 42690680090047052749392518888995665380688186360567361038491634111179775549421800928543239701427161526538182301399050122215682485679075017796052357489455946484708413412107621199803603527401512378815048789750405684196703601544535852628274771797464002689372589486243840000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_170 7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_171 1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_172 213455108077438865629072570145733886730056159330291227886899710221263324938130981514753340236723864719151973034287306573083301055694802251980973629541579310661401455397074590303866009781148657954570396550703618437210885875866741044575478989978191912006970522334798649753600000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_173 36927733697396923753829554635211962404299715564140382424433649868278555214296659802052327860953228596413291334931704037143411082635200789592708437910693220744422451783693904122568819692138717826140678603271725989637483256524946200711557865266227200777205900363920166407372800000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_174 6425425663347064733166342506526881458348150508160426541851455077080468607287618805557105047805861775775912692278116502462953528378524937389131268196460620409529506610362739317326974626432136901748478076969280322196922086635340638923811068556323532935233826663322108954882867200000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_175 1124449491085736328304109938642204255210926338928074644824004638489082006275333290972493383366025810760784721148670387931016867466241864043097971934380608571667663656813479380532220559625623957805983663469624056384461365161184611811666936997356618263665919666081369067104501760000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_176 197903110431089593781523349201027948917123035651341137489024816374078433104458659211158835472420542693898110922165988275858968674058568071585243060450987108613508803599172370973670818494109816573853124770653833923665200268368491678853380911534764814405201861230320955810392309760000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_177 35028850546302858099329632808581946958330777310287381335557392498211882659489182680375113878618436056819965633223379924827037455308366548670588021699824718224591058237053509662339734873457437533572003084405728604488740447501223027157048421341653372149720729437766809178439438827520000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_178 6235135397241908741680674639927586558582878361231153877729215864681715113389074517106770270394081618113953882713761626619212667044889245663364667862568799843977208366195524719896472807475423880975816549024219691598995799655217698833954618998814300242650289839922492033762220111298560000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_179 1116089236106301664760840760547037993986335226660376544113529639778027005296644338562111878400540609642397745005763331164839067401035174973742275547399815172071920297548998924861468632538100874694671162275335324796220248138283968091277876800787759743434401881346126074043437399922442240000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_180 200896062499134299656951336898466838917540340798867777940435335160044860953395980941180138112097309735631594101037399609671032132186331495273609598531966730972945653558819806475064353856858157445040809209560358463319644664891114256430017824141796753818192338642302693327818731986039603200000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_181 36362187312343308237908191978622497844074801684595067807218795663968119832564672550353604998289613062149318532287769329350456815925726000644523337334285978306103163294146384971986648048091326497552386466930424881860855684345291680413833226169665212441092813294256787492335190489473168179200000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_182 6617918090846482099299290940109294607621613906596302340913820810842197809526770404164356109688709577311175972876374017941783140498482132117303247394840048051710775719534642064901569944752621422554534336981337328498675734550843085835317647162879068664278892019554735323605004669084116608614400000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_183 1211079010624906224171770242040000913194755344907123328387229208384122199143398983962077168073033852647945203036376445283346314711222230177466494273255728793463071956674839497876987299889729720327479783667584731115257659422804284707863129430806869565563037239578516564219715854442393339376435200000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_184 222838537954982745247605724535360168027834983462910692423250174342678484642385413049022198925438228887221917358693265932135721906864890352653834946279054097997205240028170467609365663179710268540256280194835590525207409333795988386246815815268464000063598852082447047816427717217400374445264076800000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_185 41225129521671807870807059039041631085149471940638478098301282253395519658841301414069106801206072344136054711358254197445108552770004715240959465061625008129482969405211536507732647688246399679947411836044584247163370726752257851455660925824665840011765787635252703846039127685219069272373854208000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_186 7667874091030956263970112981261743381837801780958756926284038499131566656544482063016853865024329456009306176312635280724790190815220877034818460501462251512083832309369345790438272470013830340470218601504292669972386955175919960370752932203387846242188436500157002915363277749450746884661536882688000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_187 1433892455022788821362411127495946012403668933039287545215115199337602964773818145784151672759549608273740254970462797495535765682446304005511052113773441032759676641852067662811956951892586273667930878481302729284836360617897032589330798322033527247289237625529359545172932939147289667431707397062656000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_188 269571781544284298416133291969237850331889759411386058500441657475469357377477811407420514478795326355463167934447005929160723948299905153036077797389406914158819208668188720608647906955806219449571005154484913105549235796164642126794190084542303122490376673599519594492511392559690457477160990647779328000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_189 50949066711869732400649192182185953712727164528751965056583473262863708544343306356002477236492316681182538739610484120611376826228682073923818703706597906776016830438287668195034454414647375475968919974197648576948805565475117361964101925978495290150681191310309203359084653193781496463183427232430292992000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_190 9680322675255249156123346514615331205418161260462873360750859919944104623425228207640470674933540169424682360525991982916161596983449594045525553704253602287443197783274656957056546338783001340434094795097553229620273057440272298773179365935914105128629426348958748638226084106818484328004851174161755668480000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_191 1848941630973752588819559184291528260234868800748408811903414244709323983074218587659329898912306172360114330860464468736986865023838872462695380757512438036901650776605459478797800350707553256022912105863632666857472153971092009065677258893759594079568220432651120989901182064402330506648926574264895332679680000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_192 354996793146960497053355363383973425965094809743694491885455534984190204750249968830591340591162785093141951525209177997501478084577063512837513105442388103085116949108248219929177667335850225156399124325817472036634653562449665740610033707601842063277098323069015230061026956365247457276593902258859903874498560000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_193 68514381077363375931297585133106871211263298280533036933892918251948709516798243984304128734094417522976396644365371353517785270323373257977640029350380903895427571177891906446331289795819093455185030994882772103070488137552785487937736505567155518212479976352319939401778202578492759254382623135959961447778222080000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_194 13291789929008494930671731515822733014985079866423409165175226140878049646258859332955000974414316999457420949006882042582450342442734412047662165693973895355712948808511029850588270220388904130305896013007257787995674698685240384659920882080028170533221115412350068243944971300227595295350228888376232520868975083520000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_195 2591899036156656511480987645585432937922090573952564787209169097471219681020477569926225190010791814894197085056341998303577816776333210349294122310324909594364025017659650820864712692975836305409649722536415268659156566243621875008684572005605493253978117505408263307569269403544381082593294633233365341569450141286400000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_196 508012211086704676250273578534744855832729752494702698292997143104359057480013603705540137242115195719262628671043031667501252088161309228461647972823682280495348903461291560889483687823263915860291345617137392657194686983749887501702176113098676677779711031060019608283576803094698692188285748113739606947612227692134400000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_197 100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_198 19815524305648002601818171204326257846611456725808373449616646563928629396065410626138298593265945324225558093942704493222553838950820027765375040827960551033001579328411138624055200727234232302046524227142061137986535960488148111891395081467526982493475408477527124840709196781511817187496273890924527108598562553359394406400000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_199 3943289336823952517761816069660925311475679888435866316473712666221797249817016714601521420059923119520886060694598194151288213951213185525309633124764149655567314286353816586186984944719612228107258321201270166459320656137141474266387621212037869516201606287027897843301130159520851620311758504293980894611113948118519486873600000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_200 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_201 158520231340322891214025006000369197521322331515121825922243249182116249442644071926981161086408909404739619639922847404881786200838770058117447251615518816153806034311423426764716794777728411569911784512291060691664690376713087265508782372723922354551304572738521493300705432412738235136532691872618031963366780714364483372318720000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_202 32021086730745224025233051212074577899307110966054608836293136334787482387414102529250194539454599699757403167264415175786120812569431551739724344826334800863068818930907532206472792545101139137122180471482794259716267456096043627632774039290232315619363523693181341646742497347373123497579603758268842456600089704301625641208381440000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_203 6500280606341280477122309396051139313559343526109085593767506675961858924645062813437789491509283739050752842954676280684582524951594605003164041999745964575202970242974229037913976886655531244835802635711007234722402293587496856409453129975917160070730795309715812354288726961516744070008659562928575018689818209973230005165301432320000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_204 1326057243693621217332951116794432419966106079326253461128571361896219220627592813941309056267893882766353579962753961259654835090125299420645464567948176773341405929566742723734451284877728373946503737685045475883370067891849358707528438515087100654429082243182025720274900300149415790281766550837429303812722914834538921053721492193280000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_205 271841734957192349553254978942858646093051746261881959531357129188724940228656526857968356534918245967102483892364562058229241193475686381232320236429376238534988215561182258365562513399934316659033266225434322556090863917829118535043329895592855634157961859852315272656354561530630237007762142921673007281608197541080478816012905899622400000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_206 55999397401181624007970525662228881095168659729947683663459568612877337687103244532741481446193158669223111681827099783995223685855991394533857968704451505138207572405603545223305877760386469231760852842439470446554717967072798418218925958492128260636540143129576946167209039675309828823599001441864639500011288693462578636098658615322214400000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_207 11591875262044596169649898812081378386699912564099170518336130702865608901230371618277486659361983844529184118138209655287011302972190218668508599521821461563608967487959933861224316696399999130974496538384970382436826619184069272571317673407870549951763809627822427856612271212789134566484993298465980376502336759546753777672422333371698380800000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_208 2411110054505276003287178952912926704433581813332627467813915186196046651455917296601717225147292639662070296572747608299698351018215565483049788700538864005230665237495666243134657872851199819242695279984073839546859936790286408694834076068837074389966872402587064994175352412260139989828878606080923918312486045985724785755863845341313263206400000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_209 503922001391602684687020401158801681226618598986519140773108273914973750154286714989758900055784161689372691983704250134636955362807053185957405838412622577093209034636594244815143495425900762221723313516671432465293726789169859417220321898386948547503076332140696583782648654162369257874235628670913098927309583611016480222975543676334472010137600000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_210 105823620292236563784274284243348353057589905787169019562352737522144487532400210147849369011714673954768265316577892528273760626189481169051055226066650741189573897273684791411180134039439160066561895838501000817711682625725670477616267598661259194975646029749546282594356217374097544153589482020891750774735012558313460846824864172030239122128896000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_211 22328783881661914958481873975346502495151470121092663127656427617172486869336444341196216861471796204456103981797935323465763492125980526669772652700063306391000092324747490987759008282321662774044560021923711172537165034028116470777032463317525690139861312277154265627409161865934581816407380706408159413469087649804140238680046340298380454769197056000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_212 4733702182912325971198157282773458528972111665671644583063162654840567216299326200333597974632020795344694044141162288574741860330707871653991802372413420954892019572846468089404909755852192508097446724647826768577878987213960691804730882223315446309650598202756704313010742315578131345078364709758529795655446581758477730600169824143256656411069775872000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_213 1008278564960325431865207501230746666671059784788060296192453645481040817071756480671056368596620429408419831402067567466420016250440776662300253905324058663392000169016297703043245777996517004224756152349987101707088224276573627354407677913566190063955577417187178018671288113218141976501691683178566846474610121914555756617836172542513667815557862260736000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_214 215771612901509642419154405263379786667606793944644903385185080132942734853355886863606062879676771893401843920042459437813883477594326205732254335739348553965888036169487708451254596491254638904097816602897239765316879995186756253843243073503164673686493567278056095995655656228682382971362020200213305145566566089714931916216940924097924912529382523797504000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_215 46390896773824573120118197131626654133535460698098654227814792228582687993471515675675303519130505957081396442809128779129984947682780134232434682183959939102665927776439857317019738245619747364381030569622906549543129198965152594576297260803180404842596116964782060639065966089166712338842834343045860606296811709288710361986642298681053856193817242616463360000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_216 10020433703146107793945530580431357292843659510789309313207995121373860606589847385945865560132189286729581631646771816292076748699480508994205891351735346846175840399711009180476263461053865430706302603038547814701315906976472960428480208333486967446000761264392925098038248675260009865190052218097905890960111329206361438189114736515107632937864524405156085760000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_217 2174434113582705391286180135953604532547074113841280120966134941338127751629996882750252826548685075220319214067349484135380654467787270451742678423326570265620157366737288992163349171048688798463267664859364875790185551813894632412980205208366671935782165194373264746274299962531422140746241331327245578338344158437780432087037897823778356347516601795918870609920000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_218 474026636761029775300387269637885788095262156817399066370617417211711849855339320439555116187613346398029588666682187541512982673977624958479903896285192317905194305948729000291610119288614158064992350939341542922260450295429029866029684735423934482000512012373371714687797391831850026682680610229339536077759026539436134194974261725583681683758619191510313792962560000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_219 103811833450665520790784812050696987592862412343010395535165214369364895118319311176262570445087322861168479918003399071591343205601099865907098953286457117621237553002771651063862616124206500616233324855715797899975038614698957540660500957057841651558112130709768405516627628811175155843507053640225358401029226812136513388699363317902826288743137602940758720658800640000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_220 22838603359146414573972658651153337270429730715462287017736347161260276926030248458777765497919211029457065581960747795750095505232241970499561769723020565876672261660609763234049775547325430135571331468257475537994508495233770658945310210552725163342784668756149049213658078338458534285571551800849578848226429898670032945513859929938621783523490272646966918544936140800000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_221 5047331342371357620847957561904887536764970488117165430919732722638521200652684909389886175040145637510011493613325262860771106656325475480403151108787545058744569826994757674725000395958920059961264254484902093896786377446663315626913556532152261098755411795108939876218435312799336077111312947987756925458041007606077280958563044516435414158691350254979688998430887116800000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_222 1120507558006441391828246578742885033161823448362010725664180664425751706544896049884554730858912331527222551582158208355091185677704255556649499546150835003041294501592836203788950087902880253311400664495648264845086575793159256069174809550137801963923701418514184652520492639441452609118711474453282037451685103688549156372800995882648661943229479756605490957651656939929600000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_223 249873185435436430377698987059663362395086628984728391823112288166942630559511819124255704981537449930570629002821280463185334406128048989132838398791636205678208673855202473444935869602342296488442348182529563060454306401874514103425982529680729837954985416328663177512069858595443931833472658803081894351725778122546461871134622081830651613340173985723024483556319497604300800000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_224 55971593537537760404604573101364593176499404892579159768377152549395149245330647483833277915864388784447820896631966823753514906972682973565755801329326510071918742943565354051665634790924674413411085992886622125541764634019891159167420086648483483701916733257620551762703648325379440730697875571890344334786574299450407459134155346330065961388198972801957484316615567463363379200000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_225 12593608545945996091036028947807033464712366100830310947884859323613908580199395683862487531069487476500759701742192535344540854068853669052295055299098464766181717162302204661624767827958051743017494348399489978246897042654475510812669519495908783832931264982964624146608320873210374164407022003675327475326979217376341678305184952924264841312344768880440433971238502679256760320000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_226 2846155531383795116574142542204389563024994738787650274221978207136743339125063424552922182021704169689171692593735512987866233019560929205818682497596253037157068078680298253527197529118519693921953722738284735083798731639911465443663311406075385146242465886150005057133480517345544561155986972830624009423897303127053219296971799360883854136589917766979538077499901605512027832320000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_227 646077305624121491462330357080396430806673805704796612248389053020040737981389397373513335318926846519441974218777961448245634895440330929720840926954349439434654453860427703550673839109903970520283495061590634864022312082259902655711571689179112428197039756156051147969300077437438615382409042832551650139224687809841080780412598454920634889005911333104355143592477664451230317936640000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_228 147305625682299700053411321414330386223921627700693627592632704088569288259756782601161040452715321006432770121881375210200004756160395451976351731345591672191101215480177516409553635317058105278624636874042664748997087154755257805502238345132837633628925064403579661737000417655736004307189261765821776231743228820643766417934072447721904754693347783947792972739084907494880512489553920000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_229 33732988281246631312231192603881658445278052743458840718712889236282367011484303215665878263671808510473104357910834923135801089160730558502584546478140492931762178344960651257787782487606306108805041844155770227520332958438954037460012581035419818101023839748419742537773095643163544986346340944373186757069199399927422509706902590528316188824776642524044590757250443816327637360107847680000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_230 7758587304686725201813174298892781442413952130995533365303964524344944412641389739603152000644515957408814002319492032321234250506968028455594445689972313374305301019340949789291189972149450405025159624155827152329676580440959428615802893638146558163235483142136540783687811997927615346859658417205832954125915861983307177232587595821512723429698627780530255874167602077755356592824804966400000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_231 1792233667382633521618843263044232513197622942259968207385215805123682159320161029848328112148883186161436034535802659466205111867109614573242316954383604389464524535467759401326264883566523043560811873179996072188155290081861628010250468430411854935707396605833540921031884571521279145124581094374547412403086564118143957940727734634769439112260383017302489106932716079961487372942529947238400000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_232 415798210832770977015571637026261943061848522604312624113370066788694260962277358924812122018540899189453160012306216996159585953169430580992217533416996218355769692228520181107693452987433346106108354577759088747652027298991897698378108675855550345084116012553381493679397220592936761668902813894894999677516082875409398242248834435266509874044408860014177472808390130551065070522666947759308800000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_233 96880983124035637644628191427119032733410705766804841418415225561765762804210624629481224430320029511142586282867348560105183527088477325371186685286160118876894338289245202198092574546071969642723246616617867678202922360665112163722099321474343230404599030924937888027299552398154265468854355637510534924861247309970389790443978423417096800652347264383303351164354900418398161431781398827918950400000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_234 22670150051024339208842996793945853659618105149432332891909162781453188496185286163298606516694886905607365190190959563064612945338703694136857684356961467817193275159683377314353662443780840896397239708288581036699483832395636246310971241224996315914676173236435465798388095261168098119711919219177465172417531870533071210963890951079600651352649259865692984172459046697905169775036847325733034393600000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_235 5327485261990719714078104246577275610010254710116598229598653253641499296603542248375172531423298422817730819694875497320184042154595368122161555823885944937040419662525593668873110674288497610653351331447816543624378700612974517883078241687874134239948900710562334462621202386374503058132301016506704315518119989575271734576514373503706153067872576068437851280527875974007714897133659121547263082496000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_236 1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_237 297976905673664935047816526719560179419093566446241572177911873782676338657629325036120150027567927385041320207173776316112533845790828129808740140341588672218544752564381505087410826234304248359063246670539274917998749482684890734236332214086176076308821914543172491163329091874698705047455860455252985775559487256924098658333601938809292553392248924659865897822485158978199509626479821986381518730166272000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_238 70918503550332254541380333359255322701744268814205494178343025960276968600515779358596595706561166717639834209307358763234783055298217094894480153401298103988013651110322798210803776643764411109457052707588347430483702376879003994748247066952509906161499615661275052896872323866178291801294494788350210614583157967147935480683397261436611627707355244069048083681751467836811483291102197632758801457779572736000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_239 16949522348529408835389899672862022125716880246595113108623983204506195495523271266704586373868118845515920376024458744413113150216273885679780756662910246853135262615367148772382102617859694255160235597113615035885604868074081954744831049001649867572598408143044737642352485404016611740509384254415700336885374754148356579883331945483350179022057903332502491999938600812997944506573425234229353548409317883904000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_240 4067885363647058120493575921486885310172051259182827146069755969081486918925585104009100729728348522923820890245870098659147156051905732563147381599098459244752463027688115705371704628286326621238456543307267608612545168337779669138759451760395968217423617954330737034164596496963986817722252221059768080852489940995605579171999666916004042965293896799800598079985264195119506681577622056215044851618236292136960000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_241 980360372638941007038951797078339359751464353463061342202811188548638347461066010066193275864531994024640834549254693776854464608509281547718518965382728677985343589672835884994580815417004715718468026937051493675623385569404900262441027874255428340399091926993707625233667755768320823071062785275404107485450075779940944580451919726756974354635829128751944137276448671023801110260206915547825809239994946405007360000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_242 237247210178623723703426334892958125059854373538060844813080307628770480085577974436018772759216742553963081960919635893998780435259246134547881589622620340072453148700826284168688557330915141203869262518766461469500859307795985863510728745569813658376580246332477245306547596895933639183197194036647794011478918338745708588469364573875187793821870649157970481220900578387759868682970073562573845836078777030011781120000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_243 57651072073405564859932599378988824389544612769748785289578514753791226660795447787952561780489668440613028916503471522241703645767996810695135226278296742637606115134300787052991319431412379312540230792060250137088708811794424564833107085173464718985508999858791970609491066045711874321516918150905413944789377156315207186998055591451670633898714567745386826936678840548225648089961727875705444538167142818292862812160000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_244 14066861585910957825823554248473273151048885515818703610657157599925059305234089260260425074439479099509579055626847051426975689567391221809612995211904405203575892092769392040929881941264620552259816313262701033449644950077839593819278128782325391432464195965545240828715820115153697334450128028820921002528608026140910553627525564314207634671286354529874385772549637093767058133950661601672128467312782847663458526167040000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_245 3446381088548184667326770790875951922006976951375582384611003611981639529782351868763804143237672379379846868628577527599609043944010849343355183826916579274876093562728501050027821075609832035303654996749361753195163012769070700485723141551669720900953728011558584003035375928212655846940281367061125645619508966404523085638743763256980870494465156859819224514274661087972929242817912092409671474491631797677547338910924800000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_246 847809747782853428162385614555484172813716330038393266614306888547483324326458559715895819236467405327442329682630071789503824810226668938465375221421478501619519016431211258306843984600018680684699129200342991286010101141191392319487892821710751341634617090843411664746702478340313338347309216297036908822399205735512679067130965761217294141638428587515529230511566627641340593733206374732779182724941422228676645372087500800000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_247 209409007702364796756109246795204590684987933519483136853733801471228381108635264249826267351407449115878255431609627732007444728125987227800947679691105189900021197058509180801790464196204614129120684912484718847644494981874273902913509526962555581383750421438322681192435512150057394571785376425368116479132603816671631729581348543020671652984691861116335719936356957027411126652101974558996458133060531290483131406905612697600000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_248 51933433910186469595515093205210738489877007512831817939725982764864638514941545533956914303149047380737807347039187677537846292575244832494635024563394087095205256870510276838844035120658744304021929858296210274215834755504819927922550362686713784183170104516704024935724007013214233853802773353491292886824885746534564668936174438669126569940203581556851258544216525342797959409721289690631121616999011760039816588912591949004800000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_249 12931425043636430929283258208097473883979374870695122666991769708451294990220444837955271661484112797803714029412757731706923726851235963291164121116285127686706108960757058932872164745044027331701460534715756358279742854120700162052715040308991732261609356024659302208995277746290344229596890565019331928819396550887106602565107435228612515915110691807655963377509914810356691893020601132967149282632753928249914330639235395302195200000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_250 3232856260909107732320814552024368470994843717673780666747942427112823747555111209488817915371028199450928507353189432926730931712808990822791030279071281921676527240189264733218041186261006832925365133678939089569935713530175040513178760077247933065402339006164825552248819436572586057399222641254832982204849137721776650641276858807153128978777672951913990844377478702589172973255150283241787320658188482062478582659808848825548800000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_251 811446921488186040812524452558116486219705773136118947353733549205318760636332913581693296758128078062183055345650547664609463859915056696520548600046891762340808337287505448037728337751512715064266648553413711482053864096073935168807868779389231199415987090547371213614453678579719100407204882954963078533417133568165939310960491560595435373673195910930411701938747154349882416287042721093688617485205308997682124247612021055212748800000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_252 204484624215022882284756162044645354527365854830301974733140854399740327680355894222586710783048275671670129947103938011481584892698594287523178247211816724109883700996451372905507541113381204196195195435460255293477573752210631662539582932406086262252828746817937545830842327002089213302615630504650695790421117659177816706362043873270049714165645369554463748888564282896170368904334765715609531606271737867415895310398229305913612697600000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_253 51734609926400789218043308997295274695423561272066399607484636163134302903130041238314437828111213744932542876617296316904840977852744354743364096544589631199800576352102197345093407901685444661637384445171444589249826159309289810622514481898739824349965672944938199095203108731528570965561754517676626034976542767771987626709597099937322577683908278497279328468806763572731103332796695726049211496386749680456221513530752014396144012492800000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_254 13140590921305800461383000485312999772637584563104865500301097585436112937395030474531867208340248291212865890660793264493829608374597066104814480522325766324749346393433958125653725607028102944055895649073546925669455844464559611898118678402279915384891280928014302570181589617808257025252685647489863012884041863014084857184237663384079934731712702738308949431076917947473700246530360714416499720082234418835880264436811011656620579173171200000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_255 3350850684932979117652665123754814942022584063591740702576779884286208799035732771005626138126763314259280802118502282445926550135522251856727692533193070412811083330325659322041700029792166250734253390513754466045711240338462701034020262992581378423147276636643647155396305352541105541439434840109915068285430675068591638581980604162940383356586739198268782104924614076605793562865241982176207428620969776803149467431386807972438247689158656000000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_256 857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds +SET: :1:factorial_256 857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000 expires in 60000 milliseconds diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.django/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.django/resp.log new file mode 100644 index 0000000000..4b9dbf2ff1 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.django/resp.log @@ -0,0 +1,326 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 CLIENT,SETINFO,LIB-NAME,redis-py - - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 CLIENT,SETINFO,LIB-VER,5.1.1 - - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_50 :1:factorial_50 - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_1,1,PX,60000 :1:factorial_1 1 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_2,2,PX,60000 :1:factorial_2 2 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_3,6,PX,60000 :1:factorial_3 6 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_4,24,PX,60000 :1:factorial_4 24 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_5,120,PX,60000 :1:factorial_5 120 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_6,720,PX,60000 :1:factorial_6 720 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_7,5040,PX,60000 :1:factorial_7 5040 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_8,40320,PX,60000 :1:factorial_8 40320 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_9,362880,PX,60000 :1:factorial_9 362880 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_10,3628800,PX,60000 :1:factorial_10 3628800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_11,39916800,PX,60000 :1:factorial_11 39916800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_12,479001600,PX,60000 :1:factorial_12 479001600 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_13,6227020800,PX,60000 :1:factorial_13 6227020800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_14,87178291200,PX,60000 :1:factorial_14 87178291200 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_15,1307674368000,PX,60000 :1:factorial_15 1307674368000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_16,20922789888000,PX,60000 :1:factorial_16 20922789888000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_17,355687428096000,PX,60000 :1:factorial_17 355687428096000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_18,6402373705728000,PX,60000 :1:factorial_18 6402373705728000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_19,121645100408832000,PX,60000 :1:factorial_19 121645100408832000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_20,2432902008176640000,PX,60000 :1:factorial_20 2432902008176640000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_21,51090942171709440000,PX,60000 :1:factorial_21 51090942171709440000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_22,1124000727777607680000,PX,60000 :1:factorial_22 1124000727777607680000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_23,25852016738884976640000,PX,60000 :1:factorial_23 25852016738884976640000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_24,620448401733239439360000,PX,60000 :1:factorial_24 620448401733239439360000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_25,15511210043330985984000000,PX,60000 :1:factorial_25 15511210043330985984000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_26,403291461126605635584000000,PX,60000 :1:factorial_26 403291461126605635584000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_27,10888869450418352160768000000,PX,60000 :1:factorial_27 10888869450418352160768000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_28,304888344611713860501504000000,PX,60000 :1:factorial_28 304888344611713860501504000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_29,8841761993739701954543616000000,PX,60000 :1:factorial_29 8841761993739701954543616000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_30,265252859812191058636308480000000,PX,60000 :1:factorial_30 265252859812191058636308480000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_31,8222838654177922817725562880000000,PX,60000 :1:factorial_31 8222838654177922817725562880000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_32,263130836933693530167218012160000000,PX,60000 :1:factorial_32 263130836933693530167218012160000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_33,8683317618811886495518194401280000000,PX,60000 :1:factorial_33 8683317618811886495518194401280000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_34,295232799039604140847618609643520000000,PX,60000 :1:factorial_34 295232799039604140847618609643520000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_35,10333147966386144929666651337523200000000,PX,60000 :1:factorial_35 10333147966386144929666651337523200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_36,371993326789901217467999448150835200000000,PX,60000 :1:factorial_36 371993326789901217467999448150835200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_37,13763753091226345046315979581580902400000000,PX,60000 :1:factorial_37 13763753091226345046315979581580902400000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_38,523022617466601111760007224100074291200000000,PX,60000 :1:factorial_38 523022617466601111760007224100074291200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_39,20397882081197443358640281739902897356800000000,PX,60000 :1:factorial_39 20397882081197443358640281739902897356800000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_40,815915283247897734345611269596115894272000000000,PX,60000 :1:factorial_40 815915283247897734345611269596115894272000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_41,33452526613163807108170062053440751665152000000000,PX,60000 :1:factorial_41 33452526613163807108170062053440751665152000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_42,1405006117752879898543142606244511569936384000000000,PX,60000 :1:factorial_42 1405006117752879898543142606244511569936384000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_43,60415263063373835637355132068513997507264512000000000,PX,60000 :1:factorial_43 60415263063373835637355132068513997507264512000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_44,2658271574788448768043625811014615890319638528000000000,PX,60000 :1:factorial_44 2658271574788448768043625811014615890319638528000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_45,119622220865480194561963161495657715064383733760000000000,PX,60000 :1:factorial_45 119622220865480194561963161495657715064383733760000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_46,5502622159812088949850305428800254892961651752960000000000,PX,60000 :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_47,258623241511168180642964355153611979969197632389120000000000,PX,60000 :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_48,12413915592536072670862289047373375038521486354677760000000000,PX,60000 :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_49,608281864034267560872252163321295376887552831379210240000000000,PX,60000 :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_50 :1:factorial_50 - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_10 :1:factorial_10 - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_25 :1:factorial_25 - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_256 :1:factorial_256 - +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_1,1,PX,60000 :1:factorial_1 1 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_2,2,PX,60000 :1:factorial_2 2 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_3,6,PX,60000 :1:factorial_3 6 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_4,24,PX,60000 :1:factorial_4 24 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_5,120,PX,60000 :1:factorial_5 120 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_6,720,PX,60000 :1:factorial_6 720 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_7,5040,PX,60000 :1:factorial_7 5040 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_8,40320,PX,60000 :1:factorial_8 40320 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_9,362880,PX,60000 :1:factorial_9 362880 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_10,3628800,PX,60000 :1:factorial_10 3628800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_11,39916800,PX,60000 :1:factorial_11 39916800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_12,479001600,PX,60000 :1:factorial_12 479001600 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_13,6227020800,PX,60000 :1:factorial_13 6227020800 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_14,87178291200,PX,60000 :1:factorial_14 87178291200 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_15,1307674368000,PX,60000 :1:factorial_15 1307674368000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_16,20922789888000,PX,60000 :1:factorial_16 20922789888000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_17,355687428096000,PX,60000 :1:factorial_17 355687428096000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_18,6402373705728000,PX,60000 :1:factorial_18 6402373705728000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_19,121645100408832000,PX,60000 :1:factorial_19 121645100408832000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_20,2432902008176640000,PX,60000 :1:factorial_20 2432902008176640000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_21,51090942171709440000,PX,60000 :1:factorial_21 51090942171709440000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_22,1124000727777607680000,PX,60000 :1:factorial_22 1124000727777607680000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_23,25852016738884976640000,PX,60000 :1:factorial_23 25852016738884976640000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_24,620448401733239439360000,PX,60000 :1:factorial_24 620448401733239439360000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_25,15511210043330985984000000,PX,60000 :1:factorial_25 15511210043330985984000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_26,403291461126605635584000000,PX,60000 :1:factorial_26 403291461126605635584000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_27,10888869450418352160768000000,PX,60000 :1:factorial_27 10888869450418352160768000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_28,304888344611713860501504000000,PX,60000 :1:factorial_28 304888344611713860501504000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_29,8841761993739701954543616000000,PX,60000 :1:factorial_29 8841761993739701954543616000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_30,265252859812191058636308480000000,PX,60000 :1:factorial_30 265252859812191058636308480000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_31,8222838654177922817725562880000000,PX,60000 :1:factorial_31 8222838654177922817725562880000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_32,263130836933693530167218012160000000,PX,60000 :1:factorial_32 263130836933693530167218012160000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_33,8683317618811886495518194401280000000,PX,60000 :1:factorial_33 8683317618811886495518194401280000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_34,295232799039604140847618609643520000000,PX,60000 :1:factorial_34 295232799039604140847618609643520000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_35,10333147966386144929666651337523200000000,PX,60000 :1:factorial_35 10333147966386144929666651337523200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_36,371993326789901217467999448150835200000000,PX,60000 :1:factorial_36 371993326789901217467999448150835200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_37,13763753091226345046315979581580902400000000,PX,60000 :1:factorial_37 13763753091226345046315979581580902400000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_38,523022617466601111760007224100074291200000000,PX,60000 :1:factorial_38 523022617466601111760007224100074291200000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_39,20397882081197443358640281739902897356800000000,PX,60000 :1:factorial_39 20397882081197443358640281739902897356800000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_40,815915283247897734345611269596115894272000000000,PX,60000 :1:factorial_40 815915283247897734345611269596115894272000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_41,33452526613163807108170062053440751665152000000000,PX,60000 :1:factorial_41 33452526613163807108170062053440751665152000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_42,1405006117752879898543142606244511569936384000000000,PX,60000 :1:factorial_42 1405006117752879898543142606244511569936384000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_43,60415263063373835637355132068513997507264512000000000,PX,60000 :1:factorial_43 60415263063373835637355132068513997507264512000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_44,2658271574788448768043625811014615890319638528000000000,PX,60000 :1:factorial_44 2658271574788448768043625811014615890319638528000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_45,119622220865480194561963161495657715064383733760000000000,PX,60000 :1:factorial_45 119622220865480194561963161495657715064383733760000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_46,5502622159812088949850305428800254892961651752960000000000,PX,60000 :1:factorial_46 5502622159812088949850305428800254892961651752960000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_47,258623241511168180642964355153611979969197632389120000000000,PX,60000 :1:factorial_47 258623241511168180642964355153611979969197632389120000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_48,12413915592536072670862289047373375038521486354677760000000000,PX,60000 :1:factorial_48 12413915592536072670862289047373375038521486354677760000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_49,608281864034267560872252163321295376887552831379210240000000000,PX,60000 :1:factorial_49 608281864034267560872252163321295376887552831379210240000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_50,30414093201713378043612608166064768844377641568960512000000000000,PX,60000 :1:factorial_50 30414093201713378043612608166064768844377641568960512000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_51,1551118753287382280224243016469303211063259720016986112000000000000,PX,60000 :1:factorial_51 1551118753287382280224243016469303211063259720016986112000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_52,80658175170943878571660636856403766975289505440883277824000000000000,PX,60000 :1:factorial_52 80658175170943878571660636856403766975289505440883277824000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_53,4274883284060025564298013753389399649690343788366813724672000000000000,PX,60000 :1:factorial_53 4274883284060025564298013753389399649690343788366813724672000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_54,230843697339241380472092742683027581083278564571807941132288000000000000,PX,60000 :1:factorial_54 230843697339241380472092742683027581083278564571807941132288000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_55,12696403353658275925965100847566516959580321051449436762275840000000000000,PX,60000 :1:factorial_55 12696403353658275925965100847566516959580321051449436762275840000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_56,710998587804863451854045647463724949736497978881168458687447040000000000000,PX,60000 :1:factorial_56 710998587804863451854045647463724949736497978881168458687447040000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_57,40526919504877216755680601905432322134980384796226602145184481280000000000000,PX,60000 :1:factorial_57 40526919504877216755680601905432322134980384796226602145184481280000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_58,2350561331282878571829474910515074683828862318181142924420699914240000000000000,PX,60000 :1:factorial_58 2350561331282878571829474910515074683828862318181142924420699914240000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_59,138683118545689835737939019720389406345902876772687432540821294940160000000000000,PX,60000 :1:factorial_59 138683118545689835737939019720389406345902876772687432540821294940160000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_60,8320987112741390144276341183223364380754172606361245952449277696409600000000000000,PX,60000 :1:factorial_60 8320987112741390144276341183223364380754172606361245952449277696409600000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_61,507580213877224798800856812176625227226004528988036003099405939480985600000000000000,PX,60000 :1:factorial_61 507580213877224798800856812176625227226004528988036003099405939480985600000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_62,31469973260387937525653122354950764088012280797258232192163168247821107200000000000000,PX,60000 :1:factorial_62 31469973260387937525653122354950764088012280797258232192163168247821107200000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_63,1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000,PX,60000 :1:factorial_63 1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_64,126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000,PX,60000 :1:factorial_64 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_65,8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000,PX,60000 :1:factorial_65 8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_66,544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000,PX,60000 :1:factorial_66 544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_67,36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000,PX,60000 :1:factorial_67 36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_68,2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000,PX,60000 :1:factorial_68 2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_69,171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000,PX,60000 :1:factorial_69 171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_70,11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000,PX,60000 :1:factorial_70 11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_71,850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000,PX,60000 :1:factorial_71 850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_72,61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000,PX,60000 :1:factorial_72 61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_73,4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000,PX,60000 :1:factorial_73 4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_74,330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000,PX,60000 :1:factorial_74 330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_75,24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000,PX,60000 :1:factorial_75 24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_76,1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000,PX,60000 :1:factorial_76 1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_77,145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000,PX,60000 :1:factorial_77 145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_78,11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000,PX,60000 :1:factorial_78 11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_79,894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000,PX,60000 :1:factorial_79 894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_80,71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000,PX,60000 :1:factorial_80 71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_81,5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000,PX,60000 :1:factorial_81 5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_82,475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000,PX,60000 :1:factorial_82 475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_83,39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000,PX,60000 :1:factorial_83 39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_84,3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000,PX,60000 :1:factorial_84 3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_85,281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000,PX,60000 :1:factorial_85 281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_86,24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000,PX,60000 :1:factorial_86 24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_87,2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000,PX,60000 :1:factorial_87 2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_88,185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000,PX,60000 :1:factorial_88 185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_89,16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000,PX,60000 :1:factorial_89 16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_90,1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000,PX,60000 :1:factorial_90 1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_91,135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000,PX,60000 :1:factorial_91 135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_92,12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000,PX,60000 :1:factorial_92 12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_93,1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000,PX,60000 :1:factorial_93 1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_94,108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000,PX,60000 :1:factorial_94 108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_95,10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000,PX,60000 :1:factorial_95 10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_96,991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000,PX,60000 :1:factorial_96 991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_97,96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000,PX,60000 :1:factorial_97 96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_98,9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000,PX,60000 :1:factorial_98 9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_99,933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000,PX,60000 :1:factorial_99 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_100,93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000,PX,60000 :1:factorial_100 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_101,9425947759838359420851623124482936749562312794702543768327889353416977599316221476503087861591808346911623490003549599583369706302603264000000000000000000000000,PX,60000 :1:factorial_101 9425947759838359420851623124482936749562312794702543768327889353416977599316221476503087861591808346911623490003549599583369706302603264000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_102,961446671503512660926865558697259548455355905059659464369444714048531715130254590603314961882364451384985595980362059157503710042865532928000000000000000000000000,PX,60000 :1:factorial_102 961446671503512660926865558697259548455355905059659464369444714048531715130254590603314961882364451384985595980362059157503710042865532928000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_103,99029007164861804075467152545817733490901658221144924830052805546998766658416222832141441073883538492653516385977292093222882134415149891584000000000000000000000000,PX,60000 :1:factorial_103 99029007164861804075467152545817733490901658221144924830052805546998766658416222832141441073883538492653516385977292093222882134415149891584000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_104,10299016745145627623848583864765044283053772454999072182325491776887871732475287174542709871683888003235965704141638377695179741979175588724736000000000000000000000000,PX,60000 :1:factorial_104 10299016745145627623848583864765044283053772454999072182325491776887871732475287174542709871683888003235965704141638377695179741979175588724736000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_105,1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000,PX,60000 :1:factorial_105 1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_106,114628056373470835453434738414834942870388487424139673389282723476762012382449946252660360871841673476016298287096435143747350528228224302506311680000000000000000000000000,PX,60000 :1:factorial_106 114628056373470835453434738414834942870388487424139673389282723476762012382449946252660360871841673476016298287096435143747350528228224302506311680000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_107,12265202031961379393517517010387338887131568154382945052653251412013535324922144249034658613287059061933743916719318560380966506520420000368175349760000000000000000000000000,PX,60000 :1:factorial_107 12265202031961379393517517010387338887131568154382945052653251412013535324922144249034658613287059061933743916719318560380966506520420000368175349760000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_108,1324641819451828974499891837121832599810209360673358065686551152497461815091591578895743130235002378688844343005686404521144382704205360039762937774080000000000000000000000000,PX,60000 :1:factorial_108 1324641819451828974499891837121832599810209360673358065686551152497461815091591578895743130235002378688844343005686404521144382704205360039762937774080000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_109,144385958320249358220488210246279753379312820313396029159834075622223337844983482099636001195615259277084033387619818092804737714758384244334160217374720000000000000000000000000,PX,60000 :1:factorial_109 144385958320249358220488210246279753379312820313396029159834075622223337844983482099636001195615259277084033387619818092804737714758384244334160217374720000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_110,15882455415227429404253703127090772871724410234473563207581748318444567162948183030959960131517678520479243672638179990208521148623422266876757623911219200000000000000000000000000,PX,60000 :1:factorial_110 15882455415227429404253703127090772871724410234473563207581748318444567162948183030959960131517678520479243672638179990208521148623422266876757623911219200000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_111,1762952551090244663872161047107075788761409536026565516041574063347346955087248316436555574598462315773196047662837978913145847497199871623320096254145331200000000000000000000000000,PX,60000 :1:factorial_111 1762952551090244663872161047107075788761409536026565516041574063347346955087248316436555574598462315773196047662837978913145847497199871623320096254145331200000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_112,197450685722107402353682037275992488341277868034975337796656295094902858969771811440894224355027779366597957338237853638272334919686385621811850780464277094400000000000000000000000000,PX,60000 :1:factorial_112 197450685722107402353682037275992488341277868034975337796656295094902858969771811440894224355027779366597957338237853638272334919686385621811850780464277094400000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_113,22311927486598136465966070212187151182564399087952213171022161345724023063584214692821047352118139068425569179220877461124773845924561575264739138192463311667200000000000000000000000000,PX,60000 :1:factorial_113 22311927486598136465966070212187151182564399087952213171022161345724023063584214692821047352118139068425569179220877461124773845924561575264739138192463311667200000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_114,2543559733472187557120132004189335234812341496026552301496526393412538629248600474981599398141467853800514886431180030568224218435400019580180261753940817530060800000000000000000000000000,PX,60000 :1:factorial_114 2543559733472187557120132004189335234812341496026552301496526393412538629248600474981599398141467853800514886431180030568224218435400019580180261753940817530060800000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_115,292509369349301569068815180481773552003419272043053514672100535242441942363589054622883930786268803187059211939585703515345785120071002251720730101703194015956992000000000000000000000000000,PX,60000 :1:factorial_115 292509369349301569068815180481773552003419272043053514672100535242441942363589054622883930786268803187059211939585703515345785120071002251720730101703194015956992000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_116,33931086844518982011982560935885732032396635556994207701963662088123265314176330336254535971207181169698868584991941607780111073928236261199604691797570505851011072000000000000000000000000000,PX,60000 :1:factorial_116 33931086844518982011982560935885732032396635556994207701963662088123265314176330336254535971207181169698868584991941607780111073928236261199604691797570505851011072000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_117,3969937160808720895401959629498630647790406360168322301129748464310422041758630649341780708631240196854767624444057168110272995649603642560353748940315749184568295424000000000000000000000000000,PX,60000 :1:factorial_117 3969937160808720895401959629498630647790406360168322301129748464310422041758630649341780708631240196854767624444057168110272995649603642560353748940315749184568295424000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_118,468452584975429065657431236280838416439267950499862031533310318788629800927518416622330123618486343228862579684398745837012213486653229822121742374957258403779058860032000000000000000000000000000,PX,60000 :1:factorial_118 468452584975429065657431236280838416439267950499862031533310318788629800927518416622330123618486343228862579684398745837012213486653229822121742374957258403779058860032000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_119,55745857612076058813234317117419771556272886109483581752463927935846946310374691578057284710599874844234646982443450754604453404911734348832487342619913750049708004343808000000000000000000000000000,PX,60000 :1:factorial_119 55745857612076058813234317117419771556272886109483581752463927935846946310374691578057284710599874844234646982443450754604453404911734348832487342619913750049708004343808000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_120,6689502913449127057588118054090372586752746333138029810295671352301633557244962989366874165271984981308157637893214090552534408589408121859898481114389650005964960521256960000000000000000000000000000,PX,60000 :1:factorial_120 6689502913449127057588118054090372586752746333138029810295671352301633557244962989366874165271984981308157637893214090552534408589408121859898481114389650005964960521256960000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_121,809429852527344373968162284544935082997082306309701607045776233628497660426640521713391773997910182738287074185078904956856663439318382745047716214841147650721760223072092160000000000000000000000000000,PX,60000 :1:factorial_121 809429852527344373968162284544935082997082306309701607045776233628497660426640521713391773997910182738287074185078904956856663439318382745047716214841147650721760223072092160000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_122,98750442008336013624115798714482080125644041369783596059584700502676714572050143649033796427745042294071023050579626404736512939596842694895821378210620013388054747214795243520000000000000000000000000000,PX,60000 :1:factorial_122 98750442008336013624115798714482080125644041369783596059584700502676714572050143649033796427745042294071023050579626404736512939596842694895821378210620013388054747214795243520000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_123,12146304367025329675766243241881295855454217088483382315328918161829235892362167668831156960612640202170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000000000,PX,60000 :1:factorial_123 12146304367025329675766243241881295855454217088483382315328918161829235892362167668831156960612640202170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_124,1506141741511140879795014161993280686076322918971939407100785852066825250652908790935063463115967385069171243567440461925041295354731044782551067660468376444194611004520057054167040000000000000000000000000000,PX,60000 :1:factorial_124 1506141741511140879795014161993280686076322918971939407100785852066825250652908790935063463115967385069171243567440461925041295354731044782551067660468376444194611004520057054167040000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_125,188267717688892609974376770249160085759540364871492425887598231508353156331613598866882932889495923133646405445930057740630161919341380597818883457558547055524326375565007131770880000000000000000000000000000000,PX,60000 :1:factorial_125 188267717688892609974376770249160085759540364871492425887598231508353156331613598866882932889495923133646405445930057740630161919341380597818883457558547055524326375565007131770880000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_126,23721732428800468856771473051394170805702085973808045661837377170052497697783313457227249544076486314839447086187187275319400401837013955325179315652376928996065123321190898603130880000000000000000000000000000000,PX,60000 :1:factorial_126 23721732428800468856771473051394170805702085973808045661837377170052497697783313457227249544076486314839447086187187275319400401837013955325179315652376928996065123321190898603130880000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_127,3012660018457659544809977077527059692324164918673621799053346900596667207618480809067860692097713761984609779945772783965563851033300772326297773087851869982500270661791244122597621760000000000000000000000000000000,PX,60000 :1:factorial_127 3012660018457659544809977077527059692324164918673621799053346900596667207618480809067860692097713761984609779945772783965563851033300772326297773087851869982500270661791244122597621760000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_128,385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000,PX,60000 :1:factorial_128 385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_129,49745042224772874403902341504126809639656611137138843145968864022652168932196355119328515747917449637889876686464600208839390308261862352651828829226610077151044469167497022952331930501120000000000000000000000000000000,PX,60000 :1:factorial_129 49745042224772874403902341504126809639656611137138843145968864022652168932196355119328515747917449637889876686464600208839390308261862352651828829226610077151044469167497022952331930501120000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_130,6466855489220473672507304395536485253155359447828049608975952322944781961185526165512707047229268452925683969240398027149120740074042105844737747799459310029635780991774612983803150965145600000000000000000000000000000000,PX,60000 :1:factorial_130 6466855489220473672507304395536485253155359447828049608975952322944781961185526165512707047229268452925683969240398027149120740074042105844737747799459310029635780991774612983803150965145600000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_131,847158069087882051098456875815279568163352087665474498775849754305766436915303927682164623187034167333264599970492141556534816949699515865660644961729169613882287309922474300878212776434073600000000000000000000000000000000,PX,60000 :1:factorial_131 847158069087882051098456875815279568163352087665474498775849754305766436915303927682164623187034167333264599970492141556534816949699515865660644961729169613882287309922474300878212776434073600000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_132,111824865119600430744996307607616902997562475571842633838412167568361169672820118454045730260688510087990927196104962685462595837360336094267205134948250389032461924909766607715924086489297715200000000000000000000000000000000,PX,60000 :1:factorial_132 111824865119600430744996307607616902997562475571842633838412167568361169672820118454045730260688510087990927196104962685462595837360336094267205134948250389032461924909766607715924086489297715200000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_133,14872707060906857289084508911813048098675809251055070300508818286592035566485075754388082124671571841702793317081960037166525246368924700537538282948117301741317436012998958826217903503076596121600000000000000000000000000000000,PX,60000 :1:factorial_133 14872707060906857289084508911813048098675809251055070300508818286592035566485075754388082124671571841702793317081960037166525246368924700537538282948117301741317436012998958826217903503076596121600000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_134,1992942746161518876737324194182948445222558439641379420268181650403332765909000151088003004705990626788174304488982644980314383013435909872030129915047718433336536425741860482713199069412263880294400000000000000000000000000000000,PX,60000 :1:factorial_134 1992942746161518876737324194182948445222558439641379420268181650403332765909000151088003004705990626788174304488982644980314383013435909872030129915047718433336536425741860482713199069412263880294400000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_135,269047270731805048359538766214698040105045389351586221736204522804449923397715020396880405635308734616403531106012657072342441706813847832724067538531441988500432417475151165166281874370655623839744000000000000000000000000000000000,PX,60000 :1:factorial_135 269047270731805048359538766214698040105045389351586221736204522804449923397715020396880405635308734616403531106012657072342441706813847832724067538531441988500432417475151165166281874370655623839744000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_136,36590428819525486576897272205198933454286172951815726156123815101405189582089242773975735166401987907830880230417721361838572072126683305250473185240276110436058808776620558462614334914409164842205184000000000000000000000000000000000,PX,60000 :1:factorial_136 36590428819525486576897272205198933454286172951815726156123815101405189582089242773975735166401987907830880230417721361838572072126683305250473185240276110436058808776620558462614334914409164842205184000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_137,5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000,PX,60000 :1:factorial_137 5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_138,691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000,PX,60000 :1:factorial_138 691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_139,96157231969410890041971956135297253988256079629956908500367081914696145479218112119985149618783441690577636407442564169301886059792163365100096999581219760002673769583579570682891939608962934200435638009856000000000000000000000000000000000,PX,60000 :1:factorial_139 96157231969410890041971956135297253988256079629956908500367081914696145479218112119985149618783441690577636407442564169301886059792163365100096999581219760002673769583579570682891939608962934200435638009856000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_140,13462012475717524605876073858941615558355851148193967190051391468057460367090535696797920946629681836680869097041958983702264048370902871114013579941370766400374327741701139895604871545254810788060989321379840000000000000000000000000000000000,PX,60000 :1:factorial_140 13462012475717524605876073858941615558355851148193967190051391468057460367090535696797920946629681836680869097041958983702264048370902871114013579941370766400374327741701139895604871545254810788060989321379840000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_141,1898143759076170969428526414110767793728175011895349373797246196996101911759765533248506853474785138972002542682916216702019230820297304827075914771733278062452780211579860725280286887880928321116599494314557440000000000000000000000000000000000,PX,60000 :1:factorial_141 1898143759076170969428526414110767793728175011895349373797246196996101911759765533248506853474785138972002542682916216702019230820297304827075914771733278062452780211579860725280286887880928321116599494314557440000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_142,269536413788816277658850750803729026709400851689139611079208959973446471469886705721287973193419489734024361060974102771686730776482217285444779897586125484868294790044340222989800738079091821598557128192667156480000000000000000000000000000000000,PX,60000 :1:factorial_142 269536413788816277658850750803729026709400851689139611079208959973446471469886705721287973193419489734024361060974102771686730776482217285444779897586125484868294790044340222989800738079091821598557128192667156480000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_143,38543707171800727705215657364933250819444321791546964384326881276202845420193798918144180166658987031965483631719296696351202501036957071818603525354815944336166154976340651887541505545310130488593669331551403376640000000000000000000000000000000000,PX,60000 :1:factorial_143 38543707171800727705215657364933250819444321791546964384326881276202845420193798918144180166658987031965483631719296696351202501036957071818603525354815944336166154976340651887541505545310130488593669331551403376640000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_144,5550293832739304789551054660550388117999982337982762871343070903773209740507907044212761943998894132603029642967578724274573160149321818341878907651093495984407926316593053871805976798524658790357488383743402086236160000000000000000000000000000000000,PX,60000 :1:factorial_144 5550293832739304789551054660550388117999982337982762871343070903773209740507907044212761943998894132603029642967578724274573160149321818341878907651093495984407926316593053871805976798524658790357488383743402086236160000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_145,804792605747199194484902925779806277109997439007500616344745281047115412373646521410850481879839649227439298230298915019813108221651663659572441609408556917739149315905992811411866635786075524601835815642793302504243200000000000000000000000000000000000,PX,60000 :1:factorial_145 804792605747199194484902925779806277109997439007500616344745281047115412373646521410850481879839649227439298230298915019813108221651663659572441609408556917739149315905992811411866635786075524601835815642793302504243200000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_146,117499720439091082394795827163851716458059626095095089986332811032878850206552392125984170354456588787206137541623641592892713800361142894297576474973649309989915800122274950466132528824767026591868029083847822165619507200000000000000000000000000000000000,PX,60000 :1:factorial_146 117499720439091082394795827163851716458059626095095089986332811032878850206552392125984170354456588787206137541623641592892713800361142894297576474973649309989915800122274950466132528824767026591868029083847822165619507200000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_147,17272458904546389112034986593086202319334765035978978227990923221833190980363201642519673042105118551719302218618675314155228928653088005461743741821126448568517622617974417718521481737240752909004600275325629858346067558400000000000000000000000000000000000,PX,60000 :1:factorial_147 17272458904546389112034986593086202319334765035978978227990923221833190980363201642519673042105118551719302218618675314155228928653088005461743741821126448568517622617974417718521481737240752909004600275325629858346067558400000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_148,2556323917872865588581178015776757943261545225324888777742656636831312265093753843092911610231557545654456728355563946494973881440657024808338073789526714388140608147460213822341179297111631430532680840748193219035217998643200000000000000000000000000000000000,PX,60000 :1:factorial_148 2556323917872865588581178015776757943261545225324888777742656636831312265093753843092911610231557545654456728355563946494973881440657024808338073789526714388140608147460213822341179297111631430532680840748193219035217998643200000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_149,380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000,PX,60000 :1:factorial_149 380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_150,57133839564458545904789328652610540031895535786011264182548375833179829124845398393126574488675311145377107878746854204162666250198684504466355949195922066574942592095735778929325357290444962472405416790722118445437122269675520000000000000000000000000000000000000,PX,60000 :1:factorial_150 57133839564458545904789328652610540031895535786011264182548375833179829124845398393126574488675311145377107878746854204162666250198684504466355949195922066574942592095735778929325357290444962472405416790722118445437122269675520000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_151,8627209774233240431623188626544191544816225903687700891564804750810154197851655157362112747789971982951943289690774984828562603780001360174419748328584232052816331406456102618328128950857189333333217935399039885261005462721003520000000000000000000000000000000000000,PX,60000 :1:factorial_151 8627209774233240431623188626544191544816225903687700891564804750810154197851655157362112747789971982951943289690774984828562603780001360174419748328584232052816331406456102618328128950857189333333217935399039885261005462721003520000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_152,1311335885683452545606724671234717114812066337360530535517850322123143438073451583919041137664075741408695380032997797693941515774560206746511801745944803272028082373781327597985875600530292778666649126180654062559672830333592535040000000000000000000000000000000000000,PX,60000 :1:factorial_152 1311335885683452545606724671234717114812066337360530535517850322123143438073451583919041137664075741408695380032997797693941515774560206746511801745944803272028082373781327597985875600530292778666649126180654062559672830333592535040000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_153,200634390509568239477828874698911718566246149616161171934231099284840946025238092339613294062603588435530393145048663047173051913507711632216305667129554900620296603188543122491838966881134795135997316305640071571629943041039657861120000000000000000000000000000000000000,PX,60000 :1:factorial_153 200634390509568239477828874698911718566246149616161171934231099284840946025238092339613294062603588435530393145048663047173051913507711632216305667129554900620296603188543122491838966881134795135997316305640071571629943041039657861120000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_154,30897696138473508879585646703632404659201907040888820477871589289865505687886666220300447285640952619071680544337494109264649994680187591361311072737951454695525676891035640863743200899694758450943586711068571022031011228320107310612480000000000000000000000000000000000000,PX,60000 :1:factorial_154 30897696138473508879585646703632404659201907040888820477871589289865505687886666220300447285640952619071680544337494109264649994680187591361311072737951454695525676891035640863743200899694758450943586711068571022031011228320107310612480000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_155,4789142901463393876335775239063022722176295591337767174070096339929153381622433264146569329274347655956110484372311586936020749175429076661003216274382475477806479918110524333880196139452687559896255940215628508414806740389616633144934400000000000000000000000000000000000000,PX,60000 :1:factorial_155 4789142901463393876335775239063022722176295591337767174070096339929153381622433264146569329274347655956110484372311586936020749175429076661003216274382475477806479918110524333880196139452687559896255940215628508414806740389616633144934400000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_156,747106292628289444708380937293831544659502112248691679154935029028947927533099589206864815366798234329153235562080607562019236871366935959116501738803666174537810867225241796085310597754619259343815926673638047312709851500780194770609766400000000000000000000000000000000000000,PX,60000 :1:factorial_156 747106292628289444708380937293831544659502112248691679154935029028947927533099589206864815366798234329153235562080607562019236871366935959116501738803666174537810867225241796085310597754619259343815926673638047312709851500780194770609766400000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_157,117295687942641442819215807155131552511541831623044593627324799557544824622696635505477776012587322789677057983246655387237020188804608945581290772992175589402436306154362961985393763847475223716979100487761173428095446685622490578985733324800000000000000000000000000000000000000,PX,60000 :1:factorial_157 117295687942641442819215807155131552511541831623044593627324799557544824622696635505477776012587322789677057983246655387237020188804608945581290772992175589402436306154362961985393763847475223716979100487761173428095446685622490578985733324800000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_158,18532718694937347965436097530510785296823609396441045793117318330092082290386068409865488609988797000768975161352971551183449189831128213401843942132763743125584936372389347993692214687901085347282697877066265401639080576328353511479745865318400000000000000000000000000000000000000,PX,60000 :1:factorial_158 18532718694937347965436097530510785296823609396441045793117318330092082290386068409865488609988797000768975161352971551183449189831128213401843942132763743125584936372389347993692214687901085347282697877066265401639080576328353511479745865318400000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_159,2946702272495038326504339507351214862194953894034126281105653614484641084171384877168612688988218723122267050655122476638168421183149385930893186799109435156968004883209906330997062135376272570217948962453536198860613811636208208325279592585625600000000000000000000000000000000000000,PX,60000 :1:factorial_159 2946702272495038326504339507351214862194953894034126281105653614484641084171384877168612688988218723122267050655122476638168421183149385930893186799109435156968004883209906330997062135376272570217948962453536198860613811636208208325279592585625600000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_160,471472363599206132240694321176194377951192623045460204976904578317542573467421580346978030238114995699562728104819596262106947389303901748942909887857509625114880781313585012959529941660203611234871833992565791817698209861793313332044734813700096000000000000000000000000000000000000000,PX,60000 :1:factorial_160 471472363599206132240694321176194377951192623045460204976904578317542573467421580346978030238114995699562728104819596262106947389303901748942909887857509625114880781313585012959529941660203611234871833992565791817698209861793313332044734813700096000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_161,75907050539472187290751785709367294850142012310319093001281637109124354328254874435863462868336514307629599224875954998199218529677928181579808491945059049643495805791487187086484320607292781408814365272803092482649411787748723446459202305005715456000000000000000000000000000000000000000,PX,60000 :1:factorial_161 75907050539472187290751785709367294850142012310319093001281637109124354328254874435863462868336514307629599224875954998199218529677928181579808491945059049643495805791487187086484320607292781408814365272803092482649411787748723446459202305005715456000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_162,12296942187394494341101789284917501765723005994271693066207625211678145401177289658609880984670515317835995074429904709708273401807824365415928975695099566042246320538220924308010459938381430588227927174194100982189204709615293198326390773410925903872000000000000000000000000000000000000000,PX,60000 :1:factorial_162 12296942187394494341101789284917501765723005994271693066207625211678145401177289658609880984670515317835995074429904709708273401807824365415928975695099566042246320538220924308010459938381430588227927174194100982189204709615293198326390773410925903872000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_163,2004401576545302577599591653441552787812849977066285969791842909503537700391898214353410600501293996807267197132074467682448564494675371562796423038301229264886150247730010662205704969956173185881152129393638460096840367667292791327201696065980922331136000000000000000000000000000000000000000,PX,60000 :1:factorial_163 2004401576545302577599591653441552787812849977066285969791842909503537700391898214353410600501293996807267197132074467682448564494675371562796423038301229264886150247730010662205704969956173185881152129393638460096840367667292791327201696065980922331136000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_164,328721858553429622726333031164414657201307396238870899045862237158580182864271307153959338482212215476391820329660212699921564577126760936298613378281401599441328640627721748601735615072812402484508949220556707455881820297436017777661078154820871262306304000000000000000000000000000000000000000,PX,60000 :1:factorial_164 328721858553429622726333031164414657201307396238870899045862237158580182864271307153959338482212215476391820329660212699921564577126760936298613378281401599441328640627721748601735615072812402484508949220556707455881820297436017777661078154820871262306304000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_165,54239106661315887749844950142128418438215720379413698342567269131165730172604765680403290849565015553604650354393935095487058155225915554489271207416431263907819225703574088519286376487014046409943976621391856730220500349076942933314077895545443758280540160000000000000000000000000000000000000000,PX,60000 :1:factorial_165 54239106661315887749844950142128418438215720379413698342567269131165730172604765680403290849565015553604650354393935095487058155225915554489271207416431263907819225703574088519286376487014046409943976621391856730220500349076942933314077895545443758280540160000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_166,9003691705778437366474261723593317460743809582982673924866166675773511208652391102946946281027792581898371958829393225850851653767501982045219020431127589808697991466793298694201538496844331704050700119151048217216603057946772526930136930660543663874569666560000000000000000000000000000000000000000,PX,60000 :1:factorial_166 9003691705778437366474261723593317460743809582982673924866166675773511208652391102946946281027792581898371958829393225850851653767501982045219020431127589808697991466793298694201538496844331704050700119151048217216603057946772526930136930660543663874569666560000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_167,1503616514864999040201201707840084015944216200358106545452649834854176371844949314192140028931641361177028117124508668717092226179172831001551576411998307498052564574954480881931656928973003394576466919898225052275172710677111011997332867420310791867053134315520000000000000000000000000000000000000000,PX,60000 :1:factorial_167 1503616514864999040201201707840084015944216200358106545452649834854176371844949314192140028931641361177028117124508668717092226179172831001551576411998307498052564574954480881931656928973003394576466919898225052275172710677111011997332867420310791867053134315520000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_168,252607574497319838753801886917134114678628321660161899636045172255501630469951484784279524860515748677740723676917456344471493998101035608260664837215715659672830848592352788164518364067464570288846442542901808782229015393754650015551921726612213033664926565007360000000000000000000000000000000000000000,PX,60000 :1:factorial_168 252607574497319838753801886917134114678628321660161899636045172255501630469951484784279524860515748677740723676917456344471493998101035608260664837215715659672830848592352788164518364067464570288846442542901808782229015393754650015551921726612213033664926565007360000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_169,42690680090047052749392518888995665380688186360567361038491634111179775549421800928543239701427161526538182301399050122215682485679075017796052357489455946484708413412107621199803603527401512378815048789750405684196703601544535852628274771797464002689372589486243840000000000000000000000000000000000000000,PX,60000 :1:factorial_169 42690680090047052749392518888995665380688186360567361038491634111179775549421800928543239701427161526538182301399050122215682485679075017796052357489455946484708413412107621199803603527401512378815048789750405684196703601544535852628274771797464002689372589486243840000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_170,7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000,PX,60000 :1:factorial_170 7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_171,1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000,PX,60000 :1:factorial_171 1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_172,213455108077438865629072570145733886730056159330291227886899710221263324938130981514753340236723864719151973034287306573083301055694802251980973629541579310661401455397074590303866009781148657954570396550703618437210885875866741044575478989978191912006970522334798649753600000000000000000000000000000000000000000,PX,60000 :1:factorial_172 213455108077438865629072570145733886730056159330291227886899710221263324938130981514753340236723864719151973034287306573083301055694802251980973629541579310661401455397074590303866009781148657954570396550703618437210885875866741044575478989978191912006970522334798649753600000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_173,36927733697396923753829554635211962404299715564140382424433649868278555214296659802052327860953228596413291334931704037143411082635200789592708437910693220744422451783693904122568819692138717826140678603271725989637483256524946200711557865266227200777205900363920166407372800000000000000000000000000000000000000000,PX,60000 :1:factorial_173 36927733697396923753829554635211962404299715564140382424433649868278555214296659802052327860953228596413291334931704037143411082635200789592708437910693220744422451783693904122568819692138717826140678603271725989637483256524946200711557865266227200777205900363920166407372800000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_174,6425425663347064733166342506526881458348150508160426541851455077080468607287618805557105047805861775775912692278116502462953528378524937389131268196460620409529506610362739317326974626432136901748478076969280322196922086635340638923811068556323532935233826663322108954882867200000000000000000000000000000000000000000,PX,60000 :1:factorial_174 6425425663347064733166342506526881458348150508160426541851455077080468607287618805557105047805861775775912692278116502462953528378524937389131268196460620409529506610362739317326974626432136901748478076969280322196922086635340638923811068556323532935233826663322108954882867200000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_175,1124449491085736328304109938642204255210926338928074644824004638489082006275333290972493383366025810760784721148670387931016867466241864043097971934380608571667663656813479380532220559625623957805983663469624056384461365161184611811666936997356618263665919666081369067104501760000000000000000000000000000000000000000000,PX,60000 :1:factorial_175 1124449491085736328304109938642204255210926338928074644824004638489082006275333290972493383366025810760784721148670387931016867466241864043097971934380608571667663656813479380532220559625623957805983663469624056384461365161184611811666936997356618263665919666081369067104501760000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_176,197903110431089593781523349201027948917123035651341137489024816374078433104458659211158835472420542693898110922165988275858968674058568071585243060450987108613508803599172370973670818494109816573853124770653833923665200268368491678853380911534764814405201861230320955810392309760000000000000000000000000000000000000000000,PX,60000 :1:factorial_176 197903110431089593781523349201027948917123035651341137489024816374078433104458659211158835472420542693898110922165988275858968674058568071585243060450987108613508803599172370973670818494109816573853124770653833923665200268368491678853380911534764814405201861230320955810392309760000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_177,35028850546302858099329632808581946958330777310287381335557392498211882659489182680375113878618436056819965633223379924827037455308366548670588021699824718224591058237053509662339734873457437533572003084405728604488740447501223027157048421341653372149720729437766809178439438827520000000000000000000000000000000000000000000,PX,60000 :1:factorial_177 35028850546302858099329632808581946958330777310287381335557392498211882659489182680375113878618436056819965633223379924827037455308366548670588021699824718224591058237053509662339734873457437533572003084405728604488740447501223027157048421341653372149720729437766809178439438827520000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_178,6235135397241908741680674639927586558582878361231153877729215864681715113389074517106770270394081618113953882713761626619212667044889245663364667862568799843977208366195524719896472807475423880975816549024219691598995799655217698833954618998814300242650289839922492033762220111298560000000000000000000000000000000000000000000,PX,60000 :1:factorial_178 6235135397241908741680674639927586558582878361231153877729215864681715113389074517106770270394081618113953882713761626619212667044889245663364667862568799843977208366195524719896472807475423880975816549024219691598995799655217698833954618998814300242650289839922492033762220111298560000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_179,1116089236106301664760840760547037993986335226660376544113529639778027005296644338562111878400540609642397745005763331164839067401035174973742275547399815172071920297548998924861468632538100874694671162275335324796220248138283968091277876800787759743434401881346126074043437399922442240000000000000000000000000000000000000000000,PX,60000 :1:factorial_179 1116089236106301664760840760547037993986335226660376544113529639778027005296644338562111878400540609642397745005763331164839067401035174973742275547399815172071920297548998924861468632538100874694671162275335324796220248138283968091277876800787759743434401881346126074043437399922442240000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_180,200896062499134299656951336898466838917540340798867777940435335160044860953395980941180138112097309735631594101037399609671032132186331495273609598531966730972945653558819806475064353856858157445040809209560358463319644664891114256430017824141796753818192338642302693327818731986039603200000000000000000000000000000000000000000000,PX,60000 :1:factorial_180 200896062499134299656951336898466838917540340798867777940435335160044860953395980941180138112097309735631594101037399609671032132186331495273609598531966730972945653558819806475064353856858157445040809209560358463319644664891114256430017824141796753818192338642302693327818731986039603200000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_181,36362187312343308237908191978622497844074801684595067807218795663968119832564672550353604998289613062149318532287769329350456815925726000644523337334285978306103163294146384971986648048091326497552386466930424881860855684345291680413833226169665212441092813294256787492335190489473168179200000000000000000000000000000000000000000000,PX,60000 :1:factorial_181 36362187312343308237908191978622497844074801684595067807218795663968119832564672550353604998289613062149318532287769329350456815925726000644523337334285978306103163294146384971986648048091326497552386466930424881860855684345291680413833226169665212441092813294256787492335190489473168179200000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_182,6617918090846482099299290940109294607621613906596302340913820810842197809526770404164356109688709577311175972876374017941783140498482132117303247394840048051710775719534642064901569944752621422554534336981337328498675734550843085835317647162879068664278892019554735323605004669084116608614400000000000000000000000000000000000000000000,PX,60000 :1:factorial_182 6617918090846482099299290940109294607621613906596302340913820810842197809526770404164356109688709577311175972876374017941783140498482132117303247394840048051710775719534642064901569944752621422554534336981337328498675734550843085835317647162879068664278892019554735323605004669084116608614400000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_183,1211079010624906224171770242040000913194755344907123328387229208384122199143398983962077168073033852647945203036376445283346314711222230177466494273255728793463071956674839497876987299889729720327479783667584731115257659422804284707863129430806869565563037239578516564219715854442393339376435200000000000000000000000000000000000000000000,PX,60000 :1:factorial_183 1211079010624906224171770242040000913194755344907123328387229208384122199143398983962077168073033852647945203036376445283346314711222230177466494273255728793463071956674839497876987299889729720327479783667584731115257659422804284707863129430806869565563037239578516564219715854442393339376435200000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_184,222838537954982745247605724535360168027834983462910692423250174342678484642385413049022198925438228887221917358693265932135721906864890352653834946279054097997205240028170467609365663179710268540256280194835590525207409333795988386246815815268464000063598852082447047816427717217400374445264076800000000000000000000000000000000000000000000,PX,60000 :1:factorial_184 222838537954982745247605724535360168027834983462910692423250174342678484642385413049022198925438228887221917358693265932135721906864890352653834946279054097997205240028170467609365663179710268540256280194835590525207409333795988386246815815268464000063598852082447047816427717217400374445264076800000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_185,41225129521671807870807059039041631085149471940638478098301282253395519658841301414069106801206072344136054711358254197445108552770004715240959465061625008129482969405211536507732647688246399679947411836044584247163370726752257851455660925824665840011765787635252703846039127685219069272373854208000000000000000000000000000000000000000000000,PX,60000 :1:factorial_185 41225129521671807870807059039041631085149471940638478098301282253395519658841301414069106801206072344136054711358254197445108552770004715240959465061625008129482969405211536507732647688246399679947411836044584247163370726752257851455660925824665840011765787635252703846039127685219069272373854208000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_186,7667874091030956263970112981261743381837801780958756926284038499131566656544482063016853865024329456009306176312635280724790190815220877034818460501462251512083832309369345790438272470013830340470218601504292669972386955175919960370752932203387846242188436500157002915363277749450746884661536882688000000000000000000000000000000000000000000000,PX,60000 :1:factorial_186 7667874091030956263970112981261743381837801780958756926284038499131566656544482063016853865024329456009306176312635280724790190815220877034818460501462251512083832309369345790438272470013830340470218601504292669972386955175919960370752932203387846242188436500157002915363277749450746884661536882688000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_187,1433892455022788821362411127495946012403668933039287545215115199337602964773818145784151672759549608273740254970462797495535765682446304005511052113773441032759676641852067662811956951892586273667930878481302729284836360617897032589330798322033527247289237625529359545172932939147289667431707397062656000000000000000000000000000000000000000000000,PX,60000 :1:factorial_187 1433892455022788821362411127495946012403668933039287545215115199337602964773818145784151672759549608273740254970462797495535765682446304005511052113773441032759676641852067662811956951892586273667930878481302729284836360617897032589330798322033527247289237625529359545172932939147289667431707397062656000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_188,269571781544284298416133291969237850331889759411386058500441657475469357377477811407420514478795326355463167934447005929160723948299905153036077797389406914158819208668188720608647906955806219449571005154484913105549235796164642126794190084542303122490376673599519594492511392559690457477160990647779328000000000000000000000000000000000000000000000,PX,60000 :1:factorial_188 269571781544284298416133291969237850331889759411386058500441657475469357377477811407420514478795326355463167934447005929160723948299905153036077797389406914158819208668188720608647906955806219449571005154484913105549235796164642126794190084542303122490376673599519594492511392559690457477160990647779328000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_189,50949066711869732400649192182185953712727164528751965056583473262863708544343306356002477236492316681182538739610484120611376826228682073923818703706597906776016830438287668195034454414647375475968919974197648576948805565475117361964101925978495290150681191310309203359084653193781496463183427232430292992000000000000000000000000000000000000000000000,PX,60000 :1:factorial_189 50949066711869732400649192182185953712727164528751965056583473262863708544343306356002477236492316681182538739610484120611376826228682073923818703706597906776016830438287668195034454414647375475968919974197648576948805565475117361964101925978495290150681191310309203359084653193781496463183427232430292992000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_190,9680322675255249156123346514615331205418161260462873360750859919944104623425228207640470674933540169424682360525991982916161596983449594045525553704253602287443197783274656957056546338783001340434094795097553229620273057440272298773179365935914105128629426348958748638226084106818484328004851174161755668480000000000000000000000000000000000000000000000,PX,60000 :1:factorial_190 9680322675255249156123346514615331205418161260462873360750859919944104623425228207640470674933540169424682360525991982916161596983449594045525553704253602287443197783274656957056546338783001340434094795097553229620273057440272298773179365935914105128629426348958748638226084106818484328004851174161755668480000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_191,1848941630973752588819559184291528260234868800748408811903414244709323983074218587659329898912306172360114330860464468736986865023838872462695380757512438036901650776605459478797800350707553256022912105863632666857472153971092009065677258893759594079568220432651120989901182064402330506648926574264895332679680000000000000000000000000000000000000000000000,PX,60000 :1:factorial_191 1848941630973752588819559184291528260234868800748408811903414244709323983074218587659329898912306172360114330860464468736986865023838872462695380757512438036901650776605459478797800350707553256022912105863632666857472153971092009065677258893759594079568220432651120989901182064402330506648926574264895332679680000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_192,354996793146960497053355363383973425965094809743694491885455534984190204750249968830591340591162785093141951525209177997501478084577063512837513105442388103085116949108248219929177667335850225156399124325817472036634653562449665740610033707601842063277098323069015230061026956365247457276593902258859903874498560000000000000000000000000000000000000000000000,PX,60000 :1:factorial_192 354996793146960497053355363383973425965094809743694491885455534984190204750249968830591340591162785093141951525209177997501478084577063512837513105442388103085116949108248219929177667335850225156399124325817472036634653562449665740610033707601842063277098323069015230061026956365247457276593902258859903874498560000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_193,68514381077363375931297585133106871211263298280533036933892918251948709516798243984304128734094417522976396644365371353517785270323373257977640029350380903895427571177891906446331289795819093455185030994882772103070488137552785487937736505567155518212479976352319939401778202578492759254382623135959961447778222080000000000000000000000000000000000000000000000,PX,60000 :1:factorial_193 68514381077363375931297585133106871211263298280533036933892918251948709516798243984304128734094417522976396644365371353517785270323373257977640029350380903895427571177891906446331289795819093455185030994882772103070488137552785487937736505567155518212479976352319939401778202578492759254382623135959961447778222080000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_194,13291789929008494930671731515822733014985079866423409165175226140878049646258859332955000974414316999457420949006882042582450342442734412047662165693973895355712948808511029850588270220388904130305896013007257787995674698685240384659920882080028170533221115412350068243944971300227595295350228888376232520868975083520000000000000000000000000000000000000000000000,PX,60000 :1:factorial_194 13291789929008494930671731515822733014985079866423409165175226140878049646258859332955000974414316999457420949006882042582450342442734412047662165693973895355712948808511029850588270220388904130305896013007257787995674698685240384659920882080028170533221115412350068243944971300227595295350228888376232520868975083520000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_195,2591899036156656511480987645585432937922090573952564787209169097471219681020477569926225190010791814894197085056341998303577816776333210349294122310324909594364025017659650820864712692975836305409649722536415268659156566243621875008684572005605493253978117505408263307569269403544381082593294633233365341569450141286400000000000000000000000000000000000000000000000,PX,60000 :1:factorial_195 2591899036156656511480987645585432937922090573952564787209169097471219681020477569926225190010791814894197085056341998303577816776333210349294122310324909594364025017659650820864712692975836305409649722536415268659156566243621875008684572005605493253978117505408263307569269403544381082593294633233365341569450141286400000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_196,508012211086704676250273578534744855832729752494702698292997143104359057480013603705540137242115195719262628671043031667501252088161309228461647972823682280495348903461291560889483687823263915860291345617137392657194686983749887501702176113098676677779711031060019608283576803094698692188285748113739606947612227692134400000000000000000000000000000000000000000000000,PX,60000 :1:factorial_196 508012211086704676250273578534744855832729752494702698292997143104359057480013603705540137242115195719262628671043031667501252088161309228461647972823682280495348903461291560889483687823263915860291345617137392657194686983749887501702176113098676677779711031060019608283576803094698692188285748113739606947612227692134400000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_197,100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000,PX,60000 :1:factorial_197 100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_198,19815524305648002601818171204326257846611456725808373449616646563928629396065410626138298593265945324225558093942704493222553838950820027765375040827960551033001579328411138624055200727234232302046524227142061137986535960488148111891395081467526982493475408477527124840709196781511817187496273890924527108598562553359394406400000000000000000000000000000000000000000000000,PX,60000 :1:factorial_198 19815524305648002601818171204326257846611456725808373449616646563928629396065410626138298593265945324225558093942704493222553838950820027765375040827960551033001579328411138624055200727234232302046524227142061137986535960488148111891395081467526982493475408477527124840709196781511817187496273890924527108598562553359394406400000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_199,3943289336823952517761816069660925311475679888435866316473712666221797249817016714601521420059923119520886060694598194151288213951213185525309633124764149655567314286353816586186984944719612228107258321201270166459320656137141474266387621212037869516201606287027897843301130159520851620311758504293980894611113948118519486873600000000000000000000000000000000000000000000000,PX,60000 :1:factorial_199 3943289336823952517761816069660925311475679888435866316473712666221797249817016714601521420059923119520886060694598194151288213951213185525309633124764149655567314286353816586186984944719612228107258321201270166459320656137141474266387621212037869516201606287027897843301130159520851620311758504293980894611113948118519486873600000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_200,788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_200 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_201,158520231340322891214025006000369197521322331515121825922243249182116249442644071926981161086408909404739619639922847404881786200838770058117447251615518816153806034311423426764716794777728411569911784512291060691664690376713087265508782372723922354551304572738521493300705432412738235136532691872618031963366780714364483372318720000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_201 158520231340322891214025006000369197521322331515121825922243249182116249442644071926981161086408909404739619639922847404881786200838770058117447251615518816153806034311423426764716794777728411569911784512291060691664690376713087265508782372723922354551304572738521493300705432412738235136532691872618031963366780714364483372318720000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_202,32021086730745224025233051212074577899307110966054608836293136334787482387414102529250194539454599699757403167264415175786120812569431551739724344826334800863068818930907532206472792545101139137122180471482794259716267456096043627632774039290232315619363523693181341646742497347373123497579603758268842456600089704301625641208381440000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_202 32021086730745224025233051212074577899307110966054608836293136334787482387414102529250194539454599699757403167264415175786120812569431551739724344826334800863068818930907532206472792545101139137122180471482794259716267456096043627632774039290232315619363523693181341646742497347373123497579603758268842456600089704301625641208381440000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_203,6500280606341280477122309396051139313559343526109085593767506675961858924645062813437789491509283739050752842954676280684582524951594605003164041999745964575202970242974229037913976886655531244835802635711007234722402293587496856409453129975917160070730795309715812354288726961516744070008659562928575018689818209973230005165301432320000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_203 6500280606341280477122309396051139313559343526109085593767506675961858924645062813437789491509283739050752842954676280684582524951594605003164041999745964575202970242974229037913976886655531244835802635711007234722402293587496856409453129975917160070730795309715812354288726961516744070008659562928575018689818209973230005165301432320000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_204,1326057243693621217332951116794432419966106079326253461128571361896219220627592813941309056267893882766353579962753961259654835090125299420645464567948176773341405929566742723734451284877728373946503737685045475883370067891849358707528438515087100654429082243182025720274900300149415790281766550837429303812722914834538921053721492193280000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_204 1326057243693621217332951116794432419966106079326253461128571361896219220627592813941309056267893882766353579962753961259654835090125299420645464567948176773341405929566742723734451284877728373946503737685045475883370067891849358707528438515087100654429082243182025720274900300149415790281766550837429303812722914834538921053721492193280000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_205,271841734957192349553254978942858646093051746261881959531357129188724940228656526857968356534918245967102483892364562058229241193475686381232320236429376238534988215561182258365562513399934316659033266225434322556090863917829118535043329895592855634157961859852315272656354561530630237007762142921673007281608197541080478816012905899622400000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_205 271841734957192349553254978942858646093051746261881959531357129188724940228656526857968356534918245967102483892364562058229241193475686381232320236429376238534988215561182258365562513399934316659033266225434322556090863917829118535043329895592855634157961859852315272656354561530630237007762142921673007281608197541080478816012905899622400000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_206,55999397401181624007970525662228881095168659729947683663459568612877337687103244532741481446193158669223111681827099783995223685855991394533857968704451505138207572405603545223305877760386469231760852842439470446554717967072798418218925958492128260636540143129576946167209039675309828823599001441864639500011288693462578636098658615322214400000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_206 55999397401181624007970525662228881095168659729947683663459568612877337687103244532741481446193158669223111681827099783995223685855991394533857968704451505138207572405603545223305877760386469231760852842439470446554717967072798418218925958492128260636540143129576946167209039675309828823599001441864639500011288693462578636098658615322214400000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_207,11591875262044596169649898812081378386699912564099170518336130702865608901230371618277486659361983844529184118138209655287011302972190218668508599521821461563608967487959933861224316696399999130974496538384970382436826619184069272571317673407870549951763809627822427856612271212789134566484993298465980376502336759546753777672422333371698380800000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_207 11591875262044596169649898812081378386699912564099170518336130702865608901230371618277486659361983844529184118138209655287011302972190218668508599521821461563608967487959933861224316696399999130974496538384970382436826619184069272571317673407870549951763809627822427856612271212789134566484993298465980376502336759546753777672422333371698380800000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_208,2411110054505276003287178952912926704433581813332627467813915186196046651455917296601717225147292639662070296572747608299698351018215565483049788700538864005230665237495666243134657872851199819242695279984073839546859936790286408694834076068837074389966872402587064994175352412260139989828878606080923918312486045985724785755863845341313263206400000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_208 2411110054505276003287178952912926704433581813332627467813915186196046651455917296601717225147292639662070296572747608299698351018215565483049788700538864005230665237495666243134657872851199819242695279984073839546859936790286408694834076068837074389966872402587064994175352412260139989828878606080923918312486045985724785755863845341313263206400000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_209,503922001391602684687020401158801681226618598986519140773108273914973750154286714989758900055784161689372691983704250134636955362807053185957405838412622577093209034636594244815143495425900762221723313516671432465293726789169859417220321898386948547503076332140696583782648654162369257874235628670913098927309583611016480222975543676334472010137600000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_209 503922001391602684687020401158801681226618598986519140773108273914973750154286714989758900055784161689372691983704250134636955362807053185957405838412622577093209034636594244815143495425900762221723313516671432465293726789169859417220321898386948547503076332140696583782648654162369257874235628670913098927309583611016480222975543676334472010137600000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_210,105823620292236563784274284243348353057589905787169019562352737522144487532400210147849369011714673954768265316577892528273760626189481169051055226066650741189573897273684791411180134039439160066561895838501000817711682625725670477616267598661259194975646029749546282594356217374097544153589482020891750774735012558313460846824864172030239122128896000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_210 105823620292236563784274284243348353057589905787169019562352737522144487532400210147849369011714673954768265316577892528273760626189481169051055226066650741189573897273684791411180134039439160066561895838501000817711682625725670477616267598661259194975646029749546282594356217374097544153589482020891750774735012558313460846824864172030239122128896000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_211,22328783881661914958481873975346502495151470121092663127656427617172486869336444341196216861471796204456103981797935323465763492125980526669772652700063306391000092324747490987759008282321662774044560021923711172537165034028116470777032463317525690139861312277154265627409161865934581816407380706408159413469087649804140238680046340298380454769197056000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_211 22328783881661914958481873975346502495151470121092663127656427617172486869336444341196216861471796204456103981797935323465763492125980526669772652700063306391000092324747490987759008282321662774044560021923711172537165034028116470777032463317525690139861312277154265627409161865934581816407380706408159413469087649804140238680046340298380454769197056000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_212,4733702182912325971198157282773458528972111665671644583063162654840567216299326200333597974632020795344694044141162288574741860330707871653991802372413420954892019572846468089404909755852192508097446724647826768577878987213960691804730882223315446309650598202756704313010742315578131345078364709758529795655446581758477730600169824143256656411069775872000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_212 4733702182912325971198157282773458528972111665671644583063162654840567216299326200333597974632020795344694044141162288574741860330707871653991802372413420954892019572846468089404909755852192508097446724647826768577878987213960691804730882223315446309650598202756704313010742315578131345078364709758529795655446581758477730600169824143256656411069775872000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_213,1008278564960325431865207501230746666671059784788060296192453645481040817071756480671056368596620429408419831402067567466420016250440776662300253905324058663392000169016297703043245777996517004224756152349987101707088224276573627354407677913566190063955577417187178018671288113218141976501691683178566846474610121914555756617836172542513667815557862260736000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_213 1008278564960325431865207501230746666671059784788060296192453645481040817071756480671056368596620429408419831402067567466420016250440776662300253905324058663392000169016297703043245777996517004224756152349987101707088224276573627354407677913566190063955577417187178018671288113218141976501691683178566846474610121914555756617836172542513667815557862260736000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_214,215771612901509642419154405263379786667606793944644903385185080132942734853355886863606062879676771893401843920042459437813883477594326205732254335739348553965888036169487708451254596491254638904097816602897239765316879995186756253843243073503164673686493567278056095995655656228682382971362020200213305145566566089714931916216940924097924912529382523797504000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_214 215771612901509642419154405263379786667606793944644903385185080132942734853355886863606062879676771893401843920042459437813883477594326205732254335739348553965888036169487708451254596491254638904097816602897239765316879995186756253843243073503164673686493567278056095995655656228682382971362020200213305145566566089714931916216940924097924912529382523797504000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_215,46390896773824573120118197131626654133535460698098654227814792228582687993471515675675303519130505957081396442809128779129984947682780134232434682183959939102665927776439857317019738245619747364381030569622906549543129198965152594576297260803180404842596116964782060639065966089166712338842834343045860606296811709288710361986642298681053856193817242616463360000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_215 46390896773824573120118197131626654133535460698098654227814792228582687993471515675675303519130505957081396442809128779129984947682780134232434682183959939102665927776439857317019738245619747364381030569622906549543129198965152594576297260803180404842596116964782060639065966089166712338842834343045860606296811709288710361986642298681053856193817242616463360000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_216,10020433703146107793945530580431357292843659510789309313207995121373860606589847385945865560132189286729581631646771816292076748699480508994205891351735346846175840399711009180476263461053865430706302603038547814701315906976472960428480208333486967446000761264392925098038248675260009865190052218097905890960111329206361438189114736515107632937864524405156085760000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_216 10020433703146107793945530580431357292843659510789309313207995121373860606589847385945865560132189286729581631646771816292076748699480508994205891351735346846175840399711009180476263461053865430706302603038547814701315906976472960428480208333486967446000761264392925098038248675260009865190052218097905890960111329206361438189114736515107632937864524405156085760000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_217,2174434113582705391286180135953604532547074113841280120966134941338127751629996882750252826548685075220319214067349484135380654467787270451742678423326570265620157366737288992163349171048688798463267664859364875790185551813894632412980205208366671935782165194373264746274299962531422140746241331327245578338344158437780432087037897823778356347516601795918870609920000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_217 2174434113582705391286180135953604532547074113841280120966134941338127751629996882750252826548685075220319214067349484135380654467787270451742678423326570265620157366737288992163349171048688798463267664859364875790185551813894632412980205208366671935782165194373264746274299962531422140746241331327245578338344158437780432087037897823778356347516601795918870609920000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_218,474026636761029775300387269637885788095262156817399066370617417211711849855339320439555116187613346398029588666682187541512982673977624958479903896285192317905194305948729000291610119288614158064992350939341542922260450295429029866029684735423934482000512012373371714687797391831850026682680610229339536077759026539436134194974261725583681683758619191510313792962560000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_218 474026636761029775300387269637885788095262156817399066370617417211711849855339320439555116187613346398029588666682187541512982673977624958479903896285192317905194305948729000291610119288614158064992350939341542922260450295429029866029684735423934482000512012373371714687797391831850026682680610229339536077759026539436134194974261725583681683758619191510313792962560000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_219,103811833450665520790784812050696987592862412343010395535165214369364895118319311176262570445087322861168479918003399071591343205601099865907098953286457117621237553002771651063862616124206500616233324855715797899975038614698957540660500957057841651558112130709768405516627628811175155843507053640225358401029226812136513388699363317902826288743137602940758720658800640000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_219 103811833450665520790784812050696987592862412343010395535165214369364895118319311176262570445087322861168479918003399071591343205601099865907098953286457117621237553002771651063862616124206500616233324855715797899975038614698957540660500957057841651558112130709768405516627628811175155843507053640225358401029226812136513388699363317902826288743137602940758720658800640000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_220,22838603359146414573972658651153337270429730715462287017736347161260276926030248458777765497919211029457065581960747795750095505232241970499561769723020565876672261660609763234049775547325430135571331468257475537994508495233770658945310210552725163342784668756149049213658078338458534285571551800849578848226429898670032945513859929938621783523490272646966918544936140800000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_220 22838603359146414573972658651153337270429730715462287017736347161260276926030248458777765497919211029457065581960747795750095505232241970499561769723020565876672261660609763234049775547325430135571331468257475537994508495233770658945310210552725163342784668756149049213658078338458534285571551800849578848226429898670032945513859929938621783523490272646966918544936140800000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_221,5047331342371357620847957561904887536764970488117165430919732722638521200652684909389886175040145637510011493613325262860771106656325475480403151108787545058744569826994757674725000395958920059961264254484902093896786377446663315626913556532152261098755411795108939876218435312799336077111312947987756925458041007606077280958563044516435414158691350254979688998430887116800000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_221 5047331342371357620847957561904887536764970488117165430919732722638521200652684909389886175040145637510011493613325262860771106656325475480403151108787545058744569826994757674725000395958920059961264254484902093896786377446663315626913556532152261098755411795108939876218435312799336077111312947987756925458041007606077280958563044516435414158691350254979688998430887116800000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_222,1120507558006441391828246578742885033161823448362010725664180664425751706544896049884554730858912331527222551582158208355091185677704255556649499546150835003041294501592836203788950087902880253311400664495648264845086575793159256069174809550137801963923701418514184652520492639441452609118711474453282037451685103688549156372800995882648661943229479756605490957651656939929600000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_222 1120507558006441391828246578742885033161823448362010725664180664425751706544896049884554730858912331527222551582158208355091185677704255556649499546150835003041294501592836203788950087902880253311400664495648264845086575793159256069174809550137801963923701418514184652520492639441452609118711474453282037451685103688549156372800995882648661943229479756605490957651656939929600000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_223,249873185435436430377698987059663362395086628984728391823112288166942630559511819124255704981537449930570629002821280463185334406128048989132838398791636205678208673855202473444935869602342296488442348182529563060454306401874514103425982529680729837954985416328663177512069858595443931833472658803081894351725778122546461871134622081830651613340173985723024483556319497604300800000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_223 249873185435436430377698987059663362395086628984728391823112288166942630559511819124255704981537449930570629002821280463185334406128048989132838398791636205678208673855202473444935869602342296488442348182529563060454306401874514103425982529680729837954985416328663177512069858595443931833472658803081894351725778122546461871134622081830651613340173985723024483556319497604300800000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_224,55971593537537760404604573101364593176499404892579159768377152549395149245330647483833277915864388784447820896631966823753514906972682973565755801329326510071918742943565354051665634790924674413411085992886622125541764634019891159167420086648483483701916733257620551762703648325379440730697875571890344334786574299450407459134155346330065961388198972801957484316615567463363379200000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_224 55971593537537760404604573101364593176499404892579159768377152549395149245330647483833277915864388784447820896631966823753514906972682973565755801329326510071918742943565354051665634790924674413411085992886622125541764634019891159167420086648483483701916733257620551762703648325379440730697875571890344334786574299450407459134155346330065961388198972801957484316615567463363379200000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_225,12593608545945996091036028947807033464712366100830310947884859323613908580199395683862487531069487476500759701742192535344540854068853669052295055299098464766181717162302204661624767827958051743017494348399489978246897042654475510812669519495908783832931264982964624146608320873210374164407022003675327475326979217376341678305184952924264841312344768880440433971238502679256760320000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_225 12593608545945996091036028947807033464712366100830310947884859323613908580199395683862487531069487476500759701742192535344540854068853669052295055299098464766181717162302204661624767827958051743017494348399489978246897042654475510812669519495908783832931264982964624146608320873210374164407022003675327475326979217376341678305184952924264841312344768880440433971238502679256760320000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_226,2846155531383795116574142542204389563024994738787650274221978207136743339125063424552922182021704169689171692593735512987866233019560929205818682497596253037157068078680298253527197529118519693921953722738284735083798731639911465443663311406075385146242465886150005057133480517345544561155986972830624009423897303127053219296971799360883854136589917766979538077499901605512027832320000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_226 2846155531383795116574142542204389563024994738787650274221978207136743339125063424552922182021704169689171692593735512987866233019560929205818682497596253037157068078680298253527197529118519693921953722738284735083798731639911465443663311406075385146242465886150005057133480517345544561155986972830624009423897303127053219296971799360883854136589917766979538077499901605512027832320000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_227,646077305624121491462330357080396430806673805704796612248389053020040737981389397373513335318926846519441974218777961448245634895440330929720840926954349439434654453860427703550673839109903970520283495061590634864022312082259902655711571689179112428197039756156051147969300077437438615382409042832551650139224687809841080780412598454920634889005911333104355143592477664451230317936640000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_227 646077305624121491462330357080396430806673805704796612248389053020040737981389397373513335318926846519441974218777961448245634895440330929720840926954349439434654453860427703550673839109903970520283495061590634864022312082259902655711571689179112428197039756156051147969300077437438615382409042832551650139224687809841080780412598454920634889005911333104355143592477664451230317936640000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_228,147305625682299700053411321414330386223921627700693627592632704088569288259756782601161040452715321006432770121881375210200004756160395451976351731345591672191101215480177516409553635317058105278624636874042664748997087154755257805502238345132837633628925064403579661737000417655736004307189261765821776231743228820643766417934072447721904754693347783947792972739084907494880512489553920000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_228 147305625682299700053411321414330386223921627700693627592632704088569288259756782601161040452715321006432770121881375210200004756160395451976351731345591672191101215480177516409553635317058105278624636874042664748997087154755257805502238345132837633628925064403579661737000417655736004307189261765821776231743228820643766417934072447721904754693347783947792972739084907494880512489553920000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_229,33732988281246631312231192603881658445278052743458840718712889236282367011484303215665878263671808510473104357910834923135801089160730558502584546478140492931762178344960651257787782487606306108805041844155770227520332958438954037460012581035419818101023839748419742537773095643163544986346340944373186757069199399927422509706902590528316188824776642524044590757250443816327637360107847680000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_229 33732988281246631312231192603881658445278052743458840718712889236282367011484303215665878263671808510473104357910834923135801089160730558502584546478140492931762178344960651257787782487606306108805041844155770227520332958438954037460012581035419818101023839748419742537773095643163544986346340944373186757069199399927422509706902590528316188824776642524044590757250443816327637360107847680000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_230,7758587304686725201813174298892781442413952130995533365303964524344944412641389739603152000644515957408814002319492032321234250506968028455594445689972313374305301019340949789291189972149450405025159624155827152329676580440959428615802893638146558163235483142136540783687811997927615346859658417205832954125915861983307177232587595821512723429698627780530255874167602077755356592824804966400000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_230 7758587304686725201813174298892781442413952130995533365303964524344944412641389739603152000644515957408814002319492032321234250506968028455594445689972313374305301019340949789291189972149450405025159624155827152329676580440959428615802893638146558163235483142136540783687811997927615346859658417205832954125915861983307177232587595821512723429698627780530255874167602077755356592824804966400000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_231,1792233667382633521618843263044232513197622942259968207385215805123682159320161029848328112148883186161436034535802659466205111867109614573242316954383604389464524535467759401326264883566523043560811873179996072188155290081861628010250468430411854935707396605833540921031884571521279145124581094374547412403086564118143957940727734634769439112260383017302489106932716079961487372942529947238400000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_231 1792233667382633521618843263044232513197622942259968207385215805123682159320161029848328112148883186161436034535802659466205111867109614573242316954383604389464524535467759401326264883566523043560811873179996072188155290081861628010250468430411854935707396605833540921031884571521279145124581094374547412403086564118143957940727734634769439112260383017302489106932716079961487372942529947238400000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_232,415798210832770977015571637026261943061848522604312624113370066788694260962277358924812122018540899189453160012306216996159585953169430580992217533416996218355769692228520181107693452987433346106108354577759088747652027298991897698378108675855550345084116012553381493679397220592936761668902813894894999677516082875409398242248834435266509874044408860014177472808390130551065070522666947759308800000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_232 415798210832770977015571637026261943061848522604312624113370066788694260962277358924812122018540899189453160012306216996159585953169430580992217533416996218355769692228520181107693452987433346106108354577759088747652027298991897698378108675855550345084116012553381493679397220592936761668902813894894999677516082875409398242248834435266509874044408860014177472808390130551065070522666947759308800000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_233,96880983124035637644628191427119032733410705766804841418415225561765762804210624629481224430320029511142586282867348560105183527088477325371186685286160118876894338289245202198092574546071969642723246616617867678202922360665112163722099321474343230404599030924937888027299552398154265468854355637510534924861247309970389790443978423417096800652347264383303351164354900418398161431781398827918950400000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_233 96880983124035637644628191427119032733410705766804841418415225561765762804210624629481224430320029511142586282867348560105183527088477325371186685286160118876894338289245202198092574546071969642723246616617867678202922360665112163722099321474343230404599030924937888027299552398154265468854355637510534924861247309970389790443978423417096800652347264383303351164354900418398161431781398827918950400000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_234,22670150051024339208842996793945853659618105149432332891909162781453188496185286163298606516694886905607365190190959563064612945338703694136857684356961467817193275159683377314353662443780840896397239708288581036699483832395636246310971241224996315914676173236435465798388095261168098119711919219177465172417531870533071210963890951079600651352649259865692984172459046697905169775036847325733034393600000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_234 22670150051024339208842996793945853659618105149432332891909162781453188496185286163298606516694886905607365190190959563064612945338703694136857684356961467817193275159683377314353662443780840896397239708288581036699483832395636246310971241224996315914676173236435465798388095261168098119711919219177465172417531870533071210963890951079600651352649259865692984172459046697905169775036847325733034393600000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_235,5327485261990719714078104246577275610010254710116598229598653253641499296603542248375172531423298422817730819694875497320184042154595368122161555823885944937040419662525593668873110674288497610653351331447816543624378700612974517883078241687874134239948900710562334462621202386374503058132301016506704315518119989575271734576514373503706153067872576068437851280527875974007714897133659121547263082496000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_235 5327485261990719714078104246577275610010254710116598229598653253641499296603542248375172531423298422817730819694875497320184042154595368122161555823885944937040419662525593668873110674288497610653351331447816543624378700612974517883078241687874134239948900710562334462621202386374503058132301016506704315518119989575271734576514373503706153067872576068437851280527875974007714897133659121547263082496000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_236,1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_236 1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_237,297976905673664935047816526719560179419093566446241572177911873782676338657629325036120150027567927385041320207173776316112533845790828129808740140341588672218544752564381505087410826234304248359063246670539274917998749482684890734236332214086176076308821914543172491163329091874698705047455860455252985775559487256924098658333601938809292553392248924659865897822485158978199509626479821986381518730166272000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_237 297976905673664935047816526719560179419093566446241572177911873782676338657629325036120150027567927385041320207173776316112533845790828129808740140341588672218544752564381505087410826234304248359063246670539274917998749482684890734236332214086176076308821914543172491163329091874698705047455860455252985775559487256924098658333601938809292553392248924659865897822485158978199509626479821986381518730166272000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_238,70918503550332254541380333359255322701744268814205494178343025960276968600515779358596595706561166717639834209307358763234783055298217094894480153401298103988013651110322798210803776643764411109457052707588347430483702376879003994748247066952509906161499615661275052896872323866178291801294494788350210614583157967147935480683397261436611627707355244069048083681751467836811483291102197632758801457779572736000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_238 70918503550332254541380333359255322701744268814205494178343025960276968600515779358596595706561166717639834209307358763234783055298217094894480153401298103988013651110322798210803776643764411109457052707588347430483702376879003994748247066952509906161499615661275052896872323866178291801294494788350210614583157967147935480683397261436611627707355244069048083681751467836811483291102197632758801457779572736000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_239,16949522348529408835389899672862022125716880246595113108623983204506195495523271266704586373868118845515920376024458744413113150216273885679780756662910246853135262615367148772382102617859694255160235597113615035885604868074081954744831049001649867572598408143044737642352485404016611740509384254415700336885374754148356579883331945483350179022057903332502491999938600812997944506573425234229353548409317883904000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_239 16949522348529408835389899672862022125716880246595113108623983204506195495523271266704586373868118845515920376024458744413113150216273885679780756662910246853135262615367148772382102617859694255160235597113615035885604868074081954744831049001649867572598408143044737642352485404016611740509384254415700336885374754148356579883331945483350179022057903332502491999938600812997944506573425234229353548409317883904000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_240,4067885363647058120493575921486885310172051259182827146069755969081486918925585104009100729728348522923820890245870098659147156051905732563147381599098459244752463027688115705371704628286326621238456543307267608612545168337779669138759451760395968217423617954330737034164596496963986817722252221059768080852489940995605579171999666916004042965293896799800598079985264195119506681577622056215044851618236292136960000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_240 4067885363647058120493575921486885310172051259182827146069755969081486918925585104009100729728348522923820890245870098659147156051905732563147381599098459244752463027688115705371704628286326621238456543307267608612545168337779669138759451760395968217423617954330737034164596496963986817722252221059768080852489940995605579171999666916004042965293896799800598079985264195119506681577622056215044851618236292136960000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_241,980360372638941007038951797078339359751464353463061342202811188548638347461066010066193275864531994024640834549254693776854464608509281547718518965382728677985343589672835884994580815417004715718468026937051493675623385569404900262441027874255428340399091926993707625233667755768320823071062785275404107485450075779940944580451919726756974354635829128751944137276448671023801110260206915547825809239994946405007360000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_241 980360372638941007038951797078339359751464353463061342202811188548638347461066010066193275864531994024640834549254693776854464608509281547718518965382728677985343589672835884994580815417004715718468026937051493675623385569404900262441027874255428340399091926993707625233667755768320823071062785275404107485450075779940944580451919726756974354635829128751944137276448671023801110260206915547825809239994946405007360000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_242,237247210178623723703426334892958125059854373538060844813080307628770480085577974436018772759216742553963081960919635893998780435259246134547881589622620340072453148700826284168688557330915141203869262518766461469500859307795985863510728745569813658376580246332477245306547596895933639183197194036647794011478918338745708588469364573875187793821870649157970481220900578387759868682970073562573845836078777030011781120000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_242 237247210178623723703426334892958125059854373538060844813080307628770480085577974436018772759216742553963081960919635893998780435259246134547881589622620340072453148700826284168688557330915141203869262518766461469500859307795985863510728745569813658376580246332477245306547596895933639183197194036647794011478918338745708588469364573875187793821870649157970481220900578387759868682970073562573845836078777030011781120000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_243,57651072073405564859932599378988824389544612769748785289578514753791226660795447787952561780489668440613028916503471522241703645767996810695135226278296742637606115134300787052991319431412379312540230792060250137088708811794424564833107085173464718985508999858791970609491066045711874321516918150905413944789377156315207186998055591451670633898714567745386826936678840548225648089961727875705444538167142818292862812160000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_243 57651072073405564859932599378988824389544612769748785289578514753791226660795447787952561780489668440613028916503471522241703645767996810695135226278296742637606115134300787052991319431412379312540230792060250137088708811794424564833107085173464718985508999858791970609491066045711874321516918150905413944789377156315207186998055591451670633898714567745386826936678840548225648089961727875705444538167142818292862812160000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_244,14066861585910957825823554248473273151048885515818703610657157599925059305234089260260425074439479099509579055626847051426975689567391221809612995211904405203575892092769392040929881941264620552259816313262701033449644950077839593819278128782325391432464195965545240828715820115153697334450128028820921002528608026140910553627525564314207634671286354529874385772549637093767058133950661601672128467312782847663458526167040000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_244 14066861585910957825823554248473273151048885515818703610657157599925059305234089260260425074439479099509579055626847051426975689567391221809612995211904405203575892092769392040929881941264620552259816313262701033449644950077839593819278128782325391432464195965545240828715820115153697334450128028820921002528608026140910553627525564314207634671286354529874385772549637093767058133950661601672128467312782847663458526167040000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_245,3446381088548184667326770790875951922006976951375582384611003611981639529782351868763804143237672379379846868628577527599609043944010849343355183826916579274876093562728501050027821075609832035303654996749361753195163012769070700485723141551669720900953728011558584003035375928212655846940281367061125645619508966404523085638743763256980870494465156859819224514274661087972929242817912092409671474491631797677547338910924800000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_245 3446381088548184667326770790875951922006976951375582384611003611981639529782351868763804143237672379379846868628577527599609043944010849343355183826916579274876093562728501050027821075609832035303654996749361753195163012769070700485723141551669720900953728011558584003035375928212655846940281367061125645619508966404523085638743763256980870494465156859819224514274661087972929242817912092409671474491631797677547338910924800000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_246,847809747782853428162385614555484172813716330038393266614306888547483324326458559715895819236467405327442329682630071789503824810226668938465375221421478501619519016431211258306843984600018680684699129200342991286010101141191392319487892821710751341634617090843411664746702478340313338347309216297036908822399205735512679067130965761217294141638428587515529230511566627641340593733206374732779182724941422228676645372087500800000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_246 847809747782853428162385614555484172813716330038393266614306888547483324326458559715895819236467405327442329682630071789503824810226668938465375221421478501619519016431211258306843984600018680684699129200342991286010101141191392319487892821710751341634617090843411664746702478340313338347309216297036908822399205735512679067130965761217294141638428587515529230511566627641340593733206374732779182724941422228676645372087500800000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_247,209409007702364796756109246795204590684987933519483136853733801471228381108635264249826267351407449115878255431609627732007444728125987227800947679691105189900021197058509180801790464196204614129120684912484718847644494981874273902913509526962555581383750421438322681192435512150057394571785376425368116479132603816671631729581348543020671652984691861116335719936356957027411126652101974558996458133060531290483131406905612697600000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_247 209409007702364796756109246795204590684987933519483136853733801471228381108635264249826267351407449115878255431609627732007444728125987227800947679691105189900021197058509180801790464196204614129120684912484718847644494981874273902913509526962555581383750421438322681192435512150057394571785376425368116479132603816671631729581348543020671652984691861116335719936356957027411126652101974558996458133060531290483131406905612697600000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_248,51933433910186469595515093205210738489877007512831817939725982764864638514941545533956914303149047380737807347039187677537846292575244832494635024563394087095205256870510276838844035120658744304021929858296210274215834755504819927922550362686713784183170104516704024935724007013214233853802773353491292886824885746534564668936174438669126569940203581556851258544216525342797959409721289690631121616999011760039816588912591949004800000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_248 51933433910186469595515093205210738489877007512831817939725982764864638514941545533956914303149047380737807347039187677537846292575244832494635024563394087095205256870510276838844035120658744304021929858296210274215834755504819927922550362686713784183170104516704024935724007013214233853802773353491292886824885746534564668936174438669126569940203581556851258544216525342797959409721289690631121616999011760039816588912591949004800000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_249,12931425043636430929283258208097473883979374870695122666991769708451294990220444837955271661484112797803714029412757731706923726851235963291164121116285127686706108960757058932872164745044027331701460534715756358279742854120700162052715040308991732261609356024659302208995277746290344229596890565019331928819396550887106602565107435228612515915110691807655963377509914810356691893020601132967149282632753928249914330639235395302195200000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_249 12931425043636430929283258208097473883979374870695122666991769708451294990220444837955271661484112797803714029412757731706923726851235963291164121116285127686706108960757058932872164745044027331701460534715756358279742854120700162052715040308991732261609356024659302208995277746290344229596890565019331928819396550887106602565107435228612515915110691807655963377509914810356691893020601132967149282632753928249914330639235395302195200000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_250,3232856260909107732320814552024368470994843717673780666747942427112823747555111209488817915371028199450928507353189432926730931712808990822791030279071281921676527240189264733218041186261006832925365133678939089569935713530175040513178760077247933065402339006164825552248819436572586057399222641254832982204849137721776650641276858807153128978777672951913990844377478702589172973255150283241787320658188482062478582659808848825548800000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_250 3232856260909107732320814552024368470994843717673780666747942427112823747555111209488817915371028199450928507353189432926730931712808990822791030279071281921676527240189264733218041186261006832925365133678939089569935713530175040513178760077247933065402339006164825552248819436572586057399222641254832982204849137721776650641276858807153128978777672951913990844377478702589172973255150283241787320658188482062478582659808848825548800000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_251,811446921488186040812524452558116486219705773136118947353733549205318760636332913581693296758128078062183055345650547664609463859915056696520548600046891762340808337287505448037728337751512715064266648553413711482053864096073935168807868779389231199415987090547371213614453678579719100407204882954963078533417133568165939310960491560595435373673195910930411701938747154349882416287042721093688617485205308997682124247612021055212748800000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_251 811446921488186040812524452558116486219705773136118947353733549205318760636332913581693296758128078062183055345650547664609463859915056696520548600046891762340808337287505448037728337751512715064266648553413711482053864096073935168807868779389231199415987090547371213614453678579719100407204882954963078533417133568165939310960491560595435373673195910930411701938747154349882416287042721093688617485205308997682124247612021055212748800000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_252,204484624215022882284756162044645354527365854830301974733140854399740327680355894222586710783048275671670129947103938011481584892698594287523178247211816724109883700996451372905507541113381204196195195435460255293477573752210631662539582932406086262252828746817937545830842327002089213302615630504650695790421117659177816706362043873270049714165645369554463748888564282896170368904334765715609531606271737867415895310398229305913612697600000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_252 204484624215022882284756162044645354527365854830301974733140854399740327680355894222586710783048275671670129947103938011481584892698594287523178247211816724109883700996451372905507541113381204196195195435460255293477573752210631662539582932406086262252828746817937545830842327002089213302615630504650695790421117659177816706362043873270049714165645369554463748888564282896170368904334765715609531606271737867415895310398229305913612697600000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_253,51734609926400789218043308997295274695423561272066399607484636163134302903130041238314437828111213744932542876617296316904840977852744354743364096544589631199800576352102197345093407901685444661637384445171444589249826159309289810622514481898739824349965672944938199095203108731528570965561754517676626034976542767771987626709597099937322577683908278497279328468806763572731103332796695726049211496386749680456221513530752014396144012492800000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_253 51734609926400789218043308997295274695423561272066399607484636163134302903130041238314437828111213744932542876617296316904840977852744354743364096544589631199800576352102197345093407901685444661637384445171444589249826159309289810622514481898739824349965672944938199095203108731528570965561754517676626034976542767771987626709597099937322577683908278497279328468806763572731103332796695726049211496386749680456221513530752014396144012492800000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_254,13140590921305800461383000485312999772637584563104865500301097585436112937395030474531867208340248291212865890660793264493829608374597066104814480522325766324749346393433958125653725607028102944055895649073546925669455844464559611898118678402279915384891280928014302570181589617808257025252685647489863012884041863014084857184237663384079934731712702738308949431076917947473700246530360714416499720082234418835880264436811011656620579173171200000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_254 13140590921305800461383000485312999772637584563104865500301097585436112937395030474531867208340248291212865890660793264493829608374597066104814480522325766324749346393433958125653725607028102944055895649073546925669455844464559611898118678402279915384891280928014302570181589617808257025252685647489863012884041863014084857184237663384079934731712702738308949431076917947473700246530360714416499720082234418835880264436811011656620579173171200000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_255,3350850684932979117652665123754814942022584063591740702576779884286208799035732771005626138126763314259280802118502282445926550135522251856727692533193070412811083330325659322041700029792166250734253390513754466045711240338462701034020262992581378423147276636643647155396305352541105541439434840109915068285430675068591638581980604162940383356586739198268782104924614076605793562865241982176207428620969776803149467431386807972438247689158656000000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_255 3350850684932979117652665123754814942022584063591740702576779884286208799035732771005626138126763314259280802118502282445926550135522251856727692533193070412811083330325659322041700029792166250734253390513754466045711240338462701034020262992581378423147276636643647155396305352541105541439434840109915068285430675068591638581980604162940383356586739198268782104924614076605793562865241982176207428620969776803149467431386807972438247689158656000000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_256,857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_256 857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 SET,:1:factorial_256,857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000,PX,60000 :1:factorial_256 857817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435022840944191408424615936000000000000000000000000000000000000000000000000000000000000000 +XXXXXXXXXX.XXXXXX CFLRIC3zaTU1loLGxh 127.0.0.1 54554 127.0.0.1 6379 GET,:1:factorial_4 :1:factorial_4 - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/output b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/output new file mode 100644 index 0000000000..49d861c74c --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/output @@ -0,0 +1 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/resp.log new file mode 100644 index 0000000000..13776387d5 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined-with-commands/resp.log @@ -0,0 +1,14 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc ::1 56731 ::1 6379 PING - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc ::1 56731 ::1 6379 PING - - +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc ::1 56731 ::1 6379 SET,HI,3 HI 3 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc ::1 56731 ::1 6379 GET,HI HI - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/output b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/output new file mode 100644 index 0000000000..49d861c74c --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/output @@ -0,0 +1 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/resp.log new file mode 100644 index 0000000000..8213e7012f --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pipelined/resp.log @@ -0,0 +1,13 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 ::1 51122 ::1 6379 PING - - +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 ::1 51122 ::1 6379 PING - - +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 ::1 51122 ::1 6379 PING - - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/output b/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/output new file mode 100644 index 0000000000..49d861c74c --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/output @@ -0,0 +1 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/resp.log new file mode 100644 index 0000000000..d1864dd068 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.pubsub/resp.log @@ -0,0 +1,14 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path resp +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 127.0.0.1 53426 127.0.0.1 6379 subscribe,my_channel - - +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 127.0.0.1 53426 127.0.0.1 6379 message,my_channel,hi there! - - +XXXXXXXXXX.XXXXXX CUM0KZ3MLUfNB0cl11 127.0.0.1 53450 127.0.0.1 6379 PUBLISH,my_channel,1 - - +XXXXXXXXXX.XXXXXX CtPZjS20MLrsMUOJi2 127.0.0.1 53426 127.0.0.1 6379 message,my_channel,1 - - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.set/output b/testing/btest/Baseline/scripts.base.protocols.redis.set/output new file mode 100644 index 0000000000..8473b404b8 --- /dev/null +++ b/testing/btest/Baseline/scripts.base.protocols.redis.set/output @@ -0,0 +1,4 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +Key: test Value: hi +Key: one:1 Value: 2 +Key: two:2 Value: three diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.trace/output b/testing/btest/Baseline/scripts.base.protocols.redis.trace/output index a3c0b852bb..6dbec15ba2 100644 --- a/testing/btest/Baseline/scripts.base.protocols.redis.trace/output +++ b/testing/btest/Baseline/scripts.base.protocols.redis.trace/output @@ -1,15 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=SET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:2, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=2, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=OK, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=SET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:3, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=sup, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=OK, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=GET, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=hi:3, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] -Testing RESP: [simple_string=, simple_error=, i=, bulk_string=sup, is_null=F, boolean=, double_=, big_num=, bulk_error=, verbatim_string=] +SET: hi:2 2 +SET: hi:3 sup +GET: [key=hi:3] diff --git a/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log b/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log index 85c62c2387..aaef13cd17 100644 --- a/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log +++ b/testing/btest/Baseline/scripts.base.protocols.redis.trace/resp.log @@ -5,20 +5,9 @@ #unset_field - #path resp #open XXXX-XX-XX-XX-XX-XX -#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p resp_data.simple_string resp_data.simple_error resp_data.i resp_data.bulk_string resp_data.is_null resp_data.boolean resp_data.double_ resp_data.big_num resp_data.bulk_error resp_data.verbatim_string -#types time string addr port addr port string string int string bool bool double string string string -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - SET F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:2 F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - 2 F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 OK - - - F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - SET F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:3 F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - sup F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 OK - - - F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - GET F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - hi:3 F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - - F - - - - - -XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 - - - sup F - - - - - +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p cmd.raw cmd.key cmd.value +#types time string addr port addr port vector[string] string string +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 SET,hi:2,2 hi:2 2 +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 SET,hi:3,sup hi:3 sup +XXXXXXXXXX.XXXXXX C4J4Th3PJpwUYZZ6gc 127.0.0.1 58972 127.0.0.1 6379 GET,hi:3 hi:3 - #close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Traces/redis/bulk-loading.trace b/testing/btest/Traces/redis/bulk-loading.trace new file mode 100644 index 0000000000000000000000000000000000000000..ab1af2c0b8557c9936a1d09ce7a4b64dfc74e9d0 GIT binary patch literal 46823 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 WL)+l2p4ZpYe%^P%e)98r&;J47=k-kh literal 0 HcmV?d00001 diff --git a/testing/btest/Traces/redis/django-cache.trace b/testing/btest/Traces/redis/django-cache.trace new file mode 100644 index 0000000000000000000000000000000000000000..c50e1cbfaeccc442a342be187226dbec92e2a73f GIT binary patch literal 291390 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�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%0Df3~zUs|`$Q&u*SY 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�ej~IPmmp1Qp>OJP^dmsL3$|Y1ymj{MGN= zk?u8M?g#U?KjpGRww!j@cPlo!Yf|&?4m$Mb7oVLnVwdYDp0}*k=$+;d>6AKS`RVg( zue_~k-?|5F^L)t>7d+JR@E0Fi(fQ5po%{5AY|yR~UwV4aCl-8j>MKi*{Pp+_^U^Ix zH!Oak)!e_vA6Iv5dAFlG9ewD+lds=r;@RhP==awZEthVx;IM9U){dLH>dtMlPjzf~ zZQadlJ$Xi1|GSnyG;LP5y=JF+4IH?1__psqRJ&nf;31zj%-*^Drx%9qoGrTP;yT0o z?RNH6pTB)k^C2xpUfArIBQ_0^eO?`UcJ|9{H+k}?Rby-4_0#I~s~v8hUfg=$?u%!9 zeZs17%cj0}+UUz4yM6nw-@W+MHO*e#y8DQ6*VdbPUhC4M62ouV_0pb8+P%MR?xcCg zul+6ceZR&#Z~6Q$llD5jqJQ7noj#lR_1mxQwafC)`i_6F<&oWsU)-(HF6GcDwMz-QT`y#Jtb`8u7!Q+itR;Tk@}24}NsRA$@n7 z^zsPq%^o9-KW>~mY(dfsEJKm6^JJ--?-a^sIa%8k3NywA{Xi{5X4#a-L?|NN{2?$~{w zC2e0B)9!`h+EZ6=_roCvU)#3XZcDzLvgaZ7Z~DFNyKSzWamvl7wRvyn-DcghP5atE zZuaoonN7NVIO@j3Cx11hVdvKKzHL79+8+)%=BS6Z*`&#f^LFZX^SA>C?R`??H4Pfw zaPzqO8$a0Ma~?C*4#L&?J*5T{q*M(_jmqm)^VpVTseG`XNG^cMfc0DUV8Bf zV@~^|cH4TLzngc{;z2h*@b2sne{J#IrO$Rt%sA`lnWtU0xYfdq)^_M|~Kqm8}`qp>l~4LbH$p~YfozR<3j`L zJ^s%%slBH+8~pOBM?by%(*}>V-7ZzH+ZNYM7=6qq#RKNl`FKTe*H!obaqzEyymG{C z!N6m;8o71m(Mdj#}{m*2B`lVQDj?|X6IAI^RA znlIjZt>oPie=qxMhbc$AK4oZn`yX~+_TlH(yt2CNyjPpe{(IjicRO=vr3`^F5!BIj;W0!80p*j{m%0 z(X+w6UH|Ai{-`;vCoaC^jd|Z}TDwmB<>A!LdhOP?tj>4m%$fT2PNUmQxc-*g+ds42 zvUbz2?a_PY*LTi%VA6!kHos!!z7LgO{N}NHd{+CMg^i9IH1D2GKdtrLg4V73T+(Bw z-7gqD@`mT19=h3(wmS{#x2WRqF}K{)=aXByyfpBK;#>RP_FAI*q(=R(d~)|%M?H4d zMkCU9PkrdN`|8|%?H!rXcbxX)U6;-6G^6jz%=owNJ976oS9gErw0DMgx?)iB?{Qn4 za9XcK(Dtv%51cyiz-xw`a__6-erdVv#z*dKc31a(-g)iC!$$veVc$BVU+K{!m1=%! z*LELIsJ(UTMi=ieY|DFxeD=$@r#qfH>CO?I(5U zFs#;7tq0})T=3+yp?z;SaN$F}|GsZ!^Cdeye9#`}{=Hz{X>%U=^o^6)t2v`rw41YYIHvrW zd9zRWapvmA!3hUn^Pg3J-nO9Ytn-h#=e5(1>U(#+Yc`sGe)Cg?q~}ch^qk+D4_ke8 z&u9P7y7SwEp1bhX`WdljNLq^g6t)-r}xI;?%n3O$cu)uT1KDb`SBU>Mj7sl}Y+NXYhOSzV7I1fCJ9_ zsMd_ythd^k=^hC<8kKSGLyq6o05fVwJlA@wt_C>!5Z0Th`D%cSxiU$Mexk5Nw_?#% z7cS@*vFJl2=bYX_-gb)FoHJTgExPJz0JCV%s{!=uM)B(k(6w%%t7@lIU-oy%S;c

lj{2HdrTp? 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