(This page was automatically generated by the tools in the opsboy project on 20:25:03 06-Feb-2019 GMT.)
Commit | Testing Time | Unexpected Failures |
Expected Failures |
Files | Tests | Elapsed Time |
---|---|---|---|---|---|---|
b3afc8b4 | 2018-04-13 23:53:04 GMT | 25 | 159 | 46 | 5118 | 1279 sec |
File | Name | Details |
---|---|---|
balancer-timeout.t | TEST 4: set_timeouts (nil read timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 4: set_timeouts (nil read timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 1: set_timeouts - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 1: set_timeouts - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 2: set_timeouts (nil connect timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 2: set_timeouts (nil connect timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 3: set_timeouts (nil send timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 3: set_timeouts (nil send timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
re-sub.t | TEST 8: ngx.re.gsub: recursive calling (github openresty/lua-nginx-module\#445) - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:55:47 [error] 31174\#0: *19 open() \"/home/ec2-user/git/lua-resty-core/t/servroot/html/re\" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /re HTTP/1.1\", host: \"localhost\"" (req 0) | |
re-sub.t | TEST 8: ngx.re.gsub: recursive calling (github openresty/lua-nginx-module\#445) - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:55:47 [error] 31174\#0: *19 open() \"/home/ec2-user/git/lua-resty-core/t/servroot/html/re\" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /re HTTP/1.1\", host: \"localhost\"" (req 1) | |
semaphore.t | ERROR: client socket timed out - TEST 36: basic semaphore_mm free insert head |
' |
semaphore.t | TEST 36: basic semaphore_mm free insert head - status code ok |
got: '' expected: '200' |
semaphore.t | TEST 36: basic semaphore_mm free insert head - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
semaphore.t | ERROR: client socket timed out - TEST 35: basic semaphore_mm free insert tail |
' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - status code ok |
got: '' expected: '200' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - pattern "add to free queue tail" should match a line in error.log (req 0) | |
shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
time.t | TEST 7: ngx.cookie_time() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ Thu, 18-Nov-10 11:27:35 GMT -Sun, 18-Sep-2039 23:06:40 GMT +Thu, 01-Jan-70 00:00:00 GMT ' |
time.t | TEST 7: ngx.cookie_time() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ Thu, 18-Nov-10 11:27:35 GMT -Sun, 18-Sep-2039 23:06:40 GMT +Thu, 01-Jan-70 00:00:00 GMT ' |
File | Name | Details |
---|---|---|
errlog.t | TEST 16: check the captured error log body - response_body_like - response is expected (log level:6 log body:2018/04/14 02:49:12 [notice] 28063\#0: start worker processes log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *36 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *37 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *38 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *39 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *40 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *41 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *42 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *43 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113\#0: *44 client 127.0.0.1 closed keepalive connection) |
'log level:6 log body:2018/04/14 02:49:12 [notice] 28063#0: start worker processes log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *36 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *37 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *38 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *39 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *40 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *41 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *42 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *43 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:13 [info] 28113#0: *44 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->2, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->3, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" )' |
errlog.t | nginx: [emerg] | invalid number of arguments in "lua_capture_error_log" directive in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:25 |
errlog.t | TEST 13: filter log by level(ngx.CRIT) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:10 ' expected: 'log lines:0 ' |
errlog.t | TEST 13: filter log by level(ngx.CRIT) - response_body - response is expected (repeated req 1, req 0) |
got: 'log lines:1 ' expected: 'log lines:0 ' |
errlog.t | TEST 12: filter log by level(ngx.WARN) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:10 ' expected: 'log lines:2 ' |
errlog.t | TEST 12: filter log by level(ngx.WARN) - response_body - response is expected (repeated req 1, req 0) |
got: 'log lines:5 ' expected: 'log lines:2 ' |
errlog.t | TEST 22: user-supplied Lua table to hold the result (get one log + no log) - response_body_like - response is expected (maybe log lines: \#10 log level:6 log body:2018/04/14 02:49:33 [notice] 28172\#0: start worker processes log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *141 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *142 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *143 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *144 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *145 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363\#0: *146 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363\#0: *147 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363\#0: *148 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363\#0: *149 client 127.0.0.1 closed keepalive connection end maybe log lines: \#10 log level:7 log body:2018/04/14 02:49:34 [info] 28363\#0: *150 client 127.0.0.1 closed keepalive connection log level:4 log body:2018/04/14 02:49:34 [error] 28363\#0: *151 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end) |
'maybe log lines: #10 log level:6 log body:2018/04/14 02:49:33 [notice] 28172#0: start worker processes log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *141 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *142 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *143 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *144 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *145 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:33 [info] 28363#0: *146 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363#0: *147 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363#0: *148 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:34 [info] 28363#0: *149 client 127.0.0.1 closed keepalive connection end maybe log lines: #10 log level:7 log body:2018/04/14 02:49:34 [info] 28363#0: *150 client 127.0.0.1 closed keepalive connection log level:4 log body:2018/04/14 02:49:34 [error] 28363#0: *151 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end ' doesn't match '(?^s:\Amaybe log lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end maybe log lines: #1 end \z)' |
errlog.t | nginx: [emerg] | invalid capture error log size "3k", minimum size is 4096 in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:25 |
errlog.t | TEST 11: filter log by level(ngx.INFO) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:10 ' expected: 'log lines:3 ' |
errlog.t | TEST 11: filter log by level(ngx.INFO) - response_body - response is expected (repeated req 1, req 0) |
got: 'log lines:7 ' expected: 'log lines:3 ' |
errlog.t | TEST 31: ringbuf sentinel bug2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ log lines: \#18 -log lines: \#8 +log lines: \#10 ' |
errlog.t | TEST 21: multi-line error log - response_body_like - response is expected (log lines: \#10 log level:6 log body:2018/04/14 02:49:51 [notice] 28381\#0: start worker processes log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *157 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *158 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *159 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *160 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *161 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *162 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *163 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *164 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *165 client 127.0.0.1 closed keepalive connection) |
'log lines: #10 log level:6 log body:2018/04/14 02:49:51 [notice] 28381#0: start worker processes log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *157 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *158 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *159 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *160 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *161 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *162 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *163 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *164 client 127.0.0.1 closed keepalive connection log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *165 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:\Alog lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 21: multi-line error log - response_body_like - response is expected (log lines: \#3 log level:7 log body:2018/04/14 02:49:52 [info] 28594\#0: *166 client 127.0.0.1 closed keepalive connection log level:4 log body:2018/04/14 02:49:52 [error] 28594\#0: *167 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2018/04/14 02:49:53 [error] 28594\#0: *168 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'log lines: #3 log level:7 log body:2018/04/14 02:49:52 [info] 28594#0: *166 client 127.0.0.1 closed keepalive connection log level:4 log body:2018/04/14 02:49:52 [error] 28594#0: *167 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2018/04/14 02:49:53 [error] 28594#0: *168 [lua] access_by_lua(nginx.conf:54):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Alog lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
ocsp.t | TEST 16: good status req from client - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 02:50:55 [emerg] 28977\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
ocsp.t | TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 1: get OCSP responder (good case) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 0) | |
ocsp.t | TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 1: get OCSP responder (good case) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 1) | |
ocsp.t | TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 2: get OCSP responder (not found) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 0) | |
ocsp.t | TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 2: get OCSP responder (not found) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 1) | |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 0) | |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 1) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 0) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 0) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 1) | |
ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 1) | |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 0) | |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 1) | |
ocsp.t | TEST 10: validate good OCSP response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 10: validate good OCSP response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |
ocsp.t | TEST 10: validate good OCSP response - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 10: validate good OCSP response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |
ocsp.t | TEST 7: create OCSP request (buffer too small) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "failed to create OCSP request: output buffer too small: 68 > 67" should match a line in error.log (req 0) | |
ocsp.t | TEST 7: create OCSP request (buffer too small) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "failed to create OCSP request: output buffer too small: 68 > 67" should match a line in error.log (req 1) | |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 0) | |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 1) | |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "failed to get OCSP responder: no issuer certificate in chain" should match a line in error.log (req 0) | |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "failed to get OCSP responder: no issuer certificate in chain" should match a line in error.log (req 1) | |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 0) | |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 1) | |
ocsp.t | TEST 17: no status req from client - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 02:51:25 [emerg] 28977\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 0, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 1, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
request.t | TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 0, req 0) |
got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}" length: 34 expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}" length: 33 strings begin to differ at char 29 (line 3 column 9) |
semaphore.t | TEST 13: semaphore in log_by_lua (wait not allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,4 @@ +sem: timeout, +sem: timeout, sem: 1 while logging request, sem: API disabled in the context of log_by_lua* while logging request, ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:32 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:33 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 4: basic semaphore in subrequest - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:36 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 4: basic semaphore in subrequest - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:37 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 4: basic semaphore in subrequest - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:37 [error] 32429\#0: *463 [lua] init_worker_by_lua:18: sem: 6 times, context: ngx.timer" (req 0) | |
semaphore.t | TEST 1: basic semaphore in uthread - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:38 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 1: basic semaphore in uthread - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:39 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:41 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:42 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 1) | |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:43 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:43 [error] 32429\#0: *463 [lua] init_worker_by_lua:18: sem: 6 times, context: ngx.timer" (req 0) | |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:44 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 21: semaphore post in header_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:45 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 21: semaphore post in header_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2018/04/14 02:58:46 [error] 32429\#0: *463 [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) | |
semaphore.t | TEST 11: semaphore in access_by_lua (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,4 @@ sem: timeout, +sem: timeout, +sem: timeout, sem: 1, ' |
shared.t | TEST 3: shared.ttl returns error on not found key - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'failed to get ttl: not found ' |
shared.t | TEST 3: shared.ttl returns error on not found key - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'failed to get ttl: not found ' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - grep_error_log_out (req 0) |
'' doesn't match '(?^s:ssl_session_store_by_lua_block:5: session id: [a-fA-F\d]+)' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - grep_error_log_out (req 1) |
'' doesn't match '(?^s:ssl_session_fetch_by_lua_block:4: session id: [a-fA-F\d]+)' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 03:01:42 [emerg] 1632\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - grep_error_log_out (req 0) |
'' doesn't match '(?^s:^ssl_session_store_by_lua_block:5: session id: [a-fA-F\d]+$)' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - grep_error_log_out (req 1) |
'' doesn't match '(?^s:^ssl_session_fetch_by_lua_block:4: session id: [a-fA-F\d]+ failed to resume session: failed to de-serialize session ssl_session_store_by_lua_block:5: session id: [a-fA-F\d]+ $)' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - grep_error_log_out (req 1) |
got: '' expected: 'get session error: bad session in lua context ' |
ssl-session-store.t | TEST 1: get new session serialized - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "(?^s:ssl_session_store_by_lua_block:4: session size: \d+)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 1: get new session serialized - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "(?^s:ssl_session_store_by_lua_block:4: session size: \d+)" should match a line in error.log (req 1) | |
ssl-session-store.t | TEST 2: get new session id serialized - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-store.t | TEST 2: get new session id serialized - pattern "(?^s:ssl_session_store_by_lua_block:4: session id: [a-fA-f\d]+)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 2: get new session id serialized - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
ssl-session-store.t | TEST 2: get new session id serialized - pattern "(?^s:ssl_session_store_by_lua_block:4: session id: [a-fA-f\d]+)" should match a line in error.log (req 1) | |
ssl.t | TEST 16: parse PEM cert and key to cdata - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 16: parse PEM cert and key to cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ssl.t | TEST 16: parse PEM cert and key to cdata - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 16: parse PEM cert and key to cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ssl.t | TEST 8: set DER cert chain - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 8: set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ssl.t | TEST 8: set DER cert chain - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 8: set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ssl.t | TEST 12: tls version - TLSv1.1 - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 03:02:12 [emerg] 1825\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
ssl.t | TEST 10: tls version - SSLv3 - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 03:02:24 [emerg] 1825\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
ssl.t | TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 9: read PEM cert chain but set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ssl.t | TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 9: read PEM cert chain but set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "read SNI name from Lua: test.com" should match a line in error.log (req 0) | |
ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "read SNI name from Lua: test.com" should match a line in error.log (req 1) | |
ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 03:02:55 [emerg] 1825\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
ssl.t | TEST 13: tls version - TLSv1.2 - pattern "[emerg]" should not match any line in error.log but matches line "2018/04/14 03:03:03 [emerg] 1825\#0: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |
Go back to the index page.