Skip to content

Commit 825343d

Browse files
committed
Merge pull request #855 from rabbitmq/netty
Add support for Netty
1 parent e968593 commit 825343d

11 files changed

+180
-24
lines changed

index.html

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@
529529
<div id="header">
530530
<h1>RabbitMQ PerfTest</h1>
531531
<div class="details">
532-
<span id="revnumber">version 2.24.0-SNAPSHOT</span>
532+
<span id="revnumber">version 2.25.0-SNAPSHOT</span>
533533
</div>
534534
<div id="toc" class="toc2">
535535
<div id="toctitle">Table of Contents</div>
@@ -1418,7 +1418,7 @@ <h2 id="simulating-high-loads"><a class="anchor" href="#simulating-high-loads"><
14181418
exceptions is to tune the number of file descriptors allowed per process
14191419
at the OS level, as some distributions use very low limits.
14201420
Here the recommendations are the same as for the broker, so you
1421-
can refer to our <a href="https://www.rabbitmq.com/networking.html#os-tuning">networking guide</a>.</p>
1421+
can refer to our <a href="https://www.rabbitmq.com/docs/networking#os-tuning">networking guide</a>.</p>
14221422
</div>
14231423
</div>
14241424
</div>
@@ -1549,38 +1549,30 @@ <h2 id="workloads-with-a-large-number-of-clients"><a class="anchor" href="#workl
15491549
</div>
15501550
<div class="paragraph">
15511551
<p>By default, PerfTest uses blocking network socket I/O to communicate with
1552-
the broker. This mode works fine for clients in many cases but the RabbitMQ Java client
1553-
also supports an <a href="https://www.rabbitmq.com/api-guide.html#java-nio">asynchronous I/O mode</a>,
1554-
where resources like threads can be easily tuned. The goal here is to use as few
1555-
resources as possible to simulate as much load as possible with a single PerfTest instance.
1552+
the broker.
1553+
This mode works fine for clients in many cases but the RabbitMQ Java client can also use Netty for its network layer.
1554+
Netty uses a multithreaded event loop to handle I/O operation and the number of threads can be easily tuned.
1555+
The goal here is to use as few resources as possible to simulate as much load as possible with a single PerfTest instance.
15561556
In the slow publisher example above, a handful of threads should be enough
1557-
to handle the I/O. That&#8217;s what the
1558-
<code>--nio-threads</code> flag is for:</p>
1557+
to handle the I/O.
1558+
That&#8217;s what the <code>--netty-threads</code> flag is for:</p>
15591559
</div>
15601560
<div class="listingblock">
1561-
<div class="title">Reducing the number of IO threads by enabling the NIO mode with <code>--nio-threads</code></div>
1561+
<div class="title">Reducing the number of I/O threads by using Netty with <code>--netty-threads</code></div>
15621562
<div class="content">
15631563
<pre class="CodeRay highlight"><code data-lang="bash">java -jar perf-test.jar --queue-pattern 'perf-test-%d' \
15641564
--queue-pattern-from 1 --queue-pattern-to 1000 \
15651565
--producers 1000 --consumers 1000 \
1566-
--heartbeat-sender-threads 10 \
15671566
--publishing-interval 60 --producer-random-start-delay 1800 \
15681567
--producer-scheduler-threads 10 \
1569-
--nio-threads 10</code></pre>
1570-
</div>
1568+
--consumers-thread-pools 10 \
1569+
--netty-threads 10</code></pre>
15711570
</div>
1572-
<div class="paragraph">
1573-
<p>This way PerfTest will use 12 threads for I/O over all the connections.
1574-
With the default blocking I/O mode, each producer (or consumer)
1575-
uses a thread for the I/O loop, that is 2000 threads to simulate 1000 producers and
1576-
1000 consumers. Using NIO in PerfTest can dramatically reduce the resources used
1577-
to simulate workloads with a large number of connections with appropriate tuning.</p>
15781571
</div>
15791572
<div class="paragraph">
1580-
<p>Note that in NIO mode the number of threads used can increase temporarily when connections close
1581-
unexpectedly and connection recovery kicks in. This is due to the NIO mode dispatching
1582-
connection closing to non-I/O threads to avoid deadlocks. Connection recovery can be disabled
1583-
with the <code>--disable-connection-recovery</code> flag.</p>
1573+
<p>This way PerfTest will use 10 threads for I/O over all the connections.
1574+
With the default blocking I/O mode, each producer (or consumer) uses a thread for the I/O loop, that is 2000 threads to simulate 1000 producers and 1000 consumers.
1575+
Using Netty in PerfTest can dramatically reduce the resources used to simulate workloads with a large number of connections with appropriate tuning.</p>
15841576
</div>
15851577
</div>
15861578
</div>
@@ -2139,8 +2131,8 @@ <h3 id="expected-and-exposed-metrics"><a class="anchor" href="#expected-and-expo
21392131
</div>
21402132
<div id="footer">
21412133
<div id="footer-text">
2142-
Version 2.24.0-SNAPSHOT<br>
2143-
Last updated 2025-07-22 13:13:49 UTC
2134+
Version 2.25.0-SNAPSHOT<br>
2135+
Last updated 2025-08-06 09:57:56 UTC
21442136
</div>
21452137
</div>
21462138
</body>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
loopback_users = none
2+
3+
listeners.ssl.default = 5671
4+
5+
ssl_options.cacertfile = /etc/rabbitmq/tls/ca_certificate.pem
6+
ssl_options.certfile = /etc/rabbitmq/tls/server_pkrvmjbmru5nbw0_certificate.pem
7+
ssl_options.keyfile = /etc/rabbitmq/tls/server_pkrvmjbmru5nbw0_key.pem
8+
ssl_options.verify = verify_peer
9+
ssl_options.fail_if_no_peer_cert = false
10+
ssl_options.depth = 1
11+
12+
auth_mechanisms.1 = PLAIN
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDhDCCAmygAwIBAgIUXtmLNtKF0yOWJnOyqfjzr0fEJLwwDQYJKoZIhvcNAQEL
3+
BQAwSzE6MDgGA1UEAwwxVExTR2VuU2VsZlNpZ25lZFJvb3RDQSAyMDI1LTA4LTA2
4+
VDA5OjU4OjAzLjAzOTMxMDENMAsGA1UEBwwEJCQkJDAeFw0yNTA4MDYwOTU4MDNa
5+
Fw0zNTA4MDQwOTU4MDNaMEsxOjA4BgNVBAMMMVRMU0dlblNlbGZTaWduZWRSb290
6+
Q0EgMjAyNS0wOC0wNlQwOTo1ODowMy4wMzkzMTAxDTALBgNVBAcMBCQkJCQwggEi
7+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuczKuHv0AtTlQ+3MUj470kszr
8+
a3aMv1fDqMTIqLLjHitoYjB5GYUMwKZrwaTwrFch0+uCKc/TkRYFTm/5NJCYJB0i
9+
0LqZiuKffbhU7IPWWhDZ5FryBuOi/iogcapzj8XRqQrJf+JO9XCfL6t+BnInQpRI
10+
6KmK4n+MptEpxRBLWFVOPTV+CUBBxB0L4jZK1114CG3AvUMMPEuupNaC3+ZafHud
11+
kpVBMVhWjf9GbVSGrneq2xjzfo3bG6fjkFYx769MEnBWAqtjQHjr/uWhBxwiKikz
12+
6KIj3xXp9ldVfs5BxNv/QNeNe3a3t3OCgbzvE8h8h73SqT9UPQ4aZr+Ab+ELAgMB
13+
AAGjYDBeMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBRE
14+
trLBVr4cfcf2ScOXrD+LFCxevTAfBgNVHSMEGDAWgBREtrLBVr4cfcf2ScOXrD+L
15+
FCxevTANBgkqhkiG9w0BAQsFAAOCAQEANTikkYyiTUf9+swV2FQwPDIzSQ//+Sc6
16+
FPnD1EqUBxr/OicWYkWlFvDvItX4tLHEe6PWdJnGL4VsuuLthc3bAbwfwvWbq1PI
17+
5YffnFeMMwiKMBP0GgwXkpNGJa9UkorchJ/GvhwBQy1wKjssuY9fEcliTsoHbgoi
18+
n7eiU8Rr/QOOF0mO8AbiayzQ5wVynQHr8HFD4Om04Rngy5+DE6xYLT/lRrnaWhGN
19+
eQCwTQ5bozho/I0MsNir/moYCGRq3zgceHYQ6803NRIQ0YRjnC1GN7eki6LeUvic
20+
IHn50JEYa+XrEhrUz4mgJG7pfnfW/Z+MLTisRDg01f/HvTxNGEPLvg==
21+
-----END CERTIFICATE-----
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCuczKuHv0AtTlQ
3+
+3MUj470kszra3aMv1fDqMTIqLLjHitoYjB5GYUMwKZrwaTwrFch0+uCKc/TkRYF
4+
Tm/5NJCYJB0i0LqZiuKffbhU7IPWWhDZ5FryBuOi/iogcapzj8XRqQrJf+JO9XCf
5+
L6t+BnInQpRI6KmK4n+MptEpxRBLWFVOPTV+CUBBxB0L4jZK1114CG3AvUMMPEuu
6+
pNaC3+ZafHudkpVBMVhWjf9GbVSGrneq2xjzfo3bG6fjkFYx769MEnBWAqtjQHjr
7+
/uWhBxwiKikz6KIj3xXp9ldVfs5BxNv/QNeNe3a3t3OCgbzvE8h8h73SqT9UPQ4a
8+
Zr+Ab+ELAgMBAAECggEAJlkXdnREbI/p4hXsVcQ7CiNtHYE5hbYYLmAepfeDn26F
9+
30PaYPyNpWCCFOT0A532525E8o+LangVzaPQ9IisEm254+nbYx5HNAU4bJ6zWn7g
10+
/mz22wZNqwpRK2GhNRcRRsXwo5vTnUTR9YROn/z9wgiePSq7/lZM8JfJGfQCYXVU
11+
EjouiNJ6M/9lRKs9E+USIxUj/Qit9cMR5yFRbvjIl0wdUAJN2/GJa+icgy3Xmb9L
12+
TGu8olhotZGp+SYlV1zGmdMcpoCxBMBWJUZQ2MstIdrJcFhHktF7MrCd8j61ogVQ
13+
ZDhTFnxdGQLfaeJT+64E7eo0COsUj0uu8chETe0QLQKBgQDaJkaCF6etAYKDddbE
14+
ZCnTN7TE/l/tulPk1x5z/6NajTIrbM8caMQ14ouvyF7X7JYGzSUHEjzs5Jsd14PL
15+
h0KQK+dPku/9oX5kRoxZFNCCdiLeCWikWeZIMpXR5TEPaY6BQ92SvqruLgOTA1fn
16+
Wy1Me9FGlS54SsHUoc1C0CkZDwKBgQDMt+KkmP+DKTK/o47454l+V8Kaemco+gAT
17+
th9s+5ZToVnVSusnfbarEWm20YGF7fGmEJyvTPwYQG0yNKIMNUT2/aoqFs6O2O62
18+
EttF3daXc0FsEsF045YFbis+voFwm/AxLULsH1SI1VTNGvklw3zZof9ihv/636Wi
19+
+skyg6HgRQKBgQDZLXPSffRLc45YjA9FM6bEBdhsqgYcqPxufY9u0ljxhFInE0tZ
20+
sB9uudxxIxzxADMYEFHFqW2INcsLuYwXKtCksWC2QsW0DnvDHs0IvoUa7Lunq1xH
21+
Cs0MoXewH+lou6DIpiTHvBR1zM94I8L2rDn7w+TDzS8XSO2RX4f29T+FFwKBgAE0
22+
rA8QH6EkIvph+juZEYQ+/BRw2B6zqkBzeCfqK25+qsrI0C3BXcwQJDFBdqPVTPEP
23+
c/zMVUfHSV1cVgAAaFGUGOZ6j+jjejR0U/pLXjIyKZZ7XcxUctPBXFvYP2bsZDPF
24+
8nj1jkfoCcHTgNgqGJgnjhuEdAmEO7OECp9TiyaJAoGBAJpaf+YATsD7uXxshvQ+
25+
nJP4tFrEXs2xp4OnMIMKn9gUaqf2fQp5zlZNHejNpVopxl455OfUSEOi1unG2h52
26+
0eeBH3dlXIiSGag50l5lbeCWXL1bR/gIudzaAGih3YA3ukhCS76yaRwEm4Q/EFJU
27+
7YSPMN00MyVMDs+ka6ubg03d
28+
-----END PRIVATE KEY-----
3.58 KB
Binary file not shown.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDzTCCArWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBLMTowOAYDVQQDDDFUTFNH
3+
ZW5TZWxmU2lnbmVkUm9vdENBIDIwMjUtMDgtMDZUMDk6NTg6MDMuMDM5MzEwMQ0w
4+
CwYDVQQHDAQkJCQkMB4XDTI1MDgwNjA5NTgwM1oXDTM1MDgwNDA5NTgwM1owKzEY
5+
MBYGA1UEAwwPcGtydm1qYm1ydTVuYncwMQ8wDQYDVQQKDAZjbGllbnQwggEiMA0G
6+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCguYIVMxbpMkiTxdny8axBxwPOWoOw
7+
v4j513xYTFg0kVjuIfU5nvEjwEgiVxt/NhvwtSRKCoZxMWy1E7YfYdFso5wcr0fk
8+
JktMGPKWNOvHnl9aHqo1WOEsKM22JMqv88ne6USTMbQuCQYQU3e8/2N0XOjyfC7g
9+
kAbi0y6COau305nOPPSwp9aQgFc/NmOJUiWpLm7zdVENRmGVIMdYpRdRt+mqSYiv
10+
js3KWGi0ZFxpIHrfV6Iih5QmnMMD9a+I+VVEXSrT+7DPW2NgkR8FcJ4Edkta9yJN
11+
AR4HoK8e7GmUCe/lDoj6n9iyAiggce8SeTVa/DBAtHy1OikYazQ9iSSDAgMBAAGj
12+
gdswgdgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUH
13+
AwIwNgYDVR0RBC8wLYIPcGtydm1qYm1ydTVuYncwgg9wa3J2bWpibXJ1NW5idzCC
14+
CWxvY2FsaG9zdDAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLXNlcnZlcjo4
15+
MDAwL2Jhc2ljLmNybDAdBgNVHQ4EFgQU8WbQ5tU+GJPQR2b9SQVm7lg8yv8wHwYD
16+
VR0jBBgwFoAURLaywVa+HH3H9knDl6w/ixQsXr0wDQYJKoZIhvcNAQELBQADggEB
17+
AHfBQVEVX+sircLN2+oVrDKNEdFURABSZ5/OECzPzYZYAwpd4yOTdTkbaI/WhmHV
18+
K1FQke+83hyYIbAV8hfVfHFsv86Qn88zaH1QPhxq8Mae0+dAhF2oZcnMLvn4xhKt
19+
DQ2kg3q0WIVQbBXaTihYEmCNEbo4Pzrh7TCFYFxoYnNrdGiHAy1DobCTB+F2bmWC
20+
+x5vusBTkyI0HG4PzrkWQ8/qVFuquZy0xlqCGfqnZOjyWFHmqe8KlgJzEYXgTR5c
21+
J27TUg3xk1p65g/A1hJI77kDTDHutMNy3SPqkn3U9AM/5/SRtL2BLICnJN02NbVf
22+
3X2Cs3gcM1ieYNQNrhGgWj8=
23+
-----END CERTIFICATE-----
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCguYIVMxbpMkiT
3+
xdny8axBxwPOWoOwv4j513xYTFg0kVjuIfU5nvEjwEgiVxt/NhvwtSRKCoZxMWy1
4+
E7YfYdFso5wcr0fkJktMGPKWNOvHnl9aHqo1WOEsKM22JMqv88ne6USTMbQuCQYQ
5+
U3e8/2N0XOjyfC7gkAbi0y6COau305nOPPSwp9aQgFc/NmOJUiWpLm7zdVENRmGV
6+
IMdYpRdRt+mqSYivjs3KWGi0ZFxpIHrfV6Iih5QmnMMD9a+I+VVEXSrT+7DPW2Ng
7+
kR8FcJ4Edkta9yJNAR4HoK8e7GmUCe/lDoj6n9iyAiggce8SeTVa/DBAtHy1OikY
8+
azQ9iSSDAgMBAAECggEADQkuy1Bi/dQFvfKQrFs8qPMe1GhUAQxv7C+1lqXOi6j0
9+
SRA5Bwzkqw0n7J0bDlTRrFLM2DKFV/31vrQUE/SHm2OjwFHZJ2CRv+DQIC23p++o
10+
9TLChGQqkz3V/X17cQz5ZRqPZM7lucwikUVr00j1hJUakbxPwwf7fv846PgLfPPM
11+
L9aKTuLHrkWaNXrpWQEgRPRYzp6DI3IBmlidnV7lqXWl6XAi+56J7m2MwPFgwYfT
12+
JA8rKkSPi1UCmiuIEvlic2JFUy1nuLETIEB8e+1UQmzEav/XSb8LJh1gjHQQaEZL
13+
OPhqlv36L919PmEn2hbtH0G1wXjPVdH4exVviE9KjQKBgQDYGQk0x5O5xGqeQjfc
14+
X6mcahF0r8Pphf7IlOTlWRc4RUW0MbpCX4RLrHSzDl+ZRy6NnPVb0cJFlkmap4M2
15+
QoN2evLSYftj6eSCKJYt7W/jSJvMpkq/KCD7S4tXg9NvNBHIuRMNoq73NLS4Nuwa
16+
8ev+yw1U6PZ7t1BA0i8P2YFqTQKBgQC+ZvpJV29yWlCZtCUW1MaZeRHEfofH5pVZ
17+
8O6okR7Pc4tCQOhBiErG2Brks8MiHE5pbI7caZY9D/kZhNLhYAMIrIg+UgkFu9bG
18+
9IZ6HbgLodI4BD89kwD8jzhY8D2ozD/v6xpNTlRfdlWxCEEdohdmqpL9MPIAxNQA
19+
7iDac6SSDwKBgGPASsueRMa/sCeVkYucbQLSw3QFnn2xaMbWVEK6OUm0UFS5j60L
20+
wlncJZJx1BdBEHA2P9w+m1rb4OYO5TaqxVxvrJ8Is66PTPf4HDrfG4LjBWgWavKK
21+
Z48YdB3VsEfo1Ty+kdj9e56JKdLPJ3XYroNS37iOQRkiqV0CqM68LE0RAoGAHcdp
22+
WdMtAQuTE5cTPfDlZteCqeLIRcGQllKSYRbhZLzDiQcxzB4O4+6ktiRPXqRityZd
23+
aaex8bbv1MfrW4hysQabAHRAKP9p5hAUgEDpqhgTEuPHKFA3lUipHW/llOLtFQ8G
24+
PBUGKTAO0vNhi8rwMgR3nNXs46XlKogT51ay5I0CgYEAroQupjCI+eoVAhxy5SoI
25+
3vRQpQBqggBCNT7E/cIc9SK3GYjXFAH25WQo47/FT4hJHyuvNk0nHNpBlcZrwh70
26+
80UaiUTgvKfzm6Cvd4hFL8uZSwva7opaoh0zh3jCbydprfQAcAfxXjzjXK9JTQ0o
27+
f2vXK/k0lJux4VcJmhcGxCg=
28+
-----END PRIVATE KEY-----
3.58 KB
Binary file not shown.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDzTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBLMTowOAYDVQQDDDFUTFNH
3+
ZW5TZWxmU2lnbmVkUm9vdENBIDIwMjUtMDgtMDZUMDk6NTg6MDMuMDM5MzEwMQ0w
4+
CwYDVQQHDAQkJCQkMB4XDTI1MDgwNjA5NTgwM1oXDTM1MDgwNDA5NTgwM1owKzEY
5+
MBYGA1UEAwwPcGtydm1qYm1ydTVuYncwMQ8wDQYDVQQKDAZzZXJ2ZXIwggEiMA0G
6+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCm1jD0GeFHnl5Gt/a5ImX6jKf+p+mD
7+
RXdg1VGDe99iWpxGRhhbYHyasHiy1NXQDUJu/GNC0WjHZqkOLyLkQ0owKrkswnN6
8+
HhtSr6GmaGdjbCDuynRmBvq/8pnJNA401EuQrfqEWTaTYLkR0uouuE9XmL2l9hYQ
9+
maVEwAYIyum819gDP1nmpSTcg40VJrcg4ig2DbIvPAmzbIgN2wS7UDIA6tgIjolQ
10+
H6OogzmqP23UTKiRr6TivXnXLE42zvNZiBmQtJgY4TYQjbTEaPeohR8qWmLK1tl6
11+
8bp4KJEYZgwmxOrylKeN86NQsvDuM2KqIWPzOS9KG6RxHdNnQFhkjdIHAgMBAAGj
12+
gdswgdgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUH
13+
AwEwNgYDVR0RBC8wLYIPcGtydm1qYm1ydTVuYncwgg9wa3J2bWpibXJ1NW5idzCC
14+
CWxvY2FsaG9zdDAdBgNVHQ4EFgQUHbZ+CqUqcs0laNCM2YoYEfXlyeIwHwYDVR0j
15+
BBgwFoAURLaywVa+HH3H9knDl6w/ixQsXr0wMQYDVR0fBCowKDAmoCSgIoYgaHR0
16+
cDovL2NybC1zZXJ2ZXI6ODAwMC9iYXNpYy5jcmwwDQYJKoZIhvcNAQELBQADggEB
17+
ADEp0lbEb73sXUDrsfE7s65WVhty32EVP5kd1Iuim7OJznw+5inKdruIk4jgUdMM
18+
ANt4XBt5j6DHe01lJ/PgO5MdS4MQEE8MayTKkgm0XjSY2iNDA0skd20Lg437+25w
19+
V8Pv+xbNRZbCVKOw28BtFB7rf1kRAvnVvLkoP80midTp1AgJmaxmql+OjZJUEFQ+
20+
Ci60jhgZoh+g8JVH7yZnSgaVODE2IKlhIdKtoX0MiEHfEIr6oTDOJMdVR+6m9BGD
21+
dsqmI92gxfXUfpXa69ouTeyFQ5Zp11SnvG5kPbQMFnqpJp2A0Xlcw1DCcBLwCapn
22+
+QZZMcApQdBGSBrKTRQZs7A=
23+
-----END CERTIFICATE-----
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCm1jD0GeFHnl5G
3+
t/a5ImX6jKf+p+mDRXdg1VGDe99iWpxGRhhbYHyasHiy1NXQDUJu/GNC0WjHZqkO
4+
LyLkQ0owKrkswnN6HhtSr6GmaGdjbCDuynRmBvq/8pnJNA401EuQrfqEWTaTYLkR
5+
0uouuE9XmL2l9hYQmaVEwAYIyum819gDP1nmpSTcg40VJrcg4ig2DbIvPAmzbIgN
6+
2wS7UDIA6tgIjolQH6OogzmqP23UTKiRr6TivXnXLE42zvNZiBmQtJgY4TYQjbTE
7+
aPeohR8qWmLK1tl68bp4KJEYZgwmxOrylKeN86NQsvDuM2KqIWPzOS9KG6RxHdNn
8+
QFhkjdIHAgMBAAECggEAPT2FdazkSU5EK/BOQ/Hw/hHQfsUzDakbo3NaOwnm2ysI
9+
jzEesrgNtRiPDZHbtEWRu7ywUPAeZod0Cc1aoPBkVJ7yHxB3o/1WKTln/HX5cYDY
10+
695r8KGiPIA4XCdcCZ9d54s9WISI6HtKI9VIegLUuQJLpxZYThqgFEbqUCLvvo3h
11+
dIw+R0Gt9ixq/Gstj4tiDbdo3W2bHWQr5x34EkWtpukrHATfecbek9XJ+nrOm5n/
12+
+aH1RlYg5w6s1FuYzC9fwKNbW6umta0qnEUFL89XHptmm/OSK6683x8kT6p6FXqa
13+
jC+yjNBs54voEGX0b9jS/nE6gbC9lvNfAhFkNtUnAQKBgQDrGNQsnxR4zhuSiaZ0
14+
vl1tCjLaYw+zUsrjhi71kgqS+1OV7pKrK5rQuqggXtnD36U+xrww5U0D+7mYdXmX
15+
NaWUzwo4fm9lYUZOBtYPuiUK16LxYd/HuWZhCvHRiVa+gi9pVFRP25hx/uMXQ20y
16+
DqhxueibbgyLilk6skmhx5ddAQKBgQC1q6b9azx75NYC48LFBjVZVik2VuGyWP+S
17+
tnxmFFDi2b0Zfbj63N7ZJZ/pgWfVdwM5FFH/3vJgQLUhfZWaCLx7FUlCE+3doc14
18+
053XOGXpZ/JF2v+tWClRdSGOZCvHEG9NeftrbRcYOhld3rR+n4NzftFunsFc1ISb
19+
4lHBMZ9HBwKBgQDbdOTy9ljM4FE6vEXnKqDZnbCUze4lDj8YnvSNBhPa2sNO7VJ6
20+
eIzfFa7F8OTFBKsja67W0eXPtxasK9UiAtEblR1MWTIxZ9mSEq2WJsRXV63iN+QG
21+
c5oPMoFDgTm5Qptxbmf519p5Z16jI6z2ElrJNqrdFKCfTbk3oqA7Za51AQKBgHip
22+
50NA266Kop7Ouon0grCwqrTd5hB4TmAa9usyKTtTVec9ewSceSOPevQ0MEw3PRvH
23+
ZGNnqGLH98ajzB7AGLhDviG2bPIdSwUqwRa27fGmSeOd/t4axW7GNqCF5hHU16iF
24+
EbobfhBoXnrbtdS4jC3FGMO5jELlIKMNIjIIjHs3AoGAbPyj91rA4ozhsCL4LowM
25+
OYCw6iZypanlIOaK/U6bT2rlH5FXvi6rQLJ/j6oG20eDj26zE87x3f5E+osUJkAx
26+
GJp9DTRTl7yIhIaFD7f2a2e2/Ek0iVaMzsi4vwjmR9e8yDh++W6CJTZws/sYPmLr
27+
cwLsoh1qWAPk3wW4cWu6F7M=
28+
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)