diff --git a/docs/categories/all.html b/docs/categories/all.html index 312ca093..3adb73ae 100644 --- a/docs/categories/all.html +++ b/docs/categories/all.html @@ -303,7 +303,7 @@

No Yes Yes - 1054 + 1055 @@ -372,7 +372,7 @@

Yes Yes Yes - 2022 + 2039 @@ -435,7 +435,7 @@

Yes Yes Yes - 21710 + 21722 @@ -498,7 +498,7 @@

No Yes No - 496 + 497 @@ -590,7 +590,7 @@

Yes Yes Yes - 174 + 175 @@ -787,7 +787,7 @@

No Yes Yes - 509 + 510 @@ -810,7 +810,7 @@

No Yes No - 4670 + 4676 @@ -856,7 +856,7 @@

No Yes Yes - 18631 + 18651 @@ -902,7 +902,7 @@

No Yes Yes - 1157 + 1375 @@ -1040,7 +1040,7 @@

Yes Yes Yes - 8482 + 8488 @@ -1357,7 +1357,7 @@

Yes Yes Yes - 3848 + 3849 @@ -1534,7 +1534,7 @@

No Yes Yes - 2997 + 3000 @@ -1649,7 +1649,7 @@

No Yes Yes - 8163 + 8168 @@ -1695,7 +1695,7 @@

No Yes No - 1630 + 1632 @@ -1808,7 +1808,7 @@

No Yes Yes - 4093 + 4094 @@ -1873,7 +1873,7 @@

No Yes No - 592 + 593 @@ -1896,7 +1896,7 @@

No Yes No - 1407 + 1410 @@ -1940,7 +1940,7 @@

Yes Yes Yes - 2127 + 2131 @@ -2118,7 +2118,7 @@

Yes Yes Yes - 724 + 725 @@ -2250,7 +2250,7 @@

No Yes Yes - 2207 + 2209 @@ -2292,7 +2292,7 @@

No Yes No - 446 + 447 @@ -2380,7 +2380,7 @@

No Yes Yes - 1247 + 1249 @@ -2531,7 +2531,7 @@

No No Yes - 9068 + 9071 @@ -2577,7 +2577,7 @@

No Yes Yes - 1878 + 1879 @@ -2600,7 +2600,7 @@

No Yes Yes - 6252 + 6254 @@ -2646,7 +2646,7 @@

No Yes Yes - 16238 + 16239 @@ -2667,7 +2667,7 @@

No Yes Yes - 4396 + 4397 @@ -2713,7 +2713,7 @@

Yes Yes Yes - 225 + 226 @@ -2736,7 +2736,7 @@

Yes Yes Yes - 452 + 454 @@ -3009,7 +3009,7 @@

No Yes No - 488 + 489 @@ -3032,7 +3032,7 @@

Yes Yes Yes - 1034 + 1036 @@ -3278,7 +3278,7 @@

Yes Yes No - 576 + 577 @@ -3320,7 +3320,7 @@

Yes Yes Yes - 818 + 820 @@ -3387,7 +3387,7 @@

No Yes Yes - 5883 + 5885 @@ -3431,7 +3431,7 @@

No Yes Yes - 11587 + 11595 @@ -3649,7 +3649,7 @@

No Yes No - 26898 + 26915 @@ -3801,7 +3801,7 @@

No Yes No - 927 + 930 @@ -3824,7 +3824,7 @@

Yes Yes Yes - 1330 + 1332 @@ -3916,7 +3916,7 @@

Yes Yes No - 1003 + 1005 @@ -4159,7 +4159,7 @@

Yes Yes Yes - 337 + 340 @@ -4475,7 +4475,7 @@

Yes Yes Yes - 288 + 289 @@ -4597,7 +4597,7 @@

Yes Yes No - 7 + 8 @@ -4618,7 +4618,7 @@

Yes Yes Yes - 8 + 9 @@ -4641,7 +4641,7 @@

No Yes No - 1810 + 1811 @@ -4664,7 +4664,7 @@

Yes Yes Yes - 2030 + 2034 @@ -4733,7 +4733,7 @@

No Yes No - 376 + 377 @@ -4798,7 +4798,7 @@

Yes Yes No - 316 + 318 @@ -4890,7 +4890,7 @@

No Yes Yes - 1410 + 1411 @@ -4913,7 +4913,7 @@

No Yes No - 66582 + 66634 @@ -4936,7 +4936,7 @@

Yes Yes No - 24974 + 24980 @@ -4959,7 +4959,7 @@

Yes Yes No - 21710 + 21722 @@ -4980,7 +4980,7 @@

No Yes No - 14071 + 14090 @@ -5001,7 +5001,7 @@

No Yes No - 7296 + 7297 @@ -5022,7 +5022,7 @@

No Yes No - 5603 + 5606 @@ -5064,7 +5064,7 @@

Yes Yes No - 3594 + 3596 @@ -5085,7 +5085,7 @@

No Yes No - 3495 + 3499 @@ -5108,7 +5108,7 @@

No Yes No - 2946 + 2951 @@ -5150,7 +5150,7 @@

No Yes No - 2438 + 2441 @@ -5173,7 +5173,7 @@

No Yes No - 1952 + 1953 @@ -5194,7 +5194,7 @@

No Yes No - 1943 + 1946 @@ -5215,7 +5215,7 @@

No Yes No - 1908 + 1909 @@ -5236,7 +5236,7 @@

No Yes No - 1612 + 1617 @@ -5257,7 +5257,7 @@

No Yes No - 1592 + 1595 @@ -5278,7 +5278,7 @@

No Yes No - 1478 + 1479 @@ -5301,7 +5301,7 @@

No Yes No - 1321 + 1322 @@ -5322,7 +5322,7 @@

No Yes No - 1197 + 1198 @@ -5343,7 +5343,7 @@

No Yes No - 1067 + 1070 @@ -5364,7 +5364,7 @@

No Yes No - 899 + 901 @@ -5385,7 +5385,7 @@

No Yes No - 882 + 883 @@ -5406,7 +5406,7 @@

No Yes No - 822 + 823 @@ -5427,7 +5427,7 @@

No Yes No - 751 + 752 @@ -5469,7 +5469,7 @@

No Yes No - 704 + 705 @@ -5513,7 +5513,7 @@

No Yes No - 661 + 662 @@ -5618,7 +5618,7 @@

No Yes No - 538 + 541 @@ -5681,7 +5681,7 @@

No Yes No - 442 + 443 @@ -5744,7 +5744,7 @@

No Yes No - 423 + 424 @@ -5786,7 +5786,7 @@

No Yes No - 394 + 395 @@ -5807,7 +5807,7 @@

No Yes No - 396 + 397 @@ -5849,7 +5849,7 @@

No Yes No - 376 + 377 @@ -5870,7 +5870,7 @@

No Yes No - 370 + 371 @@ -5933,7 +5933,7 @@

No Yes No - 336 + 337 @@ -6059,7 +6059,7 @@

No Yes No - 277 + 278 @@ -6145,7 +6145,7 @@

No Yes No - 234 + 235 @@ -6166,7 +6166,7 @@

No Yes No - 229 + 230 @@ -6208,7 +6208,7 @@

No Yes No - 225 + 226 @@ -6229,7 +6229,7 @@

No Yes No - 225 + 226 @@ -6462,7 +6462,7 @@

No Yes No - 196 + 198 @@ -6483,7 +6483,7 @@

No Yes No - 217 + 219 @@ -6504,7 +6504,7 @@

No Yes No - 188 + 189 @@ -6588,7 +6588,7 @@

No Yes No - 176 + 177 @@ -7012,7 +7012,7 @@

No Yes No - 109 + 110 @@ -7390,7 +7390,7 @@

No Yes No - 85 + 86 @@ -7474,7 +7474,7 @@

No Yes No - 80 + 81 @@ -7537,7 +7537,7 @@

No Yes No - 75 + 76 @@ -7621,7 +7621,7 @@

No Yes No - 71 + 72 @@ -8066,7 +8066,7 @@

Yes Yes No - 48 + 49 @@ -8404,7 +8404,7 @@

No Yes No - 39 + 40 @@ -8427,7 +8427,7 @@

Yes Yes No - 37 + 38 @@ -8574,7 +8574,7 @@

No Yes No - 33 + 34 @@ -8723,7 +8723,7 @@

No Yes No - 30 + 31 @@ -8891,7 +8891,7 @@

No Yes No - 29 + 30 @@ -9500,7 +9500,7 @@

No Yes No - 20 + 21 @@ -9710,7 +9710,7 @@

No Yes No - 18 + 19 @@ -9943,7 +9943,7 @@

No Yes No - 17 + 18 @@ -10636,7 +10636,7 @@

No Yes No - 13 + 14 @@ -11638,7 +11638,7 @@

openapi-ui - a simpler and more beautiful openapi document than swagger-ui, quickly generate mock params and call api request + a simpler and more beautiful openapi UI document than swagger UI, quickly generate mock params and call api request No @@ -26365,7 +26365,7 @@

Yes Yes Yes - 251 + 250 @@ -28583,7 +28583,7 @@

No No No - 7296 + 7297 @@ -28606,7 +28606,7 @@

No No No - 1247 + 1249 @@ -28919,7 +28919,7 @@

No No No - 3472 + 3475 @@ -28984,7 +28984,7 @@

No No No - 463 + 464 @@ -29414,7 +29414,7 @@

No Yes Yes - 4359 + 4360 @@ -29596,7 +29596,7 @@

No Yes No - 4708 + 4710 @@ -29640,7 +29640,7 @@

No Yes Yes - 2363 + 2365 @@ -30251,7 +30251,7 @@

No Yes No - 1280 + 1286 @@ -30999,7 +30999,7 @@

LucyBot api-spec-converter (link)

Stars - 1054 + 1055 Watchers @@ -31015,7 +31015,7 @@

LucyBot api-spec-converter (link)

Last Updated - 2024-01-02T16:19:21Z + 2024-01-04T15:59:49Z Archived @@ -31155,7 +31155,7 @@

Scalar (link)

Stars - 2022 + 2039 Watchers @@ -31163,7 +31163,7 @@

Scalar (link)

Forks - 31 + 33 Created @@ -31171,7 +31171,7 @@

Scalar (link)

Last Updated - 2024-01-03T21:39:12Z + 2024-01-05T02:44:34Z Archived @@ -31311,7 +31311,7 @@

ReDoc (link)

Stars - 21710 + 21722 Watchers @@ -31319,7 +31319,7 @@

ReDoc (link)

Forks - 2266 + 2267 Created @@ -31327,7 +31327,7 @@

ReDoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived @@ -31467,7 +31467,7 @@

oasdiff (link)

Stars - 496 + 497 Watchers @@ -31483,7 +31483,7 @@

oasdiff (link)

Last Updated - 2024-01-03T01:00:19Z + 2024-01-04T16:54:40Z Archived @@ -31535,7 +31535,7 @@

optic diff (link)

Last Updated - 2024-01-02T16:41:23Z + 2024-01-04T19:38:39Z Archived @@ -31675,7 +31675,7 @@

OData OpenAPI (link)

Stars - 174 + 175 Watchers @@ -31691,7 +31691,7 @@

OData OpenAPI (link)

Last Updated - 2024-01-02T09:11:36Z + 2024-01-04T15:48:12Z Archived @@ -32143,7 +32143,7 @@

Spot (link)

Stars - 509 + 510 Watchers @@ -32159,7 +32159,7 @@

Spot (link)

Last Updated - 2024-01-03T13:48:03Z + 2024-01-04T16:29:28Z Archived @@ -32195,7 +32195,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4670 + 4676 Watchers @@ -32203,7 +32203,7 @@

OpenAPI Server Code Generator (oapi-cod Forks - 770 + 771 Created @@ -32211,7 +32211,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-04T02:26:52Z + 2024-01-05T01:13:22Z Archived @@ -32299,15 +32299,15 @@

OpenAPI Generator (link)

Stars - 18631 + 18651 Watchers - 213 + 214 Forks - 5892 + 5895 Created @@ -32315,7 +32315,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-04T01:29:52Z + 2024-01-05T00:04:21Z Archived @@ -32403,15 +32403,15 @@

Kiota Api Client Generator (link)

Stars - 1157 + 1375 Watchers - 33 + 34 Forks - 115 + 117 Created @@ -32419,7 +32419,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-04T03:30:47Z + 2024-01-05T03:02:51Z Archived @@ -32715,7 +32715,7 @@

Swagger Editor (link)

Stars - 8482 + 8488 Watchers @@ -32723,7 +32723,7 @@

Swagger Editor (link)

Forks - 2222 + 2224 Created @@ -32731,7 +32731,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T10:37:33Z + 2024-01-04T16:53:55Z Archived @@ -33495,7 +33495,7 @@

Prism (link)

Stars - 3848 + 3849 Watchers @@ -33511,7 +33511,7 @@

Prism (link)

Last Updated - 2024-01-03T14:13:30Z + 2024-01-04T16:03:41Z Archived @@ -33911,7 +33911,7 @@

tsoa (link)

Stars - 2997 + 3000 Watchers @@ -33927,7 +33927,7 @@

tsoa (link)

Last Updated - 2024-01-04T01:25:58Z + 2024-01-05T01:21:25Z Archived @@ -34171,7 +34171,7 @@

API Platform (link)

Stars - 8163 + 8168 Watchers @@ -34187,7 +34187,7 @@

API Platform (link)

Last Updated - 2024-01-02T16:18:41Z + 2024-01-04T23:21:17Z Archived @@ -34275,7 +34275,7 @@

Fusio (link)

Stars - 1630 + 1632 Watchers @@ -34291,7 +34291,7 @@

Fusio (link)

Last Updated - 2024-01-03T18:12:37Z + 2024-01-04T16:00:42Z Archived @@ -34535,7 +34535,7 @@

Dredd (link)

Stars - 4093 + 4094 Watchers @@ -34551,7 +34551,7 @@

Dredd (link)

Last Updated - 2024-01-03T22:17:17Z + 2024-01-04T15:55:21Z Archived @@ -34691,7 +34691,7 @@

portman (link)

Stars - 592 + 593 Watchers @@ -34707,7 +34707,7 @@

portman (link)

Last Updated - 2024-01-03T19:26:02Z + 2024-01-04T16:57:24Z Archived @@ -34743,7 +34743,7 @@

Step CI (link)

Stars - 1407 + 1410 Watchers @@ -34759,7 +34759,7 @@

Step CI (link)

Last Updated - 2024-01-02T17:35:35Z + 2024-01-04T21:10:24Z Archived @@ -34847,7 +34847,7 @@

Spectral (link)

Stars - 2127 + 2131 Watchers @@ -34863,7 +34863,7 @@

Spectral (link)

Last Updated - 2024-01-03T21:27:25Z + 2024-01-05T03:24:45Z Archived @@ -35263,7 +35263,7 @@

swagger-parser (link)

Stars - 724 + 725 Watchers @@ -35279,7 +35279,7 @@

swagger-parser (link)

Last Updated - 2023-12-30T14:49:00Z + 2024-01-05T02:22:05Z Archived @@ -35575,7 +35575,7 @@

kin-openapi (link)

Stars - 2207 + 2209 Watchers @@ -35591,7 +35591,7 @@

kin-openapi (link)

Last Updated - 2024-01-04T02:54:36Z + 2024-01-04T16:14:50Z Archived @@ -35679,7 +35679,7 @@

php-openapi (link)

Stars - 446 + 447 Watchers @@ -35695,7 +35695,7 @@

php-openapi (link)

Last Updated - 2024-01-02T09:13:49Z + 2024-01-04T15:50:40Z Archived @@ -35887,7 +35887,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1247 + 1249 Watchers @@ -35903,7 +35903,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2024-01-03T16:48:14Z + 2024-01-04T16:15:07Z Archived @@ -36251,7 +36251,7 @@

go-swagger (link)

Stars - 9068 + 9071 Watchers @@ -36259,7 +36259,7 @@

go-swagger (link)

Forks - 1273 + 1274 Created @@ -36267,7 +36267,7 @@

go-swagger (link)

Last Updated - 2024-01-03T16:58:28Z + 2024-01-04T15:58:13Z Archived @@ -36355,7 +36355,7 @@

restful-react (link)

Stars - 1878 + 1879 Watchers @@ -36371,7 +36371,7 @@

restful-react (link)

Last Updated - 2024-01-02T16:44:41Z + 2024-01-04T16:24:14Z Archived @@ -36407,7 +36407,7 @@

NSwag (link)

Stars - 6252 + 6254 Watchers @@ -36423,7 +36423,7 @@

NSwag (link)

Last Updated - 2024-01-04T03:07:10Z + 2024-01-04T15:46:47Z Archived @@ -36511,15 +36511,15 @@

Swagger-Codegen (link)

Stars - 16238 + 16239 Watchers - 418 + 419 Forks - 6033 + 6032 Created @@ -36527,7 +36527,7 @@

Swagger-Codegen (link)

Last Updated - 2024-01-03T15:40:05Z + 2024-01-04T20:26:47Z Archived @@ -36563,7 +36563,7 @@

Azure AutoRest (link)

Stars - 4396 + 4397 Watchers @@ -36579,7 +36579,7 @@

Azure AutoRest (link)

Last Updated - 2024-01-03T14:12:01Z + 2024-01-04T15:59:01Z Archived @@ -36667,7 +36667,7 @@

oas (link)

Stars - 225 + 226 Watchers @@ -36683,7 +36683,7 @@

oas (link)

Last Updated - 2024-01-03T12:49:23Z + 2024-01-04T07:47:49Z Archived @@ -36719,7 +36719,7 @@

api (link)

Stars - 452 + 454 Watchers @@ -36735,7 +36735,7 @@

api (link)

Last Updated - 2024-01-03T20:49:10Z + 2024-01-04T18:11:32Z Archived @@ -37395,7 +37395,7 @@

openapi-fuzzer (link)

Stars - 488 + 489 Watchers @@ -37411,7 +37411,7 @@

openapi-fuzzer (link)

Last Updated - 2024-01-02T17:15:07Z + 2024-01-04T16:53:23Z Archived @@ -37447,7 +37447,7 @@

cats (link)

Stars - 1034 + 1036 Watchers @@ -37463,7 +37463,7 @@

cats (link)

Last Updated - 2024-01-03T03:21:46Z + 2024-01-04T16:44:15Z Archived @@ -38019,7 +38019,7 @@

Restish (link)

Stars - 576 + 577 Watchers @@ -38035,7 +38035,7 @@

Restish (link)

Last Updated - 2024-01-03T18:18:05Z + 2024-01-04T16:45:59Z Archived @@ -38123,7 +38123,7 @@

openapi-to-postman (link)

Stars - 818 + 820 Watchers @@ -38139,7 +38139,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-03T18:58:49Z + 2024-01-04T16:28:53Z Archived @@ -38279,7 +38279,7 @@

SpringFox (link)

Stars - 5883 + 5885 Watchers @@ -38295,7 +38295,7 @@

SpringFox (link)

Last Updated - 2024-01-01T06:50:08Z + 2024-01-04T20:06:08Z Archived @@ -38383,7 +38383,7 @@

OWASP ZAP (link)

Stars - 11587 + 11595 Watchers @@ -38391,7 +38391,7 @@

OWASP ZAP (link)

Forks - 2179 + 2181 Created @@ -38399,7 +38399,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T19:07:37Z + 2024-01-05T03:09:30Z Archived @@ -38807,7 +38807,7 @@

Spectator (link)

Forks - 42 + 43 Created @@ -38903,7 +38903,7 @@

Django REST Framework (link)

Stars - 26898 + 26915 Watchers @@ -38919,7 +38919,7 @@

Django REST Framework (link)

Last Updated - 2024-01-03T22:50:36Z + 2024-01-05T02:22:20Z Archived @@ -39267,7 +39267,7 @@

openapi-python-client (link)

Stars - 927 + 930 Watchers @@ -39283,7 +39283,7 @@

openapi-python-client (link)

Last Updated - 2024-01-02T17:11:58Z + 2024-01-04T20:50:22Z Archived @@ -39319,7 +39319,7 @@

Elements (link)

Stars - 1330 + 1332 Watchers @@ -39335,7 +39335,7 @@

Elements (link)

Last Updated - 2024-01-03T16:30:59Z + 2024-01-04T16:33:27Z Archived @@ -39527,11 +39527,11 @@

Cherrybomb (link)

Stars - 1003 + 1005 Watchers - 13 + 12 Forks @@ -39543,7 +39543,7 @@

Cherrybomb (link)

Last Updated - 2024-01-02T17:25:16Z + 2024-01-04T21:15:19Z Archived @@ -39847,7 +39847,7 @@

orval (link)

Forks - 235 + 236 Created @@ -40099,7 +40099,7 @@

vacuum (link)

Stars - 337 + 340 Watchers @@ -40107,7 +40107,7 @@

vacuum (link)

Forks - 27 + 26 Created @@ -40115,7 +40115,7 @@

vacuum (link)

Last Updated - 2024-01-02T22:39:06Z + 2024-01-04T21:40:50Z Archived @@ -40219,7 +40219,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T14:16:07Z + 2024-01-05T02:52:52Z Archived @@ -40827,7 +40827,7 @@

kubb (link)

Stars - 288 + 289 Watchers @@ -40843,7 +40843,7 @@

kubb (link)

Last Updated - 2024-01-03T12:59:59Z + 2024-01-04T16:38:24Z Archived @@ -41139,7 +41139,7 @@

allof-merge (link)

Stars - 7 + 8 Watchers @@ -41155,7 +41155,7 @@

allof-merge (link)

Last Updated - 2023-12-29T22:01:11Z + 2024-01-04T13:22:40Z Archived @@ -41191,7 +41191,7 @@

api-ref-bundler (link)

Stars - 8 + 9 Watchers @@ -41207,7 +41207,7 @@

api-ref-bundler (link)

Last Updated - 2023-12-29T22:00:56Z + 2024-01-04T13:22:41Z Archived @@ -41243,7 +41243,7 @@

rswag (link)

Stars - 1810 + 1811 Watchers @@ -41259,7 +41259,7 @@

rswag (link)

Last Updated - 2024-01-03T13:49:30Z + 2024-01-04T15:58:40Z Archived @@ -41295,7 +41295,7 @@

🌿 Fern (link)

Stars - 2030 + 2034 Watchers @@ -41311,7 +41311,7 @@

🌿 Fern (link)

Last Updated - 2024-01-03T20:51:57Z + 2024-01-05T00:54:59Z Archived @@ -41451,7 +41451,7 @@

typeconv (link)

Stars - 376 + 377 Watchers @@ -41467,7 +41467,7 @@

typeconv (link)

Last Updated - 2024-01-03T13:16:21Z + 2024-01-05T01:47:43Z Archived @@ -41607,7 +41607,7 @@

Huma (link)

Stars - 316 + 318 Watchers @@ -41615,7 +41615,7 @@

Huma (link)

Forks - 37 + 38 Created @@ -41623,7 +41623,7 @@

Huma (link)

Last Updated - 2024-01-04T02:02:43Z + 2024-01-04T16:43:04Z Archived @@ -41815,7 +41815,7 @@

widdershins (link)

Stars - 1410 + 1411 Watchers @@ -41823,7 +41823,7 @@

widdershins (link)

Forks - 317 + 318 Created @@ -41831,7 +41831,7 @@

widdershins (link)

Last Updated - 2024-01-02T16:27:50Z + 2024-01-04T16:08:03Z Archived @@ -41867,7 +41867,7 @@

FastAPI (link)

Stars - 66582 + 66634 Watchers @@ -41875,7 +41875,7 @@

FastAPI (link)

Forks - 5635 + 5641 Created @@ -41883,7 +41883,7 @@

FastAPI (link)

Last Updated - 2024-01-04T03:21:04Z + 2024-01-05T03:27:06Z Archived @@ -41919,7 +41919,7 @@

swagger-ui (link)

Stars - 24974 + 24980 Watchers @@ -41935,7 +41935,7 @@

swagger-ui (link)

Last Updated - 2024-01-04T00:16:41Z + 2024-01-04T23:13:12Z Archived @@ -41971,7 +41971,7 @@

Redoc (link)

Stars - 21710 + 21722 Watchers @@ -41979,7 +41979,7 @@

Redoc (link)

Forks - 2266 + 2267 Created @@ -41987,7 +41987,7 @@

Redoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived @@ -42023,15 +42023,15 @@

full-stack-fastapi-postgresql (link) Stars - 14071 + 14090 Watchers - 236 + 237 Forks - 2518 + 2520 Created @@ -42039,7 +42039,7 @@

full-stack-fastapi-postgresql (link) Last Updated - 2024-01-04T03:26:54Z + 2024-01-05T03:29:22Z Archived @@ -42075,7 +42075,7 @@

swagger-core (link)

Stars - 7296 + 7297 Watchers @@ -42091,7 +42091,7 @@

swagger-core (link)

Last Updated - 2024-01-02T19:48:31Z + 2024-01-04T15:52:44Z Archived @@ -42127,7 +42127,7 @@

mockoon (link)

Stars - 5603 + 5606 Watchers @@ -42143,7 +42143,7 @@

mockoon (link)

Last Updated - 2024-01-04T02:08:03Z + 2024-01-04T16:15:43Z Archived @@ -42231,7 +42231,7 @@

openapi-devtools (link)

Stars - 3594 + 3596 Watchers @@ -42247,7 +42247,7 @@

openapi-devtools (link)

Last Updated - 2024-01-03T14:18:36Z + 2024-01-04T15:57:12Z Archived @@ -42283,7 +42283,7 @@

openapi-directory (link)

Stars - 3495 + 3499 Watchers @@ -42299,7 +42299,7 @@

openapi-directory (link)

Last Updated - 2024-01-03T18:27:38Z + 2024-01-04T20:58:21Z Archived @@ -42335,7 +42335,7 @@

springdoc-openapi (link)

Stars - 2946 + 2951 Watchers @@ -42343,7 +42343,7 @@

springdoc-openapi (link)

Forks - 437 + 438 Created @@ -42351,7 +42351,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-03T07:33:41Z + 2024-01-04T21:32:29Z Archived @@ -42439,7 +42439,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2438 + 2441 Watchers @@ -42447,7 +42447,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Forks - 313 + 314 Created @@ -42455,7 +42455,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-01-03T08:28:23Z + 2024-01-04T16:29:29Z Archived @@ -42491,7 +42491,7 @@

Schemathesis (link)

Stars - 1952 + 1953 Watchers @@ -42507,7 +42507,7 @@

Schemathesis (link)

Last Updated - 2024-01-02T16:57:38Z + 2024-01-04T16:36:54Z Archived @@ -42543,7 +42543,7 @@

drf-spectacular (link)

Stars - 1943 + 1946 Watchers @@ -42559,7 +42559,7 @@

drf-spectacular (link)

Last Updated - 2024-01-03T13:09:01Z + 2024-01-05T02:59:48Z Archived @@ -42595,7 +42595,7 @@

gnostic (link)

Stars - 1908 + 1909 Watchers @@ -42611,7 +42611,7 @@

gnostic (link)

Last Updated - 2024-01-03T20:08:35Z + 2024-01-04T16:09:03Z Archived @@ -42647,7 +42647,7 @@

msgspec (link)

Stars - 1612 + 1617 Watchers @@ -42663,7 +42663,7 @@

msgspec (link)

Last Updated - 2024-01-04T00:08:42Z + 2024-01-04T20:10:46Z Archived @@ -42699,11 +42699,11 @@

utoipa (link)

Stars - 1592 + 1595 Watchers - 8 + 7 Forks @@ -42715,7 +42715,7 @@

utoipa (link)

Last Updated - 2024-01-03T10:37:47Z + 2024-01-04T22:19:44Z Archived @@ -42751,7 +42751,7 @@

rapidoc (link)

Stars - 1478 + 1479 Watchers @@ -42767,7 +42767,7 @@

rapidoc (link)

Last Updated - 2024-01-04T00:37:38Z + 2024-01-04T16:29:49Z Archived @@ -42803,7 +42803,7 @@

OpenAPI-gui (link)

Stars - 1321 + 1322 Watchers @@ -42819,7 +42819,7 @@

OpenAPI-gui (link)

Last Updated - 2024-01-02T16:28:22Z + 2024-01-04T16:08:33Z Archived @@ -42855,7 +42855,7 @@

openapi-generator-cli (link)

Stars - 1197 + 1198 Watchers @@ -42871,7 +42871,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-03T12:52:06Z + 2024-01-04T22:46:43Z Archived @@ -42907,7 +42907,7 @@

apispec (link)

Stars - 1067 + 1070 Watchers @@ -42923,7 +42923,7 @@

apispec (link)

Last Updated - 2024-01-03T14:11:43Z + 2024-01-04T15:57:59Z Archived @@ -42959,7 +42959,7 @@

apiflask (link)

Stars - 899 + 901 Watchers @@ -42975,7 +42975,7 @@

apiflask (link)

Last Updated - 2024-01-03T14:17:21Z + 2024-01-04T21:49:58Z Archived @@ -43011,7 +43011,7 @@

ogen (link)

Stars - 882 + 883 Watchers @@ -43027,7 +43027,7 @@

ogen (link)

Last Updated - 2024-01-03T23:58:52Z + 2024-01-04T15:02:56Z Archived @@ -43063,7 +43063,7 @@

typespec (link)

Stars - 822 + 823 Watchers @@ -43079,7 +43079,7 @@

typespec (link)

Last Updated - 2024-01-02T22:22:58Z + 2024-01-04T16:59:05Z Archived @@ -43115,7 +43115,7 @@

studio (link)

Stars - 751 + 752 Watchers @@ -43131,7 +43131,7 @@

studio (link)

Last Updated - 2024-01-02T16:55:49Z + 2024-01-04T16:35:03Z Archived @@ -43219,7 +43219,7 @@

openapi-diff (link)

Stars - 704 + 705 Watchers @@ -43235,7 +43235,7 @@

openapi-diff (link)

Last Updated - 2023-12-28T03:21:22Z + 2024-01-04T16:06:21Z Archived @@ -43323,7 +43323,7 @@

API Sprout (link)

Stars - 661 + 662 Watchers @@ -43339,7 +43339,7 @@

API Sprout (link)

Last Updated - 2024-01-02T16:45:18Z + 2024-01-04T16:24:51Z Archived @@ -43583,7 +43583,7 @@

zod-to-openapi (link)

Stars - 538 + 541 Watchers @@ -43599,7 +43599,7 @@

zod-to-openapi (link)

Last Updated - 2024-01-03T20:51:49Z + 2024-01-04T23:17:17Z Archived @@ -43739,7 +43739,7 @@

openapi-mock (link)

Stars - 442 + 443 Watchers @@ -43755,7 +43755,7 @@

openapi-mock (link)

Last Updated - 2023-12-29T10:08:39Z + 2024-01-04T13:39:49Z Archived @@ -43895,7 +43895,7 @@

full-stack-fastapi-couchbase (link)

Stars - 423 + 424 Watchers @@ -43911,7 +43911,7 @@

full-stack-fastapi-couchbase (link)

Last Updated - 2024-01-02T16:49:25Z + 2024-01-04T16:28:51Z Archived @@ -43999,7 +43999,7 @@

safrs (link)

Stars - 394 + 395 Watchers @@ -44015,7 +44015,7 @@

safrs (link)

Last Updated - 2024-01-02T16:37:26Z + 2024-01-04T16:17:22Z Archived @@ -44051,7 +44051,7 @@

swagger-autogen (link)

Stars - 396 + 397 Watchers @@ -44067,7 +44067,7 @@

swagger-autogen (link)

Last Updated - 2024-01-03T04:15:29Z + 2024-01-04T17:00:25Z Archived @@ -44155,7 +44155,7 @@

typeconv (link)

Stars - 376 + 377 Watchers @@ -44171,7 +44171,7 @@

typeconv (link)

Last Updated - 2024-01-03T13:16:21Z + 2024-01-05T01:47:43Z Archived @@ -44207,7 +44207,7 @@

openapi-codegen (link)

Stars - 370 + 371 Watchers @@ -44223,7 +44223,7 @@

openapi-codegen (link)

Last Updated - 2024-01-02T08:53:45Z + 2024-01-04T15:09:08Z Archived @@ -44363,7 +44363,7 @@

akita-cli (link)

Stars - 336 + 337 Watchers @@ -44379,7 +44379,7 @@

akita-cli (link)

Last Updated - 2024-01-04T03:21:33Z + 2024-01-04T16:54:56Z Archived @@ -44675,7 +44675,7 @@

kui (link)

Stars - 277 + 278 Watchers @@ -44691,7 +44691,7 @@

kui (link)

Last Updated - 2024-01-02T16:55:41Z + 2024-01-04T16:34:55Z Archived @@ -44883,7 +44883,7 @@

generators (link)

Stars - 234 + 235 Watchers @@ -44899,7 +44899,7 @@

generators (link)

Last Updated - 2024-01-02T16:55:14Z + 2024-01-04T16:34:28Z Archived @@ -44935,7 +44935,7 @@

fastapi-clean-example (link)

Stars - 229 + 230 Watchers @@ -44951,7 +44951,7 @@

fastapi-clean-example (link)

Last Updated - 2023-12-30T00:52:17Z + 2024-01-04T15:26:00Z Archived @@ -45039,7 +45039,7 @@

znai (link)

Stars - 225 + 226 Watchers @@ -45055,7 +45055,7 @@

znai (link)

Last Updated - 2023-12-06T16:02:50Z + 2024-01-04T11:07:13Z Archived @@ -45091,7 +45091,7 @@

modelina (link)

Stars - 225 + 226 Watchers @@ -45099,7 +45099,7 @@

modelina (link)

Forks - 133 + 134 Created @@ -45107,7 +45107,7 @@

modelina (link)

Last Updated - 2024-01-01T20:13:24Z + 2024-01-04T21:44:09Z Archived @@ -45663,7 +45663,7 @@

esmerald (link)

Stars - 196 + 198 Watchers @@ -45679,7 +45679,7 @@

esmerald (link)

Last Updated - 2024-01-01T11:57:48Z + 2024-01-05T02:53:35Z Archived @@ -45715,7 +45715,7 @@

stackql (link)

Stars - 217 + 219 Watchers @@ -45731,7 +45731,7 @@

stackql (link)

Last Updated - 2024-01-03T19:19:11Z + 2024-01-04T14:37:44Z Archived @@ -45767,7 +45767,7 @@

openapi.net.odata (link)

Stars - 188 + 189 Watchers @@ -45783,7 +45783,7 @@

openapi.net.odata (link)

Last Updated - 2023-12-07T17:00:56Z + 2024-01-04T13:39:59Z Archived @@ -45975,7 +45975,7 @@

openapi-typescript-code-generator (link Stars - 176 + 177 Watchers @@ -45991,7 +45991,7 @@

openapi-typescript-code-generator (link Last Updated - 2024-01-02T17:14:51Z + 2024-01-04T16:53:09Z Archived @@ -47015,7 +47015,7 @@

speakeasy (link)

Stars - 109 + 110 Watchers @@ -47031,7 +47031,7 @@

speakeasy (link)

Last Updated - 2023-12-13T04:58:25Z + 2024-01-04T14:09:21Z Archived @@ -47951,7 +47951,7 @@

zod-openapi (link)

Stars - 85 + 86 Watchers @@ -47967,7 +47967,7 @@

zod-openapi (link)

Last Updated - 2024-01-04T00:34:13Z + 2024-01-04T17:17:35Z Archived @@ -48159,7 +48159,7 @@

paypal-rest-api-specifications (link) Stars - 80 + 81 Watchers @@ -48167,7 +48167,7 @@

paypal-rest-api-specifications (link) Forks - 87 + 88 Created @@ -48175,7 +48175,7 @@

paypal-rest-api-specifications (link) Last Updated - 2024-01-03T08:31:47Z + 2024-01-04T22:41:35Z Archived @@ -48315,7 +48315,7 @@

intellij-openapi-generator (link)

Stars - 75 + 76 Watchers @@ -48331,7 +48331,7 @@

intellij-openapi-generator (link)

Last Updated - 2024-01-02T09:11:08Z + 2024-01-04T15:47:41Z Archived @@ -48523,7 +48523,7 @@

jellyfin-sdk-kotlin (link)

Stars - 71 + 72 Watchers @@ -48539,7 +48539,7 @@

jellyfin-sdk-kotlin (link)

Last Updated - 2023-12-22T21:51:06Z + 2024-01-04T04:17:53Z Archived @@ -49615,7 +49615,7 @@

apidom (link)

Stars - 48 + 49 Watchers @@ -49631,7 +49631,7 @@

apidom (link)

Last Updated - 2023-12-28T04:34:11Z + 2024-01-05T00:36:47Z Archived @@ -50447,7 +50447,7 @@

apibrew (link)

Stars - 39 + 40 Watchers @@ -50463,7 +50463,7 @@

apibrew (link)

Last Updated - 2024-01-03T15:22:29Z + 2024-01-05T00:21:27Z Archived @@ -50499,7 +50499,7 @@

openapi (link)

Stars - 37 + 38 Watchers @@ -50515,7 +50515,7 @@

openapi (link)

Last Updated - 2024-01-03T12:10:18Z + 2024-01-05T00:27:05Z Archived @@ -50863,7 +50863,7 @@

openapi-preprocessor (link)

Stars - 33 + 34 Watchers @@ -50879,7 +50879,7 @@

openapi-preprocessor (link)

Last Updated - 2023-11-04T03:49:21Z + 2024-01-04T16:20:18Z Archived @@ -51227,7 +51227,7 @@

openapi_dart (link)

Stars - 30 + 31 Watchers @@ -51243,7 +51243,7 @@

openapi_dart (link)

Last Updated - 2024-01-02T09:15:39Z + 2024-01-04T15:54:01Z Archived @@ -51643,7 +51643,7 @@

openapi-python-generator (link)

Stars - 29 + 30 Watchers @@ -51659,7 +51659,7 @@

openapi-python-generator (link)

Last Updated - 2023-12-23T22:09:28Z + 2024-01-04T15:04:45Z Archived @@ -52375,7 +52375,7 @@

reslang (link)

Watchers - 71 + 72 Forks @@ -53151,7 +53151,7 @@

drf-spectacular-sidecar (link)

Stars - 20 + 21 Watchers @@ -53167,7 +53167,7 @@

drf-spectacular-sidecar (link)

Last Updated - 2023-12-05T08:20:39Z + 2024-01-04T13:26:04Z Archived @@ -53671,7 +53671,7 @@

openapi-php (link)

Stars - 18 + 19 Watchers @@ -53687,7 +53687,7 @@

openapi-php (link)

Last Updated - 2024-01-02T09:13:10Z + 2024-01-04T15:49:55Z Archived @@ -54243,7 +54243,7 @@

json-to-json-schema (link)

Stars - 17 + 18 Watchers @@ -54259,7 +54259,7 @@

json-to-json-schema (link)

Last Updated - 2023-10-30T07:28:35Z + 2024-01-04T04:03:21Z Archived @@ -55959,7 +55959,7 @@

echo-boilerplate (link)

Stars - 13 + 14 Watchers @@ -55975,7 +55975,7 @@

echo-boilerplate (link)

Last Updated - 2023-11-07T14:18:20Z + 2024-01-04T15:20:07Z Archived @@ -58471,7 +58471,7 @@

openapi-ui (link)

Last Updated - 2024-01-03T09:39:14Z + 2024-01-04T14:37:40Z Archived @@ -69339,7 +69339,7 @@

awesome-fullstack-sandbox (link)

Last Updated - 2023-12-05T12:45:00Z + 2024-01-04T15:46:57Z Archived @@ -94907,7 +94907,7 @@

OpenAPI Explorer (link)

Stars - 251 + 250 Watchers @@ -94923,7 +94923,7 @@

OpenAPI Explorer (link)

Last Updated - 2024-01-03T04:35:05Z + 2024-01-04T10:05:38Z Archived @@ -100419,7 +100419,7 @@

swagger-models (link)

Stars - 7296 + 7297 Watchers @@ -100435,7 +100435,7 @@

swagger-models (link)

Last Updated - 2024-01-02T19:48:31Z + 2024-01-04T15:52:44Z Archived @@ -100471,7 +100471,7 @@

Microsoft.OpenApi.net (link)

Stars - 1247 + 1249 Watchers @@ -100487,7 +100487,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-01-03T16:48:14Z + 2024-01-04T16:15:07Z Archived @@ -101251,7 +101251,7 @@

PHP-CRUD-API (link)

Stars - 3472 + 3475 Watchers @@ -101267,7 +101267,7 @@

PHP-CRUD-API (link)

Last Updated - 2024-01-03T16:56:14Z + 2024-01-04T10:18:03Z Archived @@ -101407,7 +101407,7 @@

openapi-client-axios (link)

Stars - 463 + 464 Watchers @@ -101423,7 +101423,7 @@

openapi-client-axios (link)

Last Updated - 2023-12-31T18:46:35Z + 2024-01-04T04:09:26Z Archived @@ -102447,7 +102447,7 @@

Connexion (link)

Stars - 4359 + 4360 Watchers @@ -102463,7 +102463,7 @@

Connexion (link)

Last Updated - 2024-01-03T23:56:11Z + 2024-01-04T20:23:14Z Archived @@ -102863,7 +102863,7 @@

LoopBack 4 (link)

Stars - 4708 + 4710 Watchers @@ -102879,7 +102879,7 @@

LoopBack 4 (link)

Last Updated - 2024-01-03T04:20:23Z + 2024-01-04T19:37:53Z Archived @@ -102967,7 +102967,7 @@

RESTler (link)

Stars - 2363 + 2365 Watchers @@ -102983,7 +102983,7 @@

RESTler (link)

Last Updated - 2024-01-03T12:20:08Z + 2024-01-04T15:54:08Z Archived @@ -104475,11 +104475,11 @@

go-doudou (link)

Stars - 1280 + 1286 Watchers - 86 + 87 Forks @@ -104491,7 +104491,7 @@

go-doudou (link)

Last Updated - 2024-01-03T12:04:25Z + 2024-01-05T01:46:22Z Archived diff --git a/docs/categories/auto-generators.html b/docs/categories/auto-generators.html index cb929b6b..ab4befc4 100644 --- a/docs/categories/auto-generators.html +++ b/docs/categories/auto-generators.html @@ -153,7 +153,7 @@

Yes Yes No - 316 + 318 @@ -363,7 +363,7 @@

Huma (link)

Stars - 316 + 318 Watchers @@ -371,7 +371,7 @@

Huma (link)

Forks - 37 + 38 Created @@ -379,7 +379,7 @@

Huma (link)

Last Updated - 2024-01-04T02:02:43Z + 2024-01-04T16:43:04Z Archived diff --git a/docs/categories/client-implementations.html b/docs/categories/client-implementations.html index cb20c5cf..2bf653bb 100644 --- a/docs/categories/client-implementations.html +++ b/docs/categories/client-implementations.html @@ -132,7 +132,7 @@

No No No - 463 + 464 @@ -290,7 +290,7 @@

openapi-client-axios (link)

Stars - 463 + 464 Watchers @@ -306,7 +306,7 @@

openapi-client-axios (link)

Last Updated - 2023-12-31T18:46:35Z + 2024-01-04T04:09:26Z Archived diff --git a/docs/categories/code-generators.html b/docs/categories/code-generators.html index 322e83c9..d67cf8f5 100644 --- a/docs/categories/code-generators.html +++ b/docs/categories/code-generators.html @@ -86,7 +86,7 @@

No Yes No - 4670 + 4676 @@ -132,7 +132,7 @@

No Yes Yes - 18631 + 18651 @@ -178,7 +178,7 @@

No Yes Yes - 1157 + 1375 @@ -266,7 +266,7 @@

No Yes Yes - 16238 + 16239 @@ -381,7 +381,7 @@

Yes Yes Yes - 288 + 289 @@ -404,7 +404,7 @@

Yes Yes Yes - 2030 + 2034 @@ -427,7 +427,7 @@

Yes Yes No - 24974 + 24980 @@ -448,7 +448,7 @@

No Yes No - 7296 + 7297 @@ -490,7 +490,7 @@

No Yes No - 1197 + 1198 @@ -597,7 +597,7 @@

No Yes No - 80 + 81 @@ -704,7 +704,7 @@

No Yes No - 30 + 31 @@ -1800,7 +1800,7 @@

No No No - 7296 + 7297 @@ -2049,7 +2049,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4670 + 4676 Watchers @@ -2057,7 +2057,7 @@

OpenAPI Server Code Generator (oapi-cod Forks - 770 + 771 Created @@ -2065,7 +2065,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-04T02:26:52Z + 2024-01-05T01:13:22Z Archived @@ -2153,15 +2153,15 @@

OpenAPI Generator (link)

Stars - 18631 + 18651 Watchers - 213 + 214 Forks - 5892 + 5895 Created @@ -2169,7 +2169,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-04T01:29:52Z + 2024-01-05T00:04:21Z Archived @@ -2257,15 +2257,15 @@

Kiota Api Client Generator (link)

Stars - 1157 + 1375 Watchers - 33 + 34 Forks - 115 + 117 Created @@ -2273,7 +2273,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-04T03:30:47Z + 2024-01-05T03:02:51Z Archived @@ -2465,15 +2465,15 @@

Swagger-Codegen (link)

Stars - 16238 + 16239 Watchers - 418 + 419 Forks - 6033 + 6032 Created @@ -2481,7 +2481,7 @@

Swagger-Codegen (link)

Last Updated - 2024-01-03T15:40:05Z + 2024-01-04T20:26:47Z Archived @@ -2629,7 +2629,7 @@

orval (link)

Forks - 235 + 236 Created @@ -2725,7 +2725,7 @@

kubb (link)

Stars - 288 + 289 Watchers @@ -2741,7 +2741,7 @@

kubb (link)

Last Updated - 2024-01-03T12:59:59Z + 2024-01-04T16:38:24Z Archived @@ -2777,7 +2777,7 @@

🌿 Fern (link)

Stars - 2030 + 2034 Watchers @@ -2793,7 +2793,7 @@

🌿 Fern (link)

Last Updated - 2024-01-03T20:51:57Z + 2024-01-05T00:54:59Z Archived @@ -2829,7 +2829,7 @@

swagger-ui (link)

Stars - 24974 + 24980 Watchers @@ -2845,7 +2845,7 @@

swagger-ui (link)

Last Updated - 2024-01-04T00:16:41Z + 2024-01-04T23:13:12Z Archived @@ -2881,7 +2881,7 @@

swagger-core (link)

Stars - 7296 + 7297 Watchers @@ -2897,7 +2897,7 @@

swagger-core (link)

Last Updated - 2024-01-02T19:48:31Z + 2024-01-04T15:52:44Z Archived @@ -2985,7 +2985,7 @@

openapi-generator-cli (link)

Stars - 1197 + 1198 Watchers @@ -3001,7 +3001,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-03T12:52:06Z + 2024-01-04T22:46:43Z Archived @@ -3245,7 +3245,7 @@

paypal-rest-api-specifications (link) Stars - 80 + 81 Watchers @@ -3253,7 +3253,7 @@

paypal-rest-api-specifications (link) Forks - 87 + 88 Created @@ -3261,7 +3261,7 @@

paypal-rest-api-specifications (link) Last Updated - 2024-01-03T08:31:47Z + 2024-01-04T22:41:35Z Archived @@ -3505,7 +3505,7 @@

openapi_dart (link)

Stars - 30 + 31 Watchers @@ -3521,7 +3521,7 @@

openapi_dart (link)

Last Updated - 2024-01-02T09:15:39Z + 2024-01-04T15:54:01Z Archived @@ -6209,7 +6209,7 @@

swagger-models (link)

Stars - 7296 + 7297 Watchers @@ -6225,7 +6225,7 @@

swagger-models (link)

Last Updated - 2024-01-02T19:48:31Z + 2024-01-04T15:52:44Z Archived diff --git a/docs/categories/converters.html b/docs/categories/converters.html index a9df61dd..4508620c 100644 --- a/docs/categories/converters.html +++ b/docs/categories/converters.html @@ -128,7 +128,7 @@

No Yes Yes - 1054 + 1055 @@ -174,7 +174,7 @@

Yes Yes Yes - 174 + 175 @@ -239,7 +239,7 @@

No Yes No - 592 + 593 @@ -262,7 +262,7 @@

No Yes No - 1407 + 1410 @@ -285,7 +285,7 @@

No No Yes - 9068 + 9071 @@ -331,7 +331,7 @@

Yes Yes Yes - 452 + 454 @@ -440,7 +440,7 @@

Yes Yes Yes - 818 + 820 @@ -486,7 +486,7 @@

No Yes No - 927 + 930 @@ -530,7 +530,7 @@

Yes Yes No - 7 + 8 @@ -551,7 +551,7 @@

Yes Yes Yes - 8 + 9 @@ -574,7 +574,7 @@

No Yes No - 376 + 377 @@ -618,7 +618,7 @@

No Yes No - 1908 + 1909 @@ -723,7 +723,7 @@

No Yes No - 20 + 21 @@ -1238,7 +1238,7 @@

LucyBot api-spec-converter (link)

Stars - 1054 + 1055 Watchers @@ -1254,7 +1254,7 @@

LucyBot api-spec-converter (link)

Last Updated - 2024-01-02T16:19:21Z + 2024-01-04T15:59:49Z Archived @@ -1342,7 +1342,7 @@

OData OpenAPI (link)

Stars - 174 + 175 Watchers @@ -1358,7 +1358,7 @@

OData OpenAPI (link)

Last Updated - 2024-01-02T09:11:36Z + 2024-01-04T15:48:12Z Archived @@ -1498,7 +1498,7 @@

portman (link)

Stars - 592 + 593 Watchers @@ -1514,7 +1514,7 @@

portman (link)

Last Updated - 2024-01-03T19:26:02Z + 2024-01-04T16:57:24Z Archived @@ -1550,7 +1550,7 @@

Step CI (link)

Stars - 1407 + 1410 Watchers @@ -1566,7 +1566,7 @@

Step CI (link)

Last Updated - 2024-01-02T17:35:35Z + 2024-01-04T21:10:24Z Archived @@ -1602,7 +1602,7 @@

go-swagger (link)

Stars - 9068 + 9071 Watchers @@ -1610,7 +1610,7 @@

go-swagger (link)

Forks - 1273 + 1274 Created @@ -1618,7 +1618,7 @@

go-swagger (link)

Last Updated - 2024-01-03T16:58:28Z + 2024-01-04T15:58:13Z Archived @@ -1706,7 +1706,7 @@

api (link)

Stars - 452 + 454 Watchers @@ -1722,7 +1722,7 @@

api (link)

Last Updated - 2024-01-03T20:49:10Z + 2024-01-04T18:11:32Z Archived @@ -1966,7 +1966,7 @@

openapi-to-postman (link)

Stars - 818 + 820 Watchers @@ -1982,7 +1982,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-03T18:58:49Z + 2024-01-04T16:28:53Z Archived @@ -2070,7 +2070,7 @@

openapi-python-client (link)

Stars - 927 + 930 Watchers @@ -2086,7 +2086,7 @@

openapi-python-client (link)

Last Updated - 2024-01-02T17:11:58Z + 2024-01-04T20:50:22Z Archived @@ -2138,7 +2138,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T14:16:07Z + 2024-01-05T02:52:52Z Archived @@ -2174,7 +2174,7 @@

allof-merge (link)

Stars - 7 + 8 Watchers @@ -2190,7 +2190,7 @@

allof-merge (link)

Last Updated - 2023-12-29T22:01:11Z + 2024-01-04T13:22:40Z Archived @@ -2226,7 +2226,7 @@

api-ref-bundler (link)

Stars - 8 + 9 Watchers @@ -2242,7 +2242,7 @@

api-ref-bundler (link)

Last Updated - 2023-12-29T22:00:56Z + 2024-01-04T13:22:41Z Archived @@ -2278,7 +2278,7 @@

typeconv (link)

Stars - 376 + 377 Watchers @@ -2294,7 +2294,7 @@

typeconv (link)

Last Updated - 2024-01-03T13:16:21Z + 2024-01-05T01:47:43Z Archived @@ -2382,7 +2382,7 @@

gnostic (link)

Stars - 1908 + 1909 Watchers @@ -2398,7 +2398,7 @@

gnostic (link)

Last Updated - 2024-01-03T20:08:35Z + 2024-01-04T16:09:03Z Archived @@ -2642,7 +2642,7 @@

drf-spectacular-sidecar (link)

Stars - 20 + 21 Watchers @@ -2658,7 +2658,7 @@

drf-spectacular-sidecar (link)

Last Updated - 2023-12-05T08:20:39Z + 2024-01-04T13:26:04Z Archived diff --git a/docs/categories/data-validators.html b/docs/categories/data-validators.html index 9f967ae5..5055946a 100644 --- a/docs/categories/data-validators.html +++ b/docs/categories/data-validators.html @@ -86,7 +86,7 @@

No Yes Yes - 2997 + 3000 @@ -130,7 +130,7 @@

No Yes No - 1407 + 1410 @@ -241,7 +241,7 @@

No Yes Yes - 2207 + 2209 @@ -440,7 +440,7 @@

Yes Yes Yes - 337 + 340 @@ -576,7 +576,7 @@

Yes Yes No - 316 + 318 @@ -830,7 +830,7 @@

No Yes No - 18 + 19 @@ -872,7 +872,7 @@

No Yes No - 17 + 18 @@ -1856,7 +1856,7 @@

tsoa (link)

Stars - 2997 + 3000 Watchers @@ -1872,7 +1872,7 @@

tsoa (link)

Last Updated - 2024-01-04T01:25:58Z + 2024-01-05T01:21:25Z Archived @@ -1960,7 +1960,7 @@

Step CI (link)

Stars - 1407 + 1410 Watchers @@ -1976,7 +1976,7 @@

Step CI (link)

Last Updated - 2024-01-02T17:35:35Z + 2024-01-04T21:10:24Z Archived @@ -2220,7 +2220,7 @@

kin-openapi (link)

Stars - 2207 + 2209 Watchers @@ -2236,7 +2236,7 @@

kin-openapi (link)

Last Updated - 2024-01-04T02:54:36Z + 2024-01-04T16:14:50Z Archived @@ -2688,7 +2688,7 @@

vacuum (link)

Stars - 337 + 340 Watchers @@ -2696,7 +2696,7 @@

vacuum (link)

Forks - 27 + 26 Created @@ -2704,7 +2704,7 @@

vacuum (link)

Last Updated - 2024-01-02T22:39:06Z + 2024-01-04T21:40:50Z Archived @@ -3000,7 +3000,7 @@

Huma (link)

Stars - 316 + 318 Watchers @@ -3008,7 +3008,7 @@

Huma (link)

Forks - 37 + 38 Created @@ -3016,7 +3016,7 @@

Huma (link)

Last Updated - 2024-01-04T02:02:43Z + 2024-01-04T16:43:04Z Archived @@ -3624,7 +3624,7 @@

openapi-php (link)

Stars - 18 + 19 Watchers @@ -3640,7 +3640,7 @@

openapi-php (link)

Last Updated - 2024-01-02T09:13:10Z + 2024-01-04T15:49:55Z Archived @@ -3728,7 +3728,7 @@

json-to-json-schema (link)

Stars - 17 + 18 Watchers @@ -3744,7 +3744,7 @@

json-to-json-schema (link)

Last Updated - 2023-10-30T07:28:35Z + 2024-01-04T04:03:21Z Archived diff --git a/docs/categories/description-validators.html b/docs/categories/description-validators.html index 89217d09..9eecdee9 100644 --- a/docs/categories/description-validators.html +++ b/docs/categories/description-validators.html @@ -191,7 +191,7 @@

Yes Yes Yes - 2127 + 2131 @@ -300,7 +300,7 @@

No Yes No - 446 + 447 @@ -323,7 +323,7 @@

Yes Yes Yes - 452 + 454 @@ -409,7 +409,7 @@

Yes Yes No - 1003 + 1005 @@ -432,7 +432,7 @@

Yes Yes Yes - 337 + 340 @@ -522,7 +522,7 @@

No Yes No - 751 + 752 @@ -585,7 +585,7 @@

No Yes No - 442 + 443 @@ -1846,7 +1846,7 @@

Spectral (link)

Stars - 2127 + 2131 Watchers @@ -1862,7 +1862,7 @@

Spectral (link)

Last Updated - 2024-01-03T21:27:25Z + 2024-01-05T03:24:45Z Archived @@ -2106,7 +2106,7 @@

php-openapi (link)

Stars - 446 + 447 Watchers @@ -2122,7 +2122,7 @@

php-openapi (link)

Last Updated - 2024-01-02T09:13:49Z + 2024-01-04T15:50:40Z Archived @@ -2158,7 +2158,7 @@

api (link)

Stars - 452 + 454 Watchers @@ -2174,7 +2174,7 @@

api (link)

Last Updated - 2024-01-03T20:49:10Z + 2024-01-04T18:11:32Z Archived @@ -2366,11 +2366,11 @@

Cherrybomb (link)

Stars - 1003 + 1005 Watchers - 13 + 12 Forks @@ -2382,7 +2382,7 @@

Cherrybomb (link)

Last Updated - 2024-01-02T17:25:16Z + 2024-01-04T21:15:19Z Archived @@ -2418,7 +2418,7 @@

vacuum (link)

Stars - 337 + 340 Watchers @@ -2426,7 +2426,7 @@

vacuum (link)

Forks - 27 + 26 Created @@ -2434,7 +2434,7 @@

vacuum (link)

Last Updated - 2024-01-02T22:39:06Z + 2024-01-04T21:40:50Z Archived @@ -2626,7 +2626,7 @@

studio (link)

Stars - 751 + 752 Watchers @@ -2642,7 +2642,7 @@

studio (link)

Last Updated - 2024-01-02T16:55:49Z + 2024-01-04T16:35:03Z Archived @@ -2782,7 +2782,7 @@

openapi-mock (link)

Stars - 442 + 443 Watchers @@ -2798,7 +2798,7 @@

openapi-mock (link)

Last Updated - 2023-12-29T10:08:39Z + 2024-01-04T13:39:49Z Archived diff --git a/docs/categories/documentation.html b/docs/categories/documentation.html index 6750d3c1..f36c0b1c 100644 --- a/docs/categories/documentation.html +++ b/docs/categories/documentation.html @@ -205,7 +205,7 @@

Yes Yes Yes - 2022 + 2039 @@ -249,7 +249,7 @@

Yes Yes Yes - 21710 + 21722 @@ -534,7 +534,7 @@

Yes Yes No - 576 + 577 @@ -576,7 +576,7 @@

Yes Yes Yes - 1330 + 1332 @@ -790,7 +790,7 @@

Yes Yes Yes - 2030 + 2034 @@ -836,7 +836,7 @@

No Yes Yes - 1410 + 1411 @@ -857,7 +857,7 @@

No Yes No - 1478 + 1479 @@ -899,7 +899,7 @@

No Yes No - 225 + 226 @@ -1867,7 +1867,7 @@

Yes Yes Yes - 251 + 250 @@ -2391,7 +2391,7 @@

Scalar (link)

Stars - 2022 + 2039 Watchers @@ -2399,7 +2399,7 @@

Scalar (link)

Forks - 31 + 33 Created @@ -2407,7 +2407,7 @@

Scalar (link)

Last Updated - 2024-01-03T21:39:12Z + 2024-01-05T02:44:34Z Archived @@ -2495,7 +2495,7 @@

ReDoc (link)

Stars - 21710 + 21722 Watchers @@ -2503,7 +2503,7 @@

ReDoc (link)

Forks - 2266 + 2267 Created @@ -2511,7 +2511,7 @@

ReDoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived @@ -3171,7 +3171,7 @@

Restish (link)

Stars - 576 + 577 Watchers @@ -3187,7 +3187,7 @@

Restish (link)

Last Updated - 2024-01-03T18:18:05Z + 2024-01-04T16:45:59Z Archived @@ -3275,7 +3275,7 @@

Elements (link)

Stars - 1330 + 1332 Watchers @@ -3291,7 +3291,7 @@

Elements (link)

Last Updated - 2024-01-03T16:30:59Z + 2024-01-04T16:33:27Z Archived @@ -3795,7 +3795,7 @@

🌿 Fern (link)

Stars - 2030 + 2034 Watchers @@ -3811,7 +3811,7 @@

🌿 Fern (link)

Last Updated - 2024-01-03T20:51:57Z + 2024-01-05T00:54:59Z Archived @@ -3899,7 +3899,7 @@

widdershins (link)

Stars - 1410 + 1411 Watchers @@ -3907,7 +3907,7 @@

widdershins (link)

Forks - 317 + 318 Created @@ -3915,7 +3915,7 @@

widdershins (link)

Last Updated - 2024-01-02T16:27:50Z + 2024-01-04T16:08:03Z Archived @@ -3951,7 +3951,7 @@

rapidoc (link)

Stars - 1478 + 1479 Watchers @@ -3967,7 +3967,7 @@

rapidoc (link)

Last Updated - 2024-01-04T00:37:38Z + 2024-01-04T16:29:49Z Archived @@ -4055,7 +4055,7 @@

znai (link)

Stars - 225 + 226 Watchers @@ -4071,7 +4071,7 @@

znai (link)

Last Updated - 2023-12-06T16:02:50Z + 2024-01-04T11:07:13Z Archived @@ -4579,7 +4579,7 @@

reslang (link)

Watchers - 71 + 72 Forks @@ -6447,7 +6447,7 @@

OpenAPI Explorer (link)

Stars - 251 + 250 Watchers @@ -6463,7 +6463,7 @@

OpenAPI Explorer (link)

Last Updated - 2024-01-03T04:35:05Z + 2024-01-04T10:05:38Z Archived diff --git a/docs/categories/dsl.html b/docs/categories/dsl.html index f7e6e48e..7273c1f3 100644 --- a/docs/categories/dsl.html +++ b/docs/categories/dsl.html @@ -122,7 +122,7 @@

No Yes Yes - 509 + 510 @@ -210,7 +210,7 @@

No Yes No - 1810 + 1811 @@ -412,7 +412,7 @@

Spot (link)

Stars - 509 + 510 Watchers @@ -428,7 +428,7 @@

Spot (link)

Last Updated - 2024-01-03T13:48:03Z + 2024-01-04T16:29:28Z Archived @@ -620,7 +620,7 @@

rswag (link)

Stars - 1810 + 1811 Watchers @@ -636,7 +636,7 @@

rswag (link)

Last Updated - 2024-01-03T13:49:30Z + 2024-01-04T15:58:40Z Archived diff --git a/docs/categories/editors.html b/docs/categories/editors.html index 1d090b1f..17d819ba 100644 --- a/docs/categories/editors.html +++ b/docs/categories/editors.html @@ -86,7 +86,7 @@

No Yes No - 1321 + 1322 @@ -256,7 +256,7 @@

OpenAPI-gui (link)

Stars - 1321 + 1322 Watchers @@ -272,7 +272,7 @@

OpenAPI-gui (link)

Last Updated - 2024-01-02T16:28:22Z + 2024-01-04T16:08:33Z Archived diff --git a/docs/categories/gateway.html b/docs/categories/gateway.html index 5041d08a..dbade2d0 100644 --- a/docs/categories/gateway.html +++ b/docs/categories/gateway.html @@ -105,7 +105,7 @@

No Yes No - 1630 + 1632 @@ -318,7 +318,7 @@

Fusio (link)

Stars - 1630 + 1632 Watchers @@ -334,7 +334,7 @@

Fusio (link)

Last Updated - 2024-01-03T18:12:37Z + 2024-01-04T16:00:42Z Archived diff --git a/docs/categories/learning.html b/docs/categories/learning.html index 19652565..870b3df4 100644 --- a/docs/categories/learning.html +++ b/docs/categories/learning.html @@ -334,7 +334,7 @@

optic diff (link)

Last Updated - 2024-01-02T16:41:23Z + 2024-01-04T19:38:39Z Archived diff --git a/docs/categories/low-level-tooling.html b/docs/categories/low-level-tooling.html index c76fdb8c..6107ca12 100644 --- a/docs/categories/low-level-tooling.html +++ b/docs/categories/low-level-tooling.html @@ -86,7 +86,7 @@

No Yes No - 2946 + 2951 @@ -128,7 +128,7 @@

No Yes No - 188 + 189 @@ -302,7 +302,7 @@

Yes Yes No - 37 + 38 @@ -1335,7 +1335,7 @@

No No No - 7296 + 7297 @@ -1358,7 +1358,7 @@

No No No - 1247 + 1249 @@ -1498,7 +1498,7 @@

springdoc-openapi (link)

Stars - 2946 + 2951 Watchers @@ -1506,7 +1506,7 @@

springdoc-openapi (link)

Forks - 437 + 438 Created @@ -1514,7 +1514,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-03T07:33:41Z + 2024-01-04T21:32:29Z Archived @@ -1602,7 +1602,7 @@

openapi.net.odata (link)

Stars - 188 + 189 Watchers @@ -1618,7 +1618,7 @@

openapi.net.odata (link)

Last Updated - 2023-12-07T17:00:56Z + 2024-01-04T13:39:59Z Archived @@ -2018,7 +2018,7 @@

openapi (link)

Stars - 37 + 38 Watchers @@ -2034,7 +2034,7 @@

openapi (link)

Last Updated - 2024-01-03T12:10:18Z + 2024-01-05T00:27:05Z Archived @@ -4566,7 +4566,7 @@

swagger-models (link)

Stars - 7296 + 7297 Watchers @@ -4582,7 +4582,7 @@

swagger-models (link)

Last Updated - 2024-01-02T19:48:31Z + 2024-01-04T15:52:44Z Archived @@ -4618,7 +4618,7 @@

Microsoft.OpenApi.net (link)

Stars - 1247 + 1249 Watchers @@ -4634,7 +4634,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-01-03T16:48:14Z + 2024-01-04T16:15:07Z Archived diff --git a/docs/categories/mock.html b/docs/categories/mock.html index d5b889c9..1c71f5b9 100644 --- a/docs/categories/mock.html +++ b/docs/categories/mock.html @@ -125,7 +125,7 @@

Yes Yes Yes - 3848 + 3849 @@ -436,7 +436,7 @@

No Yes No - 661 + 662 @@ -606,7 +606,7 @@

No Yes Yes - 4359 + 4360 @@ -852,7 +852,7 @@

Prism (link)

Stars - 3848 + 3849 Watchers @@ -868,7 +868,7 @@

Prism (link)

Last Updated - 2024-01-03T14:13:30Z + 2024-01-04T16:03:41Z Archived @@ -1328,7 +1328,7 @@

orval (link)

Forks - 235 + 236 Created @@ -1580,7 +1580,7 @@

API Sprout (link)

Stars - 661 + 662 Watchers @@ -1596,7 +1596,7 @@

API Sprout (link)

Last Updated - 2024-01-02T16:45:18Z + 2024-01-04T16:24:51Z Archived @@ -1996,7 +1996,7 @@

Connexion (link)

Stars - 4359 + 4360 Watchers @@ -2012,7 +2012,7 @@

Connexion (link)

Last Updated - 2024-01-03T23:56:11Z + 2024-01-04T20:23:14Z Archived diff --git a/docs/categories/parsers.html b/docs/categories/parsers.html index 0206b104..9500952c 100644 --- a/docs/categories/parsers.html +++ b/docs/categories/parsers.html @@ -86,7 +86,7 @@

Yes Yes Yes - 21710 + 21722 @@ -109,7 +109,7 @@

No Yes No - 496 + 497 @@ -218,7 +218,7 @@

No Yes Yes - 509 + 510 @@ -241,7 +241,7 @@

No Yes No - 4670 + 4676 @@ -469,7 +469,7 @@

No Yes Yes - 2997 + 3000 @@ -605,7 +605,7 @@

Yes Yes Yes - 724 + 725 @@ -737,7 +737,7 @@

No Yes Yes - 2207 + 2209 @@ -758,7 +758,7 @@

No Yes No - 446 + 447 @@ -846,7 +846,7 @@

No Yes Yes - 1247 + 1249 @@ -936,7 +936,7 @@

No No Yes - 9068 + 9071 @@ -1005,7 +1005,7 @@

Yes Yes Yes - 452 + 454 @@ -1229,7 +1229,7 @@

Yes Yes Yes - 818 + 820 @@ -1384,7 +1384,7 @@

No Yes No - 927 + 930 @@ -1677,7 +1677,7 @@

Yes Yes Yes - 8 + 9 @@ -1700,7 +1700,7 @@

No Yes No - 1810 + 1811 @@ -1723,7 +1723,7 @@

No Yes No - 376 + 377 @@ -1769,7 +1769,7 @@

No Yes Yes - 1410 + 1411 @@ -1792,7 +1792,7 @@

Yes Yes No - 21710 + 21722 @@ -1813,7 +1813,7 @@

No Yes No - 1592 + 1595 @@ -1834,7 +1834,7 @@

No Yes No - 1197 + 1198 @@ -1855,7 +1855,7 @@

No Yes No - 1067 + 1070 @@ -1876,7 +1876,7 @@

No Yes No - 882 + 883 @@ -1918,7 +1918,7 @@

No Yes No - 704 + 705 @@ -2002,7 +2002,7 @@

No Yes No - 538 + 541 @@ -2023,7 +2023,7 @@

No Yes No - 442 + 443 @@ -2086,7 +2086,7 @@

No Yes No - 396 + 397 @@ -2107,7 +2107,7 @@

No Yes No - 376 + 377 @@ -2319,7 +2319,7 @@

No Yes No - 188 + 189 @@ -2533,7 +2533,7 @@

No Yes No - 109 + 110 @@ -2806,7 +2806,7 @@

No Yes No - 85 + 86 @@ -2848,7 +2848,7 @@

No Yes No - 75 + 76 @@ -3102,7 +3102,7 @@

Yes Yes No - 48 + 49 @@ -3274,7 +3274,7 @@

Yes Yes No - 37 + 38 @@ -3358,7 +3358,7 @@

No Yes No - 33 + 34 @@ -3969,7 +3969,7 @@

No Yes No - 17 + 18 @@ -9246,7 +9246,7 @@

Yes Yes Yes - 251 + 250 @@ -9710,7 +9710,7 @@

No No No - 1247 + 1249 @@ -9802,7 +9802,7 @@

No No No - 463 + 464 @@ -10198,7 +10198,7 @@

ReDoc (link)

Stars - 21710 + 21722 Watchers @@ -10206,7 +10206,7 @@

ReDoc (link)

Forks - 2266 + 2267 Created @@ -10214,7 +10214,7 @@

ReDoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived @@ -10250,7 +10250,7 @@

oasdiff (link)

Stars - 496 + 497 Watchers @@ -10266,7 +10266,7 @@

oasdiff (link)

Last Updated - 2024-01-03T01:00:19Z + 2024-01-04T16:54:40Z Archived @@ -10510,7 +10510,7 @@

Spot (link)

Stars - 509 + 510 Watchers @@ -10526,7 +10526,7 @@

Spot (link)

Last Updated - 2024-01-03T13:48:03Z + 2024-01-04T16:29:28Z Archived @@ -10562,7 +10562,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4670 + 4676 Watchers @@ -10570,7 +10570,7 @@

OpenAPI Server Code Generator (oapi-cod Forks - 770 + 771 Created @@ -10578,7 +10578,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-04T02:26:52Z + 2024-01-05T01:13:22Z Archived @@ -11082,7 +11082,7 @@

tsoa (link)

Stars - 2997 + 3000 Watchers @@ -11098,7 +11098,7 @@

tsoa (link)

Last Updated - 2024-01-04T01:25:58Z + 2024-01-05T01:21:25Z Archived @@ -11394,7 +11394,7 @@

swagger-parser (link)

Stars - 724 + 725 Watchers @@ -11410,7 +11410,7 @@

swagger-parser (link)

Last Updated - 2023-12-30T14:49:00Z + 2024-01-05T02:22:05Z Archived @@ -11706,7 +11706,7 @@

kin-openapi (link)

Stars - 2207 + 2209 Watchers @@ -11722,7 +11722,7 @@

kin-openapi (link)

Last Updated - 2024-01-04T02:54:36Z + 2024-01-04T16:14:50Z Archived @@ -11758,7 +11758,7 @@

php-openapi (link)

Stars - 446 + 447 Watchers @@ -11774,7 +11774,7 @@

php-openapi (link)

Last Updated - 2024-01-02T09:13:49Z + 2024-01-04T15:50:40Z Archived @@ -11966,7 +11966,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1247 + 1249 Watchers @@ -11982,7 +11982,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2024-01-03T16:48:14Z + 2024-01-04T16:15:07Z Archived @@ -12174,7 +12174,7 @@

go-swagger (link)

Stars - 9068 + 9071 Watchers @@ -12182,7 +12182,7 @@

go-swagger (link)

Forks - 1273 + 1274 Created @@ -12190,7 +12190,7 @@

go-swagger (link)

Last Updated - 2024-01-03T16:58:28Z + 2024-01-04T15:58:13Z Archived @@ -12330,7 +12330,7 @@

api (link)

Stars - 452 + 454 Watchers @@ -12346,7 +12346,7 @@

api (link)

Last Updated - 2024-01-03T20:49:10Z + 2024-01-04T18:11:32Z Archived @@ -12850,7 +12850,7 @@

openapi-to-postman (link)

Stars - 818 + 820 Watchers @@ -12866,7 +12866,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-03T18:58:49Z + 2024-01-04T16:28:53Z Archived @@ -13214,7 +13214,7 @@

openapi-python-client (link)

Stars - 927 + 930 Watchers @@ -13230,7 +13230,7 @@

openapi-python-client (link)

Last Updated - 2024-01-02T17:11:58Z + 2024-01-04T20:50:22Z Archived @@ -13890,7 +13890,7 @@

api-ref-bundler (link)

Stars - 8 + 9 Watchers @@ -13906,7 +13906,7 @@

api-ref-bundler (link)

Last Updated - 2023-12-29T22:00:56Z + 2024-01-04T13:22:41Z Archived @@ -13942,7 +13942,7 @@

rswag (link)

Stars - 1810 + 1811 Watchers @@ -13958,7 +13958,7 @@

rswag (link)

Last Updated - 2024-01-03T13:49:30Z + 2024-01-04T15:58:40Z Archived @@ -13994,7 +13994,7 @@

typeconv (link)

Stars - 376 + 377 Watchers @@ -14010,7 +14010,7 @@

typeconv (link)

Last Updated - 2024-01-03T13:16:21Z + 2024-01-05T01:47:43Z Archived @@ -14098,7 +14098,7 @@

widdershins (link)

Stars - 1410 + 1411 Watchers @@ -14106,7 +14106,7 @@

widdershins (link)

Forks - 317 + 318 Created @@ -14114,7 +14114,7 @@

widdershins (link)

Last Updated - 2024-01-02T16:27:50Z + 2024-01-04T16:08:03Z Archived @@ -14150,7 +14150,7 @@

Redoc (link)

Stars - 21710 + 21722 Watchers @@ -14158,7 +14158,7 @@

Redoc (link)

Forks - 2266 + 2267 Created @@ -14166,7 +14166,7 @@

Redoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived @@ -14202,11 +14202,11 @@

utoipa (link)

Stars - 1592 + 1595 Watchers - 8 + 7 Forks @@ -14218,7 +14218,7 @@

utoipa (link)

Last Updated - 2024-01-03T10:37:47Z + 2024-01-04T22:19:44Z Archived @@ -14254,7 +14254,7 @@

openapi-generator-cli (link)

Stars - 1197 + 1198 Watchers @@ -14270,7 +14270,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-03T12:52:06Z + 2024-01-04T22:46:43Z Archived @@ -14306,7 +14306,7 @@

apispec (link)

Stars - 1067 + 1070 Watchers @@ -14322,7 +14322,7 @@

apispec (link)

Last Updated - 2024-01-03T14:11:43Z + 2024-01-04T15:57:59Z Archived @@ -14358,7 +14358,7 @@

ogen (link)

Stars - 882 + 883 Watchers @@ -14374,7 +14374,7 @@

ogen (link)

Last Updated - 2024-01-03T23:58:52Z + 2024-01-04T15:02:56Z Archived @@ -14462,7 +14462,7 @@

openapi-diff (link)

Stars - 704 + 705 Watchers @@ -14478,7 +14478,7 @@

openapi-diff (link)

Last Updated - 2023-12-28T03:21:22Z + 2024-01-04T16:06:21Z Archived @@ -14670,7 +14670,7 @@

zod-to-openapi (link)

Stars - 538 + 541 Watchers @@ -14686,7 +14686,7 @@

zod-to-openapi (link)

Last Updated - 2024-01-03T20:51:49Z + 2024-01-04T23:17:17Z Archived @@ -14722,7 +14722,7 @@

openapi-mock (link)

Stars - 442 + 443 Watchers @@ -14738,7 +14738,7 @@

openapi-mock (link)

Last Updated - 2023-12-29T10:08:39Z + 2024-01-04T13:39:49Z Archived @@ -14878,7 +14878,7 @@

swagger-autogen (link)

Stars - 396 + 397 Watchers @@ -14894,7 +14894,7 @@

swagger-autogen (link)

Last Updated - 2024-01-03T04:15:29Z + 2024-01-04T17:00:25Z Archived @@ -14930,7 +14930,7 @@

typeconv (link)

Stars - 376 + 377 Watchers @@ -14946,7 +14946,7 @@

typeconv (link)

Last Updated - 2024-01-03T13:16:21Z + 2024-01-05T01:47:43Z Archived @@ -15450,7 +15450,7 @@

openapi.net.odata (link)

Stars - 188 + 189 Watchers @@ -15466,7 +15466,7 @@

openapi.net.odata (link)

Last Updated - 2023-12-07T17:00:56Z + 2024-01-04T13:39:59Z Archived @@ -15970,7 +15970,7 @@

speakeasy (link)

Stars - 109 + 110 Watchers @@ -15986,7 +15986,7 @@

speakeasy (link)

Last Updated - 2023-12-13T04:58:25Z + 2024-01-04T14:09:21Z Archived @@ -16646,7 +16646,7 @@

zod-openapi (link)

Stars - 85 + 86 Watchers @@ -16662,7 +16662,7 @@

zod-openapi (link)

Last Updated - 2024-01-04T00:34:13Z + 2024-01-04T17:17:35Z Archived @@ -16750,7 +16750,7 @@

intellij-openapi-generator (link)

Stars - 75 + 76 Watchers @@ -16766,7 +16766,7 @@

intellij-openapi-generator (link)

Last Updated - 2024-01-02T09:11:08Z + 2024-01-04T15:47:41Z Archived @@ -17374,7 +17374,7 @@

apidom (link)

Stars - 48 + 49 Watchers @@ -17390,7 +17390,7 @@

apidom (link)

Last Updated - 2023-12-28T04:34:11Z + 2024-01-05T00:36:47Z Archived @@ -17790,7 +17790,7 @@

openapi (link)

Stars - 37 + 38 Watchers @@ -17806,7 +17806,7 @@

openapi (link)

Last Updated - 2024-01-03T12:10:18Z + 2024-01-05T00:27:05Z Archived @@ -17998,7 +17998,7 @@

openapi-preprocessor (link)

Stars - 33 + 34 Watchers @@ -18014,7 +18014,7 @@

openapi-preprocessor (link)

Last Updated - 2023-11-04T03:49:21Z + 2024-01-04T16:20:18Z Archived @@ -19506,7 +19506,7 @@

json-to-json-schema (link)

Stars - 17 + 18 Watchers @@ -19522,7 +19522,7 @@

json-to-json-schema (link)

Last Updated - 2023-10-30T07:28:35Z + 2024-01-04T04:03:21Z Archived @@ -32558,7 +32558,7 @@

OpenAPI Explorer (link)

Stars - 251 + 250 Watchers @@ -32574,7 +32574,7 @@

OpenAPI Explorer (link)

Last Updated - 2024-01-03T04:35:05Z + 2024-01-04T10:05:38Z Archived @@ -33702,7 +33702,7 @@

Microsoft.OpenApi.net (link)

Stars - 1247 + 1249 Watchers @@ -33718,7 +33718,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-01-03T16:48:14Z + 2024-01-04T16:15:07Z Archived @@ -33910,7 +33910,7 @@

openapi-client-axios (link)

Stars - 463 + 464 Watchers @@ -33926,7 +33926,7 @@

openapi-client-axios (link)

Last Updated - 2023-12-31T18:46:35Z + 2024-01-04T04:09:26Z Archived diff --git a/docs/categories/sdk.html b/docs/categories/sdk.html index 88163661..6c440a86 100644 --- a/docs/categories/sdk.html +++ b/docs/categories/sdk.html @@ -109,7 +109,7 @@

No Yes Yes - 18631 + 18651 @@ -155,7 +155,7 @@

No Yes Yes - 1157 + 1375 @@ -308,7 +308,7 @@

No No Yes - 9068 + 9071 @@ -354,7 +354,7 @@

No Yes Yes - 1878 + 1879 @@ -377,7 +377,7 @@

No Yes Yes - 6252 + 6254 @@ -421,7 +421,7 @@

No Yes Yes - 4396 + 4397 @@ -532,7 +532,7 @@

No Yes Yes - 11587 + 11595 @@ -758,7 +758,7 @@

Yes Yes Yes - 2030 + 2034 @@ -800,7 +800,7 @@

No Yes No - 3495 + 3499 @@ -863,7 +863,7 @@

No Yes No - 336 + 337 @@ -905,7 +905,7 @@

No Yes No - 234 + 235 @@ -926,7 +926,7 @@

No Yes No - 176 + 177 @@ -968,7 +968,7 @@

No Yes No - 75 + 76 @@ -2841,7 +2841,7 @@

No Yes No - 1280 + 1286 @@ -2947,15 +2947,15 @@

OpenAPI Generator (link)

Stars - 18631 + 18651 Watchers - 213 + 214 Forks - 5892 + 5895 Created @@ -2963,7 +2963,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-04T01:29:52Z + 2024-01-05T00:04:21Z Archived @@ -3051,15 +3051,15 @@

Kiota Api Client Generator (link)

Stars - 1157 + 1375 Watchers - 33 + 34 Forks - 115 + 117 Created @@ -3067,7 +3067,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-04T03:30:47Z + 2024-01-05T03:02:51Z Archived @@ -3415,7 +3415,7 @@

go-swagger (link)

Stars - 9068 + 9071 Watchers @@ -3423,7 +3423,7 @@

go-swagger (link)

Forks - 1273 + 1274 Created @@ -3431,7 +3431,7 @@

go-swagger (link)

Last Updated - 2024-01-03T16:58:28Z + 2024-01-04T15:58:13Z Archived @@ -3519,7 +3519,7 @@

restful-react (link)

Stars - 1878 + 1879 Watchers @@ -3535,7 +3535,7 @@

restful-react (link)

Last Updated - 2024-01-02T16:44:41Z + 2024-01-04T16:24:14Z Archived @@ -3571,7 +3571,7 @@

NSwag (link)

Stars - 6252 + 6254 Watchers @@ -3587,7 +3587,7 @@

NSwag (link)

Last Updated - 2024-01-04T03:07:10Z + 2024-01-04T15:46:47Z Archived @@ -3675,7 +3675,7 @@

Azure AutoRest (link)

Stars - 4396 + 4397 Watchers @@ -3691,7 +3691,7 @@

Azure AutoRest (link)

Last Updated - 2024-01-03T14:12:01Z + 2024-01-04T15:59:01Z Archived @@ -3935,7 +3935,7 @@

OWASP ZAP (link)

Stars - 11587 + 11595 Watchers @@ -3943,7 +3943,7 @@

OWASP ZAP (link)

Forks - 2179 + 2181 Created @@ -3951,7 +3951,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T19:07:37Z + 2024-01-05T03:09:30Z Archived @@ -4263,7 +4263,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T14:16:07Z + 2024-01-05T02:52:52Z Archived @@ -4455,7 +4455,7 @@

🌿 Fern (link)

Stars - 2030 + 2034 Watchers @@ -4471,7 +4471,7 @@

🌿 Fern (link)

Last Updated - 2024-01-03T20:51:57Z + 2024-01-05T00:54:59Z Archived @@ -4559,7 +4559,7 @@

openapi-directory (link)

Stars - 3495 + 3499 Watchers @@ -4575,7 +4575,7 @@

openapi-directory (link)

Last Updated - 2024-01-03T18:27:38Z + 2024-01-04T20:58:21Z Archived @@ -4715,7 +4715,7 @@

akita-cli (link)

Stars - 336 + 337 Watchers @@ -4731,7 +4731,7 @@

akita-cli (link)

Last Updated - 2024-01-04T03:21:33Z + 2024-01-04T16:54:56Z Archived @@ -4819,7 +4819,7 @@

generators (link)

Stars - 234 + 235 Watchers @@ -4835,7 +4835,7 @@

generators (link)

Last Updated - 2024-01-02T16:55:14Z + 2024-01-04T16:34:28Z Archived @@ -4871,7 +4871,7 @@

openapi-typescript-code-generator (link Stars - 176 + 177 Watchers @@ -4887,7 +4887,7 @@

openapi-typescript-code-generator (link Last Updated - 2024-01-02T17:14:51Z + 2024-01-04T16:53:09Z Archived @@ -4975,7 +4975,7 @@

intellij-openapi-generator (link)

Stars - 75 + 76 Watchers @@ -4991,7 +4991,7 @@

intellij-openapi-generator (link)

Last Updated - 2024-01-02T09:11:08Z + 2024-01-04T15:47:41Z Archived @@ -9603,11 +9603,11 @@

go-doudou (link)

Stars - 1280 + 1286 Watchers - 86 + 87 Forks @@ -9619,7 +9619,7 @@

go-doudou (link)

Last Updated - 2024-01-03T12:04:25Z + 2024-01-05T01:46:22Z Archived diff --git a/docs/categories/security.html b/docs/categories/security.html index 191737d9..b58a4e25 100644 --- a/docs/categories/security.html +++ b/docs/categories/security.html @@ -170,7 +170,7 @@

No Yes No - 488 + 489 @@ -193,7 +193,7 @@

Yes Yes Yes - 1034 + 1036 @@ -235,7 +235,7 @@

No Yes Yes - 11587 + 11595 @@ -321,7 +321,7 @@

No Yes Yes - 2363 + 2365 @@ -583,7 +583,7 @@

openapi-fuzzer (link)

Stars - 488 + 489 Watchers @@ -599,7 +599,7 @@

openapi-fuzzer (link)

Last Updated - 2024-01-02T17:15:07Z + 2024-01-04T16:53:23Z Archived @@ -635,7 +635,7 @@

cats (link)

Stars - 1034 + 1036 Watchers @@ -651,7 +651,7 @@

cats (link)

Last Updated - 2024-01-03T03:21:46Z + 2024-01-04T16:44:15Z Archived @@ -739,7 +739,7 @@

OWASP ZAP (link)

Stars - 11587 + 11595 Watchers @@ -747,7 +747,7 @@

OWASP ZAP (link)

Forks - 2179 + 2181 Created @@ -755,7 +755,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T19:07:37Z + 2024-01-05T03:09:30Z Archived @@ -947,7 +947,7 @@

RESTler (link)

Stars - 2363 + 2365 Watchers @@ -963,7 +963,7 @@

RESTler (link)

Last Updated - 2024-01-03T12:20:08Z + 2024-01-04T15:54:08Z Archived diff --git a/docs/categories/server-implementations.html b/docs/categories/server-implementations.html index a043f507..cabab807 100644 --- a/docs/categories/server-implementations.html +++ b/docs/categories/server-implementations.html @@ -316,7 +316,7 @@

Yes Yes Yes - 8482 + 8488 @@ -362,7 +362,7 @@

Yes Yes Yes - 3848 + 3849 @@ -385,7 +385,7 @@

No Yes Yes - 8163 + 8168 @@ -408,7 +408,7 @@

No Yes No - 1630 + 1632 @@ -475,7 +475,7 @@

No Yes No - 488 + 489 @@ -498,7 +498,7 @@

Yes Yes Yes - 1034 + 1036 @@ -565,7 +565,7 @@

No Yes No - 26898 + 26915 @@ -680,7 +680,7 @@

Yes Yes No - 316 + 318 @@ -703,7 +703,7 @@

No Yes No - 66582 + 66634 @@ -724,7 +724,7 @@

No Yes No - 14071 + 14090 @@ -745,7 +745,7 @@

Yes Yes No - 3594 + 3596 @@ -768,7 +768,7 @@

No Yes No - 2946 + 2951 @@ -789,7 +789,7 @@

No Yes No - 2438 + 2441 @@ -812,7 +812,7 @@

No Yes No - 1952 + 1953 @@ -833,7 +833,7 @@

No Yes No - 1943 + 1946 @@ -854,7 +854,7 @@

No Yes No - 1612 + 1617 @@ -875,7 +875,7 @@

No Yes No - 1478 + 1479 @@ -898,7 +898,7 @@

No Yes No - 1321 + 1322 @@ -919,7 +919,7 @@

No Yes No - 899 + 901 @@ -940,7 +940,7 @@

No Yes No - 822 + 823 @@ -961,7 +961,7 @@

No Yes No - 751 + 752 @@ -984,7 +984,7 @@

No Yes No - 661 + 662 @@ -1005,7 +1005,7 @@

No Yes No - 423 + 424 @@ -1026,7 +1026,7 @@

No Yes No - 394 + 395 @@ -1068,7 +1068,7 @@

No Yes No - 336 + 337 @@ -1131,7 +1131,7 @@

No Yes No - 277 + 278 @@ -1175,7 +1175,7 @@

No Yes No - 229 + 230 @@ -1259,7 +1259,7 @@

No Yes No - 196 + 198 @@ -1280,7 +1280,7 @@

No Yes No - 217 + 219 @@ -1700,7 +1700,7 @@

No Yes No - 39 + 40 @@ -1868,7 +1868,7 @@

No Yes No - 29 + 30 @@ -2099,7 +2099,7 @@

No Yes No - 20 + 21 @@ -2414,7 +2414,7 @@

No Yes No - 13 + 14 @@ -2803,7 +2803,7 @@

openapi-ui - a simpler and more beautiful openapi document than swagger-ui, quickly generate mock params and call api request + a simpler and more beautiful openapi UI document than swagger UI, quickly generate mock params and call api request No @@ -9707,7 +9707,7 @@

No No No - 3472 + 3475 @@ -9898,7 +9898,7 @@

No Yes Yes - 4359 + 4360 @@ -10384,7 +10384,7 @@

optic diff (link)

Last Updated - 2024-01-02T16:41:23Z + 2024-01-04T19:38:39Z Archived @@ -10732,7 +10732,7 @@

Swagger Editor (link)

Stars - 8482 + 8488 Watchers @@ -10740,7 +10740,7 @@

Swagger Editor (link)

Forks - 2222 + 2224 Created @@ -10748,7 +10748,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T10:37:33Z + 2024-01-04T16:53:55Z Archived @@ -10836,7 +10836,7 @@

Prism (link)

Stars - 3848 + 3849 Watchers @@ -10852,7 +10852,7 @@

Prism (link)

Last Updated - 2024-01-03T14:13:30Z + 2024-01-04T16:03:41Z Archived @@ -10888,7 +10888,7 @@

API Platform (link)

Stars - 8163 + 8168 Watchers @@ -10904,7 +10904,7 @@

API Platform (link)

Last Updated - 2024-01-02T16:18:41Z + 2024-01-04T23:21:17Z Archived @@ -10940,7 +10940,7 @@

Fusio (link)

Stars - 1630 + 1632 Watchers @@ -10956,7 +10956,7 @@

Fusio (link)

Last Updated - 2024-01-03T18:12:37Z + 2024-01-04T16:00:42Z Archived @@ -11096,7 +11096,7 @@

openapi-fuzzer (link)

Stars - 488 + 489 Watchers @@ -11112,7 +11112,7 @@

openapi-fuzzer (link)

Last Updated - 2024-01-02T17:15:07Z + 2024-01-04T16:53:23Z Archived @@ -11148,7 +11148,7 @@

cats (link)

Stars - 1034 + 1036 Watchers @@ -11164,7 +11164,7 @@

cats (link)

Last Updated - 2024-01-03T03:21:46Z + 2024-01-04T16:44:15Z Archived @@ -11304,7 +11304,7 @@

Django REST Framework (link)

Stars - 26898 + 26915 Watchers @@ -11320,7 +11320,7 @@

Django REST Framework (link)

Last Updated - 2024-01-03T22:50:36Z + 2024-01-05T02:22:20Z Archived @@ -11564,7 +11564,7 @@

Huma (link)

Stars - 316 + 318 Watchers @@ -11572,7 +11572,7 @@

Huma (link)

Forks - 37 + 38 Created @@ -11580,7 +11580,7 @@

Huma (link)

Last Updated - 2024-01-04T02:02:43Z + 2024-01-04T16:43:04Z Archived @@ -11616,7 +11616,7 @@

FastAPI (link)

Stars - 66582 + 66634 Watchers @@ -11624,7 +11624,7 @@

FastAPI (link)

Forks - 5635 + 5641 Created @@ -11632,7 +11632,7 @@

FastAPI (link)

Last Updated - 2024-01-04T03:21:04Z + 2024-01-05T03:27:06Z Archived @@ -11668,15 +11668,15 @@

full-stack-fastapi-postgresql (link) Stars - 14071 + 14090 Watchers - 236 + 237 Forks - 2518 + 2520 Created @@ -11684,7 +11684,7 @@

full-stack-fastapi-postgresql (link) Last Updated - 2024-01-04T03:26:54Z + 2024-01-05T03:29:22Z Archived @@ -11720,7 +11720,7 @@

openapi-devtools (link)

Stars - 3594 + 3596 Watchers @@ -11736,7 +11736,7 @@

openapi-devtools (link)

Last Updated - 2024-01-03T14:18:36Z + 2024-01-04T15:57:12Z Archived @@ -11772,7 +11772,7 @@

springdoc-openapi (link)

Stars - 2946 + 2951 Watchers @@ -11780,7 +11780,7 @@

springdoc-openapi (link)

Forks - 437 + 438 Created @@ -11788,7 +11788,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-03T07:33:41Z + 2024-01-04T21:32:29Z Archived @@ -11824,7 +11824,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2438 + 2441 Watchers @@ -11832,7 +11832,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Forks - 313 + 314 Created @@ -11840,7 +11840,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-01-03T08:28:23Z + 2024-01-04T16:29:29Z Archived @@ -11876,7 +11876,7 @@

Schemathesis (link)

Stars - 1952 + 1953 Watchers @@ -11892,7 +11892,7 @@

Schemathesis (link)

Last Updated - 2024-01-02T16:57:38Z + 2024-01-04T16:36:54Z Archived @@ -11928,7 +11928,7 @@

drf-spectacular (link)

Stars - 1943 + 1946 Watchers @@ -11944,7 +11944,7 @@

drf-spectacular (link)

Last Updated - 2024-01-03T13:09:01Z + 2024-01-05T02:59:48Z Archived @@ -11980,7 +11980,7 @@

msgspec (link)

Stars - 1612 + 1617 Watchers @@ -11996,7 +11996,7 @@

msgspec (link)

Last Updated - 2024-01-04T00:08:42Z + 2024-01-04T20:10:46Z Archived @@ -12032,7 +12032,7 @@

rapidoc (link)

Stars - 1478 + 1479 Watchers @@ -12048,7 +12048,7 @@

rapidoc (link)

Last Updated - 2024-01-04T00:37:38Z + 2024-01-04T16:29:49Z Archived @@ -12084,7 +12084,7 @@

OpenAPI-gui (link)

Stars - 1321 + 1322 Watchers @@ -12100,7 +12100,7 @@

OpenAPI-gui (link)

Last Updated - 2024-01-02T16:28:22Z + 2024-01-04T16:08:33Z Archived @@ -12136,7 +12136,7 @@

apiflask (link)

Stars - 899 + 901 Watchers @@ -12152,7 +12152,7 @@

apiflask (link)

Last Updated - 2024-01-03T14:17:21Z + 2024-01-04T21:49:58Z Archived @@ -12188,7 +12188,7 @@

typespec (link)

Stars - 822 + 823 Watchers @@ -12204,7 +12204,7 @@

typespec (link)

Last Updated - 2024-01-02T22:22:58Z + 2024-01-04T16:59:05Z Archived @@ -12240,7 +12240,7 @@

studio (link)

Stars - 751 + 752 Watchers @@ -12256,7 +12256,7 @@

studio (link)

Last Updated - 2024-01-02T16:55:49Z + 2024-01-04T16:35:03Z Archived @@ -12292,7 +12292,7 @@

API Sprout (link)

Stars - 661 + 662 Watchers @@ -12308,7 +12308,7 @@

API Sprout (link)

Last Updated - 2024-01-02T16:45:18Z + 2024-01-04T16:24:51Z Archived @@ -12344,7 +12344,7 @@

full-stack-fastapi-couchbase (link)

Stars - 423 + 424 Watchers @@ -12360,7 +12360,7 @@

full-stack-fastapi-couchbase (link)

Last Updated - 2024-01-02T16:49:25Z + 2024-01-04T16:28:51Z Archived @@ -12396,7 +12396,7 @@

safrs (link)

Stars - 394 + 395 Watchers @@ -12412,7 +12412,7 @@

safrs (link)

Last Updated - 2024-01-02T16:37:26Z + 2024-01-04T16:17:22Z Archived @@ -12500,7 +12500,7 @@

akita-cli (link)

Stars - 336 + 337 Watchers @@ -12516,7 +12516,7 @@

akita-cli (link)

Last Updated - 2024-01-04T03:21:33Z + 2024-01-04T16:54:56Z Archived @@ -12656,7 +12656,7 @@

kui (link)

Stars - 277 + 278 Watchers @@ -12672,7 +12672,7 @@

kui (link)

Last Updated - 2024-01-02T16:55:41Z + 2024-01-04T16:34:55Z Archived @@ -12760,7 +12760,7 @@

fastapi-clean-example (link)

Stars - 229 + 230 Watchers @@ -12776,7 +12776,7 @@

fastapi-clean-example (link)

Last Updated - 2023-12-30T00:52:17Z + 2024-01-04T15:26:00Z Archived @@ -12968,7 +12968,7 @@

esmerald (link)

Stars - 196 + 198 Watchers @@ -12984,7 +12984,7 @@

esmerald (link)

Last Updated - 2024-01-01T11:57:48Z + 2024-01-05T02:53:35Z Archived @@ -13020,7 +13020,7 @@

stackql (link)

Stars - 217 + 219 Watchers @@ -13036,7 +13036,7 @@

stackql (link)

Last Updated - 2024-01-03T19:19:11Z + 2024-01-04T14:37:44Z Archived @@ -14060,7 +14060,7 @@

apibrew (link)

Stars - 39 + 40 Watchers @@ -14076,7 +14076,7 @@

apibrew (link)

Last Updated - 2024-01-03T15:22:29Z + 2024-01-05T00:21:27Z Archived @@ -14476,7 +14476,7 @@

openapi-python-generator (link)

Stars - 29 + 30 Watchers @@ -14492,7 +14492,7 @@

openapi-python-generator (link)

Last Updated - 2023-12-23T22:09:28Z + 2024-01-04T15:04:45Z Archived @@ -14844,7 +14844,7 @@

reslang (link)

Watchers - 71 + 72 Forks @@ -15048,7 +15048,7 @@

drf-spectacular-sidecar (link)

Stars - 20 + 21 Watchers @@ -15064,7 +15064,7 @@

drf-spectacular-sidecar (link)

Last Updated - 2023-12-05T08:20:39Z + 2024-01-04T13:26:04Z Archived @@ -15828,7 +15828,7 @@

echo-boilerplate (link)

Stars - 13 + 14 Watchers @@ -15844,7 +15844,7 @@

echo-boilerplate (link)

Last Updated - 2023-11-07T14:18:20Z + 2024-01-04T15:20:07Z Archived @@ -16832,7 +16832,7 @@

openapi-ui (link)

Last Updated - 2024-01-03T09:39:14Z + 2024-01-04T14:37:40Z Archived @@ -33872,7 +33872,7 @@

PHP-CRUD-API (link)

Stars - 3472 + 3475 Watchers @@ -33888,7 +33888,7 @@

PHP-CRUD-API (link)

Last Updated - 2024-01-03T16:56:14Z + 2024-01-04T10:18:03Z Archived @@ -34340,7 +34340,7 @@

Connexion (link)

Stars - 4359 + 4360 Watchers @@ -34356,7 +34356,7 @@

Connexion (link)

Last Updated - 2024-01-03T23:56:11Z + 2024-01-04T20:23:14Z Archived diff --git a/docs/categories/server.html b/docs/categories/server.html index 92f64641..fdd305a1 100644 --- a/docs/categories/server.html +++ b/docs/categories/server.html @@ -86,7 +86,7 @@

No Yes Yes - 2997 + 3000 @@ -201,7 +201,7 @@

No Yes Yes - 8163 + 8168 @@ -247,7 +247,7 @@

No Yes No - 1630 + 1632 @@ -405,7 +405,7 @@

No Yes Yes - 5883 + 5885 @@ -518,7 +518,7 @@

Yes Yes No - 316 + 318 @@ -2630,7 +2630,7 @@

No Yes No - 4708 + 4710 @@ -2751,7 +2751,7 @@

tsoa (link)

Stars - 2997 + 3000 Watchers @@ -2767,7 +2767,7 @@

tsoa (link)

Last Updated - 2024-01-04T01:25:58Z + 2024-01-05T01:21:25Z Archived @@ -3011,7 +3011,7 @@

API Platform (link)

Stars - 8163 + 8168 Watchers @@ -3027,7 +3027,7 @@

API Platform (link)

Last Updated - 2024-01-02T16:18:41Z + 2024-01-04T23:21:17Z Archived @@ -3115,7 +3115,7 @@

Fusio (link)

Stars - 1630 + 1632 Watchers @@ -3131,7 +3131,7 @@

Fusio (link)

Last Updated - 2024-01-03T18:12:37Z + 2024-01-04T16:00:42Z Archived @@ -3479,7 +3479,7 @@

SpringFox (link)

Stars - 5883 + 5885 Watchers @@ -3495,7 +3495,7 @@

SpringFox (link)

Last Updated - 2024-01-01T06:50:08Z + 2024-01-04T20:06:08Z Archived @@ -3739,7 +3739,7 @@

Huma (link)

Stars - 316 + 318 Watchers @@ -3747,7 +3747,7 @@

Huma (link)

Forks - 37 + 38 Created @@ -3755,7 +3755,7 @@

Huma (link)

Last Updated - 2024-01-04T02:02:43Z + 2024-01-04T16:43:04Z Archived @@ -5523,7 +5523,7 @@

awesome-fullstack-sandbox (link)

Last Updated - 2023-12-05T12:45:00Z + 2024-01-04T15:46:57Z Archived @@ -8939,7 +8939,7 @@

LoopBack 4 (link)

Stars - 4708 + 4710 Watchers @@ -8955,7 +8955,7 @@

LoopBack 4 (link)

Last Updated - 2024-01-03T04:20:23Z + 2024-01-04T19:37:53Z Archived diff --git a/docs/categories/testing-tools.html b/docs/categories/testing-tools.html index 22da4b8c..549eb18f 100644 --- a/docs/categories/testing-tools.html +++ b/docs/categories/testing-tools.html @@ -109,7 +109,7 @@

No Yes No - 1952 + 1953 @@ -238,7 +238,7 @@

Schemathesis (link)

Stars - 1952 + 1953 Watchers @@ -254,7 +254,7 @@

Schemathesis (link)

Last Updated - 2024-01-02T16:57:38Z + 2024-01-04T16:36:54Z Archived diff --git a/docs/categories/testing.html b/docs/categories/testing.html index 418b7a3d..bffa2644 100644 --- a/docs/categories/testing.html +++ b/docs/categories/testing.html @@ -124,7 +124,7 @@

No Yes Yes - 4093 + 4094 @@ -168,7 +168,7 @@

No Yes No - 592 + 593 @@ -191,7 +191,7 @@

No Yes No - 1407 + 1410 @@ -340,7 +340,7 @@

Yes Yes No - 576 + 577 @@ -649,7 +649,7 @@

Yes Yes Yes - 288 + 289 @@ -712,7 +712,7 @@

No Yes No - 5603 + 5606 @@ -754,7 +754,7 @@

No Yes No - 370 + 371 @@ -922,7 +922,7 @@

No Yes No - 71 + 72 @@ -2528,7 +2528,7 @@

No Yes Yes - 2363 + 2365 @@ -2726,7 +2726,7 @@

Dredd (link)

Stars - 4093 + 4094 Watchers @@ -2742,7 +2742,7 @@

Dredd (link)

Last Updated - 2024-01-03T22:17:17Z + 2024-01-04T15:55:21Z Archived @@ -2830,7 +2830,7 @@

portman (link)

Stars - 592 + 593 Watchers @@ -2846,7 +2846,7 @@

portman (link)

Last Updated - 2024-01-03T19:26:02Z + 2024-01-04T16:57:24Z Archived @@ -2882,7 +2882,7 @@

Step CI (link)

Stars - 1407 + 1410 Watchers @@ -2898,7 +2898,7 @@

Step CI (link)

Last Updated - 2024-01-02T17:35:35Z + 2024-01-04T21:10:24Z Archived @@ -3246,7 +3246,7 @@

Restish (link)

Stars - 576 + 577 Watchers @@ -3262,7 +3262,7 @@

Restish (link)

Last Updated - 2024-01-03T18:18:05Z + 2024-01-04T16:45:59Z Archived @@ -3358,7 +3358,7 @@

Spectator (link)

Forks - 42 + 43 Created @@ -3974,7 +3974,7 @@

kubb (link)

Stars - 288 + 289 Watchers @@ -3990,7 +3990,7 @@

kubb (link)

Last Updated - 2024-01-03T12:59:59Z + 2024-01-04T16:38:24Z Archived @@ -4130,7 +4130,7 @@

mockoon (link)

Stars - 5603 + 5606 Watchers @@ -4146,7 +4146,7 @@

mockoon (link)

Last Updated - 2024-01-04T02:08:03Z + 2024-01-04T16:15:43Z Archived @@ -4234,7 +4234,7 @@

openapi-codegen (link)

Stars - 370 + 371 Watchers @@ -4250,7 +4250,7 @@

openapi-codegen (link)

Last Updated - 2024-01-02T08:53:45Z + 2024-01-04T15:09:08Z Archived @@ -4650,7 +4650,7 @@

jellyfin-sdk-kotlin (link)

Stars - 71 + 72 Watchers @@ -4666,7 +4666,7 @@

jellyfin-sdk-kotlin (link)

Last Updated - 2023-12-22T21:51:06Z + 2024-01-04T04:17:53Z Archived @@ -8602,7 +8602,7 @@

RESTler (link)

Stars - 2363 + 2365 Watchers @@ -8618,7 +8618,7 @@

RESTler (link)

Last Updated - 2024-01-03T12:20:08Z + 2024-01-04T15:54:08Z Archived diff --git a/docs/categories/text-editors.html b/docs/categories/text-editors.html index 3b5cadfc..0010e904 100644 --- a/docs/categories/text-editors.html +++ b/docs/categories/text-editors.html @@ -132,7 +132,7 @@

Yes Yes Yes - 8482 + 8488 @@ -495,7 +495,7 @@

Swagger Editor (link)

Stars - 8482 + 8488 Watchers @@ -503,7 +503,7 @@

Swagger Editor (link)

Forks - 2222 + 2224 Created @@ -511,7 +511,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T10:37:33Z + 2024-01-04T16:53:55Z Archived diff --git a/docs/categories/unclassified.html b/docs/categories/unclassified.html index d5b56225..47cf8079 100644 --- a/docs/categories/unclassified.html +++ b/docs/categories/unclassified.html @@ -86,7 +86,7 @@

Yes Yes Yes - 225 + 226 @@ -126,7 +126,7 @@

No Yes No - 225 + 226 @@ -1203,7 +1203,7 @@

oas (link)

Stars - 225 + 226 Watchers @@ -1219,7 +1219,7 @@

oas (link)

Last Updated - 2024-01-03T12:49:23Z + 2024-01-04T07:47:49Z Archived @@ -1307,7 +1307,7 @@

modelina (link)

Stars - 225 + 226 Watchers @@ -1315,7 +1315,7 @@

modelina (link)

Forks - 133 + 134 Created @@ -1323,7 +1323,7 @@

modelina (link)

Last Updated - 2024-01-01T20:13:24Z + 2024-01-04T21:44:09Z Archived diff --git a/docs/categories/user-interfaces.html b/docs/categories/user-interfaces.html index 57d3f723..41b6edd4 100644 --- a/docs/categories/user-interfaces.html +++ b/docs/categories/user-interfaces.html @@ -86,7 +86,7 @@

Yes Yes No - 24974 + 24980 @@ -109,7 +109,7 @@

Yes Yes No - 21710 + 21722 @@ -291,7 +291,7 @@

swagger-ui (link)

Stars - 24974 + 24980 Watchers @@ -307,7 +307,7 @@

swagger-ui (link)

Last Updated - 2024-01-04T00:16:41Z + 2024-01-04T23:13:12Z Archived @@ -343,7 +343,7 @@

Redoc (link)

Stars - 21710 + 21722 Watchers @@ -351,7 +351,7 @@

Redoc (link)

Forks - 2266 + 2267 Created @@ -359,7 +359,7 @@

Redoc (link)

Last Updated - 2024-01-04T01:27:38Z + 2024-01-05T03:14:46Z Archived diff --git a/src/_data/tools.yaml b/src/_data/tools.yaml index 3de12409..4526960d 100644 --- a/src/_data/tools.yaml +++ b/src/_data/tools.yaml @@ -201,17 +201,17 @@ Convert API descriptions between popular formats such as OpenAPI(fka Swagger), RAML, API Blueprint, WADL, etc. created: '2015-05-05T18:30:05Z' - updated: '2024-01-02T16:19:21Z' + updated: '2024-01-04T15:59:49Z' language: JavaScript archived: false - stars: 1054 + stars: 1055 watchers: 21 forks: 172 owner: LucyBot-Inc logo: https://avatars.githubusercontent.com/u/26313641?v=4 license: MIT - repoEtag: '"c1e178f56102ea822494d3b6c851b722d4304fe9f06feb797a5ce3fbab903b7e"' - repoLastModified: Tue, 02 Jan 2024 16:19:21 GMT + repoEtag: '"1745a66773bcd2be1514545f490113aad3061d8990188b594c7459428e1a31fb"' + repoLastModified: Thu, 04 Jan 2024 15:59:49 GMT foundInMaster: true id: dccbe92257187d6d136bb4b5f304d6fe - source: https://openapi.tools/ @@ -300,17 +300,17 @@ repositoryId: 679280065 description: Beautiful API references from Swagger/OpenAPI files ✨ created: '2023-08-16T13:42:32Z' - updated: '2024-01-03T21:39:12Z' + updated: '2024-01-05T02:44:34Z' language: Vue archived: false - stars: 2022 + stars: 2039 watchers: 9 - forks: 31 + forks: 33 owner: scalar logo: https://avatars.githubusercontent.com/u/301879?v=4 license: MIT - repoEtag: '"a8d08e0f21f9662d994ceb90c649886037003ff9dea28bb9b9cb911e37202d1a"' - repoLastModified: Wed, 03 Jan 2024 21:39:12 GMT + repoEtag: '"c3f0b202b9127a6e1b99ec7c8c7cfbc871d485a11485a46d072c16ce40501475"' + repoLastModified: Fri, 05 Jan 2024 02:44:34 GMT foundInMaster: true - source: https://openapi.tools/ name: Supermodel @@ -357,17 +357,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-01-04T01:27:38Z' + updated: '2024-01-05T03:14:46Z' language: TypeScript archived: false - stars: 21710 + stars: 21722 watchers: 288 - forks: 2266 + forks: 2267 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"580876bdb2918b7b33126cdaf719dfd705f616418696db3b4c8599fcca1ccd17"' - repoLastModified: Thu, 04 Jan 2024 01:27:38 GMT + repoEtag: '"e68cc2e9f70474a511c0cdead89d063f59094984245fd1427e4e1c214a7071d3"' + repoLastModified: Fri, 05 Jan 2024 03:14:46 GMT foundInMaster: true - source: https://openapi.tools/ name: RestCase Docs @@ -424,17 +424,17 @@ repositoryId: 337689065 description: OpenAPI Diff and Breaking Changes created: '2021-02-10T10:28:36Z' - updated: '2024-01-03T01:00:19Z' + updated: '2024-01-04T16:54:40Z' language: Go archived: false - stars: 496 + stars: 497 watchers: 10 forks: 44 owner: Tufin logo: https://avatars.githubusercontent.com/u/5352131?v=4 license: Apache-2.0 - repoEtag: '"44155b99658559cd28a6bdb204ad554ac4137b0b50a91ee1a91c61e3d2f42438"' - repoLastModified: Wed, 03 Jan 2024 01:00:19 GMT + repoEtag: '"1f8eaeb3b2145c661262165f8d94f8fb63682e99bbfcf7e531f77ed4de37368e"' + repoLastModified: Thu, 04 Jan 2024 16:54:40 GMT foundInMaster: true name: oasdiff language: Go @@ -482,7 +482,7 @@ changes, publish accurate documentation and improve the design of your APIs. created: '2018-03-02T17:02:50Z' - updated: '2024-01-02T16:41:23Z' + updated: '2024-01-04T19:38:39Z' language: TypeScript archived: false stars: 1233 @@ -491,8 +491,8 @@ owner: opticdev logo: https://avatars.githubusercontent.com/u/34556970?v=4 license: MIT - repoEtag: '"7735bd6a1245f1b171476741f31222830d4fde2dbd55c1a7e78fe548da31350f"' - repoLastModified: Tue, 02 Jan 2024 16:41:23 GMT + repoEtag: '"57bb0721f3a560e9a95aa15b6bd4047bb15e4761e598097ec00d3b929da5e750"' + repoLastModified: Thu, 04 Jan 2024 19:38:39 GMT foundInMaster: true id: 8c3d08406ca659662808d51ddc10b4e4 v3_1: true @@ -579,17 +579,17 @@ OASIS OData TC: Tools for producing API descriptions for OData services that adhere to the OpenAPI Specification created: '2016-11-17T21:11:22Z' - updated: '2024-01-02T09:11:36Z' + updated: '2024-01-04T15:48:12Z' language: XSLT archived: false - stars: 174 + stars: 175 watchers: 21 forks: 76 owner: oasis-tcs logo: https://avatars.githubusercontent.com/u/20116735?v=4 license: NOASSERTION - repoEtag: '"44f779d52eab919a09347e8434ed67ab17c0b763528a911514a5c199965ad7b6"' - repoLastModified: Tue, 02 Jan 2024 09:11:36 GMT + repoEtag: '"dc7fb9f61c06ff37e7db1d2fec169f2209c10c8f1b3bdf0fb7daa4eb4b76cda2"' + repoLastModified: Thu, 04 Jan 2024 15:48:12 GMT foundInMaster: true v3_1: true id: 9039f84e8e8b63849cbf15578564033e @@ -871,17 +871,17 @@ repositoryId: 152569547 description: Spot is a concise, developer-friendly way to describe your API contract. created: '2018-10-11T09:55:46Z' - updated: '2024-01-03T13:48:03Z' + updated: '2024-01-04T16:29:28Z' language: TypeScript archived: false - stars: 509 + stars: 510 watchers: 45 forks: 39 owner: airtasker logo: https://avatars.githubusercontent.com/u/1745680?v=4 license: NOASSERTION - repoEtag: '"5ff5854b8ed411fe9d0fdba61c8dd22c55064348d07455337e7b8ea4d81136e5"' - repoLastModified: Wed, 03 Jan 2024 13:48:03 GMT + repoEtag: '"3b24e56ba0eb3a8540611f15c82712337e406d444c2ca9ad4f004d8cab49755f"' + repoLastModified: Thu, 04 Jan 2024 16:29:28 GMT foundInMaster: true id: 7c28c31ae17b20b046f57bb6765c3939 - source: @@ -906,17 +906,17 @@ repositoryId: 173009358 description: Generate Go client and server boilerplate from OpenAPI 3 specifications created: '2019-02-27T23:59:59Z' - updated: '2024-01-04T02:26:52Z' + updated: '2024-01-05T01:13:22Z' language: Go archived: false - stars: 4670 + stars: 4676 watchers: 32 - forks: 770 + forks: 771 owner: deepmap logo: https://avatars.githubusercontent.com/u/47459865?v=4 license: Apache-2.0 - repoEtag: '"76c7179f93bc886f45a01fb5818ad5de26bd6887d876ff52342844e9363cc459"' - repoLastModified: Thu, 04 Jan 2024 02:26:52 GMT + repoEtag: '"9e7f4b71cbc18ef4837dfb4221c95b8a28a24a78a47ae49ddb08e1bf6dec1279"' + repoLastModified: Fri, 05 Jan 2024 01:13:22 GMT foundInMaster: true id: bc996e9362e78defa2eca82e5765d2f3 - source: https://openapi.tools/ @@ -983,17 +983,17 @@ generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) created: '2018-05-12T09:57:56Z' - updated: '2024-01-04T01:29:52Z' + updated: '2024-01-05T00:04:21Z' language: Java archived: false - stars: 18631 - watchers: 213 - forks: 5892 + stars: 18651 + watchers: 214 + forks: 5895 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"3716082bd5e32fef89a2c8b7ca085ce4f0373ff693232712fda0e54dbf129935"' - repoLastModified: Thu, 04 Jan 2024 01:29:52 GMT + repoEtag: '"b661552114d2f4541ff867b5a9c4c540c22662e2da2ed0d41719d907058d2697"' + repoLastModified: Fri, 05 Jan 2024 00:04:21 GMT foundInMaster: true id: 0418f8afcd0196c648d1a46c0c5c20d1 v3_1_link: https://github.com/OpenAPITools/openapi-generator/issues/9083 @@ -1021,7 +1021,7 @@ owner: openapi-json-schema-tools logo: https://avatars.githubusercontent.com/u/114849992?v=4 license: Apache-2.0 - repoEtag: '"f197c8e546f70be5d4cb3bc40a4541733040cb775e0e6ec3fb9e68df0cea5403"' + repoEtag: '"f6171adda05684bc82ef73ff159f57bc5811fbbca43c1dd3d4cf72b49feb61de"' repoLastModified: Sat, 30 Dec 2023 21:14:41 GMT category: - Code Generators @@ -1064,17 +1064,17 @@ repositoryId: 323665366 description: OpenAPI based HTTP Client code generator created: '2020-12-22T15:35:49Z' - updated: '2024-01-04T03:30:47Z' + updated: '2024-01-05T03:02:51Z' language: C# archived: false - stars: 1157 - watchers: 33 - forks: 115 + stars: 1375 + watchers: 34 + forks: 117 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"57154b2e50d268c4619d711d1f17a0f87fde2bd203b593154c6afa74353b236e"' - repoLastModified: Thu, 04 Jan 2024 03:30:47 GMT + repoEtag: '"ac1a0e7af2f72ca047ddc14c63b9078bdbb2411cac74ad57bee3458621f47287"' + repoLastModified: Fri, 05 Jan 2024 03:02:51 GMT foundInMaster: true - source: https://openapi.tools/ name: FabriKt @@ -1282,17 +1282,17 @@ repositoryId: 19390712 description: Swagger Editor created: '2014-05-02T22:47:10Z' - updated: '2024-01-03T10:37:33Z' + updated: '2024-01-04T16:53:55Z' language: JavaScript archived: false - stars: 8482 + stars: 8488 watchers: 257 - forks: 2222 + forks: 2224 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"b995124cd40e1f0a9af6a5d0ae4dd1c93c566228183727dea9085cf354a9e18b"' - repoLastModified: Wed, 03 Jan 2024 10:37:33 GMT + repoEtag: '"c23e74ad9505e1257fa4c0852d8e4b22f88cfc1816a99a07ef9f249511f0dbad"' + repoLastModified: Thu, 04 Jan 2024 16:53:55 GMT foundInMaster: true id: 951cf61d12c812ef9b201ad76b5d278d v3_1: true @@ -1652,17 +1652,17 @@ Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations. created: '2016-03-18T03:52:09Z' - updated: '2024-01-03T14:13:30Z' + updated: '2024-01-04T16:03:41Z' language: TypeScript archived: false - stars: 3848 + stars: 3849 watchers: 54 forks: 319 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"1bed3b119c0c4d06e6f60684b1c29f3a89777868c592d603fe21017d979cdc83"' - repoLastModified: Wed, 03 Jan 2024 14:13:30 GMT + repoEtag: '"3d254f0ac4aa24f0e84619d98ceea5a8e926134da74c5b9924ca22212778dab2"' + repoLastModified: Thu, 04 Jan 2024 16:03:41 GMT foundInMaster: true id: 15aad8cd322242e03733b07f2a37890a - source: https://openapi.tools/ @@ -1739,7 +1739,7 @@ owner: microcks logo: https://avatars.githubusercontent.com/u/11051048?v=4 license: Apache-2.0 - repoEtag: '"f0bda7349c16efb4418324fda03a68b2cc779a592300a8830fec5958548f10cb"' + repoEtag: '"c5e8a143e34d1cef374079dc2fd894df05bb9cd60b2ed586d79f7dd74895dc33"' repoLastModified: Wed, 03 Jan 2024 20:15:03 GMT foundInMaster: true id: 1c0e918b5a733b0f1726199e3ea101d6 @@ -1897,17 +1897,17 @@ repositoryId: 61366800 description: Build OpenAPI-compliant REST APIs using TypeScript and Node created: '2016-06-17T10:42:50Z' - updated: '2024-01-04T01:25:58Z' + updated: '2024-01-05T01:21:25Z' language: TypeScript archived: false - stars: 2997 + stars: 3000 watchers: 25 forks: 462 owner: lukeautry logo: https://avatars.githubusercontent.com/u/8770560?v=4 license: MIT - repoEtag: '"a8461603841a690b45f0a7e356adee653edf4dc2f3a8c08112df1ae7860f788b"' - repoLastModified: Thu, 04 Jan 2024 01:25:58 GMT + repoEtag: '"ef3aa514172c4c7a146f9ea14dc71c2e18e49b62fc6c0a9f9e8d9d3aaeec8f0b"' + repoLastModified: Fri, 05 Jan 2024 01:21:25 GMT foundInMaster: true id: 2529db76d3d9f042b0c624f65b13fc41 - source: https://openapi.tools/ @@ -2076,17 +2076,17 @@ Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time. created: '2015-03-06T21:46:05Z' - updated: '2024-01-02T16:18:41Z' + updated: '2024-01-04T23:21:17Z' language: TypeScript archived: false - stars: 8163 + stars: 8168 watchers: 220 forks: 974 owner: api-platform logo: https://avatars.githubusercontent.com/u/13420081?v=4 license: MIT - repoEtag: '"e189ace1a1f1fb48969a0d3021a41949aa638a0c4c9b3262b082eb9e778208eb"' - repoLastModified: Tue, 02 Jan 2024 16:18:41 GMT + repoEtag: '"15106b45a1e51cdb3581001008580a238e83ed0340bee0feea7e0cb6afa17240"' + repoLastModified: Thu, 04 Jan 2024 23:21:17 GMT foundInMaster: true id: d14f5904300aabf1ceef4660a6b3d57e - source: https://openapi.tools/ @@ -2142,17 +2142,17 @@ repositoryId: 39904377 description: Open source API management platform created: '2015-07-29T16:34:52Z' - updated: '2024-01-03T18:12:37Z' + updated: '2024-01-04T16:00:42Z' language: PHP archived: false - stars: 1630 + stars: 1632 watchers: 59 forks: 206 owner: apioo logo: https://avatars.githubusercontent.com/u/18172950?v=4 license: Apache-2.0 - repoEtag: '"106218dbfc0ee2266dba73002dcf0d5db1d065415ff59cd1faa0f3c4210280b0"' - repoLastModified: Wed, 03 Jan 2024 18:12:37 GMT + repoEtag: '"9c0907d3dcaf843da8fabb63181339aef753d17c1fc28f5b4ef619567245b131"' + repoLastModified: Thu, 04 Jan 2024 16:00:42 GMT foundInMaster: true id: 5458da680012a142d20e79ac150bc4ab - source: @@ -2253,7 +2253,7 @@ owner: nestjs logo: https://avatars.githubusercontent.com/u/28507035?v=4 license: MIT - repoEtag: '"f315b89ade6c21e6190698ea2820e9542f0c990ef015788fed7890bd52c81a54"' + repoEtag: '"9fa20bef629014eb1027371526e13645eea2a9bca633f9a00b711d6ffd4ef962"' repoLastModified: Wed, 03 Jan 2024 16:40:39 GMT foundInMaster: true id: 7071babd9853fc901c5decfa9b465b67 @@ -2317,17 +2317,17 @@ repositoryId: 12590052 description: Language-agnostic HTTP API Testing Tool created: '2013-09-04T12:21:35Z' - updated: '2024-01-03T22:17:17Z' + updated: '2024-01-04T15:55:21Z' language: JavaScript archived: false - stars: 4093 + stars: 4094 watchers: 75 forks: 306 owner: apiaryio logo: https://avatars.githubusercontent.com/u/765943?v=4 license: MIT - repoEtag: '"f6c8d0bf810fe485cdda7122c972ec21c344290918b0dca949750b3595b033c8"' - repoLastModified: Wed, 03 Jan 2024 22:17:17 GMT + repoEtag: '"20ff8ae90cf69e07804ac46adfcc9ee8ec23cb5d9a54e9ee55cda4079a93c2ee"' + repoLastModified: Thu, 04 Jan 2024 15:55:21 GMT foundInMaster: true id: bb2e4b0879fce0d8706dcebfd2c10a4c - source: @@ -2361,7 +2361,7 @@ owner: cdimascio logo: https://avatars.githubusercontent.com/u/4706618?v=4 license: MIT - repoEtag: '"f05f8af5006e842879a574c92464edeefea5a2ee622660ff5a92bc8d90d928cd"' + repoEtag: '"c852da294aaf78f1248fdfcea6e64a7db19abf5278865e36b6e12f66b05e8931"' repoLastModified: Wed, 03 Jan 2024 07:18:47 GMT foundInMaster: true id: 3a27bc1a71642e0c1c020c41dc66e206 @@ -2424,17 +2424,17 @@ Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman 👨🏽‍🚀 created: '2021-05-05T10:42:29Z' - updated: '2024-01-03T19:26:02Z' + updated: '2024-01-04T16:57:24Z' language: TypeScript archived: false - stars: 592 + stars: 593 watchers: 11 forks: 56 owner: apideck-libraries logo: https://avatars.githubusercontent.com/u/73573473?v=4 license: Apache-2.0 - repoEtag: '"daed9ed4348ca0225eee955a2a24842c360c82a7b0e5b2516e772b16ed2b917d"' - repoLastModified: Wed, 03 Jan 2024 19:26:02 GMT + repoEtag: '"4328df675a1071ab0a0d0d91fb1574ad694fc04aeabcea629459cc908082a364"' + repoLastModified: Thu, 04 Jan 2024 16:57:24 GMT foundInMaster: true id: a03cdb329f630a946a946dfe26802c43 - source: https://openapi.tools/ @@ -2462,17 +2462,17 @@ repositoryId: 537500924 description: Automated API Testing and Quality Assurance created: '2022-09-16T14:48:21Z' - updated: '2024-01-02T17:35:35Z' + updated: '2024-01-04T21:10:24Z' language: TypeScript archived: false - stars: 1407 + stars: 1410 watchers: 13 forks: 55 owner: stepci logo: https://avatars.githubusercontent.com/u/61350067?v=4 license: MPL-2.0 - repoEtag: '"a88ed50dae3b26fca57119095359ee3c5c4a9656c46bb1bb2beb090a2ae840d7"' - repoLastModified: Tue, 02 Jan 2024 17:35:35 GMT + repoEtag: '"deed990b974569341192b656f7d8b6993fcdfc993d76618ff29a9ee719df822f"' + repoLastModified: Thu, 04 Jan 2024 21:10:24 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -2543,17 +2543,17 @@ baked in support for OpenAPI v3.1, v3.0, and v2.0 as well as AsyncAPI v2.x. created: '2018-08-15T18:43:18Z' - updated: '2024-01-03T21:27:25Z' + updated: '2024-01-05T03:24:45Z' language: TypeScript archived: false - stars: 2127 + stars: 2131 watchers: 32 forks: 205 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"146e495bc2f728155101495d1766ced2d980074d1db0ecd9765a32490a71a0bc"' - repoLastModified: Wed, 03 Jan 2024 21:27:25 GMT + repoEtag: '"383088b6989f5c6251fd9b02ee24e469eefd00f8007f1fcb731aa72a13c926b8"' + repoLastModified: Fri, 05 Jan 2024 03:24:45 GMT foundInMaster: true id: fab3cc58898cd8953a30e43cc622e0fe - source: https://openapi.tools/ @@ -2647,7 +2647,7 @@ owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"1f93ee69812274a1a295996dc2167204b0a848a9e6c02683fbfb3ec2562c91cb"' + repoEtag: '"5590dc50dde38ec4ff4b47656582cafbecc8a6820ce33349d0a6b41b999595e5"' repoLastModified: Wed, 03 Jan 2024 23:06:27 GMT category: - Description Validators @@ -2832,17 +2832,17 @@ repositoryId: 18997610 description: Swagger Spec to Java POJOs created: '2014-04-21T16:00:22Z' - updated: '2023-12-30T14:49:00Z' + updated: '2024-01-05T02:22:05Z' language: Java archived: false - stars: 724 + stars: 725 watchers: 46 forks: 546 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"53b524c0f7248a31e971100e916eb719b2dda30c57e40662c74d78a0951917e2"' - repoLastModified: Sat, 30 Dec 2023 14:49:00 GMT + repoEtag: '"fb80e560e4aeef1cfded53f6e253eeba5f00b46a2d521b54c7434a96bbbfd199"' + repoLastModified: Fri, 05 Jan 2024 02:22:05 GMT foundInMaster: true id: 45f46a8f7ac698cfe3926303bf3dff9d v3_1_link: https://github.com/swagger-api/swagger-parser/pull/1730 @@ -3029,17 +3029,17 @@ OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) created: '2017-06-11T20:12:06Z' - updated: '2024-01-04T02:54:36Z' + updated: '2024-01-04T16:14:50Z' language: Go archived: false - stars: 2207 + stars: 2209 watchers: 23 forks: 377 owner: getkin logo: https://avatars.githubusercontent.com/u/40365715?v=4 license: MIT - repoEtag: '"10dfe410ee4aaf0eb581ed30f5b19e603b72e948f85820f1a9997c5753d1cc8b"' - repoLastModified: Thu, 04 Jan 2024 02:54:36 GMT + repoEtag: '"55082e2d229aade4cb774af9878e44de4ea15995454a756782fbda5354d17f9b"' + repoLastModified: Thu, 04 Jan 2024 16:14:50 GMT foundInMaster: true v2: true id: f6838ce08e87fa4c3dc813c97193ece3 @@ -3074,7 +3074,7 @@ owner: thephpleague logo: https://avatars.githubusercontent.com/u/527621?v=4 license: MIT - repoEtag: '"f9ec61bd19aaa5f1f557ed799bbe316876fddaf2076d5301f64870a26cae8a45"' + repoEtag: '"801a891cbb7824a7feaf2a2d9af0c3fc6c61f1f4407ed9174ce2c23c4993c8e0"' repoLastModified: Fri, 29 Dec 2023 14:13:19 GMT foundInMaster: true v3_1_link: https://github.com/thephpleague/openapi-psr7-validator/issues/163 @@ -3101,17 +3101,17 @@ Read and write OpenAPI yaml/json files and make the content accessible in PHP objects. created: '2018-10-23T10:46:11Z' - updated: '2024-01-02T09:13:49Z' + updated: '2024-01-04T15:50:40Z' language: PHP archived: false - stars: 446 + stars: 447 watchers: 23 forks: 118 owner: cebe logo: https://avatars.githubusercontent.com/u/189796?v=4 license: MIT - repoEtag: '"b635e5792f78d5a5cfcb58a0e42a15c66322a00bb8cd1292bd7aeb4c27992c4d"' - repoLastModified: Tue, 02 Jan 2024 09:13:49 GMT + repoEtag: '"7ad3efa67e9435aafddceaf5b3504063ae5da702eee342595cf6dfc0cc27499c"' + repoLastModified: Thu, 04 Jan 2024 15:50:40 GMT foundInMaster: true v3_1_link: https://github.com/cebe/php-openapi/pull/128 id: 3a26d5049f03c42cb9771c179db0f35f @@ -3227,17 +3227,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2024-01-03T16:48:14Z' + updated: '2024-01-04T16:15:07Z' language: C# archived: false - stars: 1247 + stars: 1249 watchers: 65 forks: 218 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"5f10791ebbf733fee933fc47d93828bbf375f010a767120d548995b2b7cb4073"' - repoLastModified: Wed, 03 Jan 2024 16:48:14 GMT + repoEtag: '"91184c3409418f4d84e6b16d14fe5202eca8c94593f58a3c361df00afa633cb0"' + repoLastModified: Thu, 04 Jan 2024 16:15:07 GMT foundInMaster: true id: 1066748bb5b1f114a70856a29fee4aa7 - source: @@ -3434,17 +3434,17 @@ repositoryId: 26726495 description: Swagger 2.0 implementation for go created: '2014-11-16T20:13:15Z' - updated: '2024-01-03T16:58:28Z' + updated: '2024-01-04T15:58:13Z' language: Go archived: false - stars: 9068 + stars: 9071 watchers: 119 - forks: 1273 + forks: 1274 owner: go-swagger logo: https://avatars.githubusercontent.com/u/10362650?v=4 license: Apache-2.0 - repoEtag: '"b13f3c6bb80d5a5131e19e854e698f6a185369042e2a9c1240aec8d995494dd0"' - repoLastModified: Wed, 03 Jan 2024 16:58:28 GMT + repoEtag: '"5a0d09d00ea9507bb1545f0ae731f0dd8a326307357c63a2b421665545f5b322"' + repoLastModified: Thu, 04 Jan 2024 15:58:13 GMT foundInMaster: true id: ef136df9ffb40bb33ccbd76665d8f5b4 - source: https://openapi.tools/ @@ -3507,17 +3507,17 @@ A consistent, declarative way of interacting with RESTful backends, featuring code-generation from Swagger and OpenAPI specs 🔥 created: '2018-06-29T12:52:25Z' - updated: '2024-01-02T16:44:41Z' + updated: '2024-01-04T16:24:14Z' language: TypeScript archived: true - stars: 1878 + stars: 1879 watchers: 20 forks: 109 owner: contiamo logo: https://avatars.githubusercontent.com/u/862286?v=4 license: MIT - repoEtag: '"866cf3d731af5c3a8a308d289d40606a74e3542b8084e8cfd10a756d9e8cd0df"' - repoLastModified: Tue, 02 Jan 2024 16:44:41 GMT + repoEtag: '"327eb159d7f1e839b826dc6c5d0e87882e1b95e04bffb2747683d5199fa5313e"' + repoLastModified: Thu, 04 Jan 2024 16:24:14 GMT foundInMaster: true id: 7fa6fa97d3fc13594a92cd5594506906 - source: https://openapi.tools/ @@ -3537,17 +3537,17 @@ repositoryId: 41822320 description: 'The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript. ' created: '2015-09-02T19:11:57Z' - updated: '2024-01-04T03:07:10Z' + updated: '2024-01-04T15:46:47Z' language: C# archived: false - stars: 6252 + stars: 6254 watchers: 160 forks: 1182 owner: RicoSuter logo: https://avatars.githubusercontent.com/u/2603405?v=4 license: MIT - repoEtag: '"db124376b3d22d9ebc2c0309ddc6a617a7659092d2ae7a768af9b63cc4f7443e"' - repoLastModified: Thu, 04 Jan 2024 03:07:10 GMT + repoEtag: '"abdffcd8032e59f7f54671cc79aade8857aff6c125979f810fe397bc7b0d891d"' + repoLastModified: Thu, 04 Jan 2024 15:46:47 GMT foundInMaster: true id: 93636e95435e95198d7d15c9d507f0d3 - source: https://openapi.tools/ @@ -3610,17 +3610,17 @@ documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. created: '2011-07-06T14:26:48Z' - updated: '2024-01-03T15:40:05Z' + updated: '2024-01-04T20:26:47Z' language: Mustache archived: false - stars: 16238 - watchers: 418 - forks: 6033 + stars: 16239 + watchers: 419 + forks: 6032 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"bef5104115ec11ce4783f4b6c2572c8e865e72bc9ffbda7029072db6db7a58bd"' - repoLastModified: Wed, 03 Jan 2024 15:40:05 GMT + repoEtag: '"c66e00a7d052b1113bb5225fb015b6178103019e0e967945fa2e2078ad6b4fc8"' + repoLastModified: Thu, 04 Jan 2024 20:26:47 GMT foundInMaster: true id: eda1e66e1b7805496e42f57851791a32 - source: https://openapi.tools/ @@ -3644,17 +3644,17 @@ OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python created: '2015-02-20T23:02:54Z' - updated: '2024-01-03T14:12:01Z' + updated: '2024-01-04T15:59:01Z' language: TypeScript archived: false - stars: 4396 + stars: 4397 watchers: 819 forks: 756 owner: Azure logo: https://avatars.githubusercontent.com/u/6844498?v=4 license: MIT - repoEtag: '"11b9999a90d000260a86bc1f9921590b5398e1724f574b52b6fdab3d6caf75ab"' - repoLastModified: Wed, 03 Jan 2024 14:12:01 GMT + repoEtag: '"c8525cc51b74cfbd8a4c2d57445db28d9107a0f5f1f4cf9bb65897a24654ff77"' + repoLastModified: Thu, 04 Jan 2024 15:59:01 GMT foundInMaster: true id: 648d92bca90bf58cd74407e0bcad2936 - source: https://openapi.tools/ @@ -3707,17 +3707,17 @@ repositoryId: 84146520 description: Comprehensive tooling for working with OpenAPI definitions. created: '2017-03-07T02:46:31Z' - updated: '2024-01-03T12:49:23Z' + updated: '2024-01-04T07:47:49Z' language: TypeScript archived: false - stars: 225 + stars: 226 watchers: 20 forks: 26 owner: readmeio logo: https://avatars.githubusercontent.com/u/6878153?v=4 license: MIT - repoEtag: '"3e4c80c1655500d299aa08ceb82bf8824cc95abdbdc245a97a0286039420dcd5"' - repoLastModified: Wed, 03 Jan 2024 12:49:23 GMT + repoEtag: '"65877c0b322e4880184530cb8dfa57d271505c9e2c7b57947f4f7ad9d2a6dfd7"' + repoLastModified: Thu, 04 Jan 2024 07:47:49 GMT foundInMaster: true id: 362a4b56c90877840a8032f920389bf6 v3_1: true @@ -3745,17 +3745,17 @@ repositoryId: 81140437 description: 🚀 Automatic SDK generation from an OpenAPI definition created: '2017-02-06T22:31:07Z' - updated: '2024-01-03T20:49:10Z' + updated: '2024-01-04T18:11:32Z' language: TypeScript archived: false - stars: 452 + stars: 454 watchers: 21 forks: 22 owner: readmeio logo: https://avatars.githubusercontent.com/u/6878153?v=4 license: MIT - repoEtag: '"5ff6711bd20e20f68a97984a17d82a1ec1703997da2947fc7a2db9dd38f05edd"' - repoLastModified: Wed, 03 Jan 2024 20:49:10 GMT + repoEtag: '"97ff3d026865b6cb52919d2d9585c9f2401bbc9190e46e8d31448a957d79844b"' + repoLastModified: Thu, 04 Jan 2024 18:11:32 GMT foundInMaster: true - source: https://openapi.tools/ name: oas-normalize @@ -4037,7 +4037,7 @@ owner: EMResearch logo: https://avatars.githubusercontent.com/u/29148026?v=4 license: LGPL-3.0 - repoEtag: '"d727a7944b72ee69c54b26c9b0ef50de7325fc84c6164c355b86df9d77ea4121"' + repoEtag: '"52967c723eae7aafba78d74974c85178438d1f55ffd55077f8b49e2f8f8f9e5b"' repoLastModified: Tue, 02 Jan 2024 07:10:37 GMT foundInMaster: true id: eba0fd1e4a49eb507e337ad2266e9a16 @@ -4106,17 +4106,17 @@ Black-box fuzzer that fuzzes APIs based on OpenAPI specification. Find bugs for free! created: '2020-12-23T22:33:38Z' - updated: '2024-01-02T17:15:07Z' + updated: '2024-01-04T16:53:23Z' language: Rust archived: false - stars: 488 + stars: 489 watchers: 7 forks: 23 owner: matusf logo: https://avatars.githubusercontent.com/u/18228995?v=4 license: AGPL-3.0 - repoEtag: '"875b1bb8e22cf56092d13bb5cb22d98fc7b0c6eafbec10fcd57a018d86e969ad"' - repoLastModified: Tue, 02 Jan 2024 17:15:07 GMT + repoEtag: '"572f0046d524fde2b2b149cce2ac721f71d4d17fa5a85dcc3fff52210ed44f37"' + repoLastModified: Thu, 04 Jan 2024 16:53:23 GMT id: 9e0191ba47403298459b30242dbfe9ad - source: https://openapi.tools/ name: cats @@ -4147,17 +4147,17 @@ configuration and no coding effort. Tests are self-healing and do not require maintenance. created: '2020-04-02T13:14:39Z' - updated: '2024-01-03T03:21:46Z' + updated: '2024-01-04T16:44:15Z' language: Java archived: false - stars: 1034 + stars: 1036 watchers: 11 forks: 71 owner: Endava logo: https://avatars.githubusercontent.com/u/19396140?v=4 license: Apache-2.0 - repoEtag: '"e314727211559054bb743241cdb83bd8af87b99b4d4a0165525ca4343000346b"' - repoLastModified: Wed, 03 Jan 2024 03:21:46 GMT + repoEtag: '"6b6e9b647949f5292f2f4273b208644d94c2178ef78e393ec978547dd782f207"' + repoLastModified: Thu, 04 Jan 2024 16:44:15 GMT foundInMaster: true - source: https://openapi.tools/ name: API Insights @@ -4478,17 +4478,17 @@ Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in created: '2020-05-15T06:45:59Z' - updated: '2024-01-03T18:18:05Z' + updated: '2024-01-04T16:45:59Z' language: Go archived: false - stars: 576 + stars: 577 watchers: 3 forks: 62 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"5eafff8e6f959bd6419259b0ee6abc65e95513e53e87f17ee7a5eac896ed7f59"' - repoLastModified: Wed, 03 Jan 2024 18:18:05 GMT + repoEtag: '"2dca4b8ae40aa8b28893426aaf8cbff3cfe21ec7e66b4e36a22b4fa2cb118713"' + repoLastModified: Thu, 04 Jan 2024 16:45:59 GMT foundInMaster: true id: 22a8c610015b1b9d89af39221beabe66 v3_1: true @@ -4522,7 +4522,7 @@ owner: codekie logo: https://avatars.githubusercontent.com/u/1512840?v=4 license: MIT - repoEtag: '"9797fdb82a781d861fc7b975e491562787a2425bcfbafe4a6443227ff7ccf3ca"' + repoEtag: '"db7796a35f31adc467ebeaa53fa9d2676bb22a34570602156999b56f22db06d4"' repoLastModified: Fri, 22 Dec 2023 06:24:39 GMT foundInMaster: true id: 301e3f380f248daf345a88c8971d2a71 @@ -4548,17 +4548,17 @@ Plugin for converting OpenAPI 3.0 specs to the Postman Collection (v2) format created: '2018-12-12T10:13:46Z' - updated: '2024-01-03T18:58:49Z' + updated: '2024-01-04T16:28:53Z' language: JavaScript archived: false - stars: 818 + stars: 820 watchers: 23 forks: 202 owner: postmanlabs logo: https://avatars.githubusercontent.com/u/10251060?v=4 license: Apache-2.0 - repoEtag: '"ad51606328cd7b919aebb2657814068c8f676d10db1893541314589ca098d16b"' - repoLastModified: Wed, 03 Jan 2024 18:58:49 GMT + repoEtag: '"53844309f82dc9820b897265000bae2e41e151270cc3d4333f53f8c9d898f774"' + repoLastModified: Thu, 04 Jan 2024 16:28:53 GMT foundInMaster: true id: 31b717a2084e3d92f6cda2c33484c789 v3_link: true @@ -4631,7 +4631,7 @@ owner: github logo: https://avatars.githubusercontent.com/u/9919?v=4 license: MIT - repoEtag: '"c9d8262bbb2e3efcef68e77c51e5fb8e1c799f2b8a82361b82cebd5a0a46fb1d"' + repoEtag: '"ae2a010c8e68f9dfba7e16dd737f5a3aa73c98d83b22138e0e17ba76534be90c"' repoLastModified: Tue, 19 Dec 2023 10:49:43 GMT foundInMaster: true id: ec6a7a1e4a69a9beeb95bdebb88cb36d @@ -4657,17 +4657,17 @@ repositoryId: 4238977 description: Automated JSON API documentation for API's built with Spring created: '2012-05-06T06:38:57Z' - updated: '2024-01-01T06:50:08Z' + updated: '2024-01-04T20:06:08Z' language: Java archived: false - stars: 5883 + stars: 5885 watchers: 269 forks: 1549 owner: springfox logo: https://avatars.githubusercontent.com/u/11529357?v=4 license: Apache-2.0 - repoEtag: '"a341445437d23a8874a2706c3eab82be99c17959308b9ad588a2631da1201ebb"' - repoLastModified: Mon, 01 Jan 2024 06:50:08 GMT + repoEtag: '"4a30e43792d4348252972e154766b7797a7564c774b223b2bb8c82c6af368d7d"' + repoLastModified: Thu, 04 Jan 2024 20:06:08 GMT foundInMaster: true id: 2addde4c497bf582f20025ccac2cda86 - source: @@ -4725,17 +4725,17 @@ repositoryId: 36817565 description: The ZAP core project created: '2015-06-03T16:55:01Z' - updated: '2024-01-03T19:07:37Z' + updated: '2024-01-05T03:09:30Z' language: Java archived: false - stars: 11587 + stars: 11595 watchers: 399 - forks: 2179 + forks: 2181 owner: zaproxy logo: https://avatars.githubusercontent.com/u/6716868?v=4 license: Apache-2.0 - repoEtag: '"0802c4ec3cb74d69654ef074020920e26402e543b40b2bb96f8fe7cfba227ffe"' - repoLastModified: Wed, 03 Jan 2024 19:07:37 GMT + repoEtag: '"90205118a728e0a44b0e7f21c72e82118c160cba887ccfe532cc8bfceee0ce65"' + repoLastModified: Fri, 05 Jan 2024 03:09:30 GMT foundInMaster: true id: 9eedc1be44837a65f912bcf562844f39 - source: @@ -4964,11 +4964,11 @@ archived: false stars: 254 watchers: 6 - forks: 42 + forks: 43 owner: hotmeteor logo: https://avatars.githubusercontent.com/u/378585?v=4 license: MIT - repoEtag: '"081a74b3660e5164bce927fcb8a02dbd33d620aa309ecdc33ec8813f1337ad71"' + repoEtag: '"982a55e0bc4dfbe471793e293e6fcfc1d085df7f880c905fe2ada567f4818dce"' repoLastModified: Thu, 21 Dec 2023 20:33:00 GMT foundInMaster: true v3_1_link: https://github.com/hotmeteor/spectator/issues/100 @@ -5026,17 +5026,17 @@ repositoryId: 1431547 description: Web APIs for Django. 🎸 created: '2011-03-02T17:13:56Z' - updated: '2024-01-03T22:50:36Z' + updated: '2024-01-05T02:22:20Z' language: Python archived: false - stars: 26898 + stars: 26915 watchers: 622 forks: 6836 owner: encode logo: https://avatars.githubusercontent.com/u/19159390?v=4 license: NOASSERTION - repoEtag: '"72bc361b3a978935a8c0c89ae642f0d6aa84d739cc78c62ac3e88b7a57b1ee07"' - repoLastModified: Wed, 03 Jan 2024 22:50:36 GMT + repoEtag: '"64b67929d4059c5716fc213bf4d736ad1ada9fc286a1247e9fd4cf237cebd79a"' + repoLastModified: Fri, 05 Jan 2024 02:22:20 GMT foundInMaster: true id: fb8994c078a380cc3510b024f6ed1202 category: Server Implementations @@ -5218,17 +5218,17 @@ repositoryId: 240776275 description: Generate modern Python clients from OpenAPI created: '2020-02-15T19:33:46Z' - updated: '2024-01-02T17:11:58Z' + updated: '2024-01-04T20:50:22Z' language: Python archived: false - stars: 927 + stars: 930 watchers: 15 forks: 188 owner: openapi-generators logo: https://avatars.githubusercontent.com/u/84925606?v=4 license: MIT - repoEtag: '"cc4065990a40416d8f535c9a01a2a5e2630251ec15cf91fd50aa52490a5ac9b2"' - repoLastModified: Tue, 02 Jan 2024 17:11:58 GMT + repoEtag: '"41bab418b9e0cae13b09ffdea483aae0dbf2f195a9abc6f3c244ae71fefc59d3"' + repoLastModified: Thu, 04 Jan 2024 20:50:22 GMT foundInMaster: true id: 784ec4adac4e47e4211ea74ef36dd5a5 - source: @@ -5257,17 +5257,17 @@ Build beautiful, interactive API Docs with embeddable React or Web Components, powered by OpenAPI and Markdown. created: '2019-05-03T01:05:01Z' - updated: '2024-01-03T16:30:59Z' + updated: '2024-01-04T16:33:27Z' language: TypeScript archived: false - stars: 1330 + stars: 1332 watchers: 20 forks: 159 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"0d2301be7c645a28298f4e1194666876db5427d5337d31e877c8f921ea6a51c9"' - repoLastModified: Wed, 03 Jan 2024 16:30:59 GMT + repoEtag: '"a0545a2f1ce8e692f896df1319c3e9ac372833a281db5034f744b08193263858"' + repoLastModified: Thu, 04 Jan 2024 16:33:27 GMT foundInMaster: true id: 2f94cc1fc980953b17a9979d4ff2e7ec - source: @@ -5393,17 +5393,17 @@ undefined user behaviour by auditing your API specifications, validating them and running API security tests. created: '2021-11-17T07:02:22Z' - updated: '2024-01-02T17:25:16Z' + updated: '2024-01-04T21:15:19Z' language: Rust archived: false - stars: 1003 - watchers: 13 + stars: 1005 + watchers: 12 forks: 80 owner: blst-security logo: https://avatars.githubusercontent.com/u/54233087?v=4 license: Apache-2.0 - repoEtag: '"726f75224aec83cf9f16ed435014393b0992c8f3eafde1a1bb23fabd195c08b4"' - repoLastModified: Tue, 02 Jan 2024 17:25:16 GMT + repoEtag: '"95484259ff38d854514ce5923e54b00ce6ef1f13599290eb3dc867f40e4060bd"' + repoLastModified: Thu, 04 Jan 2024 21:15:19 GMT foundInMaster: true name: Cherrybomb category: Description Validators @@ -5599,11 +5599,11 @@ archived: false stars: 1933 watchers: 9 - forks: 235 + forks: 236 owner: anymaniax logo: https://avatars.githubusercontent.com/u/10516382?v=4 license: MIT - repoEtag: '"88c6891e62a124427efa501825970e34add03b28ae88ed614dd39ca3ee58ee73"' + repoEtag: '"981831f271ee6e44f142beb1874a5a9f314f944a10a77fe1a8a2537576bb6514"' repoLastModified: Thu, 04 Jan 2024 02:26:32 GMT foundInMaster: true - source: @@ -5702,7 +5702,7 @@ owner: pmcelhaney logo: https://avatars.githubusercontent.com/u/51504?v=4 license: MIT - repoEtag: '"b681ec2a50577cbf52d4a1f6091b9fa65959192a3dadea19b3aac3fa25606037"' + repoEtag: '"ede0f1d82dbbb05463329729009f1b56e30a6ef132dde3e8b4387ac70d2db4c7"' repoLastModified: Wed, 03 Jan 2024 19:39:59 GMT category: - Mock @@ -5746,9 +5746,9 @@ v3: true repositoryMetadata: base64Readme: >- - IVtsb2dvXShsb2dvLnBuZykKCiMgdmFjdXVtIC0gVGhlIHdvcmxkJ3MgZmFzdGVzdCBPcGVuQVBJICYgU3dhZ2dlciBsaW50ZXIuCgohW2J1aWxkXShodHRwczovL2dpdGh1Yi5jb20vZGF2ZXNoYW5sZXkvdmFjdXVtL3dvcmtmbG93cy9CdWlsZC9iYWRnZS5zdmcpClshW0dvIFJlcG9ydCBDYXJkXShodHRwczovL2dvcmVwb3J0Y2FyZC5jb20vYmFkZ2UvZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0pXShodHRwczovL2dvcmVwb3J0Y2FyZC5jb20vcmVwb3J0L2dpdGh1Yi5jb20vZGF2ZXNoYW5sZXkvdmFjdXVtKQpbIVtkaXNjb3JkXShodHRwczovL2ltZy5zaGllbGRzLmlvL2Rpc2NvcmQvOTIzMjU4MzYzNTQwODE1OTEyKV0oaHR0cHM6Ly9kaXNjb3JkLmdnL1VBY1VGNzhNUU4pClshW0RvY3NdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvZ29kb2MtcmVmZXJlbmNlLTVmYWZkNyldKGh0dHBzOi8tL3BrZy5nby5kZXYvZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0pClshW0dpdEh1YiBkb3dubG9hZHNdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2Rvd25sb2Fkcy9kYXZlc2hhbmxleS92YWN1dW0vdG90YWw/bGFiZWw9Z2l0aHViJTIwZG93bmxvYWRzJnN0eWxlPWZsYXQtc3F1YXJlKV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdmVzaGFubGV5L3ZhY3V1bS9yZWxlYXNlcykKWyFbbnBtXShodHRwczovL2ltZy5zaGllbGRzLmlvL25wbS9kbS9AcXVvYml4L3ZhY3V1bT9zdHlsZT1mbGF0LXNxdWFyZSZsYWJlbD1ucG0lMjBkb3dubG9hZHMpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AcXVvYml4L3ZhY3V1bSkKWyFbRG9ja2VyIFB1bGxzXShodHRwczovL2ltZy5zaGllbGRzLmlvL2RvY2tlci9wdWxscy9kc2hhbmxleS92YWN1dW0/c3R5bGU9ZmxhdC1zcXVhcmUpXShodHRwczovL2h1Yi5kb2NrZXIuY29tL3IvZHNoYW5sZXkvdmFjdXVtKQpbIVtNZW50aW9uZWQgaW4gQXdlc29tZSBHb10oaHR0cHM6Ly9hd2Vzb21lLnJlL21lbnRpb25lZC1iYWRnZS1mbGF0LnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdmVsaW5vL2F3ZXNvbWUtZ28pCgpBbiAqKnVsdHJhLXN1cGVyLWZhc3QqKiwgbGlnaHR3ZWlnaHQgT3BlbkFQSSBsaW50ZXIgYW5kIHF1YWxpdHkgY2hlY2tpbmcgdG9vbCwgd3JpdHRlbiBpbiBnb2xhbmcgYW5kIGluc3BpcmVkIGJ5IFtTcGVjdHJhbF0oaHR0cHM6Ly9naXRodWIuY29tL3N0b3BsaWdodGlvL3NwZWN0cmFsKS4KCkl0J3MgYWxzbyBjb21wYXRpYmxlIHdpdGggZXhpc3RpbmcgW1NwZWN0cmFsXShodHRwczovL2dpdGh1Yi5jb20vc3RvcGxpZ2h0aW8vc3BlY3RyYWwpIHJ1bGVzZXRzLgoKIyMgSW5zdGFsbCB1c2luZyBbaG9tZWJyZXddKGh0dHBzOi8vYnJldy5zaCkgdGFwCgpgYGAKYnJldyBpbnN0YWxsIGRhdmVzaGFubGV5L3ZhY3V1bS92YWN1dW0KYGBgCgojIyBJbnN0YWxsIHVzaW5nIFtucG1dKGh0dHBzOi8vbnBtanMuY29tKQoKYGBgCm5wbSBpIC1nIEBxdW9iaXgvdmFjdXVtCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBbeWFybl0oaHR0cHM6Ly95YXJucGtnLmNvbS8pCgpgYGAKeWFybiBnbG9iYWwgYWRkIEBxdW9iaXgvdmFjdXVtCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBjdXJsCgpgYGAKY3VybCAtZnNTTCBodHRwczovL3F1b2JpeC5jb20vc2NyaXB0cy9pbnN0YWxsX3ZhY3V1bS5zaCB8IHNoCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBbRG9ja2VyXShodHRwczovL2h1Yi5kb2NrZXIuY29tL3IvZHNoYW5sZXkvdmFjdXVtKQoKVGhlIGltYWdlIGlzIGF2YWlsYWJsZSBhdDogaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL2RzaGFubGV5L3ZhY3V1bQoKYGBgCmRvY2tlciBwdWxsIGRzaGFubGV5L3ZhY3V1bQpgYGAKClRvIHJ1biwgbW91bnQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXIgdG8gdGhlIGNvbnRhaW5lciBhbmQgdXNlIGEgcmVsYXRpdmUgcGF0aCB0byB5b3VyIHNwZWMsIGxpa2Ugc28KCmBgYApkb2NrZXIgcnVuIC0tcm0gLXYgJFBXRDovd29yazpybyBkc2hhbmxleS92YWN1dW0gbGludCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCkFsdGVybmF0aXZlbHksIHlvdSBjYW4gcHVsbCBpdCBmcm9tCltHaXRodWIgcGFja2FnZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0vcGtncy9jb250YWluZXIvdmFjdXVtKS4KVG8gZG8gdGhhdCwgcmVwbGFjZSBgZHNoYW5sZXkvdmFjdXVtYCB3aXRoIGBnaGNyLmlvL2RhdmVzaGFubGV5L3ZhY3V1bWAgaW4gdGhlIGFib3ZlIGNvbW1hbmRzLgoKCi0tLQoKCiMjIFNwb25zb3JzCklmIHlvdXIgY29tcGFueSBpcyB1c2luZyBgdmFjdXVtYCwgcGxlYXNlIGNvbnNpZGVyaW5nIFtzdXBwb3J0aW5nIHRoaXMgcHJvamVjdF0oaHR0cHM6Ly9naXRodWIuY29tL3Nwb25zb3JzL2RhdmVzaGFubGV5KSwKbGlrZSBvdXIgX3Zlcnkga2luZF8gc3BvbnNvcnM6CgoKPGEgaHJlZj0iaHR0cHM6Ly9zcGVha2Vhc3lhcGkuZGV2Lz91dG1fc291cmNlPXZhY3V1bStyZXBvJnV0bV9tZWRpdW09Z2l0aHViK3Nwb25zb3JzaGlwIj4KPHBpY3R1cmU+CiAgPHNvdXJjZSBtZWRpYT0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIgc3Jjc2V0PSIuZ2l0aHViL3Nwb25zb3JzL3NwZWFrZWFzeS1naXRodWItc3BvbnNvci1kYXJrLnN2ZyI+CiAgPGltZyBhbHQ9InNwZWFrZWFzeSciIHNyYz0iLmdpdGh1Yi9zcG9uc29ycy9zcGVha2Vhc3ktZ2l0aHViLXNwb25zb3ItbGlnaHQuc3ZnIj4KPC9waWN0dXJlPgo8L2E+CgpbU3BlYWtlYXN5XShodHRwczovL3NwZWFrZWFzeWFwaS5kZXYvP3V0bV9zb3VyY2U9dmFjdXVtK3JlcG8mdXRtX21lZGl1bT1naXRodWIrc3BvbnNvcnNoaXApCgo8YSBocmVmPSJodHRwczovL3NjYWxhci5jb20iPgo8cGljdHVyZT4KICA8c291cmNlIG1lZGlhPSIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIiBzcmNzZXQ9Ii5naXRodWIvc3BvbnNvcnMvc2NhbGFyLWRhcmsucG5nIj4KICA8aW1nIGFsdD0ic2NhbGFyIiBzcmM9Ii5naXRodWIvc3BvbnNvcnMvc2NhbGFyLWxpZ2h0LnBuZyI+CjwvcGljdHVyZT4KPC9hPgoKW3NjYWxhcl0oaHR0cHM6Ly9zY2FsYXIuY29tKQoKPGEgaHJlZj0iaHR0cHM6Ly96dXBsby5saW5rL3ZhY3V1bSI+CjxwaWN0dXJlPgogIDxzb3VyY2UgbWVkaWE9IihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiIHNyY3NldD0iLmdpdGh1Yi9zcG9uc29ycy96dXBsby1kYXJrLnBuZyI+CiAgPGltZyBhbHQ9InNjYWxhciIgc3JjPSIuZ2l0aHViL3Nwb25zb3JzL3p1cGxvLWxpZ2h0LnBuZyI+CjwvcGljdHVyZT4KPC9hPgoKW3p1cGxvXShodHRwczovL3p1cGxvLmxpbmsvdmFjdXVtKQoKCi0tLQoKIyMgQ29tZSBjaGF0IHdpdGggdXMKCk5lZWQgaGVscD8gSGF2ZSBhIHF1ZXN0aW9uPyBXYW50IHRvIHNoYXJlIHlvdXIgd29yaz8gW0pvaW4gb3VyIGRpc2NvcmRdKGh0dHBzOi8vZGlzY29yZC5nZy9VQWNVRjc4TVFOKSBhbmQKY29tZSBzYXkgaGkhCgojIyBEb2N1bWVudGF0aW9uCgrwn5SlICoqTmV3IGluKiogYHYwLjYrYCDwn5SlIDogKipTaGFyYWJsZSAvIGRpc3RyaWJ1dGVkIHJ1bGVzZXRzKiogIG5vdyBhdmFpbGFibGUuCgpXYW50IHRvIHNoYXJlIC8gZXh0ZW5kIC8gZGlzdHJpYnV0ZSB5b3VyIG93biBydWxlc2V0cz8gTm93IHlvdSBjYW4hCgpbTGVhcm4gbW9yZSBhYm91dCBzaGFyYWJsZSBydWxlc2V0c10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlc2V0cy9zaGFyaW5nLykKCi0tLQoKYHYwLjUrYCA6ICoqTXVsdGktZmlsZSBsaW50aW5nKiogIG5vdyBhdmFpbGFibGUgZm9yIHRoZSBgbGludGAgY29tbWFuZC4KCldhbnQgdG8gbGludCBtdWx0aXBsZSBmaWxlcyBhdCBvbmNlPyBOb3cgeW91IGNhbiEKCmBgYHNoZWxsCnZhY3V1bSBsaW50IGZpbGUxLmpzb24gcGF0aC90by9maWxlMi55YW1sIGZpbGUzLmpzb25gIApgYGAKCldhbnQgdG8gc3VjayBpbiBhIHRvbiBvZiBmaWxlcz8gVXNlIGEgKipnbG9iKiogcGF0dGVybiEKCmBgYHNoZWxsCnZhY3V1bSBsaW50IHNvbWUvcGF0aC8qKi8qLnlhbWxgIApgYGAKCgotLS0KYHYwLjMrYDogW0N1c3RvbSBKYXZhU2NyaXB0IEZ1bmN0aW9uc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hcGkvY3VzdG9tLWphdmFzY3JpcHQtZnVuY3Rpb25zLykgYXJlIG5vdyBhdmFpbGFibGUgb3V0IG9mIHRoZSBib3guCgpXcml0ZSBjdXN0b20gZnVuY3Rpb25zIGluIEphdmFTY3JpcHQgYW5kIHVzZSB0aGVtIGluIGFueSBydWxlc2V0LiBObyBuZWVkCnRvIGNvbXBpbGUgZ29sYW5nIGNvZGUgdG8gZXh0ZW5kIHZhY3V1bSBhbnltb3JlIQoKW0xlYXJuIG1vcmUgYWJvdXQgYnVpbGRpbmcgY3VzdG9tIEphdmFTY3JpcHQgZnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9jdXN0b20tamF2YXNjcmlwdC1mdW5jdGlvbnMvKS4KCgotLS0KYHYwLjIrYDogW09XQVNQIEFQSSBydWxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9vd2FzcC8pIGFyZSBub3cgYXZhaWxhYmxlIG91dCBvZiB0aGUgYm94LgoKW0xlYXJuIG1vcmUgYWJvdXQgZW5hYmxpbmcgT1dBU1AgQVBJIHJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL293YXNwLykuCgotLS0KCiMjIyBbUXVpY2sgU3RhcnQgR3VpZGUg8J+agF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9zdGFydCkKClNlZSBhbGwgdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bQoKLSBbSW5zdGFsbGluZyB2YWN1dW1dKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vaW5zdGFsbGluZy8pCi0gW0Fib3V0IHZhY3V1bV0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hYm91dC8pCi0gW1doeSBzaG91bGQgeW91IGNhcmU/XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3doeS8pCi0gW0NvbmNlcHRzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbmNlcHRzLykKLSBbRkFRXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2ZhcS8pCi0gW0NMSSBDb21tYW5kc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9jb21tYW5kcy8pCiAgLSBbbGludF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9jb21tYW5kcy9saW50LykKICAtIFt2YWN1dW0gcmVwb3J0XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbW1hbmRzL3JlcG9ydC8pCiAgLSBbZGFzaGJvYXJkXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbW1hbmRzL2Rhc2hib2FyZC8pCiAgLSBbaHRtbC1yZXBvcnRdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vY29tbWFuZHMvaHRtbC1yZXBvcnQvKQogIC0gW3NwZWN0cmFsLXJlcG9ydF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9jb21tYW5kcy9zcGVjdHJhbC1yZXBvcnQvKQotIFtEZXZlbG9wZXIgQVBJXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9nZXR0aW5nLXN0YXJ0ZWQvKQogIC0gW1VzaW5nIFRoZSBJbmRleF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hcGkvc3BlYy1pbmRleC8pCiAgLSBbUnVsZVJlc3VsdFNldF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hcGkvcnVsZS1yZXN1bHRzZXQvKQogIC0gW0xvYWRpbmcgYSBSdWxlU2V0XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9sb2FkaW5nLXJ1bGVzZXQvKQogIC0gW0xpbnRpbmcgTm9uLU9wZW5BUEkgRmlsZXNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vYXBpL25vbi1vcGVuYXBpLykKICAtIFtDdXN0b20gR29sYW5nIEZ1bmN0aW9uc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hcGkvY3VzdG9tLWZ1bmN0aW9ucy8pCiAgLSBbQ3VzdG9tIEphdmFTY3JpcHQgRnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9jdXN0b20tamF2YXNjcmlwdC1mdW5jdGlvbnMvKQotIFtSdWxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy8pCiAgLSBbRXhhbXBsZXNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvZXhhbXBsZXMvKQogIC0gW1RhZ3NdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvdGFncy8pCiAgLSBbRGVzY3JpcHRpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL2Rlc2NyaXB0aW9ucy8pCiAgLSBbU2NoZW1hc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9zY2hlbWFzLykKICAtIFtTcGVjIEluZm9ybWF0aW9uXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL2luZm9ybWF0aW9uLykKICAtIFtPcGVyYXRpb25zICYgUGF0aHNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvb3BlcmF0aW9ucy8pCiAgLSBbVmFsaWRhdGlvbl0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy92YWxpZGF0aW9uLykKICAtIFtTZWN1cml0eV0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9zZWN1cml0eS8pCiAgLSBbT1dBU1BdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvb3dhc3AvKQotIFtGdW5jdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vZnVuY3Rpb25zLykKICAtIFtDb3JlIEZ1bmN0aW9uc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9mdW5jdGlvbnMvY29yZS8pIAogIC0gW09wZW5BUEkgRnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2Z1bmN0aW9ucy9vcGVuYXBpLykKICAtIFtPV0FTUCBGdW5jdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vZnVuY3Rpb25zL293YXNwLykKLSBbVW5kZXJzdGFuZGluZyBSdWxlU2V0c10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlc2V0cy91bmRlcnN0YW5kaW5nLykKICAtIFtTaGFyaW5nIFJ1bGVTZXRzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL3NoYXJpbmcvKQogIC0gW0FsbCBSdWxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlc2V0cy9hbGwvKQogIC0gW05vIFJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL25vLXJ1bGVzLykKICAtIFtSZWNvbW1lbmRlZCBSdWxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlc2V0cy9yZWNvbW1lbmRlZC8pCiAgLSBbQ3VzdG9tIFJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL2N1c3RvbS1ydWxlc2V0cy8pCgotLS0KCj4gKip2YWN1dW0gY2FuIHN1Y2sgYWxsIHRoZSBsaW50IG9mIGEgNW1iIE9wZW5BUEkgc3BlYyBpbiBtaWxsaXNlY29uZHMuKioKCkRlc2lnbmVkIHRvIHJlbGlhYmx5IGxpbnQgT3BlbkFQSSBzcGVjaWZpY2F0aW9ucywgKip2ZXJ5LCB2ZXJ5IHF1aWNrbHkqKi4gSW5jbHVkaW5nIF92ZXJ5IGxhcmdlXyBvbmVzLiBTcGVjdHJhbCBjYW4gYmUgcXVpdGUgc2xvdwp3aGVuIHVzZWQgYXMgYW4gQVBJIGFuZCBkb2VzIG5vdCBzY2FsZSBmb3IgZW50ZXJwcmlzZSBhcHBsaWNhdGlvbnMuCgp2YWN1dW0gd2lsbCB0ZWxsIHlvdSB3aGF0IGlzIHdyb25nIHdpdGggeW91ciBzcGVjLCB3aHksIHdoZXJlIGFuZCBob3cgdG8gZml4IGl0LiAKCnZhY3V1bSB3aWxsIHdvcmsgYXQgc2NhbGUgYW5kIGlzIGRlc2lnbmVkIGFzIGEgQ0xJICh3aXRoIGEgd2ViIG9yIGNvbnNvbGUgVUkpIGFuZCBhIGxpYnJhcnkgdG8gYmUgY29uc3VtZWQgaW4gb3RoZXIgYXBwbGljYXRpb25zLgoKIyMjIERhc2hib2FyZAoKdmFjdXVtIGNvbWVzIHdpdGggYW4gaW50ZXJhY3RpdmUgZGFzaGJvYXJkIChgdmFjdXVtIGRhc2hib2FyZCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD5gKSBhbGxvd2luZyB5b3UgdG8gZXhwbG9yZQpydWxlcyBhbmQgdmlvbGF0aW9ucyBpbiBhIGNvbnNvbGUsIHdpdGhvdXQgaGF2aW5nIHRvIHNjcm9sbCB0aHJvdWdoIHRob3VzYW5kcyBvZiByZXN1bHRzLgoKIVt2YWN1dW0gZGFzaGJvYXJkXShkYXNoYm9hcmQtc2NyZWVuc2hvdC5wbmcpCgojIyMgSFRNTCBSZXBvcnQKCnZhY3V1bSBjYW4gZ2VuZXJhdGUgYW4gZWFzeSB0byBuYXZpZ2F0ZSBhbmQgdW5kZXJzdGFuZCBIVE1MIHJlcG9ydC4gTGlrZSB0aGUgZGFzaGJvYXJkCnlvdSBjYW4gZXhwbG9yZSBicm9rZW4gcnVsZXMgYW5kIHZpb2xhdGlvbnMsIGJ1dCBpbiB5b3VyIGJyb3dzZXIuCgpObyBleHRlcm5hbCBkZXBlbmRlbmNpZXMsIHRoZSBIVE1MIHJlcG9ydCB3aWxsIHJ1biBjb21wbGV0ZWx5IG9mZmxpbmUuCgohW3ZhY3V1bSBodG1sLXJlcG9ydF0oaHRtbC1yZXBvcnQtc2NyZWVuc2hvdC5wbmcpCgotLS0KCj4gKipfU3VwcG9ydHMgT3BlbkFQSSBWZXJzaW9uIDIgKFN3YWdnZXIpIGFuZCBWZXJzaW9uIDMrXyoqCgpZb3UgY2FuIHVzZSBlaXRoZXIgKipZQU1MKiogb3IgKipKU09OKiosIHZhY3V1bSBzdXBwb3J0cyBib3RoIGZvcm1hdHMuCgojIyBVc2luZyB2YWN1dW0gd2l0aCBwcmUtY29tbWl0CgpWYWN1dW0gY2FuIGJlIHVzZWQgd2l0aCBbcHJlLWNvbW1pdF0oaHR0cHM6Ly9wcmUtY29tbWl0LmNvbSkuCgpUbyBkbyB0aGF0LCBhZGQgdG8geW91ciBgLnByZS1jb21taXQtY29uZmlnLnlhbWxgOgoKYGBgeWFtbApyZXBvczoKICAtIHJlcG86IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0KICAgIHJldjogIyBhIHRhZyBvciBhIGNvbW1pdCBoYXNoIGZyb20gdGhpcyByZXBvLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2RhdmVzaGFubGV5L3ZhY3V1bS9yZWxlYXNlcwogICAgaG9va3M6CiAgICAgIC0gaWQ6IHZhY3V1bQpgYGAKClNlZSB0aGUgW2hvb2sgZGVmaW5pdGlvbl0oLi8ucHJlLWNvbW1pdC1ob29rcy55YW1sKSBoZXJlIGZvciBkZXRhaWxzIG9uIHdoYXQgb3B0aW9ucyB0aGUgaG9vayB1c2VzIGFuZCB3aGF0IGZpbGVzIGl0IGNoZWNrcyBieSBkZWZhdWx0LgoKSWYgbm8gZmlsZW5hbWVzIG9yIG1vcmUgdGhhbiBvbmUgZmlsZW5hbWUgaW4geW91ciByZXBvc2l0b3J5IG1hdGNoZXMgdGhlIGRlZmF1bHQgYGZpbGVzYCBwYXR0ZXJuIGluIHRoZSBob29rIGRlZmluaXRpb24sCnRoZSBwYXR0ZXJuIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gaW4geW91ciBjb25maWcgc28gdGhhdCBpdCBtYXRjaGVzIGV4YWN0bHkgb25lIGZpbGVuYW1lIHRvIGxpbnQgYXQgYSB0aW1lLgpUbyBsaW50IG11bHRpcGxlIGZpbGVzLCBzcGVjaWZ5IHRoZSBob29rIG11bHRpcGxlIHRpbWVzIHdpdGggdGhlIGFwcHJvcHJpYXRlIG92ZXJyaWRlcy4KCiMjIEJ1aWxkIGFuIGludGVyYWN0aXZlIEhUTUwgcmVwb3J0IAoKYGBgCi4vdmFjdXVtIGh0bWwtcmVwb3J0IDx5b3VyLW9wZW5hcGktc3BlYy55YW1sIHwgdmFjdXVtLXJlcG9ydC5qc29uLmd6PiA8cmVwb3J0LW5hbWUuaHRtbD4KYGBgCgpZb3UgY2FuIHJlcGxhY2UgYHJlcG9ydC1uYW1lLmh0bWxgIHdpdGggeW91ciBvd24gY2hvaWNlIG9mIGZpbGVuYW1lLiBPcGVuIHRoZSByZXBvcnQKaW4geW91ciBmYXZvcml0ZSBicm93c2VyIGFuZCBleHBsb3JlIHRoZSByZXN1bHRzLiAKCgojIyBTZWUgZnVsbCBsaW50aW5nIHJlcG9ydCAKCmBgYAouL3ZhY3V1bSBsaW50IC1kIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCgojIyBMaW50IG11bHRpcGxlIGZpbGVzIGF0IG9uY2UKCmBgYAouL3ZhY3V1bSBsaW50IC1kIDxzcGVjMS55YW1sPiA8c3BlYzIueWFtbD4gPHNwZWMzLnlhbWw+CmBgYAoKIyMgTGludCBtdWx0aXBsZSBmaWxlcyB1c2luZyBhIGdsb2IgcGF0dGVybgoKYGBgCi4vdmFjdXVtIGxpbnQgLWQgc29tZS9wYXRoLyoqLyoueWFtbApgYGAKCiMjIFNlZSBmdWxsIGxpbnRpbmcgcmVwb3J0IHdpdGggaW5saW5lIGNvZGUgc25pcHBldHMKCmBgYAouL3ZhY3V1bSBsaW50IC1kIC1zIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCiMjIFNlZSBqdXN0IHRoZSBsaW50aW5nIGVycm9ycwoKYGBgCi4vdmFjdXVtIGxpbnQgLWQgLWUgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKIyMgU2VlIGp1c3QgYSBzcGVjaWZpYyBjYXRlZ29yeSBvZiByZXBvcnQKCgpgYGAKLi92YWN1dW0gbGludCAtZCAtYyBzY2hlbWFzIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKClRoZSBvcHRpb25zIGhlcmUgYXJlOgoKLSBgZXhhbXBsZXNgCi0gYG9wZXJhdGlvbnNgCi0gYGluZm9ybWF0aW9uYAotIGBkZXNjcmlwdGlvbnNgCi0gYHNjaGVtYXNgCi0gYHNlY3VyaXR5YAotIGB0YWdzYAotIGB2YWxpZGF0aW9uYAotIGBvd2FzcGAKCiMjIEdlbmVyYXRlIGEgU3BlY3RyYWwgY29tcGF0aWJsZSByZXBvcnQKCklmIHlvdSdyZSBhbHJlYWR5IHVzaW5nIFNwZWN0cmFsIEpTT04gcmVwb3J0cywgYW5kIHlvdSB3YW50IHRvIHVzZSB2YWN1dW0gaW5zdGVhZCwgdXNlIHRoZSBgc3BlY3RyYWwtcmVwb3J0YCBjb21tYW5kCgpgYGAKLi92YWN1dW0gc3BlY3RyYWwtcmVwb3J0IDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPiA8cmVwb3J0LW91dHB1dC1uYW1lLmpzb24+CmBgYAoKVGhlIHJlcG9ydCBmaWxlIG5hbWUgaXMgX29wdGlvbmFsXy4gVGhlIGRlZmF1bHQgcmVwb3J0IG91dHB1dCBuYW1lIGlzIGB2YWN1dW0tc3BlY3RyYWwtcmVwb3J0Lmpzb25gCgoKIyMgR2VuZXJhdGUgYSBgdmFjdXVtIHJlcG9ydGAKClZhY3V1bSByZXBvcnRzIGFyZSBjb21wbGV0ZSBzbmFwc2hvdHMgaW4gdGltZSBvZiBhIGxpbnRpbmcgcmVwb3J0IGZvciBhIHNwZWNpZmljYXRpb24uIFRoZXNlIHJlcG9ydHMgY2FuIGJlICdyZXBsYXllZCcgCmJhY2sgdGhyb3VnaCB2YWN1dW0uIFVzZSB0aGUgYGRhc2hib2FyZGAgb3IgdGhlIGBodG1sLXJlcG9ydGAgY29tbWFuZHMgdG8gJ3JlcGxheScgdGhlIHJlcG9ydCBhbmQgZXhwbG9yZSB0aGUgcmVzdWx0cwphcyB0aGV5IHdlcmUgd2hlbiB0aGUgcmVwb3J0IHdhcyBnZW5lcmF0ZWQuCgpgYGAKLi92YWN1dW0gcmVwb3J0IC1jIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPiA8cmVwb3J0LXByZWZpeD4KYGBgCgpUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSByZXBvcnQgd2lsbCBiZSBgdmFjdXVtLXJlcG9ydC1NTS1ERC1ZWS1ISF9NTV9TUy5qc29uYC4gWW91IGNhbiBjaGFuZ2UgdGhlIHByZWZpeCBieSBzdXBwbHlpbmcKaXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byB0aGUgYHJlcG9ydGAgY29tbWFuZC4gCgpJZGVhbGx5LCAqKnlvdSBzaG91bGQgY29tcHJlc3MgdGhlIHJlcG9ydCB1c2luZyBgLWNgKiouIFRoaXMgc2hyaW5rcyBkb3duIHRoZSBzaXplIHNpZ25pZmljYW50bHkuIHZhY3V1bSBhdXRvbWF0aWNhbGx5CnJlY29nbml6ZXMgYSBjb21wcmVzc2VkIHJlcG9ydCBmaWxlIGFuZCB3aWxsIGRlYWwgd2l0aCBpdCBhdXRvbWF0aWNhbGx5IHdoZW4gcmVhZGluZy4KCj4gV2hlbiB1c2luZyBjb21wcmVzc2lvbiwgdGhlIGZpbGUgbmFtZSB3aWxsIGJlIGB2YWN1dW0tcmVwb3J0LU1NLURELVlZLUhIX01NX1NTLmpzb24uZ3pgLiB2YWN1dW0gdXNlcyBnemlwIGludGVybmFsbHkuCgotLS0KCiMjIFRyeSBvdXQgdGhlIGRhc2hib2FyZAoKVGhpcyBpcyBhbiBlYXJseSwgYnV0IHdvcmtpbmcgY29uc29sZSBVSSBmb3IgdmFjdXVtLiBUaGUgY29kZSBpc24ndCBncmVhdCwgaXQgbmVlZHMgYSBsb3Qgb2YgY2xlYW4gdXAsIGJ1dAppZiB5b3UncmUgaW50ZXJlc3RlZCBpbiBzZWVpbmcgaG93IHRoaW5ncyBhcmUgcHJvZ3Jlc3NpbmcsIGl0J3MgYXZhaWxhYmxlLgoKYGBgCi4vdmFjdXVtIGRhc2hib2FyZCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbCB8IHZhY3V1bS1yZXBvcnQuanNvbi5nej4KYGBgCgotLS0KIyMgU3VwcGx5IHlvdXIgb3duIFNwZWN0cmFsIGNvbXBhdGlibGUgcnVsZXNldAoKSWYgeW91J3JlIGFscmVhZHkgdXNpbmcgU3BlY3RyYWwgYW5kIHlvdSBoYXZlIHlvdXIgb3duIFtjdXN0b20gcnVsZXNldF0oaHR0cHM6Ly9tZXRhLnN0b3BsaWdodC5pby9kb2NzL3NwZWN0cmFsL2U1Yjk2MTZkNmQ1MGMtY3VzdG9tLXJ1bGVzZXRzI2N1c3RvbS1ydWxlc2V0cyksCnRoZW4geW91IGNhbiB1c2UgaXQgd2l0aCB2YWN1dW0hIAoKVGhlIGBsaW50YCwgYGRhc2hib2FyZGAgYW5kIGBzcGVjdHJhbC1yZXBvcnRgIGNvbW1hbmRzIGFsbCBhY2NlcHQgYSBgLXJgIG9yIGAtLXJ1bGVzZXRgIGZsYWcsIGRlZmluaW5nIHRoZSBwYXRoIHRvIHlvdXIgcnVsZXNldCBmaWxlLgoKIyMjIEhlcmUgYXJlIHNvbWUgZXhhbXBsZXMgeW91IGNhbiB0cnkKCioqX0FsbCBydWxlcyB0dXJuZWQgb2ZmXyoqCmBgYAouL3ZhY3V1bSBsaW50IC1yIHJ1bGVzZXRzL2V4YW1wbGVzL25vcnVsZXMtcnVsZXNldC55YW1sIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCioqX09ubHkgcmVjb21tZW5kZWQgcnVsZXNfKioKYGBgCi4vdmFjdXVtIGxpbnQgLXIgcnVsZXNldHMvZXhhbXBsZXMvcmVjb21tZW5kZWQtcnVsZXNldC55YW1sIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCioqX0VuYWJsZSBzcGVjaWZpYyBydWxlcyBvbmx5XyoqCmBgYAouL3ZhY3V1bSBsaW50IC1yIHJ1bGVzZXRzL2V4YW1wbGVzL3NwZWNpZmljLXJ1bGVzZXQueWFtbCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCgoqKl9DdXN0b20gcnVsZXNfKioKYGBgCi4vdmFjdXVtIGxpbnQgLXIgcnVsZXNldHMvZXhhbXBsZXMvY3VzdG9tLXJ1bGVzZXQueWFtbCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCgoqKl9BbGwgcnVsZXMsIGFsbCBvZiB0aGVtISoqCmBgYAouL3ZhY3V1bSBsaW50IC1yIHJ1bGVzZXRzL2V4YW1wbGVzL2FsbC1ydWxlc2V0LnlhbWwgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKLS0tCgojIyBDb25maWd1cmF0aW9uCgojIyMgRmlsZQpZb3UgY2FuIGNvbmZpZ3VyZSB2YWN1dW0gdXNpbmcgYSBjb25maWd1cmF0aW9uIGZpbGUgbmFtZWQgYHZhY3V1bS5jb25mLnlhbWxgCgpCeSBkZWZhdWx0LCB2YWN1dW0gc2VhcmNoZXMgZm9yIHRoaXMgZmlsZSBpbiB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzCjEuIFdvcmtpbmcgZGlyZWN0b3J5CjIuIGAkWERHX0NPTkZJR19IT01FYAozLiBgJHtIT01FfS8uY29uZmlnYAoKWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBwYXRoIHRvIGEgZmlsZSB1c2luZyB0aGUgYC0tY29uZmlnYCBmbGFnCgpHbG9iYWwgZmxhZ3MgYXJlIGNvbmZpZ3VyZWQgYXMgdG9wIGxldmVsIG5vZGVzCmBgYHlhbWwKdGltZTogdHJ1ZQpiYXNlOiAnaHR0cDovL2V4YW1wbGUuY29tJwouLi4KYGBgCkNvbW1hbmQgc3BlY2lmaWMgZmxhZ3MgYXJlIGNvbmZpZ3VyZWQgdW5kZXIgYSBub2RlIHdpdGggdGhlIGNvbW1hbmRzIG5hbWUKYGBgeWFtbAouLi4KbGludDoKICBzaWxlbnQ6IHRydWUKICAuLi4KYGBgCgojIyMgRW52aXJvbm1lbnRhbCB2YXJpYWJsZXMKCllvdSBjYW4gY29uZmlndXJlIGdsb2JhbCB2YWN1dW0gZmxhZ3MgdXNpbmcgZW52aXJvbm1lbnRhbCB2YXJpYWJsZXMgaW4gdGhlIGZvcm0gb2Y6IGBWQUNVVU1fPGZsYWc+YAoKSWYgYSBmbGFnLCBoYXMgYSBgLWAgaW4gaXQsIHJlcGxhY2Ugd2l0aCBgX2AKCj4gTG9nbyBnb3BoZXIgaXMgbW9kaWZpZWQsIG9yaWdpbmFsbHkgZnJvbSBbZWdvbmVsYnJlXShodHRwczovL2dpdGh1Yi5jb20vZWdvbmVsYnJlL2dvcGhlcnMpCg== - readmeEtag: '"29bad7b3ee03b0d6029a99b0a3272441f97c0eacb0172e6911197eb04b3969e5"' - readmeLastModified: Wed, 20 Dec 2023 20:17:47 GMT + IVtsb2dvXShsb2dvLnBuZykKCiMgdmFjdXVtIC0gVGhlIHdvcmxkJ3MgZmFzdGVzdCBPcGVuQVBJICYgU3dhZ2dlciBsaW50ZXIuCgohW2J1aWxkXShodHRwczovL2dpdGh1Yi5jb20vZGF2ZXNoYW5sZXkvdmFjdXVtL3dvcmtmbG93cy9CdWlsZC9iYWRnZS5zdmcpClshW0dvIFJlcG9ydCBDYXJkXShodHRwczovL2dvcmVwb3J0Y2FyZC5jb20vYmFkZ2UvZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0pXShodHRwczovL2dvcmVwb3J0Y2FyZC5jb20vcmVwb3J0L2dpdGh1Yi5jb20vZGF2ZXNoYW5sZXkvdmFjdXVtKQpbIVtkaXNjb3JkXShodHRwczovL2ltZy5zaGllbGRzLmlvL2Rpc2NvcmQvOTIzMjU4MzYzNTQwODE1OTEyKV0oaHR0cHM6Ly9kaXNjb3JkLmdnL1VBY1VGNzhNUU4pClshW0RvY3NdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvZ29kb2MtcmVmZXJlbmNlLTVmYWZkNyldKGh0dHBzOi8tL3BrZy5nby5kZXYvZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0pClshW0dpdEh1YiBkb3dubG9hZHNdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2Rvd25sb2Fkcy9kYXZlc2hhbmxleS92YWN1dW0vdG90YWw/bGFiZWw9Z2l0aHViJTIwZG93bmxvYWRzJnN0eWxlPWZsYXQtc3F1YXJlKV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdmVzaGFubGV5L3ZhY3V1bS9yZWxlYXNlcykKWyFbbnBtXShodHRwczovL2ltZy5zaGllbGRzLmlvL25wbS9kbS9AcXVvYml4L3ZhY3V1bT9zdHlsZT1mbGF0LXNxdWFyZSZsYWJlbD1ucG0lMjBkb3dubG9hZHMpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AcXVvYml4L3ZhY3V1bSkKWyFbRG9ja2VyIFB1bGxzXShodHRwczovL2ltZy5zaGllbGRzLmlvL2RvY2tlci9wdWxscy9kc2hhbmxleS92YWN1dW0/c3R5bGU9ZmxhdC1zcXVhcmUpXShodHRwczovL2h1Yi5kb2NrZXIuY29tL3IvZHNoYW5sZXkvdmFjdXVtKQpbIVtNZW50aW9uZWQgaW4gQXdlc29tZSBHb10oaHR0cHM6Ly9hd2Vzb21lLnJlL21lbnRpb25lZC1iYWRnZS1mbGF0LnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdmVsaW5vL2F3ZXNvbWUtZ28pCgpBbiAqKnVsdHJhLXN1cGVyLWZhc3QqKiwgbGlnaHR3ZWlnaHQgT3BlbkFQSSBsaW50ZXIgYW5kIHF1YWxpdHkgY2hlY2tpbmcgdG9vbCwgd3JpdHRlbiBpbiBnb2xhbmcgYW5kIGluc3BpcmVkIGJ5IFtTcGVjdHJhbF0oaHR0cHM6Ly9naXRodWIuY29tL3N0b3BsaWdodGlvL3NwZWN0cmFsKS4KCkl0J3MgYWxzbyBjb21wYXRpYmxlIHdpdGggZXhpc3RpbmcgW1NwZWN0cmFsXShodHRwczovL2dpdGh1Yi5jb20vc3RvcGxpZ2h0aW8vc3BlY3RyYWwpIHJ1bGVzZXRzLgoKIyMgSW5zdGFsbCB1c2luZyBbaG9tZWJyZXddKGh0dHBzOi8vYnJldy5zaCkgdGFwCgpgYGAKYnJldyBpbnN0YWxsIGRhdmVzaGFubGV5L3ZhY3V1bS92YWN1dW0KYGBgCgojIyBJbnN0YWxsIHVzaW5nIFtucG1dKGh0dHBzOi8vbnBtanMuY29tKQoKYGBgCm5wbSBpIC1nIEBxdW9iaXgvdmFjdXVtCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBbeWFybl0oaHR0cHM6Ly95YXJucGtnLmNvbS8pCgpgYGAKeWFybiBnbG9iYWwgYWRkIEBxdW9iaXgvdmFjdXVtCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBjdXJsCgpgYGAKY3VybCAtZnNTTCBodHRwczovL3F1b2JpeC5jb20vc2NyaXB0cy9pbnN0YWxsX3ZhY3V1bS5zaCB8IHNoCmBgYAoKIyMgSW5zdGFsbCB1c2luZyBbRG9ja2VyXShodHRwczovL2h1Yi5kb2NrZXIuY29tL3IvZHNoYW5sZXkvdmFjdXVtKQoKVGhlIGltYWdlIGlzIGF2YWlsYWJsZSBhdDogaHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL2RzaGFubGV5L3ZhY3V1bQoKYGBgCmRvY2tlciBwdWxsIGRzaGFubGV5L3ZhY3V1bQpgYGAKClRvIHJ1biwgbW91bnQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXIgdG8gdGhlIGNvbnRhaW5lciBhbmQgdXNlIGEgcmVsYXRpdmUgcGF0aCB0byB5b3VyIHNwZWMsIGxpa2Ugc28KCmBgYApkb2NrZXIgcnVuIC0tcm0gLXYgJFBXRDovd29yazpybyBkc2hhbmxleS92YWN1dW0gbGludCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCkFsdGVybmF0aXZlbHksIHlvdSBjYW4gcHVsbCBpdCBmcm9tCltHaXRodWIgcGFja2FnZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXZlc2hhbmxleS92YWN1dW0vcGtncy9jb250YWluZXIvdmFjdXVtKS4KVG8gZG8gdGhhdCwgcmVwbGFjZSBgZHNoYW5sZXkvdmFjdXVtYCB3aXRoIGBnaGNyLmlvL2RhdmVzaGFubGV5L3ZhY3V1bWAgaW4gdGhlIGFib3ZlIGNvbW1hbmRzLgoKCi0tLQoKCiMjIFNwb25zb3JzCklmIHlvdXIgY29tcGFueSBpcyB1c2luZyBgdmFjdXVtYCwgcGxlYXNlIGNvbnNpZGVyaW5nIFtzdXBwb3J0aW5nIHRoaXMgcHJvamVjdF0oaHR0cHM6Ly9naXRodWIuY29tL3Nwb25zb3JzL2RhdmVzaGFubGV5KSwKbGlrZSBvdXIgX3Zlcnkga2luZF8gc3BvbnNvcnM6CgoKPGEgaHJlZj0iaHR0cHM6Ly9zcGVha2Vhc3lhcGkuZGV2Lz91dG1fc291cmNlPXZhY3V1bStyZXBvJnV0bV9tZWRpdW09Z2l0aHViK3Nwb25zb3JzaGlwIj4KPHBpY3R1cmU+CiAgPHNvdXJjZSBtZWRpYT0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIgc3Jjc2V0PSIuZ2l0aHViL3Nwb25zb3JzL3NwZWFrZWFzeS1naXRodWItc3BvbnNvci1kYXJrLnN2ZyI+CiAgPGltZyBhbHQ9InNwZWFrZWFzeSciIHNyYz0iLmdpdGh1Yi9zcG9uc29ycy9zcGVha2Vhc3ktZ2l0aHViLXNwb25zb3ItbGlnaHQuc3ZnIj4KPC9waWN0dXJlPgo8L2E+CgpbU3BlYWtlYXN5XShodHRwczovL3NwZWFrZWFzeWFwaS5kZXYvP3V0bV9zb3VyY2U9dmFjdXVtK3JlcG8mdXRtX21lZGl1bT1naXRodWIrc3BvbnNvcnNoaXApCgo8YSBocmVmPSJodHRwczovL3NjYWxhci5jb20iPgo8cGljdHVyZT4KICA8c291cmNlIG1lZGlhPSIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIiBzcmNzZXQ9Ii5naXRodWIvc3BvbnNvcnMvc2NhbGFyLWRhcmsucG5nIj4KICA8aW1nIGFsdD0ic2NhbGFyIiBzcmM9Ii5naXRodWIvc3BvbnNvcnMvc2NhbGFyLWxpZ2h0LnBuZyI+CjwvcGljdHVyZT4KPC9hPgoKW3NjYWxhcl0oaHR0cHM6Ly9zY2FsYXIuY29tKQoKPGEgaHJlZj0iaHR0cHM6Ly96dXBsby5saW5rL3ZhY3V1bSI+CjxwaWN0dXJlPgogIDxzb3VyY2UgbWVkaWE9IihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiIHNyY3NldD0iLmdpdGh1Yi9zcG9uc29ycy96dXBsby1kYXJrLnBuZyI+CiAgPGltZyBhbHQ9InNjYWxhciIgc3JjPSIuZ2l0aHViL3Nwb25zb3JzL3p1cGxvLWxpZ2h0LnBuZyI+CjwvcGljdHVyZT4KPC9hPgoKW3p1cGxvXShodHRwczovL3p1cGxvLmxpbmsvdmFjdXVtKQoKCi0tLQoKIyMgQ29tZSBjaGF0IHdpdGggdXMKCk5lZWQgaGVscD8gSGF2ZSBhIHF1ZXN0aW9uPyBXYW50IHRvIHNoYXJlIHlvdXIgd29yaz8gW0pvaW4gb3VyIGRpc2NvcmRdKGh0dHBzOi8vZGlzY29yZC5nZy9VQWNVRjc4TVFOKSBhbmQKY29tZSBzYXkgaGkhCgojIyBEb2N1bWVudGF0aW9uCgrwn5SlICoqTmV3IGluKiogYHYwLjcrYCDwn5SlIDogKipIYXJkIE1vZGUqKi4KCldhbnQgdG8gbGludCB5b3VyIHNwZWMgd2l0aCB0aGUgbW9zdCBzdHJpY3QgcnVsZXNldCBwb3NzaWJsZT8gTm93IHlvdSBjYW4hIFVzZSB0aGUgYC16YCAvIGAtLWhhcmQtbW9kZWAgZmxhZyB0byBlbmFibGUKCi0tLQoKYHYwLjYrYCA6ICoqU2hhcmFibGUgLyBkaXN0cmlidXRlZCBydWxlc2V0cyoqICBub3cgYXZhaWxhYmxlLgoKV2FudCB0byBzaGFyZSAvIGV4dGVuZCAvIGRpc3RyaWJ1dGUgeW91ciBvd24gcnVsZXNldHM/IE5vdyB5b3UgY2FuIQoKW0xlYXJuIG1vcmUgYWJvdXQgc2hhcmFibGUgcnVsZXNldHNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXNldHMvc2hhcmluZy8pCgotLS0KCmB2MC41K2AgOiAqKk11bHRpLWZpbGUgbGludGluZyoqICBub3cgYXZhaWxhYmxlIGZvciB0aGUgYGxpbnRgIGNvbW1hbmQuCgpXYW50IHRvIGxpbnQgbXVsdGlwbGUgZmlsZXMgYXQgb25jZT8gTm93IHlvdSBjYW4hCgpgYGBzaGVsbAp2YWN1dW0gbGludCBmaWxlMS5qc29uIHBhdGgvdG8vZmlsZTIueWFtbCBmaWxlMy5qc29uIApgYGAKCldhbnQgdG8gc3VjayBpbiBhIHRvbiBvZiBmaWxlcz8gVXNlIGEgKipnbG9iKiogcGF0dGVybiEKCmBgYHNoZWxsCnZhY3V1bSBsaW50IHNvbWUvcGF0aC8qKi8qLnlhbWwgCmBgYAoKCi0tLQpgdjAuMytgOiBbQ3VzdG9tIEphdmFTY3JpcHQgRnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9jdXN0b20tamF2YXNjcmlwdC1mdW5jdGlvbnMvKSBhcmUgbm93IGF2YWlsYWJsZSBvdXQgb2YgdGhlIGJveC4KCldyaXRlIGN1c3RvbSBmdW5jdGlvbnMgaW4gSmF2YVNjcmlwdCBhbmQgdXNlIHRoZW0gaW4gYW55IHJ1bGVzZXQuIE5vIG5lZWQKdG8gY29tcGlsZSBnb2xhbmcgY29kZSB0byBleHRlbmQgdmFjdXVtIGFueW1vcmUhCgpbTGVhcm4gbW9yZSBhYm91dCBidWlsZGluZyBjdXN0b20gSmF2YVNjcmlwdCBmdW5jdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vYXBpL2N1c3RvbS1qYXZhc2NyaXB0LWZ1bmN0aW9ucy8pLgoKCi0tLQpgdjAuMitgOiBbT1dBU1AgQVBJIHJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL293YXNwLykgYXJlIG5vdyBhdmFpbGFibGUgb3V0IG9mIHRoZSBib3guCgpbTGVhcm4gbW9yZSBhYm91dCBlbmFibGluZyBPV0FTUCBBUEkgcnVsZXNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXNldHMvb3dhc3AvKS4KCi0tLQoKIyMjIFtRdWljayBTdGFydCBHdWlkZSDwn5qAXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3N0YXJ0KQoKU2VlIGFsbCB0aGUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL3F1b2JpeC5jb20vdmFjdXVtCgotIFtJbnN0YWxsaW5nIHZhY3V1bV0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9pbnN0YWxsaW5nLykKLSBbQWJvdXQgdmFjdXVtXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2Fib3V0LykKLSBbV2h5IHNob3VsZCB5b3UgY2FyZT9dKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vd2h5LykKLSBbQ29uY2VwdHNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vY29uY2VwdHMvKQotIFtGQVFdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vZmFxLykKLSBbQ0xJIENvbW1hbmRzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbW1hbmRzLykKICAtIFtsaW50XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbW1hbmRzL2xpbnQvKQogIC0gW3ZhY3V1bSByZXBvcnRdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vY29tbWFuZHMvcmVwb3J0LykKICAtIFtkYXNoYm9hcmRdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vY29tbWFuZHMvZGFzaGJvYXJkLykKICAtIFtodG1sLXJlcG9ydF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9jb21tYW5kcy9odG1sLXJlcG9ydC8pCiAgLSBbc3BlY3RyYWwtcmVwb3J0XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2NvbW1hbmRzL3NwZWN0cmFsLXJlcG9ydC8pCi0gW0RldmVsb3BlciBBUEldKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vYXBpL2dldHRpbmctc3RhcnRlZC8pCiAgLSBbVXNpbmcgVGhlIEluZGV4XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9zcGVjLWluZGV4LykKICAtIFtSdWxlUmVzdWx0U2V0XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9ydWxlLXJlc3VsdHNldC8pCiAgLSBbTG9hZGluZyBhIFJ1bGVTZXRdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vYXBpL2xvYWRpbmctcnVsZXNldC8pCiAgLSBbTGludGluZyBOb24tT3BlbkFQSSBGaWxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9hcGkvbm9uLW9wZW5hcGkvKQogIC0gW0N1c3RvbSBHb2xhbmcgRnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2FwaS9jdXN0b20tZnVuY3Rpb25zLykKICAtIFtDdXN0b20gSmF2YVNjcmlwdCBGdW5jdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vYXBpL2N1c3RvbS1qYXZhc2NyaXB0LWZ1bmN0aW9ucy8pCi0gW1J1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzLykKICAtIFtFeGFtcGxlc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9leGFtcGxlcy8pCiAgLSBbVGFnc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy90YWdzLykKICAtIFtEZXNjcmlwdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvZGVzY3JpcHRpb25zLykKICAtIFtTY2hlbWFzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL3NjaGVtYXMvKQogIC0gW1NwZWMgSW5mb3JtYXRpb25dKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXMvaW5mb3JtYXRpb24vKQogIC0gW09wZXJhdGlvbnMgJiBQYXRoc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9vcGVyYXRpb25zLykKICAtIFtWYWxpZGF0aW9uXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL3ZhbGlkYXRpb24vKQogIC0gW1NlY3VyaXR5XShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzL3NlY3VyaXR5LykKICAtIFtPV0FTUF0oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9ydWxlcy9vd2FzcC8pCi0gW0Z1bmN0aW9uc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9mdW5jdGlvbnMvKQogIC0gW0NvcmUgRnVuY3Rpb25zXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL2Z1bmN0aW9ucy9jb3JlLykgCiAgLSBbT3BlbkFQSSBGdW5jdGlvbnNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vZnVuY3Rpb25zL29wZW5hcGkvKQogIC0gW09XQVNQIEZ1bmN0aW9uc10oaHR0cHM6Ly9xdW9iaXguY29tL3ZhY3V1bS9mdW5jdGlvbnMvb3dhc3AvKQotIFtVbmRlcnN0YW5kaW5nIFJ1bGVTZXRzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL3VuZGVyc3RhbmRpbmcvKQogIC0gW1NoYXJpbmcgUnVsZVNldHNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXNldHMvc2hhcmluZy8pCiAgLSBbQWxsIFJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL2FsbC8pCiAgLSBbTm8gUnVsZXNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXNldHMvbm8tcnVsZXMvKQogIC0gW1JlY29tbWVuZGVkIFJ1bGVzXShodHRwczovL3F1b2JpeC5jb20vdmFjdXVtL3J1bGVzZXRzL3JlY29tbWVuZGVkLykKICAtIFtDdXN0b20gUnVsZXNdKGh0dHBzOi8vcXVvYml4LmNvbS92YWN1dW0vcnVsZXNldHMvY3VzdG9tLXJ1bGVzZXRzLykKCi0tLQoKPiAqKnZhY3V1bSBjYW4gc3VjayBhbGwgdGhlIGxpbnQgb2YgYSA1bWIgT3BlbkFQSSBzcGVjIGluIG1pbGxpc2Vjb25kcy4qKgoKRGVzaWduZWQgdG8gcmVsaWFibHkgbGludCBPcGVuQVBJIHNwZWNpZmljYXRpb25zLCAqKnZlcnksIHZlcnkgcXVpY2tseSoqLiBJbmNsdWRpbmcgX3ZlcnkgbGFyZ2VfIG9uZXMuIFNwZWN0cmFsIGNhbiBiZSBxdWl0ZSBzbG93CndoZW4gdXNlZCBhcyBhbiBBUEkgYW5kIGRvZXMgbm90IHNjYWxlIGZvciBlbnRlcnByaXNlIGFwcGxpY2F0aW9ucy4KCnZhY3V1bSB3aWxsIHRlbGwgeW91IHdoYXQgaXMgd3Jvbmcgd2l0aCB5b3VyIHNwZWMsIHdoeSwgd2hlcmUgYW5kIGhvdyB0byBmaXggaXQuIAoKdmFjdXVtIHdpbGwgd29yayBhdCBzY2FsZSBhbmQgaXMgZGVzaWduZWQgYXMgYSBDTEkgKHdpdGggYSB3ZWIgb3IgY29uc29sZSBVSSkgYW5kIGEgbGlicmFyeSB0byBiZSBjb25zdW1lZCBpbiBvdGhlciBhcHBsaWNhdGlvbnMuCgojIyMgRGFzaGJvYXJkCgp2YWN1dW0gY29tZXMgd2l0aCBhbiBpbnRlcmFjdGl2ZSBkYXNoYm9hcmQgKGB2YWN1dW0gZGFzaGJvYXJkIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPmApIGFsbG93aW5nIHlvdSB0byBleHBsb3JlCnJ1bGVzIGFuZCB2aW9sYXRpb25zIGluIGEgY29uc29sZSwgd2l0aG91dCBoYXZpbmcgdG8gc2Nyb2xsIHRocm91Z2ggdGhvdXNhbmRzIG9mIHJlc3VsdHMuCgohW3ZhY3V1bSBkYXNoYm9hcmRdKGRhc2hib2FyZC1zY3JlZW5zaG90LnBuZykKCiMjIyBIVE1MIFJlcG9ydAoKdmFjdXVtIGNhbiBnZW5lcmF0ZSBhbiBlYXN5IHRvIG5hdmlnYXRlIGFuZCB1bmRlcnN0YW5kIEhUTUwgcmVwb3J0LiBMaWtlIHRoZSBkYXNoYm9hcmQKeW91IGNhbiBleHBsb3JlIGJyb2tlbiBydWxlcyBhbmQgdmlvbGF0aW9ucywgYnV0IGluIHlvdXIgYnJvd3Nlci4KCk5vIGV4dGVybmFsIGRlcGVuZGVuY2llcywgdGhlIEhUTUwgcmVwb3J0IHdpbGwgcnVuIGNvbXBsZXRlbHkgb2ZmbGluZS4KCiFbdmFjdXVtIGh0bWwtcmVwb3J0XShodG1sLXJlcG9ydC1zY3JlZW5zaG90LnBuZykKCi0tLQoKPiAqKl9TdXBwb3J0cyBPcGVuQVBJIFZlcnNpb24gMiAoU3dhZ2dlcikgYW5kIFZlcnNpb24gMytfKioKCllvdSBjYW4gdXNlIGVpdGhlciAqKllBTUwqKiBvciAqKkpTT04qKiwgdmFjdXVtIHN1cHBvcnRzIGJvdGggZm9ybWF0cy4KCiMjIFVzaW5nIHZhY3V1bSB3aXRoIHByZS1jb21taXQKClZhY3V1bSBjYW4gYmUgdXNlZCB3aXRoIFtwcmUtY29tbWl0XShodHRwczovL3ByZS1jb21taXQuY29tKS4KClRvIGRvIHRoYXQsIGFkZCB0byB5b3VyIGAucHJlLWNvbW1pdC1jb25maWcueWFtbGA6CgpgYGB5YW1sCnJlcG9zOgogIC0gcmVwbzogaHR0cHM6Ly9naXRodWIuY29tL2RhdmVzaGFubGV5L3ZhY3V1bQogICAgcmV2OiAjIGEgdGFnIG9yIGEgY29tbWl0IGhhc2ggZnJvbSB0aGlzIHJlcG8sIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZGF2ZXNoYW5sZXkvdmFjdXVtL3JlbGVhc2VzCiAgICBob29rczoKICAgICAgLSBpZDogdmFjdXVtCmBgYAoKU2VlIHRoZSBbaG9vayBkZWZpbml0aW9uXSguLy5wcmUtY29tbWl0LWhvb2tzLnlhbWwpIGhlcmUgZm9yIGRldGFpbHMgb24gd2hhdCBvcHRpb25zIHRoZSBob29rIHVzZXMgYW5kIHdoYXQgZmlsZXMgaXQgY2hlY2tzIGJ5IGRlZmF1bHQuCgpJZiBubyBmaWxlbmFtZXMgb3IgbW9yZSB0aGFuIG9uZSBmaWxlbmFtZSBpbiB5b3VyIHJlcG9zaXRvcnkgbWF0Y2hlcyB0aGUgZGVmYXVsdCBgZmlsZXNgIHBhdHRlcm4gaW4gdGhlIGhvb2sgZGVmaW5pdGlvbiwKdGhlIHBhdHRlcm4gbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBpbiB5b3VyIGNvbmZpZyBzbyB0aGF0IGl0IG1hdGNoZXMgZXhhY3RseSBvbmUgZmlsZW5hbWUgdG8gbGludCBhdCBhIHRpbWUuClRvIGxpbnQgbXVsdGlwbGUgZmlsZXMsIHNwZWNpZnkgdGhlIGhvb2sgbXVsdGlwbGUgdGltZXMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgb3ZlcnJpZGVzLgoKIyMgQnVpbGQgYW4gaW50ZXJhY3RpdmUgSFRNTCByZXBvcnQgCgpgYGAKLi92YWN1dW0gaHRtbC1yZXBvcnQgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWwgfCB2YWN1dW0tcmVwb3J0Lmpzb24uZ3o+IDxyZXBvcnQtbmFtZS5odG1sPgpgYGAKCllvdSBjYW4gcmVwbGFjZSBgcmVwb3J0LW5hbWUuaHRtbGAgd2l0aCB5b3VyIG93biBjaG9pY2Ugb2YgZmlsZW5hbWUuIE9wZW4gdGhlIHJlcG9ydAppbiB5b3VyIGZhdm9yaXRlIGJyb3dzZXIgYW5kIGV4cGxvcmUgdGhlIHJlc3VsdHMuIAoKCiMjIFNlZSBmdWxsIGxpbnRpbmcgcmVwb3J0IAoKYGBgCi4vdmFjdXVtIGxpbnQgLWQgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKCiMjIExpbnQgbXVsdGlwbGUgZmlsZXMgYXQgb25jZQoKYGBgCi4vdmFjdXVtIGxpbnQgLWQgPHNwZWMxLnlhbWw+IDxzcGVjMi55YW1sPiA8c3BlYzMueWFtbD4KYGBgCgojIyBMaW50IG11bHRpcGxlIGZpbGVzIHVzaW5nIGEgZ2xvYiBwYXR0ZXJuCgpgYGAKLi92YWN1dW0gbGludCAtZCBzb21lL3BhdGgvKiovKi55YW1sCmBgYAoKIyMgU2VlIGZ1bGwgbGludGluZyByZXBvcnQgd2l0aCBpbmxpbmUgY29kZSBzbmlwcGV0cwoKYGBgCi4vdmFjdXVtIGxpbnQgLWQgLXMgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKIyMgU2VlIGp1c3QgdGhlIGxpbnRpbmcgZXJyb3JzCgpgYGAKLi92YWN1dW0gbGludCAtZCAtZSA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCgojIyBTZWUganVzdCBhIHNwZWNpZmljIGNhdGVnb3J5IG9mIHJlcG9ydAoKCmBgYAouL3ZhY3V1bSBsaW50IC1kIC1jIHNjaGVtYXMgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKVGhlIG9wdGlvbnMgaGVyZSBhcmU6CgotIGBleGFtcGxlc2AKLSBgb3BlcmF0aW9uc2AKLSBgaW5mb3JtYXRpb25gCi0gYGRlc2NyaXB0aW9uc2AKLSBgc2NoZW1hc2AKLSBgc2VjdXJpdHlgCi0gYHRhZ3NgCi0gYHZhbGlkYXRpb25gCi0gYG93YXNwYAoKIyMgR2VuZXJhdGUgYSBTcGVjdHJhbCBjb21wYXRpYmxlIHJlcG9ydAoKSWYgeW91J3JlIGFscmVhZHkgdXNpbmcgU3BlY3RyYWwgSlNPTiByZXBvcnRzLCBhbmQgeW91IHdhbnQgdG8gdXNlIHZhY3V1bSBpbnN0ZWFkLCB1c2UgdGhlIGBzcGVjdHJhbC1yZXBvcnRgIGNvbW1hbmQKCmBgYAouL3ZhY3V1bSBzcGVjdHJhbC1yZXBvcnQgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+IDxyZXBvcnQtb3V0cHV0LW5hbWUuanNvbj4KYGBgCgpUaGUgcmVwb3J0IGZpbGUgbmFtZSBpcyBfb3B0aW9uYWxfLiBUaGUgZGVmYXVsdCByZXBvcnQgb3V0cHV0IG5hbWUgaXMgYHZhY3V1bS1zcGVjdHJhbC1yZXBvcnQuanNvbmAKCgojIyBHZW5lcmF0ZSBhIGB2YWN1dW0gcmVwb3J0YAoKVmFjdXVtIHJlcG9ydHMgYXJlIGNvbXBsZXRlIHNuYXBzaG90cyBpbiB0aW1lIG9mIGEgbGludGluZyByZXBvcnQgZm9yIGEgc3BlY2lmaWNhdGlvbi4gVGhlc2UgcmVwb3J0cyBjYW4gYmUgJ3JlcGxheWVkJyAKYmFjayB0aHJvdWdoIHZhY3V1bS4gVXNlIHRoZSBgZGFzaGJvYXJkYCBvciB0aGUgYGh0bWwtcmVwb3J0YCBjb21tYW5kcyB0byAncmVwbGF5JyB0aGUgcmVwb3J0IGFuZCBleHBsb3JlIHRoZSByZXN1bHRzCmFzIHRoZXkgd2VyZSB3aGVuIHRoZSByZXBvcnQgd2FzIGdlbmVyYXRlZC4KCmBgYAouL3ZhY3V1bSByZXBvcnQgLWMgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+IDxyZXBvcnQtcHJlZml4PgpgYGAKClRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIHJlcG9ydCB3aWxsIGJlIGB2YWN1dW0tcmVwb3J0LU1NLURELVlZLUhIX01NX1NTLmpzb25gLiBZb3UgY2FuIGNoYW5nZSB0aGUgcHJlZml4IGJ5IHN1cHBseWluZwppdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRoZSBgcmVwb3J0YCBjb21tYW5kLiAKCklkZWFsbHksICoqeW91IHNob3VsZCBjb21wcmVzcyB0aGUgcmVwb3J0IHVzaW5nIGAtY2AqKi4gVGhpcyBzaHJpbmtzIGRvd24gdGhlIHNpemUgc2lnbmlmaWNhbnRseS4gdmFjdXVtIGF1dG9tYXRpY2FsbHkKcmVjb2duaXplcyBhIGNvbXByZXNzZWQgcmVwb3J0IGZpbGUgYW5kIHdpbGwgZGVhbCB3aXRoIGl0IGF1dG9tYXRpY2FsbHkgd2hlbiByZWFkaW5nLgoKPiBXaGVuIHVzaW5nIGNvbXByZXNzaW9uLCB0aGUgZmlsZSBuYW1lIHdpbGwgYmUgYHZhY3V1bS1yZXBvcnQtTU0tREQtWVktSEhfTU1fU1MuanNvbi5nemAuIHZhY3V1bSB1c2VzIGd6aXAgaW50ZXJuYWxseS4KCi0tLQoKIyMgVHJ5IG91dCB0aGUgZGFzaGJvYXJkCgpUaGlzIGlzIGFuIGVhcmx5LCBidXQgd29ya2luZyBjb25zb2xlIFVJIGZvciB2YWN1dW0uIFRoZSBjb2RlIGlzbid0IGdyZWF0LCBpdCBuZWVkcyBhIGxvdCBvZiBjbGVhbiB1cCwgYnV0CmlmIHlvdSdyZSBpbnRlcmVzdGVkIGluIHNlZWluZyBob3cgdGhpbmdzIGFyZSBwcm9ncmVzc2luZywgaXQncyBhdmFpbGFibGUuCgpgYGAKLi92YWN1dW0gZGFzaGJvYXJkIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sIHwgdmFjdXVtLXJlcG9ydC5qc29uLmd6PgpgYGAKCi0tLQojIyBTdXBwbHkgeW91ciBvd24gU3BlY3RyYWwgY29tcGF0aWJsZSBydWxlc2V0CgpJZiB5b3UncmUgYWxyZWFkeSB1c2luZyBTcGVjdHJhbCBhbmQgeW91IGhhdmUgeW91ciBvd24gW2N1c3RvbSBydWxlc2V0XShodHRwczovL21ldGEuc3RvcGxpZ2h0LmlvL2RvY3Mvc3BlY3RyYWwvZTViOTYxNmQ2ZDUwYy1jdXN0b20tcnVsZXNldHMjY3VzdG9tLXJ1bGVzZXRzKSwKdGhlbiB5b3UgY2FuIHVzZSBpdCB3aXRoIHZhY3V1bSEgCgpUaGUgYGxpbnRgLCBgZGFzaGJvYXJkYCBhbmQgYHNwZWN0cmFsLXJlcG9ydGAgY29tbWFuZHMgYWxsIGFjY2VwdCBhIGAtcmAgb3IgYC0tcnVsZXNldGAgZmxhZywgZGVmaW5pbmcgdGhlIHBhdGggdG8geW91ciBydWxlc2V0IGZpbGUuCgojIyMgSGVyZSBhcmUgc29tZSBleGFtcGxlcyB5b3UgY2FuIHRyeQoKKipfQWxsIHJ1bGVzIHR1cm5lZCBvZmZfKioKYGBgCi4vdmFjdXVtIGxpbnQgLXIgcnVsZXNldHMvZXhhbXBsZXMvbm9ydWxlcy1ydWxlc2V0LnlhbWwgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKKipfT25seSByZWNvbW1lbmRlZCBydWxlc18qKgpgYGAKLi92YWN1dW0gbGludCAtciBydWxlc2V0cy9leGFtcGxlcy9yZWNvbW1lbmRlZC1ydWxlc2V0LnlhbWwgPHlvdXItb3BlbmFwaS1zcGVjLnlhbWw+CmBgYAoKKipfRW5hYmxlIHNwZWNpZmljIHJ1bGVzIG9ubHlfKioKYGBgCi4vdmFjdXVtIGxpbnQgLXIgcnVsZXNldHMvZXhhbXBsZXMvc3BlY2lmaWMtcnVsZXNldC55YW1sIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCioqX0N1c3RvbSBydWxlc18qKgpgYGAKLi92YWN1dW0gbGludCAtciBydWxlc2V0cy9leGFtcGxlcy9jdXN0b20tcnVsZXNldC55YW1sIDx5b3VyLW9wZW5hcGktc3BlYy55YW1sPgpgYGAKCioqX0FsbCBydWxlcywgYWxsIG9mIHRoZW0hKioKYGBgCi4vdmFjdXVtIGxpbnQgLXIgcnVsZXNldHMvZXhhbXBsZXMvYWxsLXJ1bGVzZXQueWFtbCA8eW91ci1vcGVuYXBpLXNwZWMueWFtbD4KYGBgCgotLS0KCiMjIENvbmZpZ3VyYXRpb24KCiMjIyBGaWxlCllvdSBjYW4gY29uZmlndXJlIHZhY3V1bSB1c2luZyBhIGNvbmZpZ3VyYXRpb24gZmlsZSBuYW1lZCBgdmFjdXVtLmNvbmYueWFtbGAKCkJ5IGRlZmF1bHQsIHZhY3V1bSBzZWFyY2hlcyBmb3IgdGhpcyBmaWxlIGluIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMKMS4gV29ya2luZyBkaXJlY3RvcnkKMi4gYCRYREdfQ09ORklHX0hPTUVgCjMuIGAke0hPTUV9Ly5jb25maWdgCgpZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHBhdGggdG8gYSBmaWxlIHVzaW5nIHRoZSBgLS1jb25maWdgIGZsYWcKCkdsb2JhbCBmbGFncyBhcmUgY29uZmlndXJlZCBhcyB0b3AgbGV2ZWwgbm9kZXMKYGBgeWFtbAp0aW1lOiB0cnVlCmJhc2U6ICdodHRwOi8vZXhhbXBsZS5jb20nCi4uLgpgYGAKQ29tbWFuZCBzcGVjaWZpYyBmbGFncyBhcmUgY29uZmlndXJlZCB1bmRlciBhIG5vZGUgd2l0aCB0aGUgY29tbWFuZHMgbmFtZQpgYGB5YW1sCi4uLgpsaW50OgogIHNpbGVudDogdHJ1ZQogIC4uLgpgYGAKCiMjIyBFbnZpcm9ubWVudGFsIHZhcmlhYmxlcwoKWW91IGNhbiBjb25maWd1cmUgZ2xvYmFsIHZhY3V1bSBmbGFncyB1c2luZyBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBpbiB0aGUgZm9ybSBvZjogYFZBQ1VVTV88ZmxhZz5gCgpJZiBhIGZsYWcsIGhhcyBhIGAtYCBpbiBpdCwgcmVwbGFjZSB3aXRoIGBfYAoKPiBMb2dvIGdvcGhlciBpcyBtb2RpZmllZCwgb3JpZ2luYWxseSBmcm9tIFtlZ29uZWxicmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9lZ29uZWxicmUvZ29waGVycykK + readmeEtag: '"ea067f379af37c3d49c4137ad908c647bef7030592d5319da2a93e84d7b03707"' + readmeLastModified: Fri, 05 Jan 2024 02:23:02 GMT repositoryId: 415667153 description: >- vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and @@ -5756,17 +5756,17 @@ you can think. vacuum is compatible with Spectral rulesets and generates compatible reports. created: '2021-10-10T18:24:19Z' - updated: '2024-01-02T22:39:06Z' + updated: '2024-01-04T21:40:50Z' language: Go archived: false - stars: 337 + stars: 340 watchers: 6 - forks: 27 + forks: 26 owner: daveshanley logo: https://avatars.githubusercontent.com/u/187345?v=4 license: MIT - repoEtag: '"a3a7ec9b909df6d69803f6b15223e45b98e7c1f60cd163edc13270f7c3acdfe8"' - repoLastModified: Tue, 02 Jan 2024 22:39:06 GMT + repoEtag: '"73556212f86554b3cfc53fac0a090167fb9e19134bb4f40f0568a967d310b261"' + repoLastModified: Thu, 04 Jan 2024 21:40:50 GMT foundInMaster: true category: - Description Validators @@ -5824,7 +5824,7 @@ repositoryId: 161691324 description: Generate TypeScript types from OpenAPI 3 specs created: '2018-12-13T20:28:01Z' - updated: '2024-01-03T14:16:07Z' + updated: '2024-01-05T02:52:52Z' language: TypeScript archived: false stars: 3999 @@ -5833,8 +5833,8 @@ owner: drwpow logo: https://avatars.githubusercontent.com/u/1369770?v=4 license: MIT - repoEtag: '"b8f46a9596c4e61f99b67ce4d40ca3befa74d154209aa70d3c246f1ffe7d703f"' - repoLastModified: Wed, 03 Jan 2024 14:16:07 GMT + repoEtag: '"6424a8ec5526f099a093384ae0aa28e4126a6676c05786a8835014a0e49d5916"' + repoLastModified: Fri, 05 Jan 2024 02:52:52 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -5862,7 +5862,7 @@ owner: pb33f logo: https://avatars.githubusercontent.com/u/104016643?v=4 license: NOASSERTION - repoEtag: '"23a683484e653f76254eee656810c46a5ea983a4f674a111c6b4bcf69e18e7bb"' + repoEtag: '"a088b7572f1e3398b14239e744a66d6f11ba54ce5530d4be37fcbc614a26554a"' repoLastModified: Mon, 25 Dec 2023 10:09:24 GMT category: Parsers foundInMaster: true @@ -6132,7 +6132,7 @@ owner: znsio logo: https://avatars.githubusercontent.com/u/75619722?v=4 license: MIT - repoEtag: '"f1cbd64b6c62eb36b727a06ff3558c48cbc93786432f25b0f84d176cc6946fdd"' + repoEtag: '"89fac5aa0ef4706ad5556aea07f24072315a318644993187a76d11de9850dd49"' repoLastModified: Wed, 03 Jan 2024 11:43:37 GMT foundInMaster: true - source: @@ -6161,7 +6161,7 @@ owner: pb33f logo: https://avatars.githubusercontent.com/u/104016643?v=4 license: NOASSERTION - repoEtag: '"3e5b1f7fea6bd1c7f89a946bda90642d98c4d84d9b27e300023dee01ae56fa02"' + repoEtag: '"e2fd89adb8d44639ad57cd3ba32c106e586bd2c9c1c7c3d617605a4b0b490b38"' repoLastModified: Tue, 02 Jan 2024 14:10:47 GMT category: - Data Validators @@ -6245,17 +6245,17 @@ repositoryId: 586543156 description: OpenAPI to TypeScript, React-Query, Zod, Zodios, Faker.js, MSW and Axios. created: '2023-01-08T14:15:23Z' - updated: '2024-01-03T12:59:59Z' + updated: '2024-01-04T16:38:24Z' language: TypeScript archived: false - stars: 288 + stars: 289 watchers: 5 forks: 20 owner: kubb-project logo: https://avatars.githubusercontent.com/u/122118236?v=4 license: MIT - repoEtag: '"5e9e1b0f5c88d1c1ab584b88b4cc38418df30301149d562ca47f8a64117d7ff4"' - repoLastModified: Wed, 03 Jan 2024 12:59:59 GMT + repoEtag: '"91bc3518de24d8c582086bc3e3bc4ad66dd90e1ed930adda9487c69078c30e48"' + repoLastModified: Thu, 04 Jan 2024 16:38:24 GMT foundInMaster: true - source: https://openapi.tools/ name: KrakenD API Gateway @@ -6409,17 +6409,17 @@ repositoryId: 654923338 description: Simplify your JsonSchema by combining allOf safely. created: '2023-06-17T10:45:41Z' - updated: '2023-12-29T22:01:11Z' + updated: '2024-01-04T13:22:40Z' language: TypeScript archived: false - stars: 7 + stars: 8 watchers: 2 forks: 4 owner: udamir logo: https://avatars.githubusercontent.com/u/29271460?v=4 license: MIT - repoEtag: '"9bcbfcc8d78d022e24bcdbac25f7de48846064fec1ec0bba139a7606e7ae214f"' - repoLastModified: Fri, 29 Dec 2023 22:01:11 GMT + repoEtag: '"d886a6284e6fbf3e478d27fef15f974bedb387f3fa52dac08fcdc3bc74f5eca2"' + repoLastModified: Thu, 04 Jan 2024 13:22:40 GMT foundInMaster: true - source: https://openapi.tools/ name: api-ref-bundler @@ -6441,17 +6441,17 @@ repositoryId: 507419359 description: Bundle all external $ref in Json based API document into single document created: '2022-06-25T21:21:05Z' - updated: '2023-12-29T22:00:56Z' + updated: '2024-01-04T13:22:41Z' language: TypeScript archived: false - stars: 8 + stars: 9 watchers: 2 forks: 1 owner: udamir logo: https://avatars.githubusercontent.com/u/29271460?v=4 license: MIT - repoEtag: '"c3c714c7068d6ddca3d4962446e0fcf71c1b3d8e447a00ed52ef96d7d491e1ce"' - repoLastModified: Fri, 29 Dec 2023 22:00:56 GMT + repoEtag: '"f4e413de8f205e8517128d83e60955d0476c48de24bb506f0b28e1ce8d4c374a"' + repoLastModified: Thu, 04 Jan 2024 13:22:41 GMT foundInMaster: true - source: https://openapi.tools/ name: rswag @@ -6476,17 +6476,17 @@ repositoryId: 29151578 description: Seamlessly adds a Swagger to Rails-based API's created: '2015-01-12T19:08:10Z' - updated: '2024-01-03T13:49:30Z' + updated: '2024-01-04T15:58:40Z' language: Ruby archived: false - stars: 1810 + stars: 1811 watchers: 27 forks: 403 owner: rswag logo: https://avatars.githubusercontent.com/u/55741034?v=4 license: MIT - repoEtag: '"788e5780b5203aa89e1af56b04292c04d622c27c7fa110f5e978501bca58f4d1"' - repoLastModified: Wed, 03 Jan 2024 13:49:30 GMT + repoEtag: '"442fc160f36db214dccb278ef30c90e0ad5336cdfbe6c745c2ef1a5137cbe8ee"' + repoLastModified: Thu, 04 Jan 2024 15:58:40 GMT foundInMaster: true v3_1_link: https://github.com/rswag/rswag/pull/714 - source: @@ -6523,17 +6523,17 @@ repositoryId: 476820102 description: SDKs and Docs for your API created: '2022-04-01T17:56:54Z' - updated: '2024-01-03T20:51:57Z' + updated: '2024-01-05T00:54:59Z' language: TypeScript archived: false - stars: 2030 + stars: 2034 watchers: 11 forks: 86 owner: fern-api logo: https://avatars.githubusercontent.com/u/102944815?v=4 license: MIT - repoEtag: '"18da6e6e950fe5962460ae52130b030f5e876ee71d6301decbb9422ffbff6bd3"' - repoLastModified: Wed, 03 Jan 2024 20:51:57 GMT + repoEtag: '"7d9d487785343320699e9cd1c8bfc35b06a42111b3feef8e7c8b1e4666dc087f"' + repoLastModified: Fri, 05 Jan 2024 00:54:59 GMT foundInMaster: true sponsored: true testimonial: > @@ -6606,7 +6606,7 @@ owner: seriousme logo: https://avatars.githubusercontent.com/u/3322396?v=4 license: MIT - repoEtag: '"b17bb1fb5ac33a5fb940a31f14c5c48270f48de8974ac02f2874c48149db723e"' + repoEtag: '"f59324479d95bbf3f8477c4383a334c89853ec3ae6346ef16e0ea18678a1ffeb"' repoLastModified: Mon, 11 Dec 2023 19:04:50 GMT foundInMaster: true id: 983210df2c4289b2210365de0362ab66 @@ -6644,17 +6644,17 @@ repositoryId: 293245471 description: Convert between JSON Schema, TypeScript, GraphQL, Open API and SureType created: '2020-09-06T09:40:04Z' - updated: '2024-01-03T13:16:21Z' + updated: '2024-01-05T01:47:43Z' language: TypeScript archived: false - stars: 376 + stars: 377 watchers: 5 forks: 9 owner: grantila logo: https://avatars.githubusercontent.com/u/5362579?v=4 license: MIT - repoEtag: '"82807861d73a79f21590b81e2d16270a84a8d626f71a50e839ff8291f0881045"' - repoLastModified: Wed, 03 Jan 2024 13:16:21 GMT + repoEtag: '"7303f96ad162b2f6d88a1c0df34ca6e5adde76b58c64fd8ea87f6cc8166765fd"' + repoLastModified: Fri, 05 Jan 2024 01:47:43 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -6727,17 +6727,17 @@ repositoryId: 245763170 description: Huma REST/HTTP API Framework for Golang with OpenAPI 3 created: '2020-03-08T06:19:51Z' - updated: '2024-01-04T02:02:43Z' + updated: '2024-01-04T16:43:04Z' language: Go archived: false - stars: 316 + stars: 318 watchers: 12 - forks: 37 + forks: 38 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"c1a56129cb1db7477c8589eca2b42956e2ddaa96fc099de18f9f919126ef4c02"' - repoLastModified: Thu, 04 Jan 2024 02:02:43 GMT + repoEtag: '"3c12fc5e0ab97a1dbf28a2743e5b185faf9800e875cfd5aa7d0bca3bc96f02cc"' + repoLastModified: Thu, 04 Jan 2024 16:43:04 GMT foundInMaster: true category: - Auto Generators @@ -6875,17 +6875,17 @@ OpenAPI / Swagger, AsyncAPI & Semoasa definitions to (re)Slate compatible markdown created: '2016-10-05T23:09:13Z' - updated: '2024-01-02T16:27:50Z' + updated: '2024-01-04T16:08:03Z' language: JavaScript archived: false - stars: 1410 + stars: 1411 watchers: 16 - forks: 317 + forks: 318 owner: Mermade logo: https://avatars.githubusercontent.com/u/15950345?v=4 license: MIT - repoEtag: '"ebcd513fc8c88b57cd205a68f1b8b748188259f38896db0aa42bdb8c3074a9b5"' - repoLastModified: Tue, 02 Jan 2024 16:27:50 GMT + repoEtag: '"d95f018524d805c22e6f5d1bea163999b95ea91052badecf7666790122c1a93f"' + repoLastModified: Thu, 04 Jan 2024 16:08:03 GMT foundInMaster: true homepage: https://github.com/Mermade/widdershins id: ab4fb414065011325683c7b582a9e582 @@ -6909,17 +6909,17 @@ FastAPI framework, high performance, easy to learn, fast to code, ready for production created: '2018-12-08T08:21:47Z' - updated: '2024-01-04T03:21:04Z' + updated: '2024-01-05T03:27:06Z' language: Python archived: false - stars: 66582 + stars: 66634 watchers: 655 - forks: 5635 + forks: 5641 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"85a237641528c88e7f31139e9e1c39cdd906fd64573abf8127c2747234f7940b"' - repoLastModified: Thu, 04 Jan 2024 03:21:04 GMT + repoEtag: '"0788e7dff323d77d0a1d18b39d679f42f73693dda7ee012418c3ab8d48500a9f"' + repoLastModified: Fri, 05 Jan 2024 03:27:06 GMT foundInMaster: true id: 8e11fa45d6f090aa2ed68317cf5a7215 - source: @@ -6937,17 +6937,17 @@ Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. created: '2011-07-15T22:56:39Z' - updated: '2024-01-04T00:16:41Z' + updated: '2024-01-04T23:13:12Z' language: JavaScript archived: false - stars: 24974 + stars: 24980 watchers: 651 forks: 8850 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"046e65c66f8cc37cd47bb634fb8417c76c6839d4ae8d9c5cc579023058aae53b"' - repoLastModified: Thu, 04 Jan 2024 00:16:41 GMT + repoEtag: '"4f175c38254f68f0398bfe0ec809d00007fa37fda5ca3545cd8409b086704b94"' + repoLastModified: Thu, 04 Jan 2024 23:13:12 GMT foundInMaster: true name: swagger-ui homepage: https://github.com/swagger-api/swagger-UI @@ -6980,17 +6980,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-01-04T01:27:38Z' + updated: '2024-01-05T03:14:46Z' language: TypeScript archived: false - stars: 21710 + stars: 21722 watchers: 288 - forks: 2266 + forks: 2267 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"580876bdb2918b7b33126cdaf719dfd705f616418696db3b4c8599fcca1ccd17"' - repoLastModified: Thu, 04 Jan 2024 01:27:38 GMT + repoEtag: '"e68cc2e9f70474a511c0cdead89d063f59094984245fd1427e4e1c214a7071d3"' + repoLastModified: Fri, 05 Jan 2024 03:14:46 GMT foundInMaster: true v3_1: true id: 2725d6db6977c1dd12ceaf9701787e07 @@ -7009,17 +7009,17 @@ Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more. created: '2019-02-23T15:08:34Z' - updated: '2024-01-04T03:26:54Z' + updated: '2024-01-05T03:29:22Z' language: TypeScript archived: false - stars: 14071 - watchers: 236 - forks: 2518 + stars: 14090 + watchers: 237 + forks: 2520 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"4ca0907a31d7f794c2ccf953c686d1187413a5499690ea7988823943d45a02cc"' - repoLastModified: Thu, 04 Jan 2024 03:26:54 GMT + repoEtag: '"770e97ab1830ccf54772265768ea8b773cd16aee09df5319d66e006c973c2bb6"' + repoLastModified: Fri, 05 Jan 2024 03:29:22 GMT foundInMaster: true category: Server Implementations id: fd87348d3e68e8838b35571b2a88b798 @@ -7036,17 +7036,17 @@ Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API created: '2011-07-05T23:44:11Z' - updated: '2024-01-02T19:48:31Z' + updated: '2024-01-04T15:52:44Z' language: Java archived: false - stars: 7296 + stars: 7297 watchers: 310 forks: 2165 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"dd2f257af432acce9065b2633f81025836a968852e45dec0454b906b45f4cd94"' - repoLastModified: Tue, 02 Jan 2024 19:48:31 GMT + repoEtag: '"f6bb380444303e35e3d64c777eb2e93a2e5f77d10a8de49495af98e73f3b064f"' + repoLastModified: Thu, 04 Jan 2024 15:52:44 GMT foundInMaster: true category: Code Generators id: 2093f5c5f56617123b73ae823791176d @@ -7063,17 +7063,17 @@ Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source. created: '2017-07-17T13:19:16Z' - updated: '2024-01-04T02:08:03Z' + updated: '2024-01-04T16:15:43Z' language: TypeScript archived: false - stars: 5603 + stars: 5606 watchers: 59 forks: 315 owner: mockoon logo: https://avatars.githubusercontent.com/u/49429147?v=4 license: NOASSERTION - repoEtag: '"d62ef33091b87fe15764b0738db60f7b2b034a23749e14f2c77d6c33b3a4f9d8"' - repoLastModified: Thu, 04 Jan 2024 02:08:03 GMT + repoEtag: '"83b5691d944932f1a644e9cf7dc02dbd91c3f6efb6d9d5bd9d1f5919b0cc6275"' + repoLastModified: Thu, 04 Jan 2024 16:15:43 GMT foundInMaster: true category: Testing id: 8728dfca2c1908dbecdcddd31597fad4 @@ -7116,17 +7116,17 @@ repositoryId: 709571808 description: Chrome extension that generates API specs for any app or website created: '2023-10-25T00:36:06Z' - updated: '2024-01-03T14:18:36Z' + updated: '2024-01-04T15:57:12Z' language: TypeScript archived: false - stars: 3594 + stars: 3596 watchers: 19 forks: 57 owner: AndrewWalsh logo: https://avatars.githubusercontent.com/u/15863952?v=4 license: MIT - repoEtag: '"54c5e48638b4ca83fc4a385d96fae02bda2f5f7773f66a8ca01d3479499491f5"' - repoLastModified: Wed, 03 Jan 2024 14:18:36 GMT + repoEtag: '"04f689a94abd1afb048f9f506c239e4352a281e46cfb1694a3905a8276e9732c"' + repoLastModified: Thu, 04 Jan 2024 15:57:12 GMT category: Server Implementations foundInMaster: true v3_1: true @@ -7143,17 +7143,17 @@ 🌐 Wikipedia for Web APIs. Directory of REST API definitions in OpenAPI 2.0/3.x format created: '2015-02-22T19:58:12Z' - updated: '2024-01-03T18:27:38Z' + updated: '2024-01-04T20:58:21Z' language: null archived: false - stars: 3495 + stars: 3499 watchers: 112 forks: 571 owner: APIs-guru logo: https://avatars.githubusercontent.com/u/10975548?v=4 license: CC0-1.0 - repoEtag: '"7e79808998f2ecd06474f2e6fa081a0af40f1b72ee06b9371b294bb1907ae248"' - repoLastModified: Wed, 03 Jan 2024 18:27:38 GMT + repoEtag: '"60bfd925e6683bedb455af7770be29f5057ed80067c07083a52392d5435212fa"' + repoLastModified: Thu, 04 Jan 2024 20:58:21 GMT foundInMaster: true category: SDK id: 667f2aef78d9d19418fbd6c0a7835abb @@ -7177,17 +7177,17 @@ repositoryId: 196475719 description: Library for OpenAPI 3 with spring-boot created: '2019-07-11T23:08:20Z' - updated: '2024-01-03T07:33:41Z' + updated: '2024-01-04T21:32:29Z' language: Java archived: false - stars: 2946 + stars: 2951 watchers: 41 - forks: 437 + forks: 438 owner: springdoc logo: https://avatars.githubusercontent.com/u/52804136?v=4 license: Apache-2.0 - repoEtag: '"7e52c3d64a4cd0bd6eb557c733c19c5841569842888fdff3cdeb4a7f2a5b2d1f"' - repoLastModified: Wed, 03 Jan 2024 07:33:41 GMT + repoEtag: '"3ac3bf1bea5315bd0ad27efed5f9c5e3f6f0e4e1f3e926c5361dd4747807d75a"' + repoLastModified: Thu, 04 Jan 2024 21:32:29 GMT foundInMaster: true id: 901410cec129651fcf7374c79f824f27 - source: @@ -7214,7 +7214,7 @@ owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"941ba49c8aed2abe1a501716d06eee2b2c92ad387b3d59f130b5414750a13d57"' + repoEtag: '"fac0d3f53eb6ca5c81ef58db52b8f9f0e3cf64239079be083725390c4c66534b"' repoLastModified: Mon, 01 Jan 2024 22:07:56 GMT foundInMaster: true category: Code Generators @@ -7234,17 +7234,17 @@ web applications in Python with performance auto-tuning. Optionally with Alpine Linux. created: '2019-01-04T17:33:29Z' - updated: '2024-01-03T08:28:23Z' + updated: '2024-01-04T16:29:29Z' language: Python archived: false - stars: 2438 + stars: 2441 watchers: 27 - forks: 313 + forks: 314 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"864d23690978972e1b93a46e86560a2ea9e3475ae218a426d76f0ba8c665f4af"' - repoLastModified: Wed, 03 Jan 2024 08:28:23 GMT + repoEtag: '"92c5dbdfc05b950ce2d00a0e216063a6e269b29a97a9828241716db6d150cd0e"' + repoLastModified: Thu, 04 Jan 2024 16:29:29 GMT foundInMaster: true category: Server Implementations id: d0f3fc0bd35fcadacc8ed2c531780739 @@ -7268,17 +7268,17 @@ repositoryId: 203157084 description: 'Automate your API Testing: catch crashes, validate specs, and save time' created: '2019-08-19T11:13:01Z' - updated: '2024-01-02T16:57:38Z' + updated: '2024-01-04T16:36:54Z' language: Python archived: false - stars: 1952 + stars: 1953 watchers: 19 forks: 143 owner: schemathesis logo: https://avatars.githubusercontent.com/u/70383271?v=4 license: MIT - repoEtag: '"a4b33ba984369a97c9255469879fec3f7842f53bcc99873d2622eb6613d3a5e5"' - repoLastModified: Tue, 02 Jan 2024 16:57:38 GMT + repoEtag: '"ed12773f9dfbe130b24b7cec6ba41ded8ae92799e8d7d4fddf2c743169ac5afb"' + repoLastModified: Thu, 04 Jan 2024 16:36:54 GMT foundInMaster: true id: f4032fb371a703acffa691c0f1239d45 oldLocations: @@ -7294,17 +7294,17 @@ repositoryId: 244234763 description: Sane and flexible OpenAPI 3 schema generation for Django REST framework. created: '2020-03-01T22:36:54Z' - updated: '2024-01-03T13:09:01Z' + updated: '2024-01-05T02:59:48Z' language: Python archived: false - stars: 1943 + stars: 1946 watchers: 13 forks: 229 owner: tfranzel logo: https://avatars.githubusercontent.com/u/13507857?v=4 license: BSD-3-Clause - repoEtag: '"00a762bb42c887f4f578dd5e553b66ac68ab87f62308e4f1e547451a6d102b5a"' - repoLastModified: Wed, 03 Jan 2024 13:09:01 GMT + repoEtag: '"d3e0560addbb19d4fb8f27304aabe04ef4069f188efa9fa1ea0b1444a614dc82"' + repoLastModified: Fri, 05 Jan 2024 02:59:48 GMT foundInMaster: true category: Server Implementations id: 520f5c66c3e42a7b3fbface4f156c1dc @@ -7321,17 +7321,17 @@ A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks. created: '2016-11-15T19:21:53Z' - updated: '2024-01-03T20:08:35Z' + updated: '2024-01-04T16:09:03Z' language: Go archived: false - stars: 1908 + stars: 1909 watchers: 37 forks: 238 owner: google logo: https://avatars.githubusercontent.com/u/1342004?v=4 license: Apache-2.0 - repoEtag: '"ae6b82830d1dc5427fa3b586192a50b791b7ec3a578da229c8b24f59b2abe007"' - repoLastModified: Wed, 03 Jan 2024 20:08:35 GMT + repoEtag: '"71adf499b5c3cc44700661233f1579e9febd57b83beb764e00d4b87275fbe586"' + repoLastModified: Thu, 04 Jan 2024 16:09:03 GMT foundInMaster: true category: Converters id: 46e070512676eb0fd196ee199e6a0b34 @@ -7351,17 +7351,17 @@ A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML created: '2021-01-26T02:53:57Z' - updated: '2024-01-04T00:08:42Z' + updated: '2024-01-04T20:10:46Z' language: Python archived: false - stars: 1612 + stars: 1617 watchers: 14 forks: 48 owner: jcrist logo: https://avatars.githubusercontent.com/u/2783717?v=4 license: BSD-3-Clause - repoEtag: '"3e8c0131351c046ba314631a16d56af858243e61579eaf81ef9887117f15a01d"' - repoLastModified: Thu, 04 Jan 2024 00:08:42 GMT + repoEtag: '"5d7f69582d03f94da8696e0813ed1ba1717c89fe2b4f0a4617704cec01ec198a"' + repoLastModified: Thu, 04 Jan 2024 20:10:46 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -7377,17 +7377,17 @@ Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust created: '2021-09-30T22:00:31Z' - updated: '2024-01-03T10:37:47Z' + updated: '2024-01-04T22:19:44Z' language: Rust archived: false - stars: 1592 - watchers: 8 + stars: 1595 + watchers: 7 forks: 131 owner: juhaku logo: https://avatars.githubusercontent.com/u/26358664?v=4 license: Apache-2.0 - repoEtag: '"27392f64857aa66f4b8a184faec75adfc593f1f3035aac2b07b2f3e45a32621c"' - repoLastModified: Wed, 03 Jan 2024 10:37:47 GMT + repoEtag: '"dffd637c2172714433b6ec789765b79cf929336b4d9f78d488e067b521e6f67f"' + repoLastModified: Thu, 04 Jan 2024 22:19:44 GMT foundInMaster: true category: Parsers id: 14269a89115b3be71493769fca4d995e @@ -7402,17 +7402,17 @@ repositoryId: 165951750 description: RapiDoc -WebComponent for OpenAPI Spec created: '2019-01-16T01:29:58Z' - updated: '2024-01-04T00:37:38Z' + updated: '2024-01-04T16:29:49Z' language: JavaScript archived: false - stars: 1478 + stars: 1479 watchers: 13 forks: 263 owner: rapi-doc logo: https://avatars.githubusercontent.com/u/104180085?v=4 license: MIT - repoEtag: '"f245195cf1e76e261570016379a4a0e490cb700f47f42f8446f2d7133eaa9665"' - repoLastModified: Thu, 04 Jan 2024 00:37:38 GMT + repoEtag: '"ad4aa9fe86f0f85e4907691296b58690d0ac0c5ff3e85ce12cdfd005cd573b2e"' + repoLastModified: Thu, 04 Jan 2024 16:29:49 GMT foundInMaster: true category: - Documentation @@ -7438,17 +7438,17 @@ repositoryId: 71986592 description: GUI / visual editor for creating and editing OpenAPI / Swagger definitions created: '2016-10-26T09:15:55Z' - updated: '2024-01-02T16:28:22Z' + updated: '2024-01-04T16:08:33Z' language: JavaScript archived: false - stars: 1321 + stars: 1322 watchers: 43 forks: 166 owner: Mermade logo: https://avatars.githubusercontent.com/u/15950345?v=4 license: MIT - repoEtag: '"c48cd081d4ba7d371990e55af01a6fbffc0ca99bf8ae1b0dc5bd0b73afa7263a"' - repoLastModified: Tue, 02 Jan 2024 16:28:22 GMT + repoEtag: '"c5e9e0d44ec24f846ab7cfe8e7e977ea3993f1da6db11583f2d5e3426d7db227"' + repoLastModified: Thu, 04 Jan 2024 16:08:33 GMT foundInMaster: true id: 71f1a528dc0a6366fb580d1b8c703ea8 - source: openapi3 tags @@ -7464,17 +7464,17 @@ A node package wrapper for https://github.com/OpenAPITools/openapi-generator created: '2018-10-26T10:21:23Z' - updated: '2024-01-03T12:52:06Z' + updated: '2024-01-04T22:46:43Z' language: TypeScript archived: false - stars: 1197 + stars: 1198 watchers: 17 forks: 137 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"d3ab5fa5e93fe1f070b793762f6e87516775b1c165e0976fc522045e2b505193"' - repoLastModified: Wed, 03 Jan 2024 12:52:06 GMT + repoEtag: '"db26f6319972cfe9abab371ee6a132aef82452fc3fd5d9956f3c995bd373504b"' + repoLastModified: Thu, 04 Jan 2024 22:46:43 GMT foundInMaster: true category: - Code Generators @@ -7493,17 +7493,17 @@ A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification).. created: '2014-10-18T23:48:49Z' - updated: '2024-01-03T14:11:43Z' + updated: '2024-01-04T15:57:59Z' language: Python archived: false - stars: 1067 + stars: 1070 watchers: 25 forks: 170 owner: marshmallow-code logo: https://avatars.githubusercontent.com/u/10334301?v=4 license: MIT - repoEtag: '"75c5272a02d854223dcffd7bf3e88fe1375106302967f94e6ba04344f65346d9"' - repoLastModified: Wed, 03 Jan 2024 14:11:43 GMT + repoEtag: '"1ebeeb1c3f3cfc77623b3ee1e9c57e7409bc844eb7b503c01c589f99b8fed06f"' + repoLastModified: Thu, 04 Jan 2024 15:57:59 GMT foundInMaster: true category: Parsers id: c1528764f05dd585ca47886dd6dabb86 @@ -7519,17 +7519,17 @@ repositoryId: 329190167 description: A lightweight Python web API framework. created: '2021-01-13T04:08:48Z' - updated: '2024-01-03T14:17:21Z' + updated: '2024-01-04T21:49:58Z' language: Python archived: false - stars: 899 + stars: 901 watchers: 19 forks: 109 owner: apiflask logo: https://avatars.githubusercontent.com/u/78075725?v=4 license: MIT - repoEtag: '"c0d67a0644ee8fea75b393cb0de2a5f70764c19fe1ad8fdf728b630802e7867b"' - repoLastModified: Wed, 03 Jan 2024 14:17:21 GMT + repoEtag: '"8c6ec2723a5b148b22b8574b92b1297b8ca6c126a08857ce9adf5527337a7fb7"' + repoLastModified: Thu, 04 Jan 2024 21:49:58 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -7546,17 +7546,17 @@ repositoryId: 372032505 description: OpenAPI v3 code generator for go created: '2021-05-29T17:25:48Z' - updated: '2024-01-03T23:58:52Z' + updated: '2024-01-04T15:02:56Z' language: Go archived: false - stars: 882 + stars: 883 watchers: 13 forks: 62 owner: ogen-go logo: https://avatars.githubusercontent.com/u/85122432?v=4 license: Apache-2.0 - repoEtag: '"02232df7d9d07f749af25a50f3cbe9f726ef74bdf4ce959dfea7505461b3016b"' - repoLastModified: Wed, 03 Jan 2024 23:58:52 GMT + repoEtag: '"8a4bc40499c58b5cad212743da1929b698448168344cfbdeb3d1bdf4ffb6f573"' + repoLastModified: Thu, 04 Jan 2024 15:02:56 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -7571,17 +7571,17 @@ repositoryId: 381857226 description: null created: '2021-06-30T23:29:49Z' - updated: '2024-01-02T22:22:58Z' + updated: '2024-01-04T16:59:05Z' language: TypeScript archived: false - stars: 822 + stars: 823 watchers: 18 forks: 104 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"bf5007833f613dbded2adc67046bd3a0d9b99a9f24d435dcdec4ac4085e43a73"' - repoLastModified: Tue, 02 Jan 2024 22:22:58 GMT + repoEtag: '"bd4e0df6a09c6d7d474d8b970af74e4fc37ffffbe8d36d6bb87d1d2e465fea6c"' + repoLastModified: Thu, 04 Jan 2024 16:59:05 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -7595,17 +7595,17 @@ repositoryId: 192797744 description: The modern editor for API Design and Technical Writing. created: '2019-06-19T20:09:49Z' - updated: '2024-01-02T16:55:49Z' + updated: '2024-01-04T16:35:03Z' language: null archived: false - stars: 751 + stars: 752 watchers: 27 forks: 49 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: NOASSERTION - repoEtag: '"8603dd018342813d9576b19f9f1a455f249d07baf2a7e911d34af318148bb0b7"' - repoLastModified: Tue, 02 Jan 2024 16:55:49 GMT + repoEtag: '"6d568bc8b4283c6a7cb2a2c0b44ff8675aa156361fb196779ecb2d2d2536cee4"' + repoLastModified: Thu, 04 Jan 2024 16:35:03 GMT foundInMaster: true category: - Description Validators @@ -7649,17 +7649,17 @@ repositoryId: 113924383 description: Utility for comparing two OpenAPI specifications. created: '2017-12-12T00:39:30Z' - updated: '2023-12-28T03:21:22Z' + updated: '2024-01-04T16:06:21Z' language: Java archived: false - stars: 704 + stars: 705 watchers: 21 forks: 152 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"2d8f0c2649a2142d06dcd2595b3e97f5ecef866327596f75949f86958aa29db9"' - repoLastModified: Thu, 28 Dec 2023 03:21:22 GMT + repoEtag: '"a541c32a8c47c4563bb911c5ea853d2a1becec7edd977ca2334508e6c401fb43"' + repoLastModified: Thu, 04 Jan 2024 16:06:21 GMT foundInMaster: true category: Parsers id: c128907e9d949a67c1bda0e0ceda755a @@ -7719,17 +7719,17 @@ Lightweight, blazing fast, cross-platform OpenAPI 3 mock server with validation created: '2018-07-24T05:29:01Z' - updated: '2024-01-02T16:45:18Z' + updated: '2024-01-04T16:24:51Z' language: Go archived: false - stars: 661 + stars: 662 watchers: 13 forks: 74 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"e382db540e9f7c92516107335b838cbe1cbc8c1117baf58cf335cb9ddb1ee318"' - repoLastModified: Tue, 02 Jan 2024 16:45:18 GMT + repoEtag: '"d1abeeddf8dfede5160c72be06e691daec7cd2999b915144dc4620d2ed25fd5d"' + repoLastModified: Thu, 04 Jan 2024 16:24:51 GMT foundInMaster: true id: 1ceeb35cbfe549bf7ed38d6e576301db - source: @@ -7860,17 +7860,17 @@ repositoryId: 481579846 description: A library that generates OpenAPI (Swagger) docs from Zod schemas created: '2022-04-14T11:32:57Z' - updated: '2024-01-03T20:51:49Z' + updated: '2024-01-04T23:17:17Z' language: TypeScript archived: false - stars: 538 + stars: 541 watchers: 10 forks: 43 owner: asteasolutions logo: https://avatars.githubusercontent.com/u/5244095?v=4 license: MIT - repoEtag: '"2c61f07fd0c56c6ed73dad215ce38ae58704907e46e00c7fc2b1785155ee44d6"' - repoLastModified: Wed, 03 Jan 2024 20:51:49 GMT + repoEtag: '"bc91d180827974aeb4fc174aff1faa9312ebbd6eab9886e9b3deb823f6795d69"' + repoLastModified: Thu, 04 Jan 2024 23:17:17 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -7936,17 +7936,17 @@ repositoryId: 145602302 description: OpenAPI mock server with random data generation created: '2018-08-21T18:16:27Z' - updated: '2023-12-29T10:08:39Z' + updated: '2024-01-04T13:39:49Z' language: Go archived: false - stars: 442 + stars: 443 watchers: 9 forks: 53 owner: muonsoft logo: https://avatars.githubusercontent.com/u/32521718?v=4 license: MIT - repoEtag: '"da729a2625e3329de9ec8bc65441c2978bcc2fcdd5f90bc7bab8703c26b69029"' - repoLastModified: Fri, 29 Dec 2023 10:08:39 GMT + repoEtag: '"88e263263f542f427a411c737cebd340d21755842a92ec2186bb45b5296df080"' + repoLastModified: Thu, 04 Jan 2024 13:39:49 GMT foundInMaster: true category: - Description Validators @@ -8016,17 +8016,17 @@ Full stack, modern web application generator. Using FastAPI, Couchbase as database, Docker, automatic HTTPS and more. created: '2018-12-11T07:53:25Z' - updated: '2024-01-02T16:49:25Z' + updated: '2024-01-04T16:28:51Z' language: Python archived: true - stars: 423 + stars: 424 watchers: 8 forks: 86 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"435f57e2818fd3874627f6b7d13a44b6065ffa7c36dd71ce2a36942462232b92"' - repoLastModified: Tue, 02 Jan 2024 16:49:25 GMT + repoEtag: '"3755636c218fd29be6dbd34dc8e10d1547eb05384dc786b781fdb97b40f58c47"' + repoLastModified: Thu, 04 Jan 2024 16:28:51 GMT foundInMaster: true category: Server Implementations id: 5b8908148637a85dc44c083694fd548a @@ -8068,17 +8068,17 @@ repositoryId: 104184487 description: SqlAlchemy Flask-Restful Swagger Json:API OpenAPI created: '2017-09-20T07:56:55Z' - updated: '2024-01-02T16:37:26Z' + updated: '2024-01-04T16:17:22Z' language: Python archived: false - stars: 394 + stars: 395 watchers: 14 forks: 69 owner: thomaxxl logo: https://avatars.githubusercontent.com/u/4190750?v=4 license: GPL-3.0 - repoEtag: '"b34310b4f5b05fdca249f0424092eb2285e03dc80101416cdde3714685ba4199"' - repoLastModified: Tue, 02 Jan 2024 16:37:26 GMT + repoEtag: '"54563efc163a55f3d09ef28ee6e82f3caf8faa4a3a02b7b3f0d95e1e0cc1a766"' + repoLastModified: Thu, 04 Jan 2024 16:17:22 GMT foundInMaster: true category: Server Implementations id: 1ccc4d969c768f04576d518679fb6489 @@ -8099,17 +8099,17 @@ response status codes and parameters. At the end, it generates the .json file containing the Swagger format specification. created: '2020-04-13T01:37:33Z' - updated: '2024-01-03T04:15:29Z' + updated: '2024-01-04T17:00:25Z' language: JavaScript archived: false - stars: 396 + stars: 397 watchers: 5 forks: 60 owner: swagger-autogen logo: https://avatars.githubusercontent.com/u/137681762?v=4 license: MIT - repoEtag: '"ec13b9c3eeea4490977371c2bb0d9d638643e17bec3b84ff486839637a4f1983"' - repoLastModified: Wed, 03 Jan 2024 04:15:29 GMT + repoEtag: '"069c043ef96631b18457eb9c6bed23ff73ec49f58e1cf34693f8627054745e71"' + repoLastModified: Thu, 04 Jan 2024 17:00:25 GMT category: Parsers foundInMaster: true oldLocations: @@ -8152,17 +8152,17 @@ repositoryId: 293245471 description: Convert between JSON Schema, TypeScript, GraphQL, Open API and SureType created: '2020-09-06T09:40:04Z' - updated: '2024-01-03T13:16:21Z' + updated: '2024-01-05T01:47:43Z' language: TypeScript archived: false - stars: 376 + stars: 377 watchers: 5 forks: 9 owner: grantila logo: https://avatars.githubusercontent.com/u/5362579?v=4 license: MIT - repoEtag: '"82807861d73a79f21590b81e2d16270a84a8d626f71a50e839ff8291f0881045"' - repoLastModified: Wed, 03 Jan 2024 13:16:21 GMT + repoEtag: '"7303f96ad162b2f6d88a1c0df34ca6e5adde76b58c64fd8ea87f6cc8166765fd"' + repoLastModified: Fri, 05 Jan 2024 01:47:43 GMT foundInMaster: true category: Parsers id: 31c759927a7f06228ec927500d9722c5 @@ -8178,16 +8178,16 @@ repositoryId: 417437020 description: A tool for generating code base on an OpenAPI schema. created: '2021-10-15T09:08:51Z' - updated: '2024-01-02T08:53:45Z' + updated: '2024-01-04T15:09:08Z' language: TypeScript archived: false - stars: 370 + stars: 371 watchers: 6 forks: 45 owner: fabien0102 logo: https://avatars.githubusercontent.com/u/1761469?v=4 - repoEtag: '"e82b18aaf48d0c50842e982d66d96e1aefebc109b7e007c10c971445fdaa7151"' - repoLastModified: Tue, 02 Jan 2024 08:53:45 GMT + repoEtag: '"c6cdae11491ebda43aa0015bd98d67ff505c6035c373e5a668cfa7061c932158"' + repoLastModified: Thu, 04 Jan 2024 15:09:08 GMT category: Testing foundInMaster: true - source: openapi3 tags @@ -8258,17 +8258,17 @@ traffic with apidump. Model API behavior with apispec. Compare API behavior with apidiff. created: '2021-02-19T00:43:53Z' - updated: '2024-01-04T03:21:33Z' + updated: '2024-01-04T16:54:56Z' language: Go archived: false - stars: 336 + stars: 337 watchers: 8 forks: 27 owner: akitasoftware logo: https://avatars.githubusercontent.com/u/44328574?v=4 license: Apache-2.0 - repoEtag: '"b75dc472e324ab683dfa6c7af61e8d50773e84ab10a70d21ede4588e3faec049"' - repoLastModified: Thu, 04 Jan 2024 03:21:33 GMT + repoEtag: '"c0ac4a4b111155b2c5960c3d763240eb029c6c46273f6250615cf77e2c766000"' + repoLastModified: Thu, 04 Jan 2024 16:54:56 GMT foundInMaster: true category: - SDK @@ -8423,17 +8423,17 @@ An easy-to-use web framework. Supports both WSGI and ASGI modes. Gevent or asyncio, this is the question. created: '2019-06-14T07:39:36Z' - updated: '2024-01-02T16:55:41Z' + updated: '2024-01-04T16:34:55Z' language: Python archived: false - stars: 277 + stars: 278 watchers: 7 forks: 25 owner: abersheeran logo: https://avatars.githubusercontent.com/u/25364828?v=4 license: Apache-2.0 - repoEtag: '"597db4abaced3f82cd21b315299d34f47ec3fedc6c80ed23a38f3bd9ede8f7f8"' - repoLastModified: Tue, 02 Jan 2024 16:55:41 GMT + repoEtag: '"52ed72950ecfed79fb66720e92d613234f402f9d555d54c0458bd84944e03ef8"' + repoLastModified: Thu, 04 Jan 2024 16:34:55 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -8541,17 +8541,17 @@ API Generator - instantly generate REST and GraphQL APIs (openapi (OAS) 3.0.0) created: '2019-06-02T03:05:54Z' - updated: '2024-01-02T16:55:14Z' + updated: '2024-01-04T16:34:28Z' language: JavaScript archived: false - stars: 234 + stars: 235 watchers: 3 forks: 30 owner: wrannaman logo: https://avatars.githubusercontent.com/u/5325165?v=4 license: MIT - repoEtag: '"c1a2eaaedab8da1082f899cae975df1bb9f3844ce87e283ee3715991bd723f65"' - repoLastModified: Tue, 02 Jan 2024 16:55:14 GMT + repoEtag: '"cd7f13c7715faa200a17c1e15e85c084d1a09b1e7b69666f5ca86b248413ec0a"' + repoLastModified: Thu, 04 Jan 2024 16:34:28 GMT foundInMaster: true category: SDK id: 824dcdea013394109fc958b1d93b91e6 @@ -8567,17 +8567,17 @@ repositoryId: 479982630 description: Clean Architecture Example using FastAPI framework created: '2022-04-10T10:23:51Z' - updated: '2023-12-30T00:52:17Z' + updated: '2024-01-04T15:26:00Z' language: Python archived: false - stars: 229 + stars: 230 watchers: 3 forks: 45 owner: 0xTheProDev logo: https://avatars.githubusercontent.com/u/14367736?v=4 license: MIT - repoEtag: '"27c76e3e23d4aed6fded4745ad636ba1c5c71758d74b4657a148e9e41daf1da1"' - repoLastModified: Sat, 30 Dec 2023 00:52:17 GMT + repoEtag: '"e1543040d8e6193c01ef295f60373b5d99d402275645914130f10ea316542ac5"' + repoLastModified: Thu, 04 Jan 2024 15:26:00 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -8608,7 +8608,7 @@ owner: apicat logo: https://avatars.githubusercontent.com/u/64158984?v=4 license: MIT - repoEtag: '"f609c314ecbe25d8f187767e65f308dac62f4fc023107fd988306a611e4798ac"' + repoEtag: '"bf8ec197d786c02adfc39c8336e00f768f826300e8cfc57bd44b87d8c5854e60"' repoLastModified: Wed, 03 Jan 2024 10:32:06 GMT category: Server Implementations foundInMaster: true @@ -8628,17 +8628,17 @@ "getting started" sections into slideshow for your workshops. Manage multiple documentations with self-deployed znai hub. created: '2016-12-16T16:42:12Z' - updated: '2023-12-06T16:02:50Z' + updated: '2024-01-04T11:07:13Z' language: Java archived: false - stars: 225 + stars: 226 watchers: 12 forks: 13 owner: testingisdocumenting logo: https://avatars.githubusercontent.com/u/54154955?v=4 license: Apache-2.0 - repoEtag: '"f0af96ce5cb378f9348d93be35a43ab94dbbb9cdbe1e4c0f4a68e450ac5b1f31"' - repoLastModified: Wed, 06 Dec 2023 16:02:50 GMT + repoEtag: '"51510fd5e92d163938c39ca394f29876605ec86127876113983afe32a2e75aa6"' + repoLastModified: Thu, 04 Jan 2024 11:07:13 GMT foundInMaster: true category: Documentation id: e96c15d0478cd8c861932cf44e659757 @@ -8648,25 +8648,25 @@ id: 8525db62087986733db0fc4221c4b719 repositoryMetadata: base64Readme: >- - WyFbQXN5bmNBUEkgTW9kZWxpbmFdKC4vZG9jcy9pbWcvcmVhZG1lLWJhbm5lci5wbmcpXShodHRwczovL3d3dy5tb2RlbGluYS5vcmcpClshW2JsYWNrYm94IHBpcGVsaW5lIHN0YXR1c10oPGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2FjdGlvbnMvd29ya2Zsb3cvc3RhdHVzL2FzeW5jYXBpL21vZGVsaW5hL2JsYWNrYm94LXRlc3RpbmcueW1sP2xhYmVsPWJsYWNrYm94JTIwdGVzdGluZz4pXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvYWN0aW9ucy93b3JrZmxvd3MvYmxhY2tib3gtdGVzdGluZy55bWw/cXVlcnk9YnJhbmNoJTNBbWFzdGVyKyspClshW0NvdmVyYWdlIFN0YXR1c10oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vcmVwb3MvZ2l0aHViL2FzeW5jYXBpL21vZGVsaW5hL2JhZGdlLnN2Zz9icmFuY2g9bWFzdGVyKV0oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vZ2l0aHViL2FzeW5jYXBpL21vZGVsaW5hP2JyYW5jaD1tYXN0ZXIpClshW1Byb2plY3QgU3RhdHVzOiBBY3RpdmUg4oCTIFRoZSBwcm9qZWN0IGhhcyByZWFjaGVkIGEgc3RhYmxlLCB1c2FibGUgc3RhdGUgYW5kIGlzIGJlaW5nIGFjdGl2ZWx5IGRldmVsb3BlZC5dKGh0dHBzOi8vd3d3LnJlcG9zdGF0dXMub3JnL2JhZGdlcy9sYXRlc3QvYWN0aXZlLnN2ZyldKGh0dHBzOi8vd3d3LnJlcG9zdGF0dXMub3JnLyNhY3RpdmUpCiFbTWFpbnRlbmFuY2Ugc2NvcmVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbnBtcy1pby9tYWludGVuYW5jZS1zY29yZS9AYXN5bmNhcGkvbW9kZWxpbmEpClshW05wbSBsYXRlc3QgdmVyc2lvbl0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vdi9AYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AYXN5bmNhcGkvbW9kZWxpbmEpClshW0xpY2Vuc2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xpY2Vuc2UvYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvYmxvYi9tYXN0ZXIvTElDRU5TRSkKWyFbbGFzdCBjb21taXRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xhc3QtY29tbWl0L2FzeW5jYXBpL21vZGVsaW5hKV0oaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHMvbWFzdGVyKQpbIVtEaXNjdXNzaW9uc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9naXRodWIvZGlzY3Vzc2lvbnMvYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvZGlzY3Vzc2lvbnMpClshW1dlYnNpdGVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vd2Vic2l0ZT9sYWJlbD13ZWJzaXRlJnVybD1odHRwcyUzQSUyRiUyRnd3dy5tb2RlbGluYS5vcmcpXShodHRwczovL3d3dy5tb2RlbGluYS5vcmcpClshW1BsYXlncm91bmRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vd2Vic2l0ZT9sYWJlbD1wbGF5Z3JvdW5kJnVybD1odHRwcyUzQSUyRiUyRnd3dy5tb2RlbGluYS5vcmclMkZwbGF5Z3JvdW5kKV0oaHR0cHM6Ly93d3cubW9kZWxpbmEub3JnL3BsYXlncm91bmQpIDwhLS0gQUxMLUNPTlRSSUJVVE9SUy1CQURHRTpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KWyFbQWxsIENvbnRyaWJ1dG9yc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9hbGxfY29udHJpYnV0b3JzLTc3LW9yYW5nZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXSgjY29udHJpYnV0b3JzLSkKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUJBREdFOkVORCAtLT4KCllvdXIgb25lLXN0b3AgdG9vbCBmb3IgZ2VuZXJhdGluZyBhY2N1cmF0ZSBhbmQgd2VsbC10ZXN0ZWQgbW9kZWxzIGZvciByZXByZXNlbnRpbmcgdGhlIG1lc3NhZ2UgcGF5bG9hZHMuIFVzZSBpdCBhcyBhIHRvb2wgaW4geW91ciBkZXZlbG9wbWVudCB3b3JrZmxvdywgb3IgYSBsaWJyYXJ5IGluIGEgbGFyZ2VyIGludGVncmF0aW9ucywgZW50aXJlbHkgaW4geW91ciBjb250cm9sLgoKLS0tCgo8IS0tIHRvYyBpcyBnZW5lcmF0ZWQgd2l0aCBHaXRIdWIgQWN0aW9ucyBkbyBub3QgcmVtb3ZlIHRvYyBtYXJrZXJzIC0tPgoKPCEtLSB0b2MgLS0+CgotIFtJbnN0YWxsaW5nIE1vZGVsaW5hXSgjaW5zdGFsbGluZy1tb2RlbGluYSkKLSBbQXN5bmNBUEkgQ0xJXSgjYXN5bmNhcGktY2xpKQotIFtGZWF0dXJlc10oI2ZlYXR1cmVzKQotIFtSZXF1aXJlbWVudHNdKCNyZXF1aXJlbWVudHMpCi0gW0RvY3VtZW50YXRpb25dKCNkb2N1bWVudGF0aW9uKQotIFtFeGFtcGxlc10oI2V4YW1wbGVzKQotIFtWZXJzaW9uaW5nIGFuZCBtYWludGVuYW5jZV0oI3ZlcnNpb25pbmctYW5kLW1haW50ZW5hbmNlKQotIFtEZXZlbG9wbWVudF0oI2RldmVsb3BtZW50KQotIFtDb250cmlidXRpbmddKCNjb250cmlidXRpbmcpCi0gW0NvbnRyaWJ1dG9yc10oI2NvbnRyaWJ1dG9ycykKCjwhLS0gdG9jc3RvcCAtLT4KCiMjIEluc3RhbGxpbmcgTW9kZWxpbmEKClJ1biB0aGlzIGNvbW1hbmQgdG8gaW5zdGFsbCBNb2RlbGluYSBpbiB5b3VyIHByb2plY3Q6CgpgYGBiYXNoCm5wbSBpbnN0YWxsIEBhc3luY2FwaS9tb2RlbGluYQpgYGAKCiMjIEFzeW5jQVBJIENMSQoKSWYgeW91IGhhdmUgdGhlIFtBc3luY0FQSSBDTEkgaW5zdGFsbGVkXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvY2xpI2luc3RhbGxhdGlvbikgKE9OTFkgc3VwcG9ydCBBc3luY0FQSSBpbnB1dHMpLCB5b3UgY2FuIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQgdG8gdXNlIFtNb2RlbGluYV0oaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL2NsaSN1c2FnZSk6CgpgYGBiYXNoCmFzeW5jYXBpIGdlbmVyYXRlIG1vZGVscyA8bGFuZ3VhZ2U+IC4vYXN5bmNhcGkuanNvbgpgYGAKCjxoMiBhbGlnbj0iY2VudGVyIj5XaGF0IERvZXMgTW9kZWxpbmEgRG8/PC9oMj4KCjxwIGFsaWduPSJjZW50ZXIiPk1vZGVsaW5hIHB1dCBZT1UgaW4gY29udHJvbCBvZiB5b3VyIGRhdGEgbW9kZWxzLCBoZXJlIGlzIGhvdy4uLjwvcD4KCjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRyPgogICAgPHRkPjxiPk1vZGVsaW5hIGxldHMgeW91IGdlbmVyYXRlIGRhdGEgbW9kZWxzIGZyb20gbWFueSB0eXBlcyBvZiA8YSBocmVmPSIjaW5wdXRzIj5pbnB1dHM8L2E+PC9iPjwvdGQ+Cjx0ZD4KCmBgYHR5cGVzY3JpcHQKY29uc3QgYXN5bmNhcGkgPSAuLi4KY29uc3QganNvbnNjaGVtYSA9IC4uLgpjb25zdCBvcGVuYXBpID0gLi4uIApjb25zdCBtZXRhbW9kZWwgPSAuLi4gCi4uLgpjb25zdCBtb2RlbHMgPSBhd2FpdCBnZW5lcmF0b3IuZ2VuZXJhdGUoCiAgYXN5bmNhcGkgfCBqc29uc2NoZW1hIHwgb3BlbmFwaSB8IG1ldGFtb2RlbAopOwpgYGAKPC90ZD4KICA8L3RyPgogICAgPHRyPgogICAgPHRkPjxiPlVzZSB0aGUgc2FtZSBpbnB1dHMgYWNyb3NzIGEgcmFuZ2Ugb2YgZGlmZmVyZW50IDxhIGhyZWY9IiNvdXRwdXRzIj5nZW5lcmF0b3JzPC9hPjwvYj48L3RkPgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBUeXBlU2NyaXB0R2VuZXJhdG9yKCk7CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBDc2hhcnBHZW5lcmF0b3IoKTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IEphdmFHZW5lcmF0b3IoKTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IFJ1c3RHZW5lcmF0b3IoKTsKLi4uCmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmBgYAo8L3RkPgogIDwvdHI+CiAgICA8dHI+CiAgICA8dGQ+PGI+RWFzaWx5IGxldCB5b3UgaW50ZXJhY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIG1vZGVscy48L2I+IAoKLSBXYW50IHRvIHNob3cgdGhlIGdlbmVyYXRlZCBtb2RlbHMgb24gYSB3ZWJzaXRlPyBTdXJlISAKLSBXYW50IHRvIGdlbmVyYXRlIHRoZSBtb2RlbHMgaW50byBmaWxlcz8gU3VyZSEgCi0gV2FudCB0byBjb21iaW5lIGFsbCB0aGUgbW9kZWxzIGludG8gb25lIHNpbmdsZSBmaWxlPyBTdXJlISAKCldoYXRldmVyIGludGVyYWN0aW9uIHlvdSBuZWVkLCB5b3UgY2FuIGNyZWF0ZS48L3RkPgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmZvciAoY29uc3QgbW9kZWwgaW4gbW9kZWxzKSB7IAogIGNvbnN0IGdlbmVyYXRlZENvZGUgPSBnZW5lcmF0ZWRNb2RlbC5yZXN1bHQ7CiAgY29uc3QgZGVwZW5kZW5jaWVzID0gZ2VuZXJhdGVkTW9kZWwuZGVwZW5kZW5jaWVzOwogIGNvbnN0IG1vZGVsdHlwZSA9IGdlbmVyYXRlZE1vZGVsLm1vZGVsLnR5cGU7CiAgY29uc3QgbW9kZWxOYW1lID0gZ2VuZXJhdGVkTW9kZWwubW9kZWxOYW1lOwogIC4uLgp9CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPkVhc2lseSBtb2RpZnkgaG93IG1vZGVscyBhcmUgPGEgaHJlZj0iLi9kb2NzL2NvbnN0cmFpbnRzLm1kIj5jb25zdHJhaW5lZDwvYT4gaW50byB0aGUgb3V0cHV0PC9iPjwvdGQ+Cgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBUeXBlU2NyaXB0R2VuZXJhdG9yKHsKICBjb25zdHJhaW50czogewogICAgbW9kZWxOYW1lOiAoe21vZGVsTmFtZX0pID0+IHsKICAgICAgLy8gSW1wbGVtZW50IHlvdXIgb3duIGNvbnN0cmFpbmluZyBsb2dpYwogICAgICByZXR1cm4gbW9kZWxOYW1lOwogICAgfQogIH0KfSk7CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPlNlYW1sZXNzbHkgbGF5ZXIgYWRkaXRpb25hbCBvciByZXBsYWNlbWVudCBjb2RlIDxhIGhyZWY9Ii4vZG9jcy9wcmVzZXRzLm1kIj5vbiB0b3Agb2YgZWFjaCBvdGhlciB0byBjdXN0b21pemUgdGhlIG1vZGVsczwvYT4gdG8geW91ciB1c2UtY2FzZTwvYj48L3RkPgoKPHRkPgoKYGBgdHlwZXNjcmlwdApjb25zdCBnZW5lcmF0b3IgPSBuZXcgVHlwZVNjcmlwdEdlbmVyYXRvcih7CiAgcHJlc2V0czogWwogICAgewogICAgICBjbGFzczogewogICAgICAgIGFkZGl0aW9uYWxDb250ZW50KHsgY29udGVudCB9KSB7CiAgICAgICAgICByZXR1cm4gYCR7Y29udGVudH0KcHVibGljIG15Q3VzdG9tRnVuY3Rpb24oKTogc3RyaW5nIHsKICByZXR1cm4gJ0EgY3VzdG9tIGZ1bmN0aW9uIGZvciBlYWNoIGNsYXNzJzsKfWA7CiAgICAgICAgfSwKICAgICAgfQogICAgfQogIF0KfSk7CmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPlNlYW1sZXNzbHkgbGV0cyB5b3UgPGEgaHJlZj0iLi9kb2NzL3ByZXNldHMubWQiPmNvbWJpbmUgbXVsdGlwbGUgbGF5ZXJzIG9mIGFkZGl0aW9uYWwgb3IgcmVwbGFjZW1lbnQgY29kZTwvYT48L2I+PC90ZD4KCjx0ZD4KCmBgYHR5cGVzY3JpcHQKY29uc3QgbXlDdXN0b21GdW5jdGlvbjEgPSB7CiAgY2xhc3M6IHsKICAgIGFkZGl0aW9uYWxDb250ZW50KHsgY29udGVudCB9KSB7CiAgICAgIHJldHVybiBgJHtjb250ZW50fQpwdWJsaWMgbXlDdXN0b21GdW5jdGlvbigpOiBzdHJpbmcgewpyZXR1cm4gJ0EgY3VzdG9tIGZ1bmN0aW9uIGZvciBlYWNoIGNsYXNzJzsKfWA7CiAgICB9LAogIH0KfTsKY29uc3QgbXlDdXN0b21GdW5jdGlvbjIgPSB7Li4ufTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IFR5cGVTY3JpcHRHZW5lcmF0b3IoewogIHByZXNldHM6IFsKICAgIG15Q3VzdG9tRnVuY3Rpb24xLAogICAgbXlDdXN0b21GdW5jdGlvbjIKICBdCn0pOwpjb25zdCBtb2RlbHMgPSBhd2FpdCBnZW5lcmF0b3IuZ2VuZXJhdGUoaW5wdXQpOwpgYGAKPC90ZD4KICA8L3RyPgo8L3RhYmxlPgoKIyMgRmVhdHVyZXMKClRoZSBmb2xsb3dpbmcgdGFibGUgcHJvdmlkZXMgYSBzaG9ydCBzdW1tYXJ5IG9mIGF2YWlsYWJsZSBmZWF0dXJlcyBmb3Igc3VwcG9ydGVkIG91dHB1dCBsYW5ndWFnZXMuIFRvIHNlZSB0aGUgY29tcGxldGUgZmVhdHVyZSBsaXN0IGZvciBlYWNoIGxhbmd1YWdlLCBwbGVhc2UgY2xpY2sgdGhlIGluZGl2aWR1YWwgbGlua3MgZm9yIGVhY2ggbGFuZ3VhZ2UuCgo8YSBpZD0iaW5wdXRzIj48L2E+Cgo8IS0tIHByZXR0aWVyLWlnbm9yZS1zdGFydCAtLT4KPCEtLSBtYXJrZG93bmxpbnQtZGlzYWJsZSAtLT4KPHRhYmxlPgogIDx0cj4KICAgIDx0aD5TdXBwb3J0ZWQgaW5wdXRzPC90aD4KICAgIDx0aD48L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbHMtZnJvbS1hc3luY2FwaS1kb2N1bWVudHMiPkFzeW5jQVBJPC9hPjwvdGQ+CiAgICA8dGQ+V2Ugc3VwcG9ydCB0aGUgZm9sbG93aW5nIEFzeW5jQVBJIHZlcnNpb25zOiA8ZW0+Mi4wLjAgLT4gMi42LjA8L2VtPiwgd2hpY2ggZ2VuZXJhdGVzIG1vZGVscyBmb3IgYWxsIHRoZSBkZWZpbmVkIG1lc3NhZ2UgcGF5bG9hZHMuIEl0IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc2NoZW1hRm9ybWF0cyBBc3luY0FQSSBTY2hlbWEgb2JqZWN0LCBKU09OIFNjaGVtYSBkcmFmdCA3LCA8YSBocmVmPSIuL2V4YW1wbGVzL2FzeW5jYXBpLWF2cm8tc2NoZW1hIj5BVlJPIDEuOTwvYT4sIDxhIGhyZWY9Ii4vZXhhbXBsZXMvYXN5bmNhcGktcmFtbC1zY2hlbWEiPlJBTUwgMS4wIGRhdGEgdHlwZTwvYT4sIGFuZCA8YSBocmVmPSIuL2V4YW1wbGVzL2FzeW5jYXBpLW9wZW5hcGktc2NoZW1hIj5PcGVuQVBJIDMuMCBTY2hlbWE8L2E+LjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLWpzb24tc2NoZW1hLWRvY3VtZW50cyI+SlNPTiBTY2hlbWE8L2E+PC90ZD4KICAgIDx0ZD5XZSBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgSlNPTiBTY2hlbWEgdmVyc2lvbnM6IDxlbT5EcmFmdC00LCBEcmFmdC02IGFuZCBEcmFmdC03PC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPk9wZW5BUEk8L3RkPgogICAgPHRkPldlIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBPcGVuQVBJIHZlcnNpb25zOiA8ZW0+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLXN3YWdnZXItMjAtZG9jdW1lbnRzIj5Td2FnZ2VyIDIuMDwvYT4gYW5kIDxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbHMtZnJvbS1vcGVuYXBpLWRvY3VtZW50cyI+T3BlbkFQSSAzLjA8L2E+PC9lbT4sIHdoaWNoIGdlbmVyYXRlcyBtb2RlbHMgZm9yIGFsbCB0aGUgZGVmaW5lZCByZXF1ZXN0IGFuZCByZXNwb25zZSBwYXlsb2Fkcy48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbC1mcm9tLXR5cGVzY3JpcHQtdHlwZS1maWxlcyI+VHlwZVNjcmlwdDwvYT48L3RkPgogICAgPHRkPldlIGN1cnJlbnRseSBzdXBwb3J0IFR5cGVTY3JpcHQgdHlwZXMgYXMgZmlsZSBpbnB1dCBmb3IgbW9kZWwgZ2VuZXJhdGlvbjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLW1ldGEtbW9kZWxzIj5NZXRhIG1vZGVsPC9hPjwvdGQ+CiAgICA8dGQ+VGhpcyBpcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2YgYSBtb2RlbCBmb3IgTW9kZWxpbmEsIGl0IGlzIHdoYXQgaW5wdXRzIGdldHMgY29udmVydGVkIHRvLCBhbmQgd2hhdCBnZW5lcmF0b3JzIGFyZSBwcm92aWRlZCB0byBnZW5lcmF0ZSBjb2RlLiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gYW4gaW5wdXQgcHJvY2Vzc29yLCB5b3UgY2FuIGNyZWF0ZSB5b3VyIG93biBtb2RlbHMgZnJvbSBzY3JhdGNoIGFuZCBzdGlsbCB0YWtlIGFkdmFudGFnZSBvbiB0aGUgZ2VuZXJhdG9ycyBhbmQgdGhlIGZlYXR1cmVzLjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KCjxhIGlkPSJvdXRwdXRzIj48L2E+CjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRyPgogICAgPHRoPlN1cHBvcnRlZCBvdXRwdXRzPC90aD4KICAgIDx0aD48L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1qYXZhLW1vZGVscyI+SmF2YTwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5nZW5lcmF0aW9uIG9mIGVxdWFscywgaGFzaENvZGUsIHRvU3RyaW5nLCBKYWNrc29uIGFubm90YXRpb24sIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGM8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXR5cGVzY3JpcHQtbW9kZWxzIj5UeXBlU2NyaXB0PC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MsIGludGVyZmFjZSBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Z2VuZXJhdGlvbiBvZiBleGFtcGxlIGNvZGUsIHVuL21hcnNoYWwgZnVuY3Rpb25zLCBjdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1jIy1tb2RlbHMiPkMjPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPmdlbmVyYXRpb24gb2YgZXhhbXBsZSBjb2RlLCBzZXJpYWxpemVyIGFuZCBkZXNlcmlhbGl6ZXIgZnVuY3Rpb25zLCBjdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1nby1tb2RlbHMiPkdvPC9hPjwvdGQ+CiAgICA8dGQ+U3RydWN0IGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjIDwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUtamF2YXNjcmlwdC1tb2RlbHMiPkphdmFTY3JpcHQ8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBnZW5lcmF0aW9uOiA8ZW0+Y3VzdG9tIGluZGVudGF0aW9uIHR5cGUgYW5kIHNpemUsIGV0YzwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUtZGFydC1tb2RlbHMiPkRhcnQ8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBhbmQgZW51bSBnZW5lcmF0aW9uOiBqc29uX2Fubm90YXRpb248L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1ydXN0LW1vZGVscyI+UnVzdDwvYT48L3RkPgogICAgPHRkPlN0cnVjdC90dXBsZSBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Z2VuZXJhdGlvbiBvZiBgaW1wbGVtZW50IERlZmF1bHRgLCBnZW5lcmF0ZSBzZXJkZSBtYWNyb3MsIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGM8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXB5dGhvbi1tb2RlbHMiPlB5dGhvbjwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjIDwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUta290bGluLW1vZGVscyI+S290bGluPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPnVzZSBvZiBkYXRhIGNsYXNzZXMgd2hlcmUgYXBwcm9wcmlhdGUsIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGMgPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1jcGx1c3BsdXMtbW9kZWxzIj5DKys8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Y3VzdG9tIGluZGVudGF0aW9uIHR5cGUgYW5kIHNpemUsIGV0YyA8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXBocC1tb2RlbHMiPlBIUDwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZGVzY3JpcHRpb25zLCBldGMgPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1zY2FsYS1tb2RlbHMiPlNjYWxhPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPmN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBkZXNjcmlwdGlvbnMsIGV0YyA8L2VtPjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KCiMjIFJlcXVpcmVtZW50cwpUaGUgZm9sbG93aW5nIGFyZSBhIHJlcXVpcmVtZW50IGluIG9yZGVyIHRvIHVzZSBNb2RlbGluYS4KCi0gW05vZGVKU10oaHR0cHM6Ly9ub2RlanMub3JnL2VuLykgPj0gMTgKCiMjIERvY3VtZW50YXRpb24KQSBmZWF0dXJlIGluIE1vZGVsaW5hIGNhbm5vdCBleGlzdHMgd2l0aG91dCBhbiBleGFtcGxlIGFuZCBkb2N1bWVudGF0aW9uIGZvciBpdC4gWW91IGNhbiBmaW5kIGFsbCB0aGUgW2RvY3VtZW50YXRpb24gaGVyZV0oLi9kb2NzL1JFQURNRS5tZCkuCgojIyBFeGFtcGxlcwpEbyB5b3UgbmVlZCB0byBrbm93IGhvdyB0byB1c2UgdGhlIGxpYnJhcnkgaW4gY2VydGFpbiBzY2VuYXJpb3M/IAoKV2UgaGF2ZSBnYXRoZXJlZCBhbGwgdGhlIGV4YW1wbGVzIGluIGEgc2VwYXJhdGUgZm9sZGVyIGFuZCB0aGV5IGNhbiBiZSBmb3VuZCB1bmRlciB0aGUgW2V4YW1wbGVzIGZvbGRlcl0oLi9leGFtcGxlcykuIAoKIyMgVmVyc2lvbmluZyBhbmQgbWFpbnRlbmFuY2UKQXMgb2YgdmVyc2lvbiAxLCBNb2RlbGluYSBoYXMgYSB2ZXJ5IHN0cmljdCBzZXQgb2YgY2hhbmdlcyB3ZSBhcmUgYWxsb3dlZCB0byBkbyBiZWZvcmUgaXQgcmVxdWlyZXMgYSBtYWpvciB2ZXJzaW9uIGNoYW5nZS4gSW4gc2hvcnQsIGFueSBjaGFuZ2VzIHRoYXQgY2hhbmdlIHRoZSBnZW5lcmF0ZWQgb3V0Y29tZSBhcmUgbm90IGFsbG93ZWQgYXMgaXQncyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgdGhlIGNvbnN1bWVyIG9mIHRoZSBnZW5lcmF0ZWQgbW9kZWxzLiAKCkhlcmUgaXMgYSBsaXN0IG9mIGNoYW5nZXMgd2UgYXJlIGFsbG93ZWQgdG8gZG8gdGhhdCB3b3VsZCBub3QgcmVxdWlyZSBhIGJyZWFraW5nIGNoYW5nZToKLSBBZGRpbmcgbmV3IGZlYXR1cmVzICh0aGF0IGRvIG5vdCBjaGFuZ2UgZXhpc3Rpbmcgb3V0cHV0KSwgc3VjaCBhcyBnZW5lcmF0b3JzLCBwcmVzZXRzLCBpbnB1dCBwcm9jZXNzb3JzLCBldGMuCi0gQ2hhbmdlIGV4aXN0aW5nIGZlYXR1cmVzLCBieSBwcm92aWRpbmcgb3B0aW9ucyB0aGF0IGRlZmF1bHQgdG8gY3VycmVudCBiZWhhdmlvci4gVGhpcyBjb3VsZCBiZSBhIHByZXNldCB0aGF0IGFkYXB0cyB0aGUgb3V0cHV0IGJhc2VkIG9uIG9wdGlvbnMsIGFzIGxvbmcgYXMgdGhlIEFQSSBvZiBNb2RlbGluYSBhbmQgdGhlIEFQSSBvZiB0aGUgZ2VuZXJhdGVkIG1vZGVscyBkb2VzIG5vdCBoYXZlIGFueSBicmVha2luZyBjaGFuZ2VzLgotIEJ1ZyBmaXhlcyB3aGVyZSB0aGUgZ2VuZXJhdGVkIGNvZGUgaXMgb3RoZXJ3aXNlIHVudXNhYmxlIChzeW50YXggZXJyb3JzLCBldGMpLgoKQnJlYWtpbmcgY2hhbmdlcyBhcmUgYWxsb3dlZCBhbmQgZXhwZWN0ZWQgYXQgYSBmcmVxdWVudCByYXRlLCBvZiBjb3Vyc2Ugd2hlcmUgaXQgbWFrZXMgc2Vuc2Ugd2Ugd2lsbCB0cnkgdG8gYnVuZGxlIG11bHRpcGxlIGNoYW5nZXMgdG9nZXRoZXIuCgpXZSBvZiBjb3Vyc2Ugd2lsbCBkbyBvdXIgYmVzdCB0byB1cGhvbGQgdGhpcywgYnV0IG1pc3Rha2VzIGNhbiBoYXBwZW4sIGFuZCBpZiB5b3Ugbm90aWNlIGFueSBicmVha2luZyBjaGFuZ2VzIHBsZWFzZSBsZXQgdXMga25vdyEKCkJlY2F1c2Ugb2YgdGhlIG51bWJlciBvZiB0aGUgbGltaXRlZCBudW1iZXIgb2YgY2hhbXBpb25zLCBvbmx5IHRoZSBtb3N0IHJlY2VudCBtYWpvciB2ZXJzaW9uIHdpbGwgYmUgbWFpbnRhaW5lZC4KCk1ham9yIHZlcnNpb25zIGFyZSBjdXJyZW50bHkgaGFwcGVuaW5nIGF0IGEgMy1tb250aCBjYWRlbmNlIChpbiBhIHNpbWlsYXIgZmFzaGlvbiBhcyB0aGUgQXN5bmNBUEkgc3BlY2lmaWNhdGlvbiksIHRoaXMgd2lsbCBoYXBwZW4gaW4gSmFudWFyeSwgQXByaWwsIEp1bmUsIGFuZCBTZXB0ZW1iZXIuIAoKIyMgRGV2ZWxvcG1lbnQKV2UgdHJ5IHRvIG1ha2UgaXQgYXMgZWFzeSBmb3IgeW91IGFzIHBvc3NpYmxlIHRvIHNldCB1cCB5b3VyIGRldmVsb3BtZW50IGVudmlyb25tZW50IHRvIGNvbnRyaWJ1dGUgdG8gTW9kZWxpbmEuIFlvdSBjYW4gZmluZCB0aGUgZGV2ZWxvcG1lbnQgZG9jdW1lbnRhdGlvbiBbaGVyZV0oLi9kb2NzL2RldmVsb3BtZW50Lm1kKS4KCiMjIENvbnRyaWJ1dGluZwpXaXRob3V0IGNvbnRyaWJ1dGlvbnMsIE1vZGVsaW5hIHdvdWxkIG5vdCBleGlzdCwgaXQncyBhIGNvbW11bml0eSBwcm9qZWN0IHdlIGJ1aWxkIHRvZ2V0aGVyIHRvIGNyZWF0ZSB0aGUgYmVzdCBwb3NzaWJsZSBidWlsZGluZyBibG9ja3MsIGFuZCB3ZSBkbyB0aGlzIHRocm91Z2ggW2NoYW1waW9uc10oLi9kb2NzL2NoYW1waW9ucy5tZCkuCgpXZSBoYXZlIG1hZGUgcXVpdGUgYSBbY29tcHJlaGVuc2l2ZSBjb250cmlidXRpb24gZ3VpZGVdKC4vZG9jcy9jb250cmlidXRpbmcubWQpIHRvIGdpdmUgeW91IGEgbGVuZGluZyBoYW5kIGluIGhvdyBkaWZmZXJlbnQgZmVhdHVyZXMgYW5kIGNoYW5nZXMgYXJlIGludHJvZHVjZWQuCgpJZiBubyBkb2N1bWVudGF0aW9uIGhlbHBzIHlvdSwgaGVyZSBpcyBob3cgeW91IGNhbiByZWFjaCBvdXQgdG8gZ2V0IGhlbHA6Ci0gT24gdGhlIFtvZmZpY2lhbCBBc3ljbkFQSSBzbGFja10oaHR0cHM6Ly9hc3luY2FwaS5jb20vc2xhY2staW52aXRlKSB1bmRlciB0aGUgYCMwNF90b29saW5nYCBjaGFubmVsCi0gVGFnIGEgc3BlY2lmaWMgW0NPREVPV05FUl0oLi9DT0RFT1dORVJTKSBpbiB5b3VyIFBSCi0gR2VuZXJhbGx5LCBpdCdzIGFsd2F5cyBhIGdvb2QgaWRlYSB0byBkbyBldmVyeXRoaW5nIGluIHB1YmxpYywgYnV0IGluIHNvbWUgY2FzZXMsIGl0IG1pZ2h0IG5vdCBiZSBwb3NzaWJsZS4gSW4gdGhvc2UgY2lyY3Vtc3RhbmNlcyB5b3UgY2FuIGNvbnRhY3QgdGhlIGZvbGxvd2luZzogCiAgLSBbam9uYXNsYWdvbmldKGh0dHBzOi8vZ2l0aHViLmNvbS9qb25hc2xhZ29uaSkgKG9uIFtBc3luY0FQSSBTbGFja10oaHR0cHM6Ly9hc3luY2FwaS5jb20vc2xhY2staW52aXRlKSwgW1R3aXR0ZXJdKGh0dHBzOi8vdHdpdHRlci5jb20vam9uYXNsYWdvbmkpLCBbRW1haWxdKG1haWx0bzpqb25hcy1sdEBsaXZlLmRrKSwgW0xpbmtlZEluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vam9uYXNsYWdvbmkvKSkKCiMjIENvbnRyaWJ1dG9ycyAKClRoYW5rcyBnbyBvdXQgdG8gdGhlc2Ugd29uZGVyZnVsIHBlb3BsZSAoW2Vtb2ppIGtleV0oaHR0cHM6Ly9hbGxjb250cmlidXRvcnMub3JnL2RvY3MvZW4vZW1vamkta2V5KSk6Cgo8IS0tIEFMTC1DT05UUklCVVRPUlMtTElTVDpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KPCEtLSBwcmV0dGllci1pZ25vcmUtc3RhcnQgLS0+CjwhLS0gbWFya2Rvd25saW50LWRpc2FibGUgLS0+Cjx0YWJsZT4KICA8dGJvZHk+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21hZ2ljbWF0YXRqYWh1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIwNDA0OTQ1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJNYWNpZWogVXJiYcWEY3p5ayIvPjxiciAvPjxzdWI+PGI+TWFjaWVqIFVyYmHFhGN6eWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FtYWdpY21hdGF0amFodSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjaWRlYXMtbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1tYWdpY21hdGF0amFodSIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSIjcXVlc3Rpb24tbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJBbnN3ZXJpbmcgUXVlc3Rpb25zIj7wn5KsPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2N6bG93aWVrNDg4Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM0NjIwMTA5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJjemxvd2llazQ4OCIvPjxiciAvPjxzdWI+PGI+Y3psb3dpZWs0ODg8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0Fjemxvd2llazQ4OCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBY3psb3dpZWs0ODgiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPiA8YSBocmVmPSIjaWRlYXMtY3psb3dpZWs0ODgiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc21veWEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTA4MzI5Nj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2VyZ2lvIE1veWEiLz48YnIgLz48c3ViPjxiPlNlcmdpbyBNb3lhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc21veWEiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQXNtb3lhIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qb25hc2xhZ29uaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMzM5NjE4OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iSm9uYXMgTGFnb25pIi8+PGJyIC8+PHN1Yj48Yj5Kb25hcyBMYWdvbmk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0Fqb25hc2xhZ29uaSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjaWRlYXMtam9uYXNsYWdvbmkiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1qb25hc2xhZ29uaSIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSIjcXVlc3Rpb24tam9uYXNsYWdvbmkiIHRpdGxlPSJBbnN3ZXJpbmcgUXVlc3Rpb25zIj7wn5KsPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBam9uYXNsYWdvbmkiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9kZXYudG8vZGVyYmVyZyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82OTk1OTI3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJMdWthc3ogR29ybmlja2kiLz48YnIgLz48c3ViPjxiPkx1a2FzeiBHb3JuaWNraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRlcmJlcmciIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBZGVyYmVyZyIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGVyYmVyZyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXJqdW5nYXJnMDciPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTMwMDk3MjI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFyanVuIEdhcmciLz48YnIgLz48c3ViPjxiPkFyanVuIEdhcmc8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcmp1bmdhcmcwNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwOi8vd3d3LmZtdmlsYXMuY29tIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI0MjExOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRnJhbiBNw6luZGV6Ii8+PGJyIC8+PHN1Yj48Yj5GcmFuIE3DqW5kZXo8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9wdWxscz9xPWlzJTNBcHIrcmV2aWV3ZWQtYnklM0FmbXZpbGFzIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vQmxha2VsaXN0NyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NDUyNTk2MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iS2Fud2FsIFNpbmdoIi8+PGJyIC8+PHN1Yj48Yj5LYW53YWwgU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1CbGFrZWxpc3Q3IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxlamFuZHJhcXVldHphbGxpLmNvbSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xOTk2NDQwMj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQWxlamFuZHJhIFF1ZXR6YWxsaSAiLz48YnIgLz48c3ViPjxiPkFsZWphbmRyYSBRdWV0emFsbGkgPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBYWxlcXVldHphbGxpIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFsZXF1ZXR6YWxsaSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbWQtc2FpZi1odXNhaW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzA2ODI5Njg/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik1EIFNBSUYgIEhVU0FJTiIvPjxiciAvPjxzdWI+PGI+TUQgU0FJRiAgSFVTQUlOPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjZXhhbXBsZS1tZC1zYWlmLWh1c2FpbiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9zdWRpcHRvLmdob3NoLnBybyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMTIzMjk0MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU3VkaXB0byBHaG9zaCIvPjxiciAvPjxzdWI+PGI+U3VkaXB0byBHaG9zaDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2V4YW1wbGUtc3VkaXB0b2c4MSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9c3VkaXB0b2c4MSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1zdWRpcHRvZzgxIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9wYW53YXV1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzYyNTk3MjIzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJwYW53YXV1Ii8+PGJyIC8+PHN1Yj48Yj5wYW53YXV1PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cGFud2F1dSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1wYW53YXV1IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtcGFud2F1dSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cGFud2F1dSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FwYW53YXV1IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vc3RlZmFuZW1heWVyLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTAzMTk1MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU3RlZmFuIEUuIE1heWVyIi8+PGJyIC8+PHN1Yj48Yj5TdGVmYW4gRS4gTWF5ZXI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FzdGVmYW5lcndpbm1heWVyIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vSGFzaFRhbG1peiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NTAxODI4MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iVGFsbWl6IEFobWVkIi8+PGJyIC8+PHN1Yj48Yj5UYWxtaXogQWhtZWQ8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1IYXNoVGFsbWl6IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUhhc2hUYWxtaXoiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1IYXNoVGFsbWl6IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1RoYW5rc0ZvckFsbFRoZUZpc2giPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjE2OTY1NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWFyY28iLz48YnIgLz48c3ViPjxiPk1hcmNvPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBVGhhbmtzRm9yQWxsVGhlRmlzaCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3F1YWRycmVtIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzg0NTA4NzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InF1YWRycmVtIi8+PGJyIC8+PHN1Yj48Yj5xdWFkcnJlbTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXF1YWRycmVtIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXF1YWRycmVtIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8va2Fta28uZGV2Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE3MDc0Mzc1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJLYW1pbCBKYW5lxI1layIvPjxiciAvPjxzdWI+PGI+S2FtaWwgSmFuZcSNZWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1rYW1rbyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FrYW1rbyIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9a2Fta28iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21haGFrcG9yd2FsMDIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTY0ODY2ODI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Im1haGFrcG9yd2FsMDIiLz48YnIgLz48c3ViPjxiPm1haGFrcG9yd2FsMDI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNleGFtcGxlLW1haGFrcG9yd2FsMDIiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW1haGFrcG9yd2FsMDIiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFoYWtwb3J3YWwwMiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1tYWhha3BvcndhbDAyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9yb24tZGViYWp5b3RpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyNTcxNjY0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZWJhanlvdGkgSGFsZGVyIi8+PGJyIC8+PHN1Yj48Yj5EZWJhanlvdGkgSGFsZGVyPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cm9uLWRlYmFqeW90aSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yb24tZGViYWp5b3RpIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXJvbi1kZWJhanlvdGkiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1yb24tZGViYWp5b3RpIiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1yb24tZGViYWp5b3RpIiB0aXRsZT0iTWFpbnRlbmFuY2UiPvCfmqc8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3JpdGlrMzA3LmdpdGh1Yi5pby9wb3J0Zm9saW8vIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyMzc0ODI5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJSaXRpayBSYXdhbCIvPjxiciAvPjxzdWI+PGI+Uml0aWsgUmF3YWw8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLXJpdGlrMzA3IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vSXNoYW4tU2FpbmkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTQ1MjU2MDI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IklzaGFuIi8+PGJyIC8+PHN1Yj48Yj5Jc2hhbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUlzaGFuLVNhaW5pIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUlzaGFuLVNhaW5pIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3NhbXJpZGhpLTk4LmdpdGh1Yi5pby9Qb3J0Zm9saW8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTQ0NjYwNDE/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlNhbXJpZGRoaSIvPjxiciAvPjxzdWI+PGI+U2FtcmlkZGhpPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1TYW1yaWRoaS05OCIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtU2FtcmlkaGktOTgiIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9nYWJvcm1hZ3lhciI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82MzM5NzMwMz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iR8OhYm9yIE1hZ3lhciIvPjxiciAvPjxzdWI+PGI+R8OhYm9yIE1hZ3lhcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtZ2Fib3JtYWd5YXIiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pYmVybmFiZXVkZXYiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzQyMTUwNzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImliZXJuYWJldWRldiIvPjxiciAvPjxzdWI+PGI+aWJlcm5hYmV1ZGV2PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aWJlcm5hYmV1ZGV2IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWliZXJuYWJldWRldiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWliZXJuYWJldWRldiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aWJlcm5hYmV1ZGV2IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zbG93aWtvd3NraWFya2FkaXVzeiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85NzUwODkzMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQXJrYWRpdXN6IFPFgm93aWtvd3NraSIvPjxiciAvPjxzdWI+PGI+QXJrYWRpdXN6IFPFgm93aWtvd3NraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtc2xvd2lrb3dza2lhcmthZGl1c3oiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5Z2VucyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNTgyMzE4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJXaWxsZW0gR2lsbGlzIi8+PGJyIC8+PHN1Yj48Yj5XaWxsZW0gR2lsbGlzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UG9seWdlbnMiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UG9seWdlbnMiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBUG9seWdlbnMiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ybWFzYXJvdmljIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1MjI4MzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InJtYXNhcm92aWMiLz48YnIgLz48c3ViPjxiPnJtYXNhcm92aWM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1ybWFzYXJvdmljIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXJtYXNhcm92aWMiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cm1hc2Fyb3ZpYyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLXJtYXNhcm92aWMiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9vd2FpczM0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM3MjM4NzU5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJPd2FpcyBIYXNuYXRoIEFobWVkIi8+PGJyIC8+PHN1Yj48Yj5Pd2FpcyBIYXNuYXRoIEFobWVkPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9b3dhaXMzNCIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1vd2FpczM0IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW93YWlzMzQiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QYW5NYW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTc4NTAxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQYW5NYW4iLz48YnIgLz48c3ViPjxiPlBhbk1hbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVBhbk1hbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXJ0dXItY2lvY2FudSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83NDMxOTI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImFydHVyLWNpb2NhbnUiLz48YnIgLz48c3ViPjxiPmFydHVyLWNpb2NhbnU8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnR1ci1jaW9jYW51IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2lzc3Vlcz9xPWF1dGhvciUzQWFydHVyLWNpb2NhbnUiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtYXJ0dXItY2lvY2FudSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9YXJ0dXItY2lvY2FudSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnR1ci1jaW9jYW51IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI21haW50ZW5hbmNlLWFydHVyLWNpb2NhbnUiIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vbWljcm8tanVtYm8uZXUvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTExNjk3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJDeXByaWFuIEdyYWN6Ii8+PGJyIC8+PHN1Yj48Yj5DeXByaWFuIEdyYWN6PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWljcm8tanVtYm8iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWljcm8tanVtYm8iIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBbWljcm8tanVtYm8iIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnByaW50bmFubnkuYWkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjYwMTgxOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTGVpZ2ggSm9obnNvbiIvPjxiciAvPjxzdWI+PGI+TGVpZ2ggSm9obnNvbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWxlaWdoLWpvaG5zb24iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bGVpZ2gtam9obnNvbiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWxlaWdoLWpvaG5zb24iIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWxlaWdoLWpvaG5zb24iIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtbGVpZ2gtam9obnNvbiIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBbGVpZ2gtam9obnNvbiIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbml0aW50ZWp1amEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTUzNDc5MjQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik5pdGluIFRlanVqYSIvPjxiciAvPjxzdWI+PGI+Tml0aW4gVGVqdWphPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bml0aW50ZWp1amEiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1uaXRpbnRlanVqYSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2tlbm5ldGhhYXNhbiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDM3Mzk0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJLZW5uZXRoIEFhc2FuIi8+PGJyIC8+PHN1Yj48Yj5LZW5uZXRoIEFhc2FuPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9a2VubmV0aGFhc2FuIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWtlbm5ldGhhYXNhbiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1rZW5uZXRoYWFzYW4iIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWtlbm5ldGhhYXNhbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW1pdC1rc2giPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTE5NDcwMzc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFtaXQgS3VtYXIgU2hhcm1hIi8+PGJyIC8+PHN1Yj48Yj5BbWl0IEt1bWFyIFNoYXJtYTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFtaXQta3NoIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFtaXQta3NoIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtYW1pdC1rc2giIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vemF5dHNldmFuZCI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81MjA3NzQ4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmRyZXkgWmF5dHNldiIvPjxiciAvPjxzdWI+PGI+QW5kcmV5IFpheXRzZXY8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj16YXl0c2V2YW5kIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtemF5dHNldmFuZCIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9emF5dHNldmFuZCIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj16YXl0c2V2YW5kIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jb2Rpbmd0ZW5zaGkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE2Mzc3NjMwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJUZW5zaGkgQ29kZXMiLz48YnIgLz48c3ViPjxiPlRlbnNoaSBDb2RlczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2luZnJhLWNvZGluZ3RlbnNoaSIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly95dXNoaW9tb3RlLm9yZy8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzczMzkxNT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iWXVzaGkgT01PVEUiLz48YnIgLz48c3ViPjxiPll1c2hpIE9NT1RFPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBWXVzaGlPTU9URSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9WXVzaGlPTU9URSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL21hbGNoZXJjenlrLnBsIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE3NTM0NTA0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJaYmlnbmlldyBNYWxjaGVyY3p5ayIvPjxiciAvPjxzdWI+PGI+WmJpZ25pZXcgTWFsY2hlcmN6eWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FGZXJyb3IiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2luZnJhLUZlcnJvciIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUZlcnJvciIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9IiNleGFtcGxlLUZlcnJvciIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9RmVycm9yIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQUZlcnJvciIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vMjAwUHVscyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82OTE4MzYwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSIyMDBQdWxzIi8+PGJyIC8+PHN1Yj48Yj4yMDBQdWxzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9MjAwUHVscyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj0yMDBQdWxzIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vbGlua3RyLmVlL2FuYXlzYXJrYXI3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUzMzQxMTgxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmF5IFNhcmthciIvPjxiciAvPjxzdWI+PGI+QW5heSBTYXJrYXI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNleGFtcGxlLWFuYXlzYXJrYXI3IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmF5c2Fya2FyNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmF5c2Fya2FyNyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTG91aXNYaGFmZXJpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUyMzk3Njc3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJMb3VpcyBYaGFmZXJpIi8+PGJyIC8+PHN1Yj48Yj5Mb3VpcyBYaGFmZXJpPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9TG91aXNYaGFmZXJpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2FtYmhhdmd1cHRhMDcwNSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS84MTg3MDg2Nj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2FtYmhhdiBHdXB0YSIvPjxiciAvPjxzdWI+PGI+U2FtYmhhdiBHdXB0YTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNhbWJoYXZndXB0YTA3MDUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+IDxhIGhyZWY9IiNkZXNpZ24tc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNhbWJoYXZndXB0YTA3MDUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3ByYXl1dHN1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU0NjM2NTI1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBYmhheSBHYXJnIi8+PGJyIC8+PHN1Yj48Yj5BYmhheSBHYXJnPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZXhhbXBsZS1wcmF5dXRzdSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2hlbnJpa2pvbiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yNzIxMjIzMj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iaGVucmlram9uIi8+PGJyIC8+PHN1Yj48Yj5oZW5yaWtqb248L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1oZW5yaWtqb24iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aGVucmlram9uIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWhlbnJpa2pvbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9IiNleGFtcGxlLWhlbnJpa2pvbiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly95YXNpcmRldmVsb3Blci5uZXRsaWZ5LmFwcC8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzQ2MDA3NDU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik1vaGFtbWFkIFlhc2lyIi8+PGJyIC8+PHN1Yj48Yj5Nb2hhbW1hZCBZYXNpcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVlhc2lyNzYxIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9TYXZpbzYyOSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85MTM2MjU4OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2F2aW8gRGlhcyIvPjxiciAvPjxzdWI+PGI+U2F2aW8gRGlhczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNhdmlvNjI5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2luZnJhLVNhdmlvNjI5IiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBU2F2aW82MjkiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pc2hhYW44MTIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzAxOTA1MzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IklzaGFhbiBTaGFoIi8+PGJyIC8+PHN1Yj48Yj5Jc2hhYW4gU2hhaDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWlzaGFhbjgxMiIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vU2hyZXlhczA0MTAiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzA3OTU4Njc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlNocmV5YXMwNDEwIi8+PGJyIC8+PHN1Yj48Yj5TaHJleWFzMDQxMDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNocmV5YXMwNDEwIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYmVrdS1lcGl0b21lIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTE1MTUxMz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYmVrdS1lcGl0b21lIi8+PGJyIC8+PHN1Yj48Yj5iZWt1LWVwaXRvbWU8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1iZWt1LWVwaXRvbWUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBYmVrdS1lcGl0b21lIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWJla3UtZXBpdG9tZSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc3dvcmRtYXN0ZXIyayI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMzU0MDE2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJKb3NodWEgTWljaGFlbCBEYWx5Ii8+PGJyIC8+PHN1Yj48Yj5Kb3NodWEgTWljaGFlbCBEYWx5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc3dvcmRtYXN0ZXIyayIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Rsa2oiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjQzMDU5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEYW5pZWwgS0oiLz48YnIgLz48c3ViPjxiPkRhbmllbCBLSjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRsa2oiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGxraiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWRsa2oiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRsa2oiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9jb2RleXQuY29tLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MzAzMzUxMT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQmhhdmlrIEFnYXJ3YWwiLz48YnIgLz48c3ViPjxiPkJoYXZpayBBZ2Fyd2FsPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjZGVzaWduLUJoYXZpay1hZyIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYXVzaGlrLXJpc2hpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUyNDk4NjE3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJSaXNoaSIvPjxiciAvPjxzdWI+PGI+UmlzaGk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1rYXVzaGlrLXJpc2hpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2Rlc2lnbi1rYXVzaGlrLXJpc2hpIiB0aXRsZT0iRGVzaWduIj7wn46oPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9yb2hpdGhib3BwZXkubmV0bGlmeS5hcHAiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzM1Mzg5NzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlJvaGl0aCBCb3BwZXkiLz48YnIgLz48c3ViPjxiPlJvaGl0aCBCb3BwZXk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1Sb2hpdGhCb3BwZXkiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZGVzaWduLVJvaGl0aEJvcHBleSIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9hc2hpc2hwYWRoeS5saXZlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMDQ4NDQwMT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQXNoaXNoIFBhZGh5Ii8+PGJyIC8+PHN1Yj48Yj5Bc2hpc2ggUGFkaHk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1TaHVydHUtZ2FsIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNodXJ0dS1nYWwiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjaW5mcmEtU2h1cnR1LWdhbCIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwOi8vamZjb3RlLmdpdGh1Yi5pbyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDMzNjkwMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iSmVhbi1GcmFuw6dvaXMgQ8O0dMOpIi8+PGJyIC8+PHN1Yj48Yj5KZWFuLUZyYW7Dp29pcyBDw7R0w6k8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1KRkNvdGUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9SkZDb3RlIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtSkZDb3RlIiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1KRkNvdGUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1N1bWFudHhEIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY1ODEwNDI0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJTdW1hbnQueEQiLz48YnIgLz48c3ViPjxiPlN1bWFudC54RDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVN1bWFudHhEIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2luZnJhLVN1bWFudHhEIiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U3VtYW50eEQiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FyeWFuYXMxNTkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE0MzMwOTMxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBcnlhbiBTaW5naCIvPjxiciAvPjxzdWI+PGI+QXJ5YW4gU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnlhbmFzMTU5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9tYXJrdXMucG9lcnNjaGtlLm5ydyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMjIyMzc3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJNYXJrdXMgUG9lcnNjaGtlIi8+PGJyIC8+PHN1Yj48Yj5NYXJrdXMgUG9lcnNjaGtlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFya3VzcG9lcnNjaGtlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW1hcmt1c3BvZXJzY2hrZSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLW1hcmt1c3BvZXJzY2hrZSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFya3VzcG9lcnNjaGtlIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qYW1lc21vZXkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDU3NDcyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJKYW1lcyBNb2V5Ii8+PGJyIC8+PHN1Yj48Yj5KYW1lcyBNb2V5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9amFtZXNtb2V5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWphbWVzbW9leSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdG9td29sYW5za2kiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjgwODU2NTM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InRvbXdvbGFuc2tpIi8+PGJyIC8+PHN1Yj48Yj50b213b2xhbnNraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2lzc3Vlcz9xPWF1dGhvciUzQXRvbXdvbGFuc2tpIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vS3Npc2EiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTM0MDQ3NzE/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IktyaXN0dXBhcyIvPjxiciAvPjxzdWI+PGI+S3Jpc3R1cGFzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9S3Npc2EiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9EZXZhbnNoLUJoYXR0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk0NzMyMDc5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZXZhbnNoLUJoYXR0Ii8+PGJyIC8+PHN1Yj48Yj5EZXZhbnNoLUJoYXR0PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9RGV2YW5zaC1CaGF0dCIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNpbmZyYS1EZXZhbnNoLUJoYXR0IiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3BpcGxpeWEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTYxODYxNDI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFuc2ggUGFuY2hvbGkiLz48YnIgLz48c3ViPjxiPkFuc2ggUGFuY2hvbGk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1waXBsaXlhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ReXBvbDM0MiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNzQ5NzAwNz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWFlZ2h0IExvYW4iLz48YnIgLz48c3ViPjxiPk1hZWdodCBMb2FuPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UXlwb2wzNDIiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UXlwb2wzNDIiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cDovL3ByaW5jZXJhanBvb3QuY29tIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ0NTg1NDUyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQcmluY2UgUmFqcG9vdCIvPjxiciAvPjxzdWI+PGI+UHJpbmNlIFJhanBvb3Q8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1wcmluY2VyYWpwb290MjAiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoaXQtc2VucGFpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzkzMDc1MDY4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJoYXJzaGl0IG1pc2hyYSAiLz48YnIgLz48c3ViPjxiPmhhcnNoaXQgbWlzaHJhIDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWhhcnNoaXQtc2VucGFpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QZXRlQXVkaW5hdGUiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTkyNzQ4NzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlBldGVBdWRpbmF0ZSIvPjxiciAvPjxzdWI+PGI+UGV0ZUF1ZGluYXRlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UGV0ZUF1ZGluYXRlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qYW5vLXBldHJhcyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMTQ3ODQ4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJqYW5vLXBldHJhcyIvPjxiciAvPjxzdWI+PGI+amFuby1wZXRyYXM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL25pbGthbnRoOTg3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNDEzNTgxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJOaWxrYW50aCBQYXJtYXIiLz48YnIgLz48c3ViPjxiPk5pbGthbnRoIFBhcm1hcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtbmlsa2FudGg5ODciIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vamFpc2FyaXRhLnZlcmNlbC5hcHAvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQzNjM5MzQxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBc2htaXQgSmFpU2FyaXRhIEd1cHRhIi8+PGJyIC8+PHN1Yj48Yj5Bc2htaXQgSmFpU2FyaXRhIEd1cHRhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGV2aWxraWxsZXItYWciIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZGVzaWduLWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iRGVzaWduIj7wn46oPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGV2aWxraWxsZXItYWciIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtZGV2aWxraWxsZXItYWciIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9oYXJzaGlsLnByb3NlLnNoIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzc5MzY3ODgzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJIYXJzaGlsIEphbmkiLz48YnIgLz48c3ViPjxiPkhhcnNoaWwgSmFuaTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUhhcnNoaWwtSmFuaSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1IYXJzaGlsLUphbmkiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9taW50dS1wb3J0Zm9saW8ubmV0bGlmeS5hcHAvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNzkyNTQ2NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWludHUgR29nb2kiLz48YnIgLz48c3ViPjxiPk1pbnR1IEdvZ29pPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9TWluMndobyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGV2YW5zaC1tMTIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODYxOTUxNjI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkRldmFuc2ggTWFoYW50Ii8+PGJyIC8+PHN1Yj48Yj5EZXZhbnNoIE1haGFudDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRldmFuc2gtbTEyIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9vZmZpY2lhbGFzaXNoa3VtYXIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODc4NzQ3NzU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFzaXNoIEt1bWFyIi8+PGJyIC8+PHN1Yj48Yj5Bc2lzaCBLdW1hcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW9mZmljaWFsYXNpc2hrdW1hciIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5rdXIwOTA0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk4MzQ2ODk2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmt1ciBTaW5naCIvPjxiciAvPjxzdWI+PGI+QW5rdXIgU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmt1cjA5MDQiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICA8L3RyPgogIDwvdGJvZHk+CjwvdGFibGU+Cgo8IS0tIG1hcmtkb3dubGludC1yZXN0b3JlIC0tPgo8IS0tIHByZXR0aWVyLWlnbm9yZS1lbmQgLS0+Cgo8IS0tIEFMTC1DT05UUklCVVRPUlMtTElTVDpFTkQgLS0+CgpUaGlzIHByb2plY3QgZm9sbG93cyB0aGUgW2FsbC1jb250cmlidXRvcnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbGwtY29udHJpYnV0b3JzL2FsbC1jb250cmlidXRvcnMpIHNwZWNpZmljYXRpb24uIENvbnRyaWJ1dGlvbnMgb2YgYW55IGtpbmQgYXJlIHdlbGNvbWUhCg== - readmeEtag: '"83356a6e5d621ecdd3c6efa48c3dd7688704cd72a10538909db1d882e7087893"' - readmeLastModified: Mon, 01 Jan 2024 20:06:13 GMT + WyFbQXN5bmNBUEkgTW9kZWxpbmFdKC4vZG9jcy9pbWcvcmVhZG1lLWJhbm5lci5wbmcpXShodHRwczovL3d3dy5tb2RlbGluYS5vcmcpClshW2JsYWNrYm94IHBpcGVsaW5lIHN0YXR1c10oPGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2FjdGlvbnMvd29ya2Zsb3cvc3RhdHVzL2FzeW5jYXBpL21vZGVsaW5hL2JsYWNrYm94LXRlc3RpbmcueW1sP2xhYmVsPWJsYWNrYm94JTIwdGVzdGluZz4pXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvYWN0aW9ucy93b3JrZmxvd3MvYmxhY2tib3gtdGVzdGluZy55bWw/cXVlcnk9YnJhbmNoJTNBbWFzdGVyKyspClshW0NvdmVyYWdlIFN0YXR1c10oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vcmVwb3MvZ2l0aHViL2FzeW5jYXBpL21vZGVsaW5hL2JhZGdlLnN2Zz9icmFuY2g9bWFzdGVyKV0oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vZ2l0aHViL2FzeW5jYXBpL21vZGVsaW5hP2JyYW5jaD1tYXN0ZXIpClshW1Byb2plY3QgU3RhdHVzOiBBY3RpdmUg4oCTIFRoZSBwcm9qZWN0IGhhcyByZWFjaGVkIGEgc3RhYmxlLCB1c2FibGUgc3RhdGUgYW5kIGlzIGJlaW5nIGFjdGl2ZWx5IGRldmVsb3BlZC5dKGh0dHBzOi8vd3d3LnJlcG9zdGF0dXMub3JnL2JhZGdlcy9sYXRlc3QvYWN0aXZlLnN2ZyldKGh0dHBzOi8vd3d3LnJlcG9zdGF0dXMub3JnLyNhY3RpdmUpCiFbTWFpbnRlbmFuY2Ugc2NvcmVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbnBtcy1pby9tYWludGVuYW5jZS1zY29yZS9AYXN5bmNhcGkvbW9kZWxpbmEpClshW05wbSBsYXRlc3QgdmVyc2lvbl0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vdi9AYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9AYXN5bmNhcGkvbW9kZWxpbmEpClshW0xpY2Vuc2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xpY2Vuc2UvYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvYmxvYi9tYXN0ZXIvTElDRU5TRSkKWyFbbGFzdCBjb21taXRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xhc3QtY29tbWl0L2FzeW5jYXBpL21vZGVsaW5hKV0oaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHMvbWFzdGVyKQpbIVtEaXNjdXNzaW9uc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9naXRodWIvZGlzY3Vzc2lvbnMvYXN5bmNhcGkvbW9kZWxpbmEpXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvZGlzY3Vzc2lvbnMpClshW1dlYnNpdGVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vd2Vic2l0ZT9sYWJlbD13ZWJzaXRlJnVybD1odHRwcyUzQSUyRiUyRnd3dy5tb2RlbGluYS5vcmcpXShodHRwczovL3d3dy5tb2RlbGluYS5vcmcpClshW1BsYXlncm91bmRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vd2Vic2l0ZT9sYWJlbD1wbGF5Z3JvdW5kJnVybD1odHRwcyUzQSUyRiUyRnd3dy5tb2RlbGluYS5vcmclMkZwbGF5Z3JvdW5kKV0oaHR0cHM6Ly93d3cubW9kZWxpbmEub3JnL3BsYXlncm91bmQpIDwhLS0gQUxMLUNPTlRSSUJVVE9SUy1CQURHRTpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KWyFbQWxsIENvbnRyaWJ1dG9yc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9hbGxfY29udHJpYnV0b3JzLTc3LW9yYW5nZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXSgjY29udHJpYnV0b3JzLSkKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUJBREdFOkVORCAtLT4KCllvdXIgb25lLXN0b3AgdG9vbCBmb3IgZ2VuZXJhdGluZyBhY2N1cmF0ZSBhbmQgd2VsbC10ZXN0ZWQgbW9kZWxzIGZvciByZXByZXNlbnRpbmcgdGhlIG1lc3NhZ2UgcGF5bG9hZHMuIFVzZSBpdCBhcyBhIHRvb2wgaW4geW91ciBkZXZlbG9wbWVudCB3b3JrZmxvdywgb3IgYSBsaWJyYXJ5IGluIGEgbGFyZ2VyIGludGVncmF0aW9ucywgZW50aXJlbHkgaW4geW91ciBjb250cm9sLgoKLS0tCgo8IS0tIHRvYyBpcyBnZW5lcmF0ZWQgd2l0aCBHaXRIdWIgQWN0aW9ucyBkbyBub3QgcmVtb3ZlIHRvYyBtYXJrZXJzIC0tPgoKPCEtLSB0b2MgLS0+CgotIFtJbnN0YWxsaW5nIE1vZGVsaW5hXSgjaW5zdGFsbGluZy1tb2RlbGluYSkKLSBbQXN5bmNBUEkgQ0xJXSgjYXN5bmNhcGktY2xpKQotIFtGZWF0dXJlc10oI2ZlYXR1cmVzKQotIFtSZXF1aXJlbWVudHNdKCNyZXF1aXJlbWVudHMpCi0gW0RvY3VtZW50YXRpb25dKCNkb2N1bWVudGF0aW9uKQotIFtFeGFtcGxlc10oI2V4YW1wbGVzKQotIFtWZXJzaW9uaW5nIGFuZCBtYWludGVuYW5jZV0oI3ZlcnNpb25pbmctYW5kLW1haW50ZW5hbmNlKQotIFtEZXZlbG9wbWVudF0oI2RldmVsb3BtZW50KQotIFtDb250cmlidXRpbmddKCNjb250cmlidXRpbmcpCi0gW0NvbnRyaWJ1dG9yc10oI2NvbnRyaWJ1dG9ycykKCjwhLS0gdG9jc3RvcCAtLT4KCiMjIEluc3RhbGxpbmcgTW9kZWxpbmEKClJ1biB0aGlzIGNvbW1hbmQgdG8gaW5zdGFsbCBNb2RlbGluYSBpbiB5b3VyIHByb2plY3Q6CgpgYGBiYXNoCm5wbSBpbnN0YWxsIEBhc3luY2FwaS9tb2RlbGluYQpgYGAKCiMjIEFzeW5jQVBJIENMSQoKSWYgeW91IGhhdmUgdGhlIFtBc3luY0FQSSBDTEkgaW5zdGFsbGVkXShodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvY2xpI2luc3RhbGxhdGlvbikgKE9OTFkgc3VwcG9ydCBBc3luY0FQSSBpbnB1dHMpLCB5b3UgY2FuIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQgdG8gdXNlIFtNb2RlbGluYV0oaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL2NsaSN1c2FnZSk6CgpgYGBiYXNoCmFzeW5jYXBpIGdlbmVyYXRlIG1vZGVscyA8bGFuZ3VhZ2U+IC4vYXN5bmNhcGkuanNvbgpgYGAKCjxoMiBhbGlnbj0iY2VudGVyIj5XaGF0IERvZXMgTW9kZWxpbmEgRG8/PC9oMj4KCjxwIGFsaWduPSJjZW50ZXIiPk1vZGVsaW5hIHB1dCBZT1UgaW4gY29udHJvbCBvZiB5b3VyIGRhdGEgbW9kZWxzLCBoZXJlIGlzIGhvdy4uLjwvcD4KCjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRyPgogICAgPHRkPjxiPk1vZGVsaW5hIGxldHMgeW91IGdlbmVyYXRlIGRhdGEgbW9kZWxzIGZyb20gbWFueSB0eXBlcyBvZiA8YSBocmVmPSIjaW5wdXRzIj5pbnB1dHM8L2E+PC9iPjwvdGQ+Cjx0ZD4KCmBgYHR5cGVzY3JpcHQKY29uc3QgYXN5bmNhcGkgPSAuLi4KY29uc3QganNvbnNjaGVtYSA9IC4uLgpjb25zdCBvcGVuYXBpID0gLi4uIApjb25zdCBtZXRhbW9kZWwgPSAuLi4gCi4uLgpjb25zdCBtb2RlbHMgPSBhd2FpdCBnZW5lcmF0b3IuZ2VuZXJhdGUoCiAgYXN5bmNhcGkgfCBqc29uc2NoZW1hIHwgb3BlbmFwaSB8IG1ldGFtb2RlbAopOwpgYGAKPC90ZD4KICA8L3RyPgogICAgPHRyPgogICAgPHRkPjxiPlVzZSB0aGUgc2FtZSBpbnB1dHMgYWNyb3NzIGEgcmFuZ2Ugb2YgZGlmZmVyZW50IDxhIGhyZWY9IiNvdXRwdXRzIj5nZW5lcmF0b3JzPC9hPjwvYj48L3RkPgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBUeXBlU2NyaXB0R2VuZXJhdG9yKCk7CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBDc2hhcnBHZW5lcmF0b3IoKTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IEphdmFHZW5lcmF0b3IoKTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IFJ1c3RHZW5lcmF0b3IoKTsKLi4uCmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmBgYAo8L3RkPgogIDwvdHI+CiAgICA8dHI+CiAgICA8dGQ+PGI+RWFzaWx5IGxldCB5b3UgaW50ZXJhY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIG1vZGVscy48L2I+IAoKLSBXYW50IHRvIHNob3cgdGhlIGdlbmVyYXRlZCBtb2RlbHMgb24gYSB3ZWJzaXRlPyBTdXJlISAKLSBXYW50IHRvIGdlbmVyYXRlIHRoZSBtb2RlbHMgaW50byBmaWxlcz8gU3VyZSEgCi0gV2FudCB0byBjb21iaW5lIGFsbCB0aGUgbW9kZWxzIGludG8gb25lIHNpbmdsZSBmaWxlPyBTdXJlISAKCldoYXRldmVyIGludGVyYWN0aW9uIHlvdSBuZWVkLCB5b3UgY2FuIGNyZWF0ZS48L3RkPgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmZvciAoY29uc3QgbW9kZWwgaW4gbW9kZWxzKSB7IAogIGNvbnN0IGdlbmVyYXRlZENvZGUgPSBnZW5lcmF0ZWRNb2RlbC5yZXN1bHQ7CiAgY29uc3QgZGVwZW5kZW5jaWVzID0gZ2VuZXJhdGVkTW9kZWwuZGVwZW5kZW5jaWVzOwogIGNvbnN0IG1vZGVsdHlwZSA9IGdlbmVyYXRlZE1vZGVsLm1vZGVsLnR5cGU7CiAgY29uc3QgbW9kZWxOYW1lID0gZ2VuZXJhdGVkTW9kZWwubW9kZWxOYW1lOwogIC4uLgp9CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPkVhc2lseSBtb2RpZnkgaG93IG1vZGVscyBhcmUgPGEgaHJlZj0iLi9kb2NzL2NvbnN0cmFpbnRzLm1kIj5jb25zdHJhaW5lZDwvYT4gaW50byB0aGUgb3V0cHV0PC9iPjwvdGQ+Cgo8dGQ+CgpgYGB0eXBlc2NyaXB0CmNvbnN0IGdlbmVyYXRvciA9IG5ldyBUeXBlU2NyaXB0R2VuZXJhdG9yKHsKICBjb25zdHJhaW50czogewogICAgbW9kZWxOYW1lOiAoe21vZGVsTmFtZX0pID0+IHsKICAgICAgLy8gSW1wbGVtZW50IHlvdXIgb3duIGNvbnN0cmFpbmluZyBsb2dpYwogICAgICByZXR1cm4gbW9kZWxOYW1lOwogICAgfQogIH0KfSk7CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPlNlYW1sZXNzbHkgbGF5ZXIgYWRkaXRpb25hbCBvciByZXBsYWNlbWVudCBjb2RlIDxhIGhyZWY9Ii4vZG9jcy9wcmVzZXRzLm1kIj5vbiB0b3Agb2YgZWFjaCBvdGhlciB0byBjdXN0b21pemUgdGhlIG1vZGVsczwvYT4gdG8geW91ciB1c2UtY2FzZTwvYj48L3RkPgoKPHRkPgoKYGBgdHlwZXNjcmlwdApjb25zdCBnZW5lcmF0b3IgPSBuZXcgVHlwZVNjcmlwdEdlbmVyYXRvcih7CiAgcHJlc2V0czogWwogICAgewogICAgICBjbGFzczogewogICAgICAgIGFkZGl0aW9uYWxDb250ZW50KHsgY29udGVudCB9KSB7CiAgICAgICAgICByZXR1cm4gYCR7Y29udGVudH0KcHVibGljIG15Q3VzdG9tRnVuY3Rpb24oKTogc3RyaW5nIHsKICByZXR1cm4gJ0EgY3VzdG9tIGZ1bmN0aW9uIGZvciBlYWNoIGNsYXNzJzsKfWA7CiAgICAgICAgfSwKICAgICAgfQogICAgfQogIF0KfSk7CmNvbnN0IG1vZGVscyA9IGF3YWl0IGdlbmVyYXRvci5nZW5lcmF0ZShpbnB1dCk7CmBgYAo8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxiPlNlYW1sZXNzbHkgbGV0cyB5b3UgPGEgaHJlZj0iLi9kb2NzL3ByZXNldHMubWQiPmNvbWJpbmUgbXVsdGlwbGUgbGF5ZXJzIG9mIGFkZGl0aW9uYWwgb3IgcmVwbGFjZW1lbnQgY29kZTwvYT48L2I+PC90ZD4KCjx0ZD4KCmBgYHR5cGVzY3JpcHQKY29uc3QgbXlDdXN0b21GdW5jdGlvbjEgPSB7CiAgY2xhc3M6IHsKICAgIGFkZGl0aW9uYWxDb250ZW50KHsgY29udGVudCB9KSB7CiAgICAgIHJldHVybiBgJHtjb250ZW50fQpwdWJsaWMgbXlDdXN0b21GdW5jdGlvbigpOiBzdHJpbmcgewpyZXR1cm4gJ0EgY3VzdG9tIGZ1bmN0aW9uIGZvciBlYWNoIGNsYXNzJzsKfWA7CiAgICB9LAogIH0KfTsKY29uc3QgbXlDdXN0b21GdW5jdGlvbjIgPSB7Li4ufTsKY29uc3QgZ2VuZXJhdG9yID0gbmV3IFR5cGVTY3JpcHRHZW5lcmF0b3IoewogIHByZXNldHM6IFsKICAgIG15Q3VzdG9tRnVuY3Rpb24xLAogICAgbXlDdXN0b21GdW5jdGlvbjIKICBdCn0pOwpjb25zdCBtb2RlbHMgPSBhd2FpdCBnZW5lcmF0b3IuZ2VuZXJhdGUoaW5wdXQpOwpgYGAKPC90ZD4KICA8L3RyPgo8L3RhYmxlPgoKIyMgRmVhdHVyZXMKClRoZSBmb2xsb3dpbmcgdGFibGUgcHJvdmlkZXMgYSBzaG9ydCBzdW1tYXJ5IG9mIGF2YWlsYWJsZSBmZWF0dXJlcyBmb3Igc3VwcG9ydGVkIG91dHB1dCBsYW5ndWFnZXMuIFRvIHNlZSB0aGUgY29tcGxldGUgZmVhdHVyZSBsaXN0IGZvciBlYWNoIGxhbmd1YWdlLCBwbGVhc2UgY2xpY2sgdGhlIGluZGl2aWR1YWwgbGlua3MgZm9yIGVhY2ggbGFuZ3VhZ2UuCgo8YSBpZD0iaW5wdXRzIj48L2E+Cgo8IS0tIHByZXR0aWVyLWlnbm9yZS1zdGFydCAtLT4KPCEtLSBtYXJrZG93bmxpbnQtZGlzYWJsZSAtLT4KPHRhYmxlPgogIDx0cj4KICAgIDx0aD5TdXBwb3J0ZWQgaW5wdXRzPC90aD4KICAgIDx0aD48L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbHMtZnJvbS1hc3luY2FwaS1kb2N1bWVudHMiPkFzeW5jQVBJPC9hPjwvdGQ+CiAgICA8dGQ+V2Ugc3VwcG9ydCB0aGUgZm9sbG93aW5nIEFzeW5jQVBJIHZlcnNpb25zOiA8ZW0+Mi4wLjAgLT4gMi42LjA8L2VtPiwgd2hpY2ggZ2VuZXJhdGVzIG1vZGVscyBmb3IgYWxsIHRoZSBkZWZpbmVkIG1lc3NhZ2UgcGF5bG9hZHMuIEl0IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc2NoZW1hRm9ybWF0cyBBc3luY0FQSSBTY2hlbWEgb2JqZWN0LCBKU09OIFNjaGVtYSBkcmFmdCA3LCA8YSBocmVmPSIuL2V4YW1wbGVzL2FzeW5jYXBpLWF2cm8tc2NoZW1hIj5BVlJPIDEuOTwvYT4sIDxhIGhyZWY9Ii4vZXhhbXBsZXMvYXN5bmNhcGktcmFtbC1zY2hlbWEiPlJBTUwgMS4wIGRhdGEgdHlwZTwvYT4sIGFuZCA8YSBocmVmPSIuL2V4YW1wbGVzL2FzeW5jYXBpLW9wZW5hcGktc2NoZW1hIj5PcGVuQVBJIDMuMCBTY2hlbWE8L2E+LjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLWpzb24tc2NoZW1hLWRvY3VtZW50cyI+SlNPTiBTY2hlbWE8L2E+PC90ZD4KICAgIDx0ZD5XZSBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgSlNPTiBTY2hlbWEgdmVyc2lvbnM6IDxlbT5EcmFmdC00LCBEcmFmdC02IGFuZCBEcmFmdC03PC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbHMtZnJvbS1vcGVuYXBpLWRvY3VtZW50cyI+T3BlbkFQSTwvYT48L3RkPgogICAgPHRkPldlIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBPcGVuQVBJIHZlcnNpb25zOiA8ZW0+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLXN3YWdnZXItMjAtZG9jdW1lbnRzIj5Td2FnZ2VyIDIuMDwvYT4gYW5kIDxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbHMtZnJvbS1vcGVuYXBpLWRvY3VtZW50cyI+T3BlbkFQSSAzLjA8L2E+PC9lbT4sIHdoaWNoIGdlbmVyYXRlcyBtb2RlbHMgZm9yIGFsbCB0aGUgZGVmaW5lZCByZXF1ZXN0IGFuZCByZXNwb25zZSBwYXlsb2Fkcy48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1tb2RlbC1mcm9tLXR5cGVzY3JpcHQtdHlwZS1maWxlcyI+VHlwZVNjcmlwdDwvYT48L3RkPgogICAgPHRkPldlIGN1cnJlbnRseSBzdXBwb3J0IFR5cGVTY3JpcHQgdHlwZXMgYXMgZmlsZSBpbnB1dCBmb3IgbW9kZWwgZ2VuZXJhdGlvbjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLW1vZGVscy1mcm9tLW1ldGEtbW9kZWxzIj5NZXRhIG1vZGVsPC9hPjwvdGQ+CiAgICA8dGQ+VGhpcyBpcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2YgYSBtb2RlbCBmb3IgTW9kZWxpbmEsIGl0IGlzIHdoYXQgaW5wdXRzIGdldHMgY29udmVydGVkIHRvLCBhbmQgd2hhdCBnZW5lcmF0b3JzIGFyZSBwcm92aWRlZCB0byBnZW5lcmF0ZSBjb2RlLiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gYW4gaW5wdXQgcHJvY2Vzc29yLCB5b3UgY2FuIGNyZWF0ZSB5b3VyIG93biBtb2RlbHMgZnJvbSBzY3JhdGNoIGFuZCBzdGlsbCB0YWtlIGFkdmFudGFnZSBvbiB0aGUgZ2VuZXJhdG9ycyBhbmQgdGhlIGZlYXR1cmVzLjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KCjxhIGlkPSJvdXRwdXRzIj48L2E+CjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRyPgogICAgPHRoPlN1cHBvcnRlZCBvdXRwdXRzPC90aD4KICAgIDx0aD48L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1qYXZhLW1vZGVscyI+SmF2YTwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5nZW5lcmF0aW9uIG9mIGVxdWFscywgaGFzaENvZGUsIHRvU3RyaW5nLCBKYWNrc29uIGFubm90YXRpb24sIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGM8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXR5cGVzY3JpcHQtbW9kZWxzIj5UeXBlU2NyaXB0PC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MsIGludGVyZmFjZSBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Z2VuZXJhdGlvbiBvZiBleGFtcGxlIGNvZGUsIHVuL21hcnNoYWwgZnVuY3Rpb25zLCBjdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1jIy1tb2RlbHMiPkMjPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPmdlbmVyYXRpb24gb2YgZXhhbXBsZSBjb2RlLCBzZXJpYWxpemVyIGFuZCBkZXNlcmlhbGl6ZXIgZnVuY3Rpb25zLCBjdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1nby1tb2RlbHMiPkdvPC9hPjwvdGQ+CiAgICA8dGQ+U3RydWN0IGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjIDwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUtamF2YXNjcmlwdC1tb2RlbHMiPkphdmFTY3JpcHQ8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBnZW5lcmF0aW9uOiA8ZW0+Y3VzdG9tIGluZGVudGF0aW9uIHR5cGUgYW5kIHNpemUsIGV0YzwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUtZGFydC1tb2RlbHMiPkRhcnQ8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBhbmQgZW51bSBnZW5lcmF0aW9uOiBqc29uX2Fubm90YXRpb248L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1ydXN0LW1vZGVscyI+UnVzdDwvYT48L3RkPgogICAgPHRkPlN0cnVjdC90dXBsZSBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Z2VuZXJhdGlvbiBvZiBgaW1wbGVtZW50IERlZmF1bHRgLCBnZW5lcmF0ZSBzZXJkZSBtYWNyb3MsIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGM8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXB5dGhvbi1tb2RlbHMiPlB5dGhvbjwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZXRjIDwvZW0+PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48YSBocmVmPSIuL2RvY3MvdXNhZ2UubWQjZ2VuZXJhdGUta290bGluLW1vZGVscyI+S290bGluPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPnVzZSBvZiBkYXRhIGNsYXNzZXMgd2hlcmUgYXBwcm9wcmlhdGUsIGN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBldGMgPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1jcGx1c3BsdXMtbW9kZWxzIj5DKys8L2E+PC90ZD4KICAgIDx0ZD5DbGFzcyBhbmQgZW51bSBnZW5lcmF0aW9uOiA8ZW0+Y3VzdG9tIGluZGVudGF0aW9uIHR5cGUgYW5kIHNpemUsIGV0YyA8L2VtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGEgaHJlZj0iLi9kb2NzL3VzYWdlLm1kI2dlbmVyYXRlLXBocC1tb2RlbHMiPlBIUDwvYT48L3RkPgogICAgPHRkPkNsYXNzIGFuZCBlbnVtIGdlbmVyYXRpb246IDxlbT5jdXN0b20gaW5kZW50YXRpb24gdHlwZSBhbmQgc2l6ZSwgZGVzY3JpcHRpb25zLCBldGMgPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxhIGhyZWY9Ii4vZG9jcy91c2FnZS5tZCNnZW5lcmF0ZS1zY2FsYS1tb2RlbHMiPlNjYWxhPC9hPjwvdGQ+CiAgICA8dGQ+Q2xhc3MgYW5kIGVudW0gZ2VuZXJhdGlvbjogPGVtPmN1c3RvbSBpbmRlbnRhdGlvbiB0eXBlIGFuZCBzaXplLCBkZXNjcmlwdGlvbnMsIGV0YyA8L2VtPjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KCiMjIFJlcXVpcmVtZW50cwpUaGUgZm9sbG93aW5nIGFyZSBhIHJlcXVpcmVtZW50IGluIG9yZGVyIHRvIHVzZSBNb2RlbGluYS4KCi0gW05vZGVKU10oaHR0cHM6Ly9ub2RlanMub3JnL2VuLykgPj0gMTgKCiMjIERvY3VtZW50YXRpb24KQSBmZWF0dXJlIGluIE1vZGVsaW5hIGNhbm5vdCBleGlzdHMgd2l0aG91dCBhbiBleGFtcGxlIGFuZCBkb2N1bWVudGF0aW9uIGZvciBpdC4gWW91IGNhbiBmaW5kIGFsbCB0aGUgW2RvY3VtZW50YXRpb24gaGVyZV0oLi9kb2NzL1JFQURNRS5tZCkuCgojIyBFeGFtcGxlcwpEbyB5b3UgbmVlZCB0byBrbm93IGhvdyB0byB1c2UgdGhlIGxpYnJhcnkgaW4gY2VydGFpbiBzY2VuYXJpb3M/IAoKV2UgaGF2ZSBnYXRoZXJlZCBhbGwgdGhlIGV4YW1wbGVzIGluIGEgc2VwYXJhdGUgZm9sZGVyIGFuZCB0aGV5IGNhbiBiZSBmb3VuZCB1bmRlciB0aGUgW2V4YW1wbGVzIGZvbGRlcl0oLi9leGFtcGxlcykuIAoKIyMgVmVyc2lvbmluZyBhbmQgbWFpbnRlbmFuY2UKQXMgb2YgdmVyc2lvbiAxLCBNb2RlbGluYSBoYXMgYSB2ZXJ5IHN0cmljdCBzZXQgb2YgY2hhbmdlcyB3ZSBhcmUgYWxsb3dlZCB0byBkbyBiZWZvcmUgaXQgcmVxdWlyZXMgYSBtYWpvciB2ZXJzaW9uIGNoYW5nZS4gSW4gc2hvcnQsIGFueSBjaGFuZ2VzIHRoYXQgY2hhbmdlIHRoZSBnZW5lcmF0ZWQgb3V0Y29tZSBhcmUgbm90IGFsbG93ZWQgYXMgaXQncyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgdGhlIGNvbnN1bWVyIG9mIHRoZSBnZW5lcmF0ZWQgbW9kZWxzLiAKCkhlcmUgaXMgYSBsaXN0IG9mIGNoYW5nZXMgd2UgYXJlIGFsbG93ZWQgdG8gZG8gdGhhdCB3b3VsZCBub3QgcmVxdWlyZSBhIGJyZWFraW5nIGNoYW5nZToKLSBBZGRpbmcgbmV3IGZlYXR1cmVzICh0aGF0IGRvIG5vdCBjaGFuZ2UgZXhpc3Rpbmcgb3V0cHV0KSwgc3VjaCBhcyBnZW5lcmF0b3JzLCBwcmVzZXRzLCBpbnB1dCBwcm9jZXNzb3JzLCBldGMuCi0gQ2hhbmdlIGV4aXN0aW5nIGZlYXR1cmVzLCBieSBwcm92aWRpbmcgb3B0aW9ucyB0aGF0IGRlZmF1bHQgdG8gY3VycmVudCBiZWhhdmlvci4gVGhpcyBjb3VsZCBiZSBhIHByZXNldCB0aGF0IGFkYXB0cyB0aGUgb3V0cHV0IGJhc2VkIG9uIG9wdGlvbnMsIGFzIGxvbmcgYXMgdGhlIEFQSSBvZiBNb2RlbGluYSBhbmQgdGhlIEFQSSBvZiB0aGUgZ2VuZXJhdGVkIG1vZGVscyBkb2VzIG5vdCBoYXZlIGFueSBicmVha2luZyBjaGFuZ2VzLgotIEJ1ZyBmaXhlcyB3aGVyZSB0aGUgZ2VuZXJhdGVkIGNvZGUgaXMgb3RoZXJ3aXNlIHVudXNhYmxlIChzeW50YXggZXJyb3JzLCBldGMpLgoKQnJlYWtpbmcgY2hhbmdlcyBhcmUgYWxsb3dlZCBhbmQgZXhwZWN0ZWQgYXQgYSBmcmVxdWVudCByYXRlLCBvZiBjb3Vyc2Ugd2hlcmUgaXQgbWFrZXMgc2Vuc2Ugd2Ugd2lsbCB0cnkgdG8gYnVuZGxlIG11bHRpcGxlIGNoYW5nZXMgdG9nZXRoZXIuCgpXZSBvZiBjb3Vyc2Ugd2lsbCBkbyBvdXIgYmVzdCB0byB1cGhvbGQgdGhpcywgYnV0IG1pc3Rha2VzIGNhbiBoYXBwZW4sIGFuZCBpZiB5b3Ugbm90aWNlIGFueSBicmVha2luZyBjaGFuZ2VzIHBsZWFzZSBsZXQgdXMga25vdyEKCkJlY2F1c2Ugb2YgdGhlIG51bWJlciBvZiB0aGUgbGltaXRlZCBudW1iZXIgb2YgY2hhbXBpb25zLCBvbmx5IHRoZSBtb3N0IHJlY2VudCBtYWpvciB2ZXJzaW9uIHdpbGwgYmUgbWFpbnRhaW5lZC4KCk1ham9yIHZlcnNpb25zIGFyZSBjdXJyZW50bHkgaGFwcGVuaW5nIGF0IGEgMy1tb250aCBjYWRlbmNlIChpbiBhIHNpbWlsYXIgZmFzaGlvbiBhcyB0aGUgQXN5bmNBUEkgc3BlY2lmaWNhdGlvbiksIHRoaXMgd2lsbCBoYXBwZW4gaW4gSmFudWFyeSwgQXByaWwsIEp1bmUsIGFuZCBTZXB0ZW1iZXIuIAoKIyMgRGV2ZWxvcG1lbnQKV2UgdHJ5IHRvIG1ha2UgaXQgYXMgZWFzeSBmb3IgeW91IGFzIHBvc3NpYmxlIHRvIHNldCB1cCB5b3VyIGRldmVsb3BtZW50IGVudmlyb25tZW50IHRvIGNvbnRyaWJ1dGUgdG8gTW9kZWxpbmEuIFlvdSBjYW4gZmluZCB0aGUgZGV2ZWxvcG1lbnQgZG9jdW1lbnRhdGlvbiBbaGVyZV0oLi9kb2NzL2RldmVsb3BtZW50Lm1kKS4KCiMjIENvbnRyaWJ1dGluZwpXaXRob3V0IGNvbnRyaWJ1dGlvbnMsIE1vZGVsaW5hIHdvdWxkIG5vdCBleGlzdCwgaXQncyBhIGNvbW11bml0eSBwcm9qZWN0IHdlIGJ1aWxkIHRvZ2V0aGVyIHRvIGNyZWF0ZSB0aGUgYmVzdCBwb3NzaWJsZSBidWlsZGluZyBibG9ja3MsIGFuZCB3ZSBkbyB0aGlzIHRocm91Z2ggW2NoYW1waW9uc10oLi9kb2NzL2NoYW1waW9ucy5tZCkuCgpXZSBoYXZlIG1hZGUgcXVpdGUgYSBbY29tcHJlaGVuc2l2ZSBjb250cmlidXRpb24gZ3VpZGVdKC4vZG9jcy9jb250cmlidXRpbmcubWQpIHRvIGdpdmUgeW91IGEgbGVuZGluZyBoYW5kIGluIGhvdyBkaWZmZXJlbnQgZmVhdHVyZXMgYW5kIGNoYW5nZXMgYXJlIGludHJvZHVjZWQuCgpJZiBubyBkb2N1bWVudGF0aW9uIGhlbHBzIHlvdSwgaGVyZSBpcyBob3cgeW91IGNhbiByZWFjaCBvdXQgdG8gZ2V0IGhlbHA6Ci0gT24gdGhlIFtvZmZpY2lhbCBBc3ljbkFQSSBzbGFja10oaHR0cHM6Ly9hc3luY2FwaS5jb20vc2xhY2staW52aXRlKSB1bmRlciB0aGUgYCMwNF90b29saW5nYCBjaGFubmVsCi0gVGFnIGEgc3BlY2lmaWMgW0NPREVPV05FUl0oLi9DT0RFT1dORVJTKSBpbiB5b3VyIFBSCi0gR2VuZXJhbGx5LCBpdCdzIGFsd2F5cyBhIGdvb2QgaWRlYSB0byBkbyBldmVyeXRoaW5nIGluIHB1YmxpYywgYnV0IGluIHNvbWUgY2FzZXMsIGl0IG1pZ2h0IG5vdCBiZSBwb3NzaWJsZS4gSW4gdGhvc2UgY2lyY3Vtc3RhbmNlcyB5b3UgY2FuIGNvbnRhY3QgdGhlIGZvbGxvd2luZzogCiAgLSBbam9uYXNsYWdvbmldKGh0dHBzOi8vZ2l0aHViLmNvbS9qb25hc2xhZ29uaSkgKG9uIFtBc3luY0FQSSBTbGFja10oaHR0cHM6Ly9hc3luY2FwaS5jb20vc2xhY2staW52aXRlKSwgW1R3aXR0ZXJdKGh0dHBzOi8vdHdpdHRlci5jb20vam9uYXNsYWdvbmkpLCBbRW1haWxdKG1haWx0bzpqb25hcy1sdEBsaXZlLmRrKSwgW0xpbmtlZEluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vam9uYXNsYWdvbmkvKSkKCiMjIENvbnRyaWJ1dG9ycyAKClRoYW5rcyBnbyBvdXQgdG8gdGhlc2Ugd29uZGVyZnVsIHBlb3BsZSAoW2Vtb2ppIGtleV0oaHR0cHM6Ly9hbGxjb250cmlidXRvcnMub3JnL2RvY3MvZW4vZW1vamkta2V5KSk6Cgo8IS0tIEFMTC1DT05UUklCVVRPUlMtTElTVDpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KPCEtLSBwcmV0dGllci1pZ25vcmUtc3RhcnQgLS0+CjwhLS0gbWFya2Rvd25saW50LWRpc2FibGUgLS0+Cjx0YWJsZT4KICA8dGJvZHk+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21hZ2ljbWF0YXRqYWh1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIwNDA0OTQ1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJNYWNpZWogVXJiYcWEY3p5ayIvPjxiciAvPjxzdWI+PGI+TWFjaWVqIFVyYmHFhGN6eWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FtYWdpY21hdGF0amFodSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjaWRlYXMtbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1tYWdpY21hdGF0amFodSIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSIjcXVlc3Rpb24tbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJBbnN3ZXJpbmcgUXVlc3Rpb25zIj7wn5KsPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFnaWNtYXRhdGphaHUiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBbWFnaWNtYXRhdGphaHUiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2N6bG93aWVrNDg4Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM0NjIwMTA5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJjemxvd2llazQ4OCIvPjxiciAvPjxzdWI+PGI+Y3psb3dpZWs0ODg8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0Fjemxvd2llazQ4OCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBY3psb3dpZWs0ODgiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPiA8YSBocmVmPSIjaWRlYXMtY3psb3dpZWs0ODgiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc21veWEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTA4MzI5Nj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2VyZ2lvIE1veWEiLz48YnIgLz48c3ViPjxiPlNlcmdpbyBNb3lhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc21veWEiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNtb3lhIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQXNtb3lhIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qb25hc2xhZ29uaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMzM5NjE4OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iSm9uYXMgTGFnb25pIi8+PGJyIC8+PHN1Yj48Yj5Kb25hcyBMYWdvbmk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0Fqb25hc2xhZ29uaSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjaWRlYXMtam9uYXNsYWdvbmkiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1qb25hc2xhZ29uaSIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSIjcXVlc3Rpb24tam9uYXNsYWdvbmkiIHRpdGxlPSJBbnN3ZXJpbmcgUXVlc3Rpb25zIj7wn5KsPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9am9uYXNsYWdvbmkiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBam9uYXNsYWdvbmkiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9kZXYudG8vZGVyYmVyZyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82OTk1OTI3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJMdWthc3ogR29ybmlja2kiLz48YnIgLz48c3ViPjxiPkx1a2FzeiBHb3JuaWNraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRlcmJlcmciIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBZGVyYmVyZyIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGVyYmVyZyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXJqdW5nYXJnMDciPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTMwMDk3MjI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFyanVuIEdhcmciLz48YnIgLz48c3ViPjxiPkFyanVuIEdhcmc8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcmp1bmdhcmcwNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwOi8vd3d3LmZtdmlsYXMuY29tIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI0MjExOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRnJhbiBNw6luZGV6Ii8+PGJyIC8+PHN1Yj48Yj5GcmFuIE3DqW5kZXo8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9wdWxscz9xPWlzJTNBcHIrcmV2aWV3ZWQtYnklM0FmbXZpbGFzIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vQmxha2VsaXN0NyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NDUyNTk2MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iS2Fud2FsIFNpbmdoIi8+PGJyIC8+PHN1Yj48Yj5LYW53YWwgU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1CbGFrZWxpc3Q3IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxlamFuZHJhcXVldHphbGxpLmNvbSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xOTk2NDQwMj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQWxlamFuZHJhIFF1ZXR6YWxsaSAiLz48YnIgLz48c3ViPjxiPkFsZWphbmRyYSBRdWV0emFsbGkgPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBYWxlcXVldHphbGxpIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFsZXF1ZXR6YWxsaSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbWQtc2FpZi1odXNhaW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzA2ODI5Njg/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik1EIFNBSUYgIEhVU0FJTiIvPjxiciAvPjxzdWI+PGI+TUQgU0FJRiAgSFVTQUlOPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjZXhhbXBsZS1tZC1zYWlmLWh1c2FpbiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWQtc2FpZi1odXNhaW4iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9zdWRpcHRvLmdob3NoLnBybyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMTIzMjk0MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU3VkaXB0byBHaG9zaCIvPjxiciAvPjxzdWI+PGI+U3VkaXB0byBHaG9zaDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2V4YW1wbGUtc3VkaXB0b2c4MSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9c3VkaXB0b2c4MSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1zdWRpcHRvZzgxIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9wYW53YXV1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzYyNTk3MjIzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJwYW53YXV1Ii8+PGJyIC8+PHN1Yj48Yj5wYW53YXV1PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cGFud2F1dSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1wYW53YXV1IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtcGFud2F1dSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cGFud2F1dSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FwYW53YXV1IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vc3RlZmFuZW1heWVyLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTAzMTk1MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU3RlZmFuIEUuIE1heWVyIi8+PGJyIC8+PHN1Yj48Yj5TdGVmYW4gRS4gTWF5ZXI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FzdGVmYW5lcndpbm1heWVyIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vSGFzaFRhbG1peiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NTAxODI4MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iVGFsbWl6IEFobWVkIi8+PGJyIC8+PHN1Yj48Yj5UYWxtaXogQWhtZWQ8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1IYXNoVGFsbWl6IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUhhc2hUYWxtaXoiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1IYXNoVGFsbWl6IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1RoYW5rc0ZvckFsbFRoZUZpc2giPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjE2OTY1NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWFyY28iLz48YnIgLz48c3ViPjxiPk1hcmNvPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBVGhhbmtzRm9yQWxsVGhlRmlzaCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3F1YWRycmVtIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzg0NTA4NzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InF1YWRycmVtIi8+PGJyIC8+PHN1Yj48Yj5xdWFkcnJlbTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXF1YWRycmVtIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXF1YWRycmVtIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8va2Fta28uZGV2Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE3MDc0Mzc1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJLYW1pbCBKYW5lxI1layIvPjxiciAvPjxzdWI+PGI+S2FtaWwgSmFuZcSNZWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1rYW1rbyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FrYW1rbyIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9a2Fta28iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21haGFrcG9yd2FsMDIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTY0ODY2ODI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Im1haGFrcG9yd2FsMDIiLz48YnIgLz48c3ViPjxiPm1haGFrcG9yd2FsMDI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNleGFtcGxlLW1haGFrcG9yd2FsMDIiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW1haGFrcG9yd2FsMDIiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFoYWtwb3J3YWwwMiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1tYWhha3BvcndhbDAyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9yb24tZGViYWp5b3RpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyNTcxNjY0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZWJhanlvdGkgSGFsZGVyIi8+PGJyIC8+PHN1Yj48Yj5EZWJhanlvdGkgSGFsZGVyPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cm9uLWRlYmFqeW90aSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yb24tZGViYWp5b3RpIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXJvbi1kZWJhanlvdGkiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1yb24tZGViYWp5b3RpIiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1yb24tZGViYWp5b3RpIiB0aXRsZT0iTWFpbnRlbmFuY2UiPvCfmqc8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3JpdGlrMzA3LmdpdGh1Yi5pby9wb3J0Zm9saW8vIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyMzc0ODI5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJSaXRpayBSYXdhbCIvPjxiciAvPjxzdWI+PGI+Uml0aWsgUmF3YWw8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1yaXRpazMwNyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLXJpdGlrMzA3IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vSXNoYW4tU2FpbmkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTQ1MjU2MDI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IklzaGFuIi8+PGJyIC8+PHN1Yj48Yj5Jc2hhbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUlzaGFuLVNhaW5pIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUlzaGFuLVNhaW5pIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3NhbXJpZGhpLTk4LmdpdGh1Yi5pby9Qb3J0Zm9saW8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTQ0NjYwNDE/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlNhbXJpZGRoaSIvPjxiciAvPjxzdWI+PGI+U2FtcmlkZGhpPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U2FtcmlkaGktOTgiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1TYW1yaWRoaS05OCIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtU2FtcmlkaGktOTgiIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9nYWJvcm1hZ3lhciI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82MzM5NzMwMz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iR8OhYm9yIE1hZ3lhciIvPjxiciAvPjxzdWI+PGI+R8OhYm9yIE1hZ3lhcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWdhYm9ybWFneWFyIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtZ2Fib3JtYWd5YXIiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pYmVybmFiZXVkZXYiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzQyMTUwNzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImliZXJuYWJldWRldiIvPjxiciAvPjxzdWI+PGI+aWJlcm5hYmV1ZGV2PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aWJlcm5hYmV1ZGV2IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWliZXJuYWJldWRldiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWliZXJuYWJldWRldiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aWJlcm5hYmV1ZGV2IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zbG93aWtvd3NraWFya2FkaXVzeiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85NzUwODkzMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQXJrYWRpdXN6IFPFgm93aWtvd3NraSIvPjxiciAvPjxzdWI+PGI+QXJrYWRpdXN6IFPFgm93aWtvd3NraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtc2xvd2lrb3dza2lhcmthZGl1c3oiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNsb3dpa293c2tpYXJrYWRpdXN6IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5Z2VucyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNTgyMzE4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJXaWxsZW0gR2lsbGlzIi8+PGJyIC8+PHN1Yj48Yj5XaWxsZW0gR2lsbGlzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UG9seWdlbnMiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UG9seWdlbnMiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBUG9seWdlbnMiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ybWFzYXJvdmljIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1MjI4MzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InJtYXNhcm92aWMiLz48YnIgLz48c3ViPjxiPnJtYXNhcm92aWM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1ybWFzYXJvdmljIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXJtYXNhcm92aWMiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cm1hc2Fyb3ZpYyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLXJtYXNhcm92aWMiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9vd2FpczM0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM3MjM4NzU5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJPd2FpcyBIYXNuYXRoIEFobWVkIi8+PGJyIC8+PHN1Yj48Yj5Pd2FpcyBIYXNuYXRoIEFobWVkPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9b3dhaXMzNCIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1vd2FpczM0IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW93YWlzMzQiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QYW5NYW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTc4NTAxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQYW5NYW4iLz48YnIgLz48c3ViPjxiPlBhbk1hbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVBhbk1hbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXJ0dXItY2lvY2FudSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83NDMxOTI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImFydHVyLWNpb2NhbnUiLz48YnIgLz48c3ViPjxiPmFydHVyLWNpb2NhbnU8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnR1ci1jaW9jYW51IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2lzc3Vlcz9xPWF1dGhvciUzQWFydHVyLWNpb2NhbnUiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtYXJ0dXItY2lvY2FudSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9YXJ0dXItY2lvY2FudSIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnR1ci1jaW9jYW51IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI21haW50ZW5hbmNlLWFydHVyLWNpb2NhbnUiIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vbWljcm8tanVtYm8uZXUvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTExNjk3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJDeXByaWFuIEdyYWN6Ii8+PGJyIC8+PHN1Yj48Yj5DeXByaWFuIEdyYWN6PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWljcm8tanVtYm8iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWljcm8tanVtYm8iIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBbWljcm8tanVtYm8iIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnByaW50bmFubnkuYWkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjYwMTgxOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTGVpZ2ggSm9obnNvbiIvPjxiciAvPjxzdWI+PGI+TGVpZ2ggSm9obnNvbjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWxlaWdoLWpvaG5zb24iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bGVpZ2gtam9obnNvbiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWxlaWdoLWpvaG5zb24iIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWxlaWdoLWpvaG5zb24iIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtbGVpZ2gtam9obnNvbiIgdGl0bGU9Ik1haW50ZW5hbmNlIj7wn5qnPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBbGVpZ2gtam9obnNvbiIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbml0aW50ZWp1amEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTUzNDc5MjQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik5pdGluIFRlanVqYSIvPjxiciAvPjxzdWI+PGI+Tml0aW4gVGVqdWphPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bml0aW50ZWp1amEiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjZXhhbXBsZS1uaXRpbnRlanVqYSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2tlbm5ldGhhYXNhbiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDM3Mzk0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJLZW5uZXRoIEFhc2FuIi8+PGJyIC8+PHN1Yj48Yj5LZW5uZXRoIEFhc2FuPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9a2VubmV0aGFhc2FuIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWtlbm5ldGhhYXNhbiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNtYWludGVuYW5jZS1rZW5uZXRoYWFzYW4iIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWtlbm5ldGhhYXNhbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW1pdC1rc2giPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTE5NDcwMzc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFtaXQgS3VtYXIgU2hhcm1hIi8+PGJyIC8+PHN1Yj48Yj5BbWl0IEt1bWFyIFNoYXJtYTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFtaXQta3NoIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWFtaXQta3NoIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtYW1pdC1rc2giIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vemF5dHNldmFuZCI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81MjA3NzQ4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmRyZXkgWmF5dHNldiIvPjxiciAvPjxzdWI+PGI+QW5kcmV5IFpheXRzZXY8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj16YXl0c2V2YW5kIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtemF5dHNldmFuZCIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9emF5dHNldmFuZCIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj16YXl0c2V2YW5kIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jb2Rpbmd0ZW5zaGkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE2Mzc3NjMwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJUZW5zaGkgQ29kZXMiLz48YnIgLz48c3ViPjxiPlRlbnNoaSBDb2RlczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2luZnJhLWNvZGluZ3RlbnNoaSIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly95dXNoaW9tb3RlLm9yZy8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzczMzkxNT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iWXVzaGkgT01PVEUiLz48YnIgLz48c3ViPjxiPll1c2hpIE9NT1RFPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBWXVzaGlPTU9URSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9WXVzaGlPTU9URSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL21hbGNoZXJjenlrLnBsIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE3NTM0NTA0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJaYmlnbmlldyBNYWxjaGVyY3p5ayIvPjxiciAvPjxzdWI+PGI+WmJpZ25pZXcgTWFsY2hlcmN6eWs8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9pc3N1ZXM/cT1hdXRob3IlM0FGZXJyb3IiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2luZnJhLUZlcnJvciIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUZlcnJvciIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9IiNleGFtcGxlLUZlcnJvciIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9RmVycm9yIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQUZlcnJvciIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vMjAwUHVscyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82OTE4MzYwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSIyMDBQdWxzIi8+PGJyIC8+PHN1Yj48Yj4yMDBQdWxzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9MjAwUHVscyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj0yMDBQdWxzIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vbGlua3RyLmVlL2FuYXlzYXJrYXI3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUzMzQxMTgxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmF5IFNhcmthciIvPjxiciAvPjxzdWI+PGI+QW5heSBTYXJrYXI8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNleGFtcGxlLWFuYXlzYXJrYXI3IiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmF5c2Fya2FyNyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmF5c2Fya2FyNyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTG91aXNYaGFmZXJpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUyMzk3Njc3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJMb3VpcyBYaGFmZXJpIi8+PGJyIC8+PHN1Yj48Yj5Mb3VpcyBYaGFmZXJpPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9TG91aXNYaGFmZXJpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2FtYmhhdmd1cHRhMDcwNSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS84MTg3MDg2Nj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2FtYmhhdiBHdXB0YSIvPjxiciAvPjxzdWI+PGI+U2FtYmhhdiBHdXB0YTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNhbWJoYXZndXB0YTA3MDUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IlJldmlld2VkIFB1bGwgUmVxdWVzdHMiPvCfkYA8L2E+IDxhIGhyZWY9IiNkZXNpZ24tc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPXNhbWJoYXZndXB0YTA3MDUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc2FtYmhhdmd1cHRhMDcwNSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3ByYXl1dHN1Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU0NjM2NTI1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBYmhheSBHYXJnIi8+PGJyIC8+PHN1Yj48Yj5BYmhheSBHYXJnPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZXhhbXBsZS1wcmF5dXRzdSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9cHJheXV0c3UiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2hlbnJpa2pvbiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yNzIxMjIzMj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iaGVucmlram9uIi8+PGJyIC8+PHN1Yj48Yj5oZW5yaWtqb248L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1oZW5yaWtqb24iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9aGVucmlram9uIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWhlbnJpa2pvbiIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9IiNleGFtcGxlLWhlbnJpa2pvbiIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly95YXNpcmRldmVsb3Blci5uZXRsaWZ5LmFwcC8iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzQ2MDA3NDU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik1vaGFtbWFkIFlhc2lyIi8+PGJyIC8+PHN1Yj48Yj5Nb2hhbW1hZCBZYXNpcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVlhc2lyNzYxIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9TYXZpbzYyOSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS85MTM2MjU4OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iU2F2aW8gRGlhcyIvPjxiciAvPjxzdWI+PGI+U2F2aW8gRGlhczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNhdmlvNjI5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2luZnJhLVNhdmlvNjI5IiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBU2F2aW82MjkiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pc2hhYW44MTIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzAxOTA1MzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IklzaGFhbiBTaGFoIi8+PGJyIC8+PHN1Yj48Yj5Jc2hhYW4gU2hhaDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWlzaGFhbjgxMiIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vU2hyZXlhczA0MTAiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzA3OTU4Njc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlNocmV5YXMwNDEwIi8+PGJyIC8+PHN1Yj48Yj5TaHJleWFzMDQxMDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNocmV5YXMwNDEwIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYmVrdS1lcGl0b21lIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTE1MTUxMz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYmVrdS1lcGl0b21lIi8+PGJyIC8+PHN1Yj48Yj5iZWt1LWVwaXRvbWU8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1iZWt1LWVwaXRvbWUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvcHVsbHM/cT1pcyUzQXByK3Jldmlld2VkLWJ5JTNBYmVrdS1lcGl0b21lIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWJla3UtZXBpdG9tZSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc3dvcmRtYXN0ZXIyayI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMzU0MDE2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJKb3NodWEgTWljaGFlbCBEYWx5Ii8+PGJyIC8+PHN1Yj48Yj5Kb3NodWEgTWljaGFlbCBEYWx5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvaXNzdWVzP3E9YXV0aG9yJTNBc3dvcmRtYXN0ZXIyayIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Rsa2oiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjQzMDU5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEYW5pZWwgS0oiLz48YnIgLz48c3ViPjxiPkRhbmllbCBLSjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRsa2oiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGxraiIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLWRsa2oiIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRsa2oiIHRpdGxlPSJSZXZpZXdlZCBQdWxsIFJlcXVlc3RzIj7wn5GAPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9jb2RleXQuY29tLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MzAzMzUxMT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQmhhdmlrIEFnYXJ3YWwiLz48YnIgLz48c3ViPjxiPkJoYXZpayBBZ2Fyd2FsPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjZGVzaWduLUJoYXZpay1hZyIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYXVzaGlrLXJpc2hpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUyNDk4NjE3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJSaXNoaSIvPjxiciAvPjxzdWI+PGI+UmlzaGk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1rYXVzaGlrLXJpc2hpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2Rlc2lnbi1rYXVzaGlrLXJpc2hpIiB0aXRsZT0iRGVzaWduIj7wn46oPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9yb2hpdGhib3BwZXkubmV0bGlmeS5hcHAiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzM1Mzg5NzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlJvaGl0aCBCb3BwZXkiLz48YnIgLz48c3ViPjxiPlJvaGl0aCBCb3BwZXk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1Sb2hpdGhCb3BwZXkiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZGVzaWduLVJvaGl0aEJvcHBleSIgdGl0bGU9IkRlc2lnbiI+8J+OqDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9hc2hpc2hwYWRoeS5saXZlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMDQ4NDQwMT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iQXNoaXNoIFBhZGh5Ii8+PGJyIC8+PHN1Yj48Yj5Bc2hpc2ggUGFkaHk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1TaHVydHUtZ2FsIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVNodXJ0dS1nYWwiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPiA8YSBocmVmPSIjaW5mcmEtU2h1cnR1LWdhbCIgdGl0bGU9IkluZnJhc3RydWN0dXJlIChIb3N0aW5nLCBCdWlsZC1Ub29scywgZXRjKSI+8J+ahzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwOi8vamZjb3RlLmdpdGh1Yi5pbyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDMzNjkwMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iSmVhbi1GcmFuw6dvaXMgQ8O0dMOpIi8+PGJyIC8+PHN1Yj48Yj5KZWFuLUZyYW7Dp29pcyBDw7R0w6k8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1KRkNvdGUiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9SkZDb3RlIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtSkZDb3RlIiB0aXRsZT0iRXhhbXBsZXMiPvCfkqE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1KRkNvdGUiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1N1bWFudHhEIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY1ODEwNDI0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJTdW1hbnQueEQiLz48YnIgLz48c3ViPjxiPlN1bWFudC54RDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPVN1bWFudHhEIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2luZnJhLVN1bWFudHhEIiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9U3VtYW50eEQiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FyeWFuYXMxNTkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE0MzMwOTMxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBcnlhbiBTaW5naCIvPjxiciAvPjxzdWI+PGI+QXJ5YW4gU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hcnlhbmFzMTU5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9tYXJrdXMucG9lcnNjaGtlLm5ydyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMjIyMzc3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJNYXJrdXMgUG9lcnNjaGtlIi8+PGJyIC8+PHN1Yj48Yj5NYXJrdXMgUG9lcnNjaGtlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFya3VzcG9lcnNjaGtlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW1hcmt1c3BvZXJzY2hrZSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNleGFtcGxlLW1hcmt1c3BvZXJzY2hrZSIgdGl0bGU9IkV4YW1wbGVzIj7wn5KhPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9bWFya3VzcG9lcnNjaGtlIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qYW1lc21vZXkiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDU3NDcyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJKYW1lcyBNb2V5Ii8+PGJyIC8+PHN1Yj48Yj5KYW1lcyBNb2V5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9amFtZXNtb2V5IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWphbWVzbW9leSIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdG9td29sYW5za2kiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjgwODU2NTM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9InRvbXdvbGFuc2tpIi8+PGJyIC8+PHN1Yj48Yj50b213b2xhbnNraTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2lzc3Vlcz9xPWF1dGhvciUzQXRvbXdvbGFuc2tpIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vS3Npc2EiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTM0MDQ3NzE/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IktyaXN0dXBhcyIvPjxiciAvPjxzdWI+PGI+S3Jpc3R1cGFzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9S3Npc2EiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9EZXZhbnNoLUJoYXR0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk0NzMyMDc5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZXZhbnNoLUJoYXR0Ii8+PGJyIC8+PHN1Yj48Yj5EZXZhbnNoLUJoYXR0PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9RGV2YW5zaC1CaGF0dCIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+IDxhIGhyZWY9IiNpbmZyYS1EZXZhbnNoLUJoYXR0IiB0aXRsZT0iSW5mcmFzdHJ1Y3R1cmUgKEhvc3RpbmcsIEJ1aWxkLVRvb2xzLCBldGMpIj7wn5qHPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3BpcGxpeWEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTYxODYxNDI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFuc2ggUGFuY2hvbGkiLz48YnIgLz48c3ViPjxiPkFuc2ggUGFuY2hvbGk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1waXBsaXlhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ReXBvbDM0MiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNzQ5NzAwNz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWFlZ2h0IExvYW4iLz48YnIgLz48c3ViPjxiPk1hZWdodCBMb2FuPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UXlwb2wzNDIiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UXlwb2wzNDIiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cDovL3ByaW5jZXJhanBvb3QuY29tIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ0NTg1NDUyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQcmluY2UgUmFqcG9vdCIvPjxiciAvPjxzdWI+PGI+UHJpbmNlIFJhanBvb3Q8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1wcmluY2VyYWpwb290MjAiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoaXQtc2VucGFpIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzkzMDc1MDY4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJoYXJzaGl0IG1pc2hyYSAiLz48YnIgLz48c3ViPjxiPmhhcnNoaXQgbWlzaHJhIDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWhhcnNoaXQtc2VucGFpIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QZXRlQXVkaW5hdGUiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTkyNzQ4NzQ/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IlBldGVBdWRpbmF0ZSIvPjxiciAvPjxzdWI+PGI+UGV0ZUF1ZGluYXRlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9UGV0ZUF1ZGluYXRlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qYW5vLXBldHJhcyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMTQ3ODQ4P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJqYW5vLXBldHJhcyIvPjxiciAvPjxzdWI+PGI+amFuby1wZXRyYXM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1qYW5vLXBldHJhcyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL25pbGthbnRoOTg3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNDEzNTgxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJOaWxrYW50aCBQYXJtYXIiLz48YnIgLz48c3ViPjxiPk5pbGthbnRoIFBhcm1hcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iI2V4YW1wbGUtbmlsa2FudGg5ODciIHRpdGxlPSJFeGFtcGxlcyI+8J+SoTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW5pbGthbnRoOTg3IiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vamFpc2FyaXRhLnZlcmNlbC5hcHAvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQzNjM5MzQxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBc2htaXQgSmFpU2FyaXRhIEd1cHRhIi8+PGJyIC8+PHN1Yj48Yj5Bc2htaXQgSmFpU2FyaXRhIEd1cHRhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGV2aWxraWxsZXItYWciIHRpdGxlPSJDb2RlIj7wn5K7PC9hPiA8YSBocmVmPSIjZGVzaWduLWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iRGVzaWduIj7wn46oPC9hPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9ZGV2aWxraWxsZXItYWciIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPiA8YSBocmVmPSIjbWFpbnRlbmFuY2UtZGV2aWxraWxsZXItYWciIHRpdGxlPSJNYWludGVuYW5jZSI+8J+apzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iVGVzdHMiPuKaoO+4jzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL3B1bGxzP3E9aXMlM0FwcityZXZpZXdlZC1ieSUzQWRldmlsa2lsbGVyLWFnIiB0aXRsZT0iUmV2aWV3ZWQgUHVsbCBSZXF1ZXN0cyI+8J+RgDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly9oYXJzaGlsLnByb3NlLnNoIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzc5MzY3ODgzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJIYXJzaGlsIEphbmkiLz48YnIgLz48c3ViPjxiPkhhcnNoaWwgSmFuaTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPUhhcnNoaWwtSmFuaSIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1IYXJzaGlsLUphbmkiIHRpdGxlPSJUZXN0cyI+4pqg77iPPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9taW50dS1wb3J0Zm9saW8ubmV0bGlmeS5hcHAvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNzkyNTQ2NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iTWludHUgR29nb2kiLz48YnIgLz48c3ViPjxiPk1pbnR1IEdvZ29pPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYXN5bmNhcGkvbW9kZWxpbmEvY29tbWl0cz9hdXRob3I9TWluMndobyIgdGl0bGU9IlRlc3RzIj7imqDvuI88L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGV2YW5zaC1tMTIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODYxOTUxNjI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkRldmFuc2ggTWFoYW50Ii8+PGJyIC8+PHN1Yj48Yj5EZXZhbnNoIE1haGFudDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPWRldmFuc2gtbTEyIiB0aXRsZT0iRG9jdW1lbnRhdGlvbiI+8J+TljwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9vZmZpY2lhbGFzaXNoa3VtYXIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODc4NzQ3NzU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkFzaXNoIEt1bWFyIi8+PGJyIC8+PHN1Yj48Yj5Bc2lzaCBLdW1hcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FzeW5jYXBpL21vZGVsaW5hL2NvbW1pdHM/YXV0aG9yPW9mZmljaWFsYXNpc2hrdW1hciIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5rdXIwOTA0Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk4MzQ2ODk2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbmt1ciBTaW5naCIvPjxiciAvPjxzdWI+PGI+QW5rdXIgU2luZ2g8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9tb2RlbGluYS9jb21taXRzP2F1dGhvcj1hbmt1cjA5MDQiIHRpdGxlPSJEb2N1bWVudGF0aW9uIj7wn5OWPC9hPjwvdGQ+CiAgICA8L3RyPgogIDwvdGJvZHk+CjwvdGFibGU+Cgo8IS0tIG1hcmtkb3dubGludC1yZXN0b3JlIC0tPgo8IS0tIHByZXR0aWVyLWlnbm9yZS1lbmQgLS0+Cgo8IS0tIEFMTC1DT05UUklCVVRPUlMtTElTVDpFTkQgLS0+CgpUaGlzIHByb2plY3QgZm9sbG93cyB0aGUgW2FsbC1jb250cmlidXRvcnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbGwtY29udHJpYnV0b3JzL2FsbC1jb250cmlidXRvcnMpIHNwZWNpZmljYXRpb24uIENvbnRyaWJ1dGlvbnMgb2YgYW55IGtpbmQgYXJlIHdlbGNvbWUhCg== + readmeEtag: '"322d3bfd0008de4cf6590782c6d1d6993f625c9a2997af885b73eaa1dab0192c"' + readmeLastModified: Thu, 04 Jan 2024 19:57:20 GMT repositoryId: 331620831 description: >- A library for generating data models based on inputs such as AsyncAPI, OpenAPI, or JSON Schema documents. created: '2021-01-21T12:27:51Z' - updated: '2024-01-01T20:13:24Z' + updated: '2024-01-04T21:44:09Z' language: TypeScript archived: false - stars: 225 + stars: 226 watchers: 5 - forks: 133 + forks: 134 owner: asyncapi logo: https://avatars.githubusercontent.com/u/16401334?v=4 license: Apache-2.0 - repoEtag: '"9bb7063dcf1ab147c0d7e83d790084d2cfa00d8474358df9137326c98492c598"' - repoLastModified: Mon, 01 Jan 2024 20:13:24 GMT + repoEtag: '"039a17c2e052b76724c4f5cc78ee003d879b9d11c9141e31142f398db660d84a"' + repoLastModified: Thu, 04 Jan 2024 21:44:09 GMT foundInMaster: true - source: openapi3 tags repository: https://github.com/grafana/thema @@ -8953,17 +8953,17 @@ Esmerald framework - Highly scalable, performant, easy to learn, easy to code and for every sizeable and complex application created: '2022-10-18T11:50:26Z' - updated: '2024-01-01T11:57:48Z' + updated: '2024-01-05T02:53:35Z' language: Python archived: false - stars: 196 + stars: 198 watchers: 6 forks: 11 owner: dymmond logo: https://avatars.githubusercontent.com/u/65982469?v=4 license: MIT - repoEtag: '"6b2082e707104b8bc5fe7d696d5c19553cfff8f8db1db5d13305ef8c0013beb2"' - repoLastModified: Mon, 01 Jan 2024 11:57:48 GMT + repoEtag: '"af4154298f6b2bea195bc3e5950d6e1f2f2bbc4456415fa1769b85dff7d13e17"' + repoLastModified: Fri, 05 Jan 2024 02:53:35 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -8980,17 +8980,17 @@ Query, provision and operate Cloud and SaaS resources and APIs using an extensible SQL based framework created: '2022-01-03T08:20:06Z' - updated: '2024-01-03T19:19:11Z' + updated: '2024-01-04T14:37:44Z' language: Go archived: false - stars: 217 + stars: 219 watchers: 6 forks: 26 owner: stackql logo: https://avatars.githubusercontent.com/u/95105302?v=4 license: MIT - repoEtag: '"393a05ad79c1b5b1a79882f99c8a96fb41983afa642f669a81615c89ee9158c7"' - repoLastModified: Wed, 03 Jan 2024 19:19:11 GMT + repoEtag: '"145052499e8ab5bfcae7a8b1cfbcbac7edc2c0ebe1fd516a59dc1e7feeb2baab"' + repoLastModified: Thu, 04 Jan 2024 14:37:44 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -9004,17 +9004,17 @@ repositoryId: 107572738 description: Generates OpenAPI document from OData CSDL created: '2017-10-19T16:39:13Z' - updated: '2023-12-07T17:00:56Z' + updated: '2024-01-04T13:39:59Z' language: C# archived: false - stars: 188 + stars: 189 watchers: 30 forks: 55 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"49f367446938724429d8397e60753667464313ebd084b1ddf8275c00cf3e2223"' - repoLastModified: Thu, 07 Dec 2023 17:00:56 GMT + repoEtag: '"0f55d3c39ff4696f688f68022f3a72e0d19713a6306cbcd5c90defecba25ed28"' + repoLastModified: Thu, 04 Jan 2024 13:39:59 GMT foundInMaster: true category: - Low-level Tooling @@ -9108,17 +9108,17 @@ repositoryId: 321679344 description: TypeScript code generator via OpenAPI scheme. created: '2020-12-15T13:40:09Z' - updated: '2024-01-02T17:14:51Z' + updated: '2024-01-04T16:53:09Z' language: TypeScript archived: false - stars: 176 + stars: 177 watchers: 5 forks: 16 owner: Himenon logo: https://avatars.githubusercontent.com/u/6715229?v=4 license: MIT - repoEtag: '"81aeae8b867581d295e49ec3a2d4a703e2196429315fc4927da85dadd6e3eb96"' - repoLastModified: Tue, 02 Jan 2024 17:14:51 GMT + repoEtag: '"967bfda31f35b54481f2db3d396282eea8708e1853873bcb002612c44d99a708"' + repoLastModified: Thu, 04 Jan 2024 16:53:09 GMT foundInMaster: true category: SDK id: fda6dd851e4578e64350df218e79cdaa @@ -9201,7 +9201,7 @@ owner: seriousme logo: https://avatars.githubusercontent.com/u/3322396?v=4 license: MIT - repoEtag: '"db1ce87f638b19ef5a5b327107b001b9a39fc9546dd1b778f875a90044b1a97f"' + repoEtag: '"bf4dacccf8c0657363e3867dbb5de3b841b7d4952b15d6b41b3aa1e712082dcd"' repoLastModified: Tue, 02 Jan 2024 16:49:06 GMT foundInMaster: true category: @@ -9228,7 +9228,7 @@ owner: pace logo: https://avatars.githubusercontent.com/u/16001479?v=4 license: MIT - repoEtag: '"690272704e0bb923199919b7431b9a9aaca8f352f97270a5d3f10ae8fcebef10"' + repoEtag: '"d4abcdd97d3b9c19d94d3034ff4ae0920e45976de533c06575f4d93abb95e43d"' repoLastModified: Thu, 19 Oct 2023 22:31:58 GMT foundInMaster: true category: Server @@ -9653,17 +9653,17 @@ repositoryId: 543052826 description: Speakeasy CLI - Launch developer experience for your API created: '2022-09-29T10:13:15Z' - updated: '2023-12-13T04:58:25Z' + updated: '2024-01-04T14:09:21Z' language: Go archived: false - stars: 109 + stars: 110 watchers: 8 forks: 11 owner: speakeasy-api logo: https://avatars.githubusercontent.com/u/91446104?v=4 license: NOASSERTION - repoEtag: '"2eb9b9d5a4401a78bfc2b67c6b105aaa343193481b2f66855a5097dbae01f040"' - repoLastModified: Wed, 13 Dec 2023 04:58:25 GMT + repoEtag: '"0ce6e6782af43a0b9dd84f152c94c4b954237ff79549a3661d315f102b253ab8"' + repoLastModified: Thu, 04 Jan 2024 14:09:21 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -10073,7 +10073,7 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: GPL-3.0 - repoEtag: '"57724a7955965a8ff7ac1663775f7fe48fae5ffa5942317714814cd44c5c055c"' + repoEtag: '"5ba625d3f2c4e537de5369845d50cfd3ef703d4146a6a585ec050b60ad63e177"' repoLastModified: Wed, 03 Jan 2024 14:15:16 GMT category: Parsers foundInMaster: true @@ -10141,17 +10141,17 @@ repositoryId: 628179878 description: Use Zod Schemas to create OpenAPI v3.x documentation created: '2023-04-15T06:28:51Z' - updated: '2024-01-04T00:34:13Z' + updated: '2024-01-04T17:17:35Z' language: TypeScript archived: false - stars: 85 + stars: 86 watchers: 2 forks: 6 owner: samchungy logo: https://avatars.githubusercontent.com/u/18017094?v=4 license: MIT - repoEtag: '"89879b8ce6d65660b6b39de68533e4bdb5cf3ffdc4e0fe290a62d979b4e0441c"' - repoLastModified: Thu, 04 Jan 2024 00:34:13 GMT + repoEtag: '"0243c6f361c2b560ada2bf0682213cf5fd698c6c4d3aa21d2cd3b3e63c2c4dca"' + repoLastModified: Thu, 04 Jan 2024 17:17:35 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -10245,17 +10245,17 @@ repositoryId: 673944158 description: This repository contains the specification files for PayPal REST APIs. created: '2023-08-02T19:26:26Z' - updated: '2024-01-03T08:31:47Z' + updated: '2024-01-04T22:41:35Z' language: null archived: false - stars: 80 + stars: 81 watchers: 12 - forks: 87 + forks: 88 owner: paypal logo: https://avatars.githubusercontent.com/u/476675?v=4 license: Apache-2.0 - repoEtag: '"f973b6a60c894a18c9a18392e97b0e4453ddc26928d4a584662d769544440bb9"' - repoLastModified: Wed, 03 Jan 2024 08:31:47 GMT + repoEtag: '"e9aaa6ce100c01b282c1a51089bae6b0f79609a92a8c9b401ed8cb8a6f2caa3c"' + repoLastModified: Thu, 04 Jan 2024 22:41:35 GMT category: Code Generators foundInMaster: true - source: openapi3 tags @@ -10330,17 +10330,17 @@ repositoryId: 61175252 description: Intellij Plugin for openapi-generator created: '2016-06-15T03:38:07Z' - updated: '2024-01-02T09:11:08Z' + updated: '2024-01-04T15:47:41Z' language: Kotlin archived: false - stars: 75 + stars: 76 watchers: 5 forks: 11 owner: jimschubert logo: https://avatars.githubusercontent.com/u/109659?v=4 license: Apache-2.0 - repoEtag: '"bf97a0dfb871268bad5a7d956cebad02d876c73e3909a2035b3f6c96aee9e745"' - repoLastModified: Tue, 02 Jan 2024 09:11:08 GMT + repoEtag: '"c1bdcb6c2ee9e5c1448d8c0281af7f220ca3aa66c6eabcb01e9c082dbab0e5e7"' + repoLastModified: Thu, 04 Jan 2024 15:47:41 GMT foundInMaster: true category: - SDK @@ -10438,17 +10438,17 @@ repositoryId: 162836730 description: Kotlin SDK for Jellyfin, supporting Android and JVM targets created: '2018-12-22T19:14:06Z' - updated: '2023-12-22T21:51:06Z' + updated: '2024-01-04T04:17:53Z' language: Kotlin archived: false - stars: 71 + stars: 72 watchers: 10 forks: 32 owner: jellyfin logo: https://avatars.githubusercontent.com/u/45698031?v=4 license: LGPL-3.0 - repoEtag: '"e6a5f1584002188e2f3f5c46d45976fd771d38db6440db6b5869bf7aea351457"' - repoLastModified: Fri, 22 Dec 2023 21:51:06 GMT + repoEtag: '"943e5b460638bac74117aec8540b1a290a27305dba480b4a768a8eaf60b7a7e8"' + repoLastModified: Thu, 04 Jan 2024 04:17:53 GMT foundInMaster: true category: Testing id: f51a5c8eb1a78ed2479cabdb83d894d5 @@ -10646,9 +10646,9 @@ v3: true repositoryMetadata: base64Readme: >- - IyBPcGVuYXBpRmlyc3QKClshW0pvaW4gdGhlIGNoYXQgYXQgaHR0cHM6Ly9naXR0ZXIuaW0vb3BlbmFwaV9maXJzdC9jb21tdW5pdHldKGh0dHBzOi8vYmFkZ2VzLmdpdHRlci5pbS9vcGVuYXBpX2ZpcnN0L2NvbW11bml0eS5zdmcpXShodHRwczovL2dpdHRlci5pbS9vcGVuYXBpX2ZpcnN0L2NvbW11bml0eT91dG1fc291cmNlPWJhZGdlJnV0bV9tZWRpdW09YmFkZ2UmdXRtX2NhbXBhaWduPXByLWJhZGdlJnV0bV9jb250ZW50PWJhZGdlKQoKT3BlbmFwaUZpcnN0IGhlbHBzIHRvIGltcGxlbWVudCBIVFRQIEFQSXMgYmFzZWQgb24gYW4gW09wZW5BUEldKGh0dHBzOi8vd3d3Lm9wZW5hcGlzLm9yZy8pIEFQSSBkZXNjcmlwdGlvbi4gSXQgc3VwcG9ydHMgT3BlbkFQSSAzLjAgYW5kIDMuMS4KCkl0IHByb3ZpZGVzIHRoZXNlIFJhY2sgbWlkZGxld2FyZXM6CgotIFtgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0VmFsaWRhdGlvbmBdKCNyZXF1ZXN0LXZhbGlkYXRpb24pIOKAkyBWYWxpZGF0ZXMgdGhlIHJlcXVlc3QgYWdhaW5zdCB0aGUgQVBJIGRlc2NyaXB0aW9uIGFuZCByZXR1cm5zIDQwMCBpZiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkLgotIFtgT3BlbmFwaUZpcnN0OjpSZXNwb25zZVZhbGlkYXRpb25gXSgjcmVzcG9uc2UtdmFsaWRhdGlvbikgVmFsaWRhdGVzIHRoZSByZXNwb25zZSBhbmQgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgcmVzcG9uc2UgYm9keSBpcyBpbnZhbGlkLgotIFtgT3BlbmFwaUZpcnN0OjpSb3V0ZXJgXSgjb3BlbmFwaWZpcnN0cm91dGVyKSDigJMgVGhpcyBpbnRlcm5hbCBtaWRkbGV3YXJlIGlzIGFkZGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB1c2luZyByZXF1ZXN0L3Jlc3BvbnNlIHZhbGlkYXRpb24uIEl0IGFkZHMgdGhlIE9wZW5BUEkgb3BlcmF0aW9uIGZvciB0aGUgY3VycmVudCByZXF1ZXN0IHRvIHRoZSBSYWNrIGVudi4KClVzaW5nIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHZhbGlkYXRpb24gdG9nZXRoZXIgZW5zdXJlcyB0aGF0IHlvdXIgaW1wbGVtZW50YXRpb24gZm9sbG93cyBleGFjdGx5IHRoZSBBUEkgZGVzY3JpcHRpb24uIFRoaXMgZW5hYmxlcyB5b3UgdG8gdXNlIHRoZSBBUEkgZGVzY3JpcHRpb24gYXMgYSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB5b3VyIEFQSSwgcmVhc29uIGFib3V0IGRldGFpbHMgYW5kIHVzZSB2YXJpb3VzIHRvb2xpbmcuCgojIyBSZXF1ZXN0IFZhbGlkYXRpb24KClRoZSBgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0VmFsaWRhdGlvbmAgbWlkZGxld2FyZSByZXR1cm5zIGEgNDAwIHN0YXR1cyBjb2RlIHdpdGggYSBib2R5IHRoYXQgZGVzY3JpYmVzIHRoZSBlcnJvciBpZiB0aGUgcmVxdWVzdCBpcyBub3QgdmFsaWQuCgpgYGBydWJ5CnVzZSBPcGVuYXBpRmlyc3Q6OlJlcXVlc3RWYWxpZGF0aW9uLCBzcGVjOiAnb3BlbmFwaS55YW1sJwpgYGAKCkl0IGFkZHMgdGhlc2UgZmllbGRzIHRvIHRoZSBSYWNrIGVudjoKCi0gYGVudltPcGVuYXBpRmlyc3Q6OlBBUkFNU11gIOKAkyBUaGUgcGFyc2VkIHBhcmFtZXRlcnMgKHF1ZXJ5LCBwYXRoKSBmb3IgdGhlIGN1cnJlbnQgcmVxdWVzdCAoc3RyaW5nIGtleWVkKQotIGBlbnZbT3BlbmFwaUZpcnN0OjpSRVFVRVNUX0JPRFldYCDigJMgVGhlIHBhcnNlZCByZXF1ZXN0IGJvZHkgKHN0cmluZyBrZXllZCkKLSBgZW52W09wZW5hcGlGaXJzdDo6T1BFUkFUSU9OXWAgKEFkZGVkIHZpYSBSb3V0ZXIpIOKAkyBUaGUgT3BlcmF0aW9uIG9iamVjdCBmb3IgdGhlIGN1cnJlbnQgcmVxdWVzdC4gVGhpcyBpcyBhbiBpbnN0YW5jZSBvZiBgT3BlbmFwaUZpcnN0OjpPcGVyYXRpb25gLgoKIyMjIE9wdGlvbnMgYW5kIGRlZmF1bHRzCgp8IE5hbWUgICAgICAgICAgICAgIHwgUG9zc2libGUgdmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCA6LS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8CnwgYHNwZWM6YCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUaGUgcGF0aCB0byB0aGUgc3BlYyBmaWxlIG9yIHNwZWMgbG9hZGVkIHZpYSBgT3BlbmFwaUZpcnN0LmxvYWRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJhaXNlX2Vycm9yOmAgICAgfCBgZmFsc2VgLCBgdHJ1ZWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBJZiBzZXQgdG8gdHJ1ZSB0aGUgbWlkZGxld2FyZSByYWlzZXMgYE9wZW5hcGlGaXJzdDo6UmVxdWVzdEludmFsaWRFcnJvcmAgaW5zdGVhZCBvZiByZXR1cm5pbmcgNHh4LiB8IGBmYWxzZWAgKGRvbid0IHJhaXNlIGFuIGV4Y2VwdGlvbikgfAp8IGBlcnJvcl9yZXNwb25zZTpgIHwgYDpkZWZhdWx0YCwgYDpqc29uX2FwaWAsIFlvdXIgaW1wbGVtZW50YXRpb24gb2YgYEVycm9yUmVzcG9uc2VgIHwgOmRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAoKVGhlIGVycm9yIHJlc3BvbnNlcyBjb25mb3JtIHdpdGggW0pTT046QVBJXShodHRwczovL2pzb25hcGkub3JnKS4KCkhlcmUncyBhbiBleGFtcGxlIHJlc3BvbnNlIGJvZHkgZm9yIGEgbWlzc2luZyBxdWVyeSBwYXJhbWV0ZXIgInNlYXJjaCI6CgpgYGBqc29uCmh0dHAtc3RhdHVzOiA0MDAKY29udGVudC10eXBlOiAiYXBwbGljYXRpb24vanNvbiIKCnsKICAiZXJyb3JzIjogWwogICAgewogICAgICAidGl0bGUiOiAiaXMgbWlzc2luZyIsCiAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgInBhcmFtZXRlciI6ICJzZWFyY2giCiAgICAgIH0KICAgIH0KICBdCn0KYGBgCgojIyMgUGFyYW1ldGVycwoKVGhlIGBSZXF1ZXN0VmFsaWRhdGlvbmAgbWlkZGxld2FyZSBhZGRzIGBlbnZbT3BlbmFwaUZpcnN0OjpQQVJBTVNdYCAob3IgYGVudlsnb3BlbmFwaS5wYXJhbXMnXWAgKSB3aXRoIHRoZSBjb252ZXJ0ZWQgcXVlcnkgYW5kIHBhdGggcGFyYW1ldGVycy4gVGhpcyBvbmx5IGluY2x1ZGVzIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIEFQSSBkZXNjcmlwdGlvbi4gSXQgc3VwcG9ydHMgZXZlcnkgW2BzdHlsZWAgYW5kIGBleHBsb2RlYCB2YWx1ZSBhcyBkZXNjcmliZWRdKGh0dHBzOi8vc3BlYy5vcGVuYXBpcy5vcmcvb2FzL2xhdGVzdC5odG1sI3N0eWxlLWV4YW1wbGVzKSBpbiB0aGUgT3BlbkFQSSAzLjAgYW5kIDMuMSBzcGVjcy4gU28geW91IGNhbiBkbyB0aGluZ3MgdGhlc2U6CgpgYGBydWJ5CiMgR0VUIC9wZXRzL2ZpbHRlcltpZF09MSwyLDMKZW52W09wZW5hcGlGaXJzdDo6UEFSQU1TXSAjID0+IHsgJ2ZpbHRlcltpZF0nID0+IFsxLDIsM10gfQoKIyBHRVQgL2NvbG9ycy8uYmx1ZS5ibGFjay5icm93bj9mb3JtYXQ9Y3N2CmVudltPcGVuYXBpRmlyc3Q6OlBBUkFNU10gIyA9PiB7ICdjb2xvcl9uYW1lcycgPT4gWydibHVlJywgJ2JsYWNrJywgJ2Jyb3duJ10sICdmb3JtYXQnID0+ICdjc3YnIH0KCiMgQW5kIGEgbG90IG1vcmUuCmBgYAoKSW50ZWdyYXRpb24gZm9yIHNwZWNpZmljIHdlYmZyYW1ld29ya3MgaXMgb25nb2luZy4gRG9uJ3QgaGVzaXRhdGUgdG8gY3JlYXRlIGFuIGlzc3VlIHdpdGggeW91IHNwZWNpZmljIG5lZWRzLgoKIyMjIFJlcXVlc3QgYm9keSB2YWxpZGF0aW9uCgpUaGlzIG1pZGRsZXdhcmUgYWRkcyB0aGUgcGFyc2VkIHJlcXVlc3QgYm9keSB0byBgZW52W09wZW5hcGlGaXJzdDo6UkVRVUVTVF9CT0RZXWAuCgpUaGUgbWlkZGxld2FyZSB3aWxsIHJldHVybiBhIHN0YXR1cyBgNDE1YCBpZiB0aGUgcmVxdWVzdHMgY29udGVudCB0eXBlIGRvZXMgbm90IG1hdGNoIG9yIGA0MDBgIGlmIHRoZSByZXF1ZXN0IGJvZHkgaXMgaW52YWxpZC4KCiMjIyBIZWFkZXIsIENvb2tpZSwgUXVlcnkgYW5kIFBhdGggcGFyYW1ldGVyIHZhbGlkYXRpb24KClRoZSBgUmVxdWVzdFZhbGlkYXRpb25gIG1pZGRsZXdhcmUgdmFsaWRhdGVzIHRoZSByZXF1ZXN0IGhlYWRlcnMsIGNvb2tpZXMgYW5kIHBhdGggcGFyYW1ldGVycyBhcyBkZWZpbmVkIGluIHlvdSBBUEkgZGVzY3JpcHRpb24uIEl0IHJldHVybnMgYSBgNDAwYCBzdGF0dXMgY29kZSBpZiB0aGUgcmVxdWVzdCBpcyBpbnZhbGlkLiBJdCBhZGRzIHRoZSBwYXJzZWQgbWVyZ2VkIF9wYXRoXyBhbmQgX3F1ZXJ5XyBwYXJhbWV0ZXJzIHRvIGBlbnZbJ29wZW5hcGkucGFyYW1zJ11gLgpTZXBhcmF0ZSBwYXJzZWQgcGFyYW1ldGVycyBhcmUgbWFkZSBhdmFpbGFibGUgYnkgbG9jYXRpb24gYXQgYGVudlsnb3BlbmFwaS5wYXRoX3BhcmFtcyddYCwgYGVudlsnb3BlbmFwaS5xdWVyeSddYCwgYGVudlsnb3BlbmFwaS5oZWFkZXJzJ11gLCBgZW52WydvcGVuYXBpLmNvb2tpZXMnXWAgYXMgd2VsbCBpZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlbSBzZXBhcmF0ZWx5LgoKIyMjIHJlYWRPbmx5IC8gd3JpdGVPbmx5IHByb3BlcnRpZXMKClJlcXVlc3QgdmFsaWRhdGlvbiBmYWlscyBpZiByZXF1ZXN0IGluY2x1ZGVzIGEgcHJvcGVydHkgd2l0aCBgcmVhZE9ubHk6IHRydWVgLgoKUmVzcG9uc2UgdmFsaWRhdGlvbiBmYWlscyBpZiByZXNwb25zZSBib2R5IGluY2x1ZGVzIGEgcHJvcGVydHkgd2l0aCBgd3JpdGVPbmx5OiB0cnVlYC4KCiMjIFJlc3BvbnNlIHZhbGlkYXRpb24KClRoZSBgT3BlbmFwaUZpcnN0OjpSZXNwb25zZVZhbGlkYXRpb25gIG1pZGRsZXdhcmUgaXMgZXNwZWNpYWxseSB1c2VmdWwgd2hlbiB0ZXN0aW5nLiBJdCBfYWx3YXlzXyByYWlzZXMgYW4gZXJyb3IgaWYgdGhlIHJlc3BvbnNlIGlzIG5vdCB2YWxpZC4KCmBgYHJ1YnkKdXNlIE9wZW5hcGlGaXJzdDo6UmVzcG9uc2VWYWxpZGF0aW9uLCBzcGVjOiAnb3BlbmFwaS55YW1sJyBpZiBFTlZbJ1JBQ0tfRU5WJ10gPT0gJ3Rlc3QnCmBgYAoKIyMjIE9wdGlvbnMKCnwgTmFtZSAgICB8IFBvc3NpYmxlIHZhbHVlcyB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZWZhdWx0IHwKfCA6LS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0gfAp8IGBzcGVjOmAgfCAgICAgICAgICAgICAgICAgfCBUaGUgcGF0aCB0byB0aGUgc3BlYyBmaWxlIG9yIHNwZWMgbG9hZGVkIHZpYSBgT3BlbmFwaUZpcnN0LmxvYWRgIHwKCiMjIE9wZW5hcGlGaXJzdDo6Um91dGVyCgpUaGlzIG1pZGRsZXdhcmUgaXMgdXNlZCBhdXRvbWF0aWNhbGx5LCBidXQgeW91IGNhbiBhZGQgaXQgdG8gdGhlIHRvcCBvZiB5b3VyIG1pZGRsZXdhcmUgc3RhY2sgaWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHRoZSBiZWhhdmlvciB2aWEgb3B0aW9ucy4KCmBgYHJ1YnkKdXNlIE9wZW5hcGlGaXJzdDo6Um91dGVyLCBzcGVjOiAnLi9vcGVuYXBpL29wZW5hcGkueWFtbCcKYGBgCgpUaGlzIG1pZGRsZXdhcmUgYWRkcyBgZW52WydvcGVuYXBpLm9wZXJhdGlvbiddYCB3aGljaCBob2xkcyBhbiBpbnN0YW5jZSBvZiBgT3BlbmFwaUZpcnN0OjpPcGVyYXRpb25gIHRoYXQgcmVzcG9uZHMgdG8gYCNvcGVyYXRpb25faWRgLCBgI3BhdGhgIChhbmQgYCNbXWAgdG8gYWNjZXNzIHJhdyBmaWVsZHMpLgoKIyMjIE9wdGlvbnMgYW5kIGRlZmF1bHRzCgp8IE5hbWUgICAgICAgICAgIHwgUG9zc2libGUgdmFsdWVzICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCA6LS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8CnwgYHNwZWM6YCAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8IFRoZSBwYXRoIHRvIHRoZSBzcGVjIGZpbGUgb3Igc3BlYyBsb2FkZWQgdmlhIGBPcGVuYXBpRmlyc3QubG9hZGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8IGByYWlzZV9lcnJvcjpgIHwgYGZhbHNlYCwgYHRydWVgICAgICAgfCBJZiBzZXQgdG8gdHJ1ZSB0aGUgbWlkZGxld2FyZSByYWlzZXMgYE9wZW5hcGlGaXJzdDo6Tm90Rm91bmRFcnJvcmAgd2hlbiBhIHBhdGggb3IgbWV0aG9kIHdhcyBub3QgZm91bmQgaW4gdGhlIEFQSSBkZXNjcmlwdGlvbi4gVGhpcyBpcyB1c2VmdWwgZHVyaW5nIHRlc3RpbmcgdG8gc3BvdCBhbiBpbmNvbXBsZXRlIEFQSSBkZXNjcmlwdGlvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgZmFsc2VgIChkb24ndCByYWlzZSBhbiBleGNlcHRpb24pIHwKfCBgbm90X2ZvdW5kOmAgICB8IGA6Y29udGludWVgLCBgOmhhbHRgIHwgSWYgc2V0IHRvIGA6Y29udGludWVgIHRoZSBtaWRkbGV3YXJlIHdpbGwgbm90IHJldHVybiA0MDQgKDQwNSwgNDE1KSwgYnV0IGp1c3QgcGFzcyBoYW5kbGluZyB0aGUgcmVxdWVzdCB0byB0aGUgbmV4dCBtaWRkbGV3YXJlIG9yIGFwcGxpY2F0aW9uIGluIHRoZSBSYWNrIHN0YWNrLiBJZiBjb21iaW5lZCB3aXRoIGByYWlzZV9lcnJvcjogdHJ1ZWAgYHJhaXNlX2Vycm9yYCBnZXRzIHByZWZlcmVuY2UgYW5kIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQuIHwgYDpoYWx0YCAocmV0dXJuIDR4eCByZXNwb25zZSkgICAgICB8CgojIyBHbG9iYWwgY29uZmlndXJhdGlvbgoKWW91IGNhbiBjb25maWd1cmUgZGVmYXVsdCBvcHRpb25zIGdvYmFsbHkgdmlhIGBPcGVuYXBpRmlyc3Q6OkNvbmZpZ2A6CgpgYGBydWJ5Ck9wZW5hcGlGaXJzdDo6Q29uZmlnLmRlZmF1bHRfb3B0aW9ucyA9IHsKICBlcnJvcl9yZXNwb25zZTogOmpzb25fYXBpLAogIHJlcXVlc3RfdmFsaWRhdGlvbl9yYWlzZV9lcnJvcjogdHJ1ZQp9CmBgYAoKIyMgQWx0ZXJuYXRpdmVzCgpUaGlzIGdlbSBpcyBpbnNwaXJlZCBieSBbY29tbWl0dGVlXShodHRwczovL2dpdGh1Yi5jb20vaW50ZXJhZ2VudC9jb21taXR0ZWUpIChSdWJ5KSBhbmQgW2Nvbm5leGlvbl0oaHR0cHM6Ly9naXRodWIuY29tL3phbGFuZG8vY29ubmV4aW9uKSAoUHl0aG9uKS4KCkhlcmUncyBhIFtjb21wYXJpc29uIGJldHdlZW4gY29tbWl0dGVlIGFuZCBvcGVuYXBpX2ZpcnN0XShodHRwczovL2dpc3QuZ2l0aHViLmNvbS9haHgvMTUzOGMzMWYwNjUyZjQ1OTg2MTcxM2I1MjU5ZTM2NmEpLgoKIyMgVHJ5IGl0IG91dAoKU2VlIFtleGFtcGxlc10oZXhhbXBsZXMpLgoKIyMgSW5zdGFsbGF0aW9uCgpBZGQgdGhpcyBsaW5lIHRvIHlvdXIgYXBwbGljYXRpb24ncyBHZW1maWxlOgoKYGBgcnVieQpnZW0gJ29wZW5hcGlfZmlyc3QnCmBgYAoKT3BlbmFwaUZpcnN0IHVzZXMgW2BtdWx0aV9qc29uYF0oaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy9tdWx0aV9qc29uKS4KCiMjIE1hbnVhbCByZXNwb25zZSB2YWxpZGF0aW9uCgpJbnN0ZWFkIG9mIHVzaW5nIHRoZSBSZXNwb25zZVZhbGlkYXRpb24gbWlkZGxld2FyZSB5b3UgY2FuIHZhbGlkYXRlIHRoZSByZXNwb25zZSBpbiB5b3VyIHRlc3QgbWFudWFsbHkgdmlhIFtyYWNrLXRlc3RdKGh0dHBzOi8vZ2l0aHViLmNvbS9yYWNrLXRlc3QvcmFjay10ZXN0KSBhbmQgUmVzcG9uc2VWYWxpZGF0b3IuCgpgYGBydWJ5CiMgSW4geW91ciB0ZXN0IChyc3BlYyBleGFtcGxlKToKcmVxdWlyZSAnb3BlbmFwaV9maXJzdCcKdmFsaWRhdG9yID0gT3BlbmFwaUZpcnN0OjpSZXNwb25zZVZhbGlkYXRvci5uZXcoJ3BldHN0b3JlLnlhbWwnKQoKIyBUaGlzIHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGZvdW5kIGFuIGVycm9yCnZhbGlkYXRvci52YWxpZGF0ZShsYXN0X3JlcXVlc3QsIGxhc3RfcmVzcG9uc2UpCmBgYAoKIyMgSGFuZGxpbmcgb25seSBjZXJ0YWluIHBhdGhzCgpZb3UgY2FuIGZpbHRlciB0aGUgVVJJcyB0aGF0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHBhc3NpbmcgYG9ubHlgIHRvIGBPcGVuYXBpRmlyc3QubG9hZGA6CgpgYGBydWJ5CnNwZWMgPSBPcGVuYXBpRmlyc3QubG9hZCgnLi9vcGVuYXBpL29wZW5hcGkueWFtbCcsIG9ubHk6IC0+KHBhdGgpIHsgcGF0aC5zdGFydHNfd2l0aD8gJy9wZXRzJyB9KQp1c2UgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0VmFsaWRhdGlvbiwgc3BlYzogc3BlYwpgYGAKCiMjIERldmVsb3BtZW50CgpSdW4gYGJpbi9zZXR1cGAgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuCgpTZWUgYGJ1bmRsZSBleGVjIHJha2VgIHRvIHJ1biB0aGUgbGludGVyIGFuZCB0aGUgdGVzdHMuCgpSdW4gYGJ1bmRsZSBleGVjIHJzcGVjYCB0byBydW4gdGhlIHRlc3RzIG9ubHkuCgojIyBCZW5jaG1hcmtzCgpbUmVzdWx0c10oaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYWh4L2U2ZmZjZWQ1OGJkMmU4ZDViYWZmYjJmNGQyYzFmODIzKQoKIyMjIFJ1biBiZW5jaG1hcmtzCgpgYGBzaApjZCBiZW5jaG1hcmtzCmJ1bmRsZQpidW5kbGUgZXhlYyBydWJ5IGJlbmNobWFya3MucmIKYGBgCgojIyBDb250cmlidXRpbmcKCklmIHlvdSBoYXZlIGEgcXVlc3Rpb24gb3IgYW4gaWRlYSBvciBmb3VuZCBhIGJ1ZyBkb24ndCBoZXNpdGF0ZSB0byBbY3JlYXRlIGFuIGlzc3VlIG9uIEdpdEh1Yl0oaHR0cHM6Ly9naXRodWIuY29tL2FoeC9vcGVuYXBpX2ZpcnN0L2lzc3Vlcykgb3IgW3JlYWNoIG91dCB2aWEgY2hhdF0oaHR0cHM6Ly9naXR0ZXIuaW0vb3BlbmFwaV9maXJzdC9jb21tdW5pdHkpLgoKUHVsbCByZXF1ZXN0cyBhcmUgdmVyeSB3ZWxjb21lIGFzIHdlbGwsIG9mIGNvdXJzZS4gRmVlbCBmcmVlIHRvIGNyZWF0ZSBhICJkcmFmdCIgcHVsbCByZXF1ZXN0IGVhcmx5IG9uLCBldmVuIGlmIHlvdXIgY2hhbmdlIGlzIHN0aWxsIHdvcmsgaW4gcHJvZ3Jlc3MuIPCfpJcK - readmeEtag: '"fa02dcd1cd0f85fa075c5b414f9470af790d3ed96a2288453bad5ca3f5f92cab"' - readmeLastModified: Tue, 26 Dec 2023 07:50:15 GMT + IyBPcGVuYXBpRmlyc3QKClshW0pvaW4gdGhlIGNoYXQgYXQgaHR0cHM6Ly9naXR0ZXIuaW0vb3BlbmFwaV9maXJzdC9jb21tdW5pdHldKGh0dHBzOi8vYmFkZ2VzLmdpdHRlci5pbS9vcGVuYXBpX2ZpcnN0L2NvbW11bml0eS5zdmcpXShodHRwczovL2dpdHRlci5pbS9vcGVuYXBpX2ZpcnN0L2NvbW11bml0eT91dG1fc291cmNlPWJhZGdlJnV0bV9tZWRpdW09YmFkZ2UmdXRtX2NhbXBhaWduPXByLWJhZGdlJnV0bV9jb250ZW50PWJhZGdlKQoKT3BlbmFwaUZpcnN0IGhlbHBzIHRvIGltcGxlbWVudCBIVFRQIEFQSXMgYmFzZWQgb24gYW4gW09wZW5BUEldKGh0dHBzOi8vd3d3Lm9wZW5hcGlzLm9yZy8pIEFQSSBkZXNjcmlwdGlvbi4gSXQgc3VwcG9ydHMgT3BlbkFQSSAzLjAgYW5kIDMuMS4KCkl0IHByb3ZpZGVzIHRoZXNlIFJhY2sgbWlkZGxld2FyZXM6CgotIFtgT3BlbmFwaUZpcnN0OjpNaWRkbGV3YXJlczo6UmVxdWVzdFZhbGlkYXRpb25gXSgjcmVxdWVzdC12YWxpZGF0aW9uKSDigJMgVmFsaWRhdGVzIHRoZSByZXF1ZXN0IGFnYWluc3QgdGhlIEFQSSBkZXNjcmlwdGlvbiBhbmQgcmV0dXJucyA0eHggaWYgdGhlIHJlcXVlc3QgaXMgaW52YWxpZC4KLSBbYE9wZW5hcGlGaXJzdDo6TWlkZGxld2FyZXM6OlJlc3BvbnNlVmFsaWRhdGlvbmBdKCNyZXNwb25zZS12YWxpZGF0aW9uKSBWYWxpZGF0ZXMgdGhlIHJlc3BvbnNlIGFuZCByYWlzZXMgYW4gZXhjZXB0aW9uIGlmIHRoZSByZXNwb25zZSBib2R5IGlzIGludmFsaWQuCgpVc2luZyByZXF1ZXN0IGFuZCByZXNwb25zZSB2YWxpZGF0aW9uIHRvZ2V0aGVyIGVuc3VyZXMgdGhhdCB5b3VyIGltcGxlbWVudGF0aW9uIGZvbGxvd3MgZXhhY3RseSB0aGUgQVBJIGRlc2NyaXB0aW9uLiBUaGlzIGVuYWJsZXMgeW91IHRvIHVzZSB0aGUgQVBJIGRlc2NyaXB0aW9uIGFzIGEgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgeW91ciBBUEksIHJlYXNvbiBhYm91dCBkZXRhaWxzIGFuZCB1c2UgdmFyaW91cyB0b29saW5nLgoKIyMgTWlkZGxld2FyZXMKCmBPcGVuYXBpRmlyc3RgIG9mZmVycyBvbmUgUmFjayBtaWRkbGV3YXJlIGZvciByZXF1ZXN0IHZhbGlkYXRpb24gYW5kIG9uZSBmb3IgcmVzcG9uc2UgdmFsaWRhdGlvbi4gQm90aCBhZGQgYSBfcmVxdWVzdF8gb2JqZWN0IHRvIHRoZSBjdXJyZW50IFJhY2sgZW52IGF0IGBlbnZbT3BlbmFwaUZpcnN0OjpSRVFVRVNUXWAgKG9yIGBlbnZbJ29wZW5hcGkucmVxdWVzdCddYCksIHdoaWNoIGlzIGluIGFuIGluc3RhbmNlIG9mIGBPcGVuYXBpRmlyc3Q6OlJ1bnRpbWVSZXF1ZXN0YC4gVGhpcyBnaXZlcyB5b3UgYWNjZXNzIHRvIHRoZSBjb252ZXJ0ZWQgcXVlcnkgYW5kIHBhdGggcGFyYW1ldGVycyBleGFjbHR5IGFzIGRlc2NyaWJlZCBpbiB5b3VyIEFQSSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gUmFjayBhbG9uZSBwYXJzZSB0aGUgcmVxdWVzdC4gVGhpcyBvbmx5IGluY2x1ZGVzIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIEFQSSBkZXNjcmlwdGlvbi4gSXQgc3VwcG9ydHMgZXZlcnkgW2BzdHlsZWAgYW5kIGBleHBsb2RlYCB2YWx1ZSBhcyBkZXNjcmliZWRdKGh0dHBzOi8vc3BlYy5vcGVuYXBpcy5vcmcvb2FzL2xhdGVzdC5odG1sI3N0eWxlLWV4YW1wbGVzKSBpbiB0aGUgT3BlbkFQSSAzLjAgYW5kIDMuMSBzcGVjcy4KCiMjIyBSZXF1ZXN0IHZhbGlkYXRpb24KClRoaXMgbWlkZGxld2FyZSByZXR1cm5zIGEgNDAwIHN0YXR1cyBjb2RlIHdpdGggYSBib2R5IHRoYXQgZGVzY3JpYmVzIHRoZSBlcnJvciBpZiB0aGUgcmVxdWVzdCBpcyBub3QgdmFsaWQuCgpgYGBydWJ5CnVzZSBPcGVuYXBpRmlyc3Q6OlJlcXVlc3RWYWxpZGF0aW9uLCBzcGVjOiAnb3BlbmFwaS55YW1sJwpgYGAKCiMjIyMgT3B0aW9ucyBhbmQgZGVmYXVsdHMKCnwgTmFtZSAgICAgICAgICAgICAgfCBQb3NzaWJsZSB2YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8IDotLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwKfCBgc3BlYzpgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFRoZSBwYXRoIHRvIHRoZSBzcGVjIGZpbGUgb3Igc3BlYyBsb2FkZWQgdmlhIGBPcGVuYXBpRmlyc3QubG9hZGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCBgcmFpc2VfZXJyb3I6YCAgICB8IGBmYWxzZWAsIGB0cnVlYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IElmIHNldCB0byB0cnVlIHRoZSBtaWRkbGV3YXJlIHJhaXNlcyBgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0SW52YWxpZEVycm9yYCBpbnN0ZWFkIG9mIHJldHVybmluZyA0eHguIHwgYGZhbHNlYCAoZG9uJ3QgcmFpc2UgYW4gZXhjZXB0aW9uKSB8CnwgYGVycm9yX3Jlc3BvbnNlOmAgfCBgOmRlZmF1bHRgLCBgOmpzb25fYXBpYCwgWW91ciBpbXBsZW1lbnRhdGlvbiBvZiBgRXJyb3JSZXNwb25zZWAgfCA6ZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CgpIZXJlJ3MgYW4gZXhhbXBsZSByZXNwb25zZSBib2R5IGFib3V0IGFuIGludmFsaWQgcmVxdWVzdCBib2R5LiBTZWUgYWxzbyBbUkZDIDk0NTddKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5NDU3KS4KCmBgYGpzb24KaHR0cC1zdGF0dXM6IDQwMApjb250ZW50LXR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIgoKewogICJ0aXRsZSI6ICJCYWQgUmVxdWVzdCBCb2R5IiwKICAic3RhdHVzIjogNDAwLAogICJlcnJvcnMiOiBbCiAgICB7CiAgICAgICJtZXNzYWdlIjogInZhbHVlIGF0IGAvZGF0YS9uYW1lYCBpcyBub3QgYSBzdHJpbmciLAogICAgICAicG9pbnRlciI6ICIvZGF0YS9uYW1lIiwKICAgICAgImNvZGUiOiAic3RyaW5nIgogICAgfSwKICAgIHsKICAgICAgIm1lc3NhZ2UiOiAibnVtYmVyIGF0IGAvZGF0YS9udW1iZXJPZkxlZ3NgIGlzIGxlc3MgdGhhbjogMiIsCiAgICAgICJwb2ludGVyIjogIi9kYXRhL251bWJlck9mTGVncyIsCiAgICAgICJjb2RlIjogIm1pbmltdW0iCiAgICB9LAogICAgewogICAgICAibWVzc2FnZSI6ICJvYmplY3QgYXQgYC9kYXRhYCBpcyBtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnRpZXM6IG1hbmRhdG9yeSIsCiAgICAgICJwb2ludGVyIjogIi9kYXRhIiwKICAgICAgImNvZGUiOiAicmVxdWlyZWQiCiAgICB9CiAgXQp9CmBgYAoKIyMjIHJlYWRPbmx5IC8gd3JpdGVPbmx5IHByb3BlcnRpZXMKClJlcXVlc3QgdmFsaWRhdGlvbiBmYWlscyBpZiByZXF1ZXN0IGluY2x1ZGVzIGEgcHJvcGVydHkgd2l0aCBgcmVhZE9ubHk6IHRydWVgLgoKUmVzcG9uc2UgdmFsaWRhdGlvbiBmYWlscyBpZiByZXNwb25zZSBib2R5IGluY2x1ZGVzIGEgcHJvcGVydHkgd2l0aCBgd3JpdGVPbmx5OiB0cnVlYC4KCiMjIFJlc3BvbnNlIHZhbGlkYXRpb24KClRoaXMgbWlkZGxld2FyZSBpcyBlc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHRlc3RpbmcuIEl0IF9hbHdheXNfIHJhaXNlcyBhbiBlcnJvciBpZiB0aGUgcmVzcG9uc2UgaXMgbm90IHZhbGlkLgoKYGBgcnVieQp1c2UgT3BlbmFwaUZpcnN0OjpSZXNwb25zZVZhbGlkYXRpb24sIHNwZWM6ICdvcGVuYXBpLnlhbWwnIGlmIEVOVlsnUkFDS19FTlYnXSA9PSAndGVzdCcKYGBgCgojIyMgT3B0aW9ucwoKfCBOYW1lICAgIHwgUG9zc2libGUgdmFsdWVzIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgfAp8IDotLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLSB8CnwgYHNwZWM6YCB8ICAgICAgICAgICAgICAgICB8IFRoZSBwYXRoIHRvIHRoZSBzcGVjIGZpbGUgb3Igc3BlYyBsb2FkZWQgdmlhIGBPcGVuYXBpRmlyc3QubG9hZGAgfAoKIyMgR2xvYmFsIGNvbmZpZ3VyYXRpb24KCllvdSBjYW4gY29uZmlndXJlIGRlZmF1bHQgb3B0aW9ucyBnbG9iYWxseToKCmBgYHJ1YnkKT3BlbmFwaUZpcnN0LmNvbmZpZ3VyZSBkbyB8Y29uZmlnfAogICMgU3BlY2lmeSB3aGljaCBwbHVnaW4gaXMgdXNlZCB0byByZW5kZXIgZXJyb3IgcmVzcG9uc2VzIHJldHVybmVkIGJ5IHRoZSByZXF1ZXN0IHZhbGlkYXRpb24gbWlkZGxld2FyZSAoZGVmYXVsdHMgdG8gOmRlZmF1bHQpCiAgY29uZmlnLnJlcXVlc3RfdmFsaWRhdGlvbl9lcnJvcl9yZXNwb25zZSA9IDpqc29uX2FwaQogICMgQ29uZmlndXJlIGlmIHRoZSByZXNwb25zZSB2YWxpZGF0aW9uIG1pZGRsZXdhcmUgc2hvdWxkIHJhaXNlIGFuIGV4Y2VwdGlvbiAoZGVmYXVsdHMgdG8gZmFsc2UpCiAgY29uZmlnLnJlcXVlc3RfdmFsaWRhdGlvbl9yYWlzZV9lcnJvciA9IHRydWUKZW5kCmBgYAoKIyMgUGx1Z2lucwoKT3BlbmFwaUZpcnN0IG9mZmVycyBhIHNpbXBsZSBwbHVnaW4gc3lzdGVtLiBTZWUgbGliL29wZW5hcGlfZmlyc3QvcGx1Z2lucyBmb3IgZGV0YWlscy4gKHRiZC4pCgojIyBNYW51YWwgdmFsaWRhdGlvbgoKSW5zdGVhZCBvZiB1c2luZyB0aGUgbWlkZGxld2FyZXMgeW91IGNhbiB2YWxpZGF0ZSB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgbWFudWFsbHkuCgpgYGBydWJ5CnJlcXVpcmUgJ29wZW5hcGlfZmlyc3QnCmRlZmluaXRpb24gPSBPcGVuYXBpRmlyc3QubG9hZCgncGV0c3RvcmUueWFtbCcpCgojIyBSZXF1ZXN0IHZhbGlkYXRpb24KZGVmaW5pdGlvbi5yZXF1ZXN0KFJhY2s6OlJlcXVlc3QubmV3KGVudikpLnZhbGlkYXRlICMgcmV0dXJucyBuaWwgaWYgcmVxdWVzdCBpcyB2YWxpZCwgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0VmFsaWRhdGlvbjo6RmFpbHVyZSBpZiBub3QKIyBvcgpkZWZpbml0aW9uLnJlcXVlc3QoUmFjazo6UmVxdWVzdC5uZXcoZW52KSkudmFsaWRhdGUhICMgcmV0dXJucyBuaWwgaWYgcmVxdWVzdCBpcyB2YWxpZCwgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiBub3QKCiMjIFJlc3BvbnNlIHZhbGlkYXRpb24KcmVzcG9uc2UgPSBhcHAuY2FsbChlbnYpCmRlZmluaXRpb24ucmVxdWVzdChSYWNrOjpSZXF1ZXN0Lm5ldyhlbnYpKS5yZXNwb25zZShyZXNwb25zZSkudmFsaWRhdGUhICMgcmV0dXJucyBuaWwgaWYgcmVxdWVzdCBpcyB2YWxpZCwgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiBub3QKYGBgCgojIyBIYW5kbGluZyBvbmx5IGNlcnRhaW4gcGF0aHMKCllvdSBjYW4gZmlsdGVyIHRoZSBVUklzIHRoYXQgc2hvdWxkIGJlIGhhbmRsZWQgYnkgcGFzc2luZyBgb25seWAgdG8gYE9wZW5hcGlGaXJzdC5sb2FkYDoKCmBgYHJ1YnkKc3BlYyA9IE9wZW5hcGlGaXJzdC5sb2FkKCcuL29wZW5hcGkvb3BlbmFwaS55YW1sJywgb25seTogeyB8cGF0aHwgcGF0aC5zdGFydHNfd2l0aD8gJy9wZXRzJyB9KQp1c2UgT3BlbmFwaUZpcnN0OjpSZXF1ZXN0VmFsaWRhdGlvbiwgc3BlYzogc3BlYwpgYGAKCiMjIEFsdGVybmF0aXZlcwoKVGhpcyBnZW0gaXMgaW5zcGlyZWQgYnkgW2NvbW1pdHRlZV0oaHR0cHM6Ly9naXRodWIuY29tL2ludGVyYWdlbnQvY29tbWl0dGVlKSAoUnVieSkgYW5kIFtjb25uZXhpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS96YWxhbmRvL2Nvbm5leGlvbikgKFB5dGhvbikuCgpIZXJlJ3MgYSBbY29tcGFyaXNvbiBiZXR3ZWVuIGNvbW1pdHRlZSBhbmQgb3BlbmFwaV9maXJzdF0oaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYWh4LzE1MzhjMzFmMDY1MmY0NTk4NjE3MTNiNTI1OWUzNjZhKS4KCiMjIFRyeSBpdCBvdXQKClNlZSBbZXhhbXBsZXNdKGV4YW1wbGVzKS4KCiMjIEluc3RhbGxhdGlvbgoKQWRkIHRoaXMgbGluZSB0byB5b3VyIGFwcGxpY2F0aW9uJ3MgR2VtZmlsZToKCmBgYHJ1YnkKZ2VtICdvcGVuYXBpX2ZpcnN0JwpgYGAKCk9wZW5hcGlGaXJzdCB1c2VzIFtgbXVsdGlfanNvbmBdKGh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvbXVsdGlfanNvbikuCgojIyBNYW51YWwgcmVzcG9uc2UgdmFsaWRhdGlvbgoKSW5zdGVhZCBvZiB1c2luZyB0aGUgUmVzcG9uc2VWYWxpZGF0aW9uIG1pZGRsZXdhcmUgeW91IGNhbiB2YWxpZGF0ZSB0aGUgcmVzcG9uc2UgaW4geW91ciB0ZXN0IG1hbnVhbGx5IHZpYSBbcmFjay10ZXN0XShodHRwczovL2dpdGh1Yi5jb20vcmFjay10ZXN0L3JhY2stdGVzdCkgYW5kIFJlc3BvbnNlVmFsaWRhdG9yLgoKYGBgcnVieQojIEluIHlvdXIgdGVzdCAocnNwZWMgZXhhbXBsZSk6CnJlcXVpcmUgJ29wZW5hcGlfZmlyc3QnCnZhbGlkYXRvciA9IE9wZW5hcGlGaXJzdDo6UmVzcG9uc2VWYWxpZGF0b3IubmV3KCdwZXRzdG9yZS55YW1sJykKCiMgVGhpcyB3aWxsIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiBpdCBmb3VuZCBhbiBlcnJvcgp2YWxpZGF0b3IudmFsaWRhdGUobGFzdF9yZXF1ZXN0LCBsYXN0X3Jlc3BvbnNlKQpgYGAKCiMjIEhhbmRsaW5nIG9ubHkgY2VydGFpbiBwYXRocwoKWW91IGNhbiBmaWx0ZXIgdGhlIFVSSXMgdGhhdCBzaG91bGQgYmUgaGFuZGxlZCBieSBwYXNzaW5nIGBvbmx5YCB0byBgT3BlbmFwaUZpcnN0LmxvYWRgOgoKYGBgcnVieQpzcGVjID0gT3BlbmFwaUZpcnN0LmxvYWQoJy4vb3BlbmFwaS9vcGVuYXBpLnlhbWwnLCBvbmx5OiAtPihwYXRoKSB7IHBhdGguc3RhcnRzX3dpdGg/ICcvcGV0cycgfSkKdXNlIE9wZW5hcGlGaXJzdDo6UmVxdWVzdFZhbGlkYXRpb24sIHNwZWM6IHNwZWMKYGBgCgojIyBEZXZlbG9wbWVudAoKUnVuIGBiaW4vc2V0dXBgIHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzLgoKU2VlIGBidW5kbGUgZXhlYyByYWtlYCB0byBydW4gdGhlIGxpbnRlciBhbmQgdGhlIHRlc3RzLgoKUnVuIGBidW5kbGUgZXhlYyByc3BlY2AgdG8gcnVuIHRoZSB0ZXN0cyBvbmx5LgoKIyMgQmVuY2htYXJrcwoKW1Jlc3VsdHNdKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FoeC9lNmZmY2VkNThiZDJlOGQ1YmFmZmIyZjRkMmMxZjgyMykKCiMjIyBSdW4gYmVuY2htYXJrcwoKYGBgc2gKY2QgYmVuY2htYXJrcwpidW5kbGUKYnVuZGxlIGV4ZWMgcnVieSBiZW5jaG1hcmtzLnJiCmBgYAoKIyMgQ29udHJpYnV0aW5nCgpJZiB5b3UgaGF2ZSBhIHF1ZXN0aW9uIG9yIGFuIGlkZWEgb3IgZm91bmQgYSBidWcgZG9uJ3QgaGVzaXRhdGUgdG8gW2NyZWF0ZSBhbiBpc3N1ZSBvbiBHaXRIdWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9haHgvb3BlbmFwaV9maXJzdC9pc3N1ZXMpIG9yIFtyZWFjaCBvdXQgdmlhIGNoYXRdKGh0dHBzOi8vZ2l0dGVyLmltL29wZW5hcGlfZmlyc3QvY29tbXVuaXR5KS4KClB1bGwgcmVxdWVzdHMgYXJlIHZlcnkgd2VsY29tZSBhcyB3ZWxsLCBvZiBjb3Vyc2UuIEZlZWwgZnJlZSB0byBjcmVhdGUgYSAiZHJhZnQiIHB1bGwgcmVxdWVzdCBlYXJseSBvbiwgZXZlbiBpZiB5b3VyIGNoYW5nZSBpcyBzdGlsbCB3b3JrIGluIHByb2dyZXNzLiDwn6SXCg== + readmeEtag: '"d2ef78ff5362159b6ceab699e7a7b0c3ea4c08e098cb357f60526d825e22508e"' + readmeLastModified: Fri, 05 Jan 2024 00:11:06 GMT repositoryId: 171639126 description: Rack middlewares to create OpenAPI based HTTP APIs created: '2019-02-20T09:11:47Z' @@ -10661,7 +10661,7 @@ owner: ahx logo: https://avatars.githubusercontent.com/u/8669?v=4 license: MIT - repoEtag: '"90ed8757a8d4f012d6dca434f2be5ec7e4eea98ee6fdf4fded61f4ac09339609"' + repoEtag: '"5e2d1adabbe553704bf1724c149251bf659dbc7535130ecf68af53112a5cb8ad"' repoLastModified: Fri, 22 Dec 2023 11:57:28 GMT foundInMaster: true category: @@ -10690,7 +10690,7 @@ forks: 18 owner: OAI logo: https://avatars.githubusercontent.com/u/16343502?v=4 - repoEtag: '"6f7cf64074ca5f98d05e0685436a35d2609921d3953a26da53d05f82b3728128"' + repoEtag: '"d5dc04253fbea461f3315b0bb18891783a165220d77916ffa6c1893a2c855d1d"' repoLastModified: Wed, 03 Jan 2024 18:25:09 GMT category: Server Implementations foundInMaster: true @@ -11004,16 +11004,16 @@ repositoryId: 249737066 description: Semantic parser for API specifications created: '2020-03-24T14:55:51Z' - updated: '2023-12-28T04:34:11Z' + updated: '2024-01-05T00:36:47Z' language: TypeScript archived: false - stars: 48 + stars: 49 watchers: 9 forks: 12 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 - repoEtag: '"981888d025b72e20f7f842a08a5a81779fa36fc9556a46ff6b5ff3919c160d3b"' - repoLastModified: Thu, 28 Dec 2023 04:34:11 GMT + repoEtag: '"b7510ffa32d81d6bcb107b422f7f216d040518a9c466e10e3e586806ca1c30cb"' + repoLastModified: Fri, 05 Jan 2024 00:36:47 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -11429,17 +11429,17 @@ repositoryId: 591665560 description: APIBrew is Low code software to automate building CRUDs from yaml files created: '2023-01-21T13:22:13Z' - updated: '2024-01-03T15:22:29Z' + updated: '2024-01-05T00:21:27Z' language: Go archived: false - stars: 39 + stars: 40 watchers: 4 forks: 2 owner: apibrew logo: https://avatars.githubusercontent.com/u/132176743?v=4 license: MIT - repoEtag: '"1f4f6190218c331c4024417c47746bd4a275dd557c38d0a5c6597112f46546ff"' - repoLastModified: Wed, 03 Jan 2024 15:22:29 GMT + repoEtag: '"ca5fc9a5200eeb13098976a62e57b7fa16b8d81471a84595fdca8def47a9b0dd"' + repoLastModified: Fri, 05 Jan 2024 00:21:27 GMT category: Server Implementations oldLocations: - https://github.com/tislib/apibrew @@ -11457,17 +11457,17 @@ repositoryId: 439764250 description: OpenAPI v3.1 Spec implementation in Go with generics created: '2021-12-19T03:11:04Z' - updated: '2024-01-03T12:10:18Z' + updated: '2024-01-05T00:27:05Z' language: Go archived: false - stars: 37 + stars: 38 watchers: 2 forks: 7 owner: sv-tools logo: https://avatars.githubusercontent.com/u/59230487?v=4 license: MIT - repoEtag: '"fb32b51572b9739602160b7f49d75612532e730a54f055243017532e87e2b272"' - repoLastModified: Wed, 03 Jan 2024 12:10:18 GMT + repoEtag: '"d0fad610bf162dcaf4323db7717c76131d096ed047f35fb1c22cd56e34564348"' + repoLastModified: Fri, 05 Jan 2024 00:27:05 GMT foundInMaster: true category: - Low-level Tooling @@ -11523,7 +11523,7 @@ owner: Backbase logo: https://avatars.githubusercontent.com/u/1914334?v=4 license: NOASSERTION - repoEtag: '"a41cb424353779e3a8f6b6b24760de915ee55d675e22e90dae942df3746c425b"' + repoEtag: '"2f26f4d6b549c5015ef7f869a3f165aa5d5164519d51db7f798317a8a9d983bc"' repoLastModified: Fri, 20 Oct 2023 12:33:10 GMT foundInMaster: true category: SDK @@ -11643,17 +11643,17 @@ repositoryId: 141041148 description: An authoring tool for OpenAPI specifications created: '2018-07-15T16:16:48Z' - updated: '2023-11-04T03:49:21Z' + updated: '2024-01-04T16:20:18Z' language: Go archived: false - stars: 33 + stars: 34 watchers: 5 forks: 5 owner: dolmen-go logo: https://avatars.githubusercontent.com/u/22580372?v=4 license: Apache-2.0 - repoEtag: '"446438056d1ed2a341a3ffeb83b639b4add66e6f834fe41b5c6c3083ec8bd8a0"' - repoLastModified: Sat, 04 Nov 2023 03:49:21 GMT + repoEtag: '"d52048a8e5c20adfb55355b4a727451588fc0e2a49e3707254b452c51a4b00f3"' + repoLastModified: Thu, 04 Jan 2024 16:20:18 GMT foundInMaster: true category: Parsers id: 084230f40fdffa9865facd7e88ca7499 @@ -11837,16 +11837,16 @@ Dart implementation to generate (dart) server stubs and client libraries from OpenAPI 3.0 yaml files. created: '2020-06-07T12:41:17Z' - updated: '2024-01-02T09:15:39Z' + updated: '2024-01-04T15:54:01Z' language: Dart archived: false - stars: 30 + stars: 31 watchers: 3 forks: 15 owner: hpoul logo: https://avatars.githubusercontent.com/u/313066?v=4 - repoEtag: '"2cb18caf69638eb3081eff2813db9bba1923e5f2e829623b828668601c70e7a2"' - repoLastModified: Tue, 02 Jan 2024 09:15:39 GMT + repoEtag: '"9fabf334ef5fb6f9c3c3bc2425575c869e7638021923e7587ddcb2a06b9fe4b2"' + repoLastModified: Thu, 04 Jan 2024 15:54:01 GMT foundInMaster: true category: Code Generators id: ced3cf309aea10ea14f4d94579214646 @@ -12051,17 +12051,17 @@ repositoryId: 506151512 description: 'A client generator from openapi for python. ' created: '2022-06-22T07:56:40Z' - updated: '2023-12-23T22:09:28Z' + updated: '2024-01-04T15:04:45Z' language: Python archived: false - stars: 29 + stars: 30 watchers: 2 forks: 18 owner: MarcoMuellner logo: https://avatars.githubusercontent.com/u/13886384?v=4 license: MIT - repoEtag: '"c9cf571ff680601e38e13c4beabc056c5635427192f39b1732561a055632e4aa"' - repoLastModified: Sat, 23 Dec 2023 22:09:28 GMT + repoEtag: '"476fddac5a4b3c9f9dfe991b108ecee51bac68756188ddd0f5caf4a9d1a6a1c0"' + repoLastModified: Thu, 04 Jan 2024 15:04:45 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -12338,7 +12338,7 @@ owner: hei-school logo: https://avatars.githubusercontent.com/u/88576095?v=4 license: MIT - repoEtag: '"b7f6fb195babbfd21d94add3b37155f45872be2d6284f6d3004e9a9ae7bf2b86"' + repoEtag: '"83532e450e4c27c147f42f9cc9c1b61093f5bc61f8881c49eb3b1edb884fa106"' repoLastModified: Tue, 19 Dec 2023 14:16:16 GMT foundInMaster: true category: Code Generators @@ -12416,12 +12416,12 @@ language: TypeScript archived: false stars: 22 - watchers: 71 + watchers: 72 forks: 7 owner: LiveRamp logo: https://avatars.githubusercontent.com/u/2374529?v=4 license: Apache-2.0 - repoEtag: '"3af9685d098b9b77b62e8e372b1667b8a028863ea8a560678b4645967f112af6"' + repoEtag: '"84b35252ea37e93cb050522c2cdd7a93018559e813f6f4ca1e3ef650ce3c3d16"' repoLastModified: Mon, 11 Dec 2023 20:05:34 GMT foundInMaster: true category: @@ -12818,17 +12818,17 @@ Serve self-contained distribution builds of Swagger UI and Redoc with Django. created: '2021-09-24T22:17:14Z' - updated: '2023-12-05T08:20:39Z' + updated: '2024-01-04T13:26:04Z' language: Python archived: false - stars: 20 + stars: 21 watchers: 2 forks: 3 owner: tfranzel logo: https://avatars.githubusercontent.com/u/13507857?v=4 license: BSD-3-Clause - repoEtag: '"364f214b72bf022a92f1587d204a66aa13a5496a62b3887e113d89279839aab8"' - repoLastModified: Tue, 05 Dec 2023 08:20:39 GMT + repoEtag: '"e2fd40fc7e94cda6ad5d4ea85ef3a26d708ad26b33653a2cf4978387f8b75ab0"' + repoLastModified: Thu, 04 Jan 2024 13:26:04 GMT foundInMaster: true category: - Converters @@ -13053,7 +13053,7 @@ owner: eikek logo: https://avatars.githubusercontent.com/u/701128?v=4 license: MIT - repoEtag: '"fc2619ac7e38ab87043cf3b11df217d550349d0b60d50de57223bc87cb406ec8"' + repoEtag: '"1068c678e508c2efd559983c6a1e053fc262209b1ea6472c0f3835de25b3bc83"' repoLastModified: Sat, 25 Nov 2023 15:31:43 GMT foundInMaster: true category: Parsers @@ -13071,17 +13071,17 @@ 📚Swagger / Open API 3.0 builder and validation library for PHP that helps you write valid specs. created: '2018-04-16T18:32:26Z' - updated: '2024-01-02T09:13:10Z' + updated: '2024-01-04T15:49:55Z' language: PHP archived: false - stars: 18 + stars: 19 watchers: 12 forks: 13 owner: erasys logo: https://avatars.githubusercontent.com/u/1845621?v=4 license: MIT - repoEtag: '"353ebdc2e8948f51459a32fa5403915f4c6b78b1a1d8c7ccb15965a16877bdaf"' - repoLastModified: Tue, 02 Jan 2024 09:13:10 GMT + repoEtag: '"b13f8e422c05ec69de3482da655661fa83d820fa76276000f1e0c042fd111cb8"' + repoLastModified: Thu, 04 Jan 2024 15:49:55 GMT foundInMaster: true category: Data Validators id: acce8eb5c93c964fa251e3fed927c64d @@ -13365,16 +13365,16 @@ Convert JSON examples into JSON schema (supports Swagger 2, OpenAPI 3 and 3.1) created: '2022-03-16T05:21:04Z' - updated: '2023-10-30T07:28:35Z' + updated: '2024-01-04T04:03:21Z' language: TypeScript archived: false - stars: 17 + stars: 18 watchers: 12 forks: 5 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 - repoEtag: '"5bf4450868e2cab8b00ec9b81619fa925ea61cdd05e534736be8163dc0244eb2"' - repoLastModified: Mon, 30 Oct 2023 07:28:35 GMT + repoEtag: '"16d110c40bd597600865f24a070b132b2035d385b4c7bb714b405245771e62ae"' + repoLastModified: Thu, 04 Jan 2024 04:03:21 GMT foundInMaster: true category: - Data Validators @@ -13454,7 +13454,7 @@ owner: mockoon logo: https://avatars.githubusercontent.com/u/49429147?v=4 license: NOASSERTION - repoEtag: '"4c2c9622634c5e5d8766dc90fb1cd889406e2d33b4f5a0acefe840804f07b060"' + repoEtag: '"039e838f458721f8e3d2fe58d4e8aeed03e0a212e896838bde9812d94c94d21c"' repoLastModified: Thu, 07 Dec 2023 13:58:03 GMT foundInMaster: true category: Testing @@ -14109,9 +14109,9 @@ id: 2d252e6d912a2772d88fd6f022fff74f repositoryMetadata: base64Readme: >- - IyBSZWRvY2x5IENMSSBDb29rYm9vawoKQSBjb21tdW5pdHkgY29sbGVjdGlvbiBvZiBydWxlc2V0cywgY29uZmlndXJhdGlvbiwgY3VzdG9tIHBsdWdpbnMgYW5kIG90aGVyIGFkZGl0aW9ucyBmb3IgW1JlZG9jbHkgQ0xJXShodHRwczovL2dpdGh1Yi5jb20vUmVkb2NseS9yZWRvY2x5LWNsaSkuIFdlIGtub3cgb3VyIHVzZXJzIGhhdmUgc29tZSBncmVhdCB0aXBzLCBleGFtcGxlcywgYW5kIGNvZGUgdG8gc2hhcmUsIGFuZCB0aGlzIGlzIHRoZSBwbGFjZSB0byBkbyBqdXN0IHRoYXQuIFdlIHdvdWxkIGxvdmUgdG8gaGF2ZSB5b3VyIFtjb250cmlidXRpb25zXSgjY29udHJpYnV0aW5nKSBoZXJlIHRvbyEKCj4gWyFJTVBPUlRBTlRdCj4gUmVkb2NseSBhcmUgdGhlIHJlcG9zaXRvcnkgbWFpbnRhaW5lcnMsIGJ1dCB3ZSBjYW4ndCB0aG9yb3VnaGx5IHRlc3QgZXZlcnl0aGluZyBoZXJlLiBQbGVhc2UgYnJvd3NlLCBzaGFyZSwgYW5kIHVzZSB3aGF0IHlvdSBmaW5kIGF0IHlvdXIgb3duIHJpc2suCgpJZiB5b3UncmUgbmV3IHRvIFJlZG9jbHkgQ0xJLCBzdGFydCB3aXRoIHRoZSBbZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yZWRvY2x5LmNvbS9kb2NzL2NsaS8pIHRvIGdldCB1cCBhbmQgcnVubmluZywgdGhlbiBjb21lIGJhY2sgaGVyZSB0byBwaWNrIG91dCBhbnkgZWxlbWVudHMgeW91IHdvdWxkIGxpa2UgdG8gcmUtdXNlIHlvdXJzZWxmLiBUbyBrZWVwIHVwIHdpdGggbmV3IGRldmVsb3BtZW50cywgZWl0aGVyIHN1YnNjcmliZSB0byB0aGUgcHJvamVjdCByZXBvc2l0b3J5LCBvciBbc2lnbiB1cCBmb3IgdGhlIFJlZG9jbHkgcHJvZHVjdCBuZXdzbGV0dGVyXShodHRwczovL3JlZG9jbHkuY29tL3Byb2R1Y3QtdXBkYXRlcy8pLgoKIyMgVXNhZ2UKClVzZSB0aGUgY29udGVudCBoZXJlIGFzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHlvdXIgb3duIHdvcmsuCgoxLiBUYWtlIGEgbG9vayBhdCB3aGF0J3MgYXZhaWxhYmxlIGluIGVhY2ggY2F0ZWdvcnksIGFuZCBwaWNrIGFueSB0aGF0IHlvdSB0aGluayBhcHBseSB0byB5b3VyIHNpdHVhdGlvbi4KCjIuIEVhY2ggc2VjdGlvbiBsaW5rcyB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhhdCBmZWF0dXJlLCBpbmNhc2UgeW91IG5lZWQgYW4gaW50cm9kdWN0aW9uIG9yIHJlZnJlc2hlci4KCjMuIENvcHkgYW5kIHBhc3RlIHRoZSBleGFtcGxlcyB5b3Ugd2FudCB0byB1c2UgaW50byB5b3VyIG93biBzZXR1cCwgdGhlbiBlZGl0IHRoZW0gdG8gZml0IHlvdXIgb3duIG5lZWRzLgoKSWYgeW91IGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgbmV3LCBwbGVhc2UgY29uc2lkZXIgc2hhcmluZyBpdCBoZXJlIGJ5IG9wZW5pbmcgYSBwdWxsIHJlcXVlc3QuCgojIyBDYXRlZ29yaWVzCgojIyMgUnVsZXNldHMKCkNvbWJpbmUgZXhpc3RpbmcgW2J1aWx0LWluIHJ1bGVzXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL3J1bGVzL2J1aWx0LWluLXJ1bGVzLykgaW4gd2F5cyB0aGF0IHNlcnZlIGEgc3BlY2lmaWMgcHVycG9zZSwgYW5kIG1ha2UgYSBbcmVzdWFibGUgcnVsZXNldF0oaHR0cHM6Ly9yZWRvY2x5LmNvbS9kb2NzL2NsaS9ndWlkZXMvY29uZmlndXJlLXJ1bGVzLyNjcmVhdGUtYS1yZXVzYWJsZS1ydWxlc2V0KS4KCi0gW1NwZWMtY29tcGxpYW50IHJ1bGVzZXRdKHJ1bGVzZXRzL3NwZWMtY29tcGxpYW50LykKLSBbU3BvdCBjb21tb24gbWlzdGFrZXNdKHJ1bGVzZXRzL2NvbW1vbi1taXN0YWtlcykKCiMjIyBDb25maWd1cmFibGUgcnVsZXMKClRoZXJlIGFyZSBzb21lIGZhbnRhc3RpYyBleGFtcGxlcyBvZiBbY29uZmlndXJhYmxlIHJ1bGVzXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL3J1bGVzL2NvbmZpZ3VyYWJsZS1ydWxlcy8pIGluIHRoZSB3aWxkLCB3ZSBob3BlIHRoZSBsaXN0IGhlcmUgaW5zcGlyZXMgeW91IHRvIHNoYXJlIG1vcmUgb2YgeW91ciBvd24hCgotIFtCYW4gY2VydGFpbiB3b3JkcyBmcm9tIGRlc2NyaXB0aW9uc10oY29uZmlndXJhYmxlLXJ1bGVzL2Rlc2NyaXB0aW9uLWJhbm5lZC13b3Jkcy8pCi0gW1JlcXVpcmUgYGl0ZW1zYCBmaWVsZCBmb3Igc2NoZW1hcyBvZiB0eXBlIGBhcnJheWBdKGNvbmZpZ3VyYWJsZS1ydWxlcy9yZXF1aXJlZC1pdGVtcy1mb3ItYXJyYXktc2NoZW1hcy8pCi0gW0Vuc3VyZSBzZW50ZW5jZSBjYXNlIGluIG9wZXJhdGlvbiBzdW1tYXJpZXNdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tc3VtbWFyeS1zZW50ZW5jZS1jYXNlKQotIFtgUE9TVGAgU0hPVUxEIGRlZmluZSBgcmVxdWVzdEJvZHlgIHNjaGVtYV0oY29uZmlndXJhYmxlLXJ1bGVzL29wZXJhdGlvbi1wb3N0LXNob3VsZC1kZWZpbmUtcmVxdWVzdC1ib2R5LykKLSBbYEdFVGAgU0hPVUxEIE5PVCBkZWZpbmUgYHJlcXVlc3RCb2R5YCBzY2hlbWFdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tZ2V0LXNob3VsZC1ub3QtZGVmaW5lLXJlcXVlc3RCb2R5LykKLSBbYERFTEVURWAgU0hPVUxEIE5PVCBkZWZpbmUgYHJlcXVlc3RCb2R5YCBzY2hlbWFdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tZGVsZXRlLXNob3VsZC1ub3QtZGVmaW5lLXJlcXVlc3RCb2R5LykKLSBbSW5mbyBzZWN0aW9uIG11c3QgaGF2ZSBhIGRlc2NyaXB0aW9uXShjb25maWd1cmFibGUtcnVsZXMvaW5mby1kZXNjcmlwdGlvbikKLSBbTm8gYDxzY3JpcHQ+YCB0YWdzIGluIGRlc2NyaXB0aW9uc10oY29uZmlndXJhYmxlLXJ1bGVzL25vLXNjcmlwdCkKCiMjIyBDdXN0b20gcGx1Z2lucwoKVGhlIFtjdXN0b20gcGx1Z2luXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL2N1c3RvbS1wbHVnaW5zLykgaXMgdGhlIHVsdGltYXRlIGluIGV4dGVuc2liaWxpdHksIGJ1dCBpdCdzIGFuIGFkdmFuY2VkIGZlYXR1cmUuIFRyeSB0aGVzZSBwbHVnaW5zIGZvciBpbnNwaXJhdGlvbiBhbmQgdG8gZ2V0IHlvdSBzdGFydGVkLiBSYXRoZXIgdGhhbiBpbmNsdWRpbmcgdGhlIHdob2xlIHBsdWdpbiwgdGhlcmUgYXJlIGFsc28gc2VjdGlvbnMgZm9yIGluZGl2aWR1YWwgcnVsZXMgYW5kIGRlY29yYXRvcnMgZnVydGhlciBkb3duLgoKIyMjIyBEZWNvcmF0b3JzIChmb3IgY3VzdG9tIHBsdWdpbnMpCgotIFtUYWcgc29ydGluZ10oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvdGFnLXNvcnRpbmcpIC0gcHV0IHlvdXIgdGFncyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KCi0gW1N1YnN0aXR1dGUgZGF0ZXRpbWUgcGxhY2Vob2xkZXJzIGluIGFuIEFQSSBkZXNjcmlwdGlvbl0oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvdXBkYXRlLWV4YW1wbGUtZGF0ZXMpIC0gdXBkYXRlIGRhdGVzIGluIGV4YW1wbGVzIHRvIHRoZSBjdXJyZW50IGRhdGUuCgotIFtPcGVuQUkgaXNDb25zZXF1ZW50aWFsXSguL2N1c3RvbS1wbHVnaW4tZGVjb3JhdG9ycy9vcGVuYWktaXMtY29uc2VxdWVudGlhbCkgLSBhZGQgYHgtb3BlbmFpLWlzQ29uc2VxdWVudGlhbDogdHJ1ZWAgc3BlY2lmaWNhdGlvbiBleHRlbnNpb24gdG8gR0VUIG9wZXJhdGlvbnMuCgotIFtSZW1vdmUgZXh0ZW5zaW9uc10oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvcmVtb3ZlLWV4dGVuc2lvbnMpIC0gcmVtb3ZlIGFueSBnaXZlbiBbT3BlbkFQSSBFeHRlbnNpb25zXShodHRwczovL3NwZWMub3BlbmFwaXMub3JnL29hcy92My4xLjAjc3BlY2lmaWNhdGlvbi1leHRlbnNpb25zKSBmcm9tIGFuIE9wZW5BUEkgZG9jdW1lbnQuCgojIyMjIFJ1bGVzIChmb3IgY3VzdG9tIHBsdWdpbnMpCgotIFtWYWxpZGF0ZSBNYXJrZG93bl0oLi9jdXN0b20tcGx1Z2luLXJ1bGVzL21hcmtkb3duLXZhbGlkYXRvcikgLSBjaGVjayBNYXJrZG93biBpbiBkZXNjcmlwdGlvbiBmaWVsZHMgaXMgdmFsaWQuCgojIyMgTWlzY2VsbGFuZW91cyAoaW5jbHVkaW5nIHRpcHMgYW5kIHRyaWNrcykKClNoYXJlIGFueXRoaW5nIHRoYXQgZGlkbid0IGZpdCB0aGUgZXhpc3RpbmcgY2F0ZWdvcmllcyBoZXJlLgoKIyMgQ29udHJpYnV0aW5nCgpQbGVhc2Ugc2hhcmUgeW91ciBiZXN0IFJlZG9jbHkgQ0xJIHVzYWdlIHdpdGggdXMhIEVhY2ggaXRlbSBzaG91bGQgYmUgc2hhcmVkIGluIGl0cyBvd24gcHVsbCByZXF1ZXN0LCBmb2xsb3dpbmcgdGhlIGV4aXN0aW5nIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgYW5kIGluY2x1ZGluZyB0aGUgW1JFQURNRSB0ZW1wbGF0ZV0ocmVhZG1lLXRlbXBsYXRlLm1kKSBjb3BpZWQgaW50byBlYWNoIGZvbGRlci4gRnVsbCBpbnN0cnVjdGlvbnMgYXJlIGluIHRoZSBbQ09OVFJJQlVUSU5HIGZpbGVdKENPTlRSSUJVVElORy5tZCkuCgojIyBSZXF1ZXN0cwoKSWYgdGhlcmUncyBzb21ldGhpbmcgeW91IHRoaW5rIHNob3VsZCBiZSBpbiB0aGUgY29sbGVjdGlvbiBhbmQgaXQgaXNuJ3QsIGxldCB1cyBrbm93ISBPcGVuIGFuIGlzc3VlLCBhbmQgZGVzY3JpYmUgdGhlIHByb2JsZW0geW91J2QgbGlrZSB0byBzZWUgc29sdmVkIHdpdGggUmVkb2NseSBDTEkuIFdlIGNhbid0IG1ha2UgcHJvbWlzZXMsIGJ1dCB3ZSBhcmUgcHJldHR5IHN1cmUgc29tZW9uZSBvdXQgdGhlcmUgd2lsbCBrbm93IHRoZSBhbnN3ZXIuCg== - readmeEtag: '"f3649eec8ae0b56faaf73553a54c005839cd80319a091f354567f134375313d5"' - readmeLastModified: Mon, 18 Dec 2023 13:35:32 GMT + IyBSZWRvY2x5IENMSSBDb29rYm9vawoKQSBjb21tdW5pdHkgY29sbGVjdGlvbiBvZiBydWxlc2V0cywgY29uZmlndXJhdGlvbiwgY3VzdG9tIHBsdWdpbnMgYW5kIG90aGVyIGFkZGl0aW9ucyBmb3IgW1JlZG9jbHkgQ0xJXShodHRwczovL2dpdGh1Yi5jb20vUmVkb2NseS9yZWRvY2x5LWNsaSkuIFdlIGtub3cgb3VyIHVzZXJzIGhhdmUgc29tZSBncmVhdCB0aXBzLCBleGFtcGxlcywgYW5kIGNvZGUgdG8gc2hhcmUsIGFuZCB0aGlzIGlzIHRoZSBwbGFjZSB0byBkbyBqdXN0IHRoYXQuIFdlIHdvdWxkIGxvdmUgdG8gaGF2ZSB5b3VyIFtjb250cmlidXRpb25zXSgjY29udHJpYnV0aW5nKSBoZXJlIHRvbyEKCj4gWyFJTVBPUlRBTlRdCj4gUmVkb2NseSBhcmUgdGhlIHJlcG9zaXRvcnkgbWFpbnRhaW5lcnMsIGJ1dCB3ZSBjYW4ndCB0aG9yb3VnaGx5IHRlc3QgZXZlcnl0aGluZyBoZXJlLiBQbGVhc2UgYnJvd3NlLCBzaGFyZSwgYW5kIHVzZSB3aGF0IHlvdSBmaW5kIGF0IHlvdXIgb3duIHJpc2suCgpJZiB5b3UncmUgbmV3IHRvIFJlZG9jbHkgQ0xJLCBzdGFydCB3aXRoIHRoZSBbZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yZWRvY2x5LmNvbS9kb2NzL2NsaS8pIHRvIGdldCB1cCBhbmQgcnVubmluZywgdGhlbiBjb21lIGJhY2sgaGVyZSB0byBwaWNrIG91dCBhbnkgZWxlbWVudHMgeW91IHdvdWxkIGxpa2UgdG8gcmUtdXNlIHlvdXJzZWxmLiBUbyBrZWVwIHVwIHdpdGggbmV3IGRldmVsb3BtZW50cywgZWl0aGVyIHN1YnNjcmliZSB0byB0aGUgcHJvamVjdCByZXBvc2l0b3J5LCBvciBbc2lnbiB1cCBmb3IgdGhlIFJlZG9jbHkgcHJvZHVjdCBuZXdzbGV0dGVyXShodHRwczovL3JlZG9jbHkuY29tL3Byb2R1Y3QtdXBkYXRlcy8pLgoKIyMgVXNhZ2UKClVzZSB0aGUgY29udGVudCBoZXJlIGFzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHlvdXIgb3duIHdvcmsuCgoxLiBUYWtlIGEgbG9vayBhdCB3aGF0J3MgYXZhaWxhYmxlIGluIGVhY2ggY2F0ZWdvcnksIGFuZCBwaWNrIGFueSB0aGF0IHlvdSB0aGluayBhcHBseSB0byB5b3VyIHNpdHVhdGlvbi4KCjIuIEVhY2ggc2VjdGlvbiBsaW5rcyB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhhdCBmZWF0dXJlLCBpbmNhc2UgeW91IG5lZWQgYW4gaW50cm9kdWN0aW9uIG9yIHJlZnJlc2hlci4KCjMuIENvcHkgYW5kIHBhc3RlIHRoZSBleGFtcGxlcyB5b3Ugd2FudCB0byB1c2UgaW50byB5b3VyIG93biBzZXR1cCwgdGhlbiBlZGl0IHRoZW0gdG8gZml0IHlvdXIgb3duIG5lZWRzLgoKSWYgeW91IGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgbmV3LCBwbGVhc2UgY29uc2lkZXIgc2hhcmluZyBpdCBoZXJlIGJ5IG9wZW5pbmcgYSBwdWxsIHJlcXVlc3QuCgojIyBDYXRlZ29yaWVzCgojIyMgUnVsZXNldHMKCkNvbWJpbmUgZXhpc3RpbmcgW2J1aWx0LWluIHJ1bGVzXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL3J1bGVzL2J1aWx0LWluLXJ1bGVzLykgaW4gd2F5cyB0aGF0IHNlcnZlIGEgc3BlY2lmaWMgcHVycG9zZSwgYW5kIG1ha2UgYSBbcmVzdWFibGUgcnVsZXNldF0oaHR0cHM6Ly9yZWRvY2x5LmNvbS9kb2NzL2NsaS9ndWlkZXMvY29uZmlndXJlLXJ1bGVzLyNjcmVhdGUtYS1yZXVzYWJsZS1ydWxlc2V0KS4KCi0gW1NwZWMtY29tcGxpYW50IHJ1bGVzZXRdKHJ1bGVzZXRzL3NwZWMtY29tcGxpYW50LykKLSBbU3BvdCBjb21tb24gbWlzdGFrZXNdKHJ1bGVzZXRzL2NvbW1vbi1taXN0YWtlcykKCiMjIyBDb25maWd1cmFibGUgcnVsZXMKClRoZXJlIGFyZSBzb21lIGZhbnRhc3RpYyBleGFtcGxlcyBvZiBbY29uZmlndXJhYmxlIHJ1bGVzXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL3J1bGVzL2NvbmZpZ3VyYWJsZS1ydWxlcy8pIGluIHRoZSB3aWxkLCB3ZSBob3BlIHRoZSBsaXN0IGhlcmUgaW5zcGlyZXMgeW91IHRvIHNoYXJlIG1vcmUgb2YgeW91ciBvd24hCgotIFtCYW4gY2VydGFpbiB3b3JkcyBmcm9tIGRlc2NyaXB0aW9uc10oY29uZmlndXJhYmxlLXJ1bGVzL2Rlc2NyaXB0aW9uLWJhbm5lZC13b3Jkcy8pCi0gW1JlcXVpcmUgYGl0ZW1zYCBmaWVsZCBmb3Igc2NoZW1hcyBvZiB0eXBlIGBhcnJheWBdKGNvbmZpZ3VyYWJsZS1ydWxlcy9yZXF1aXJlZC1pdGVtcy1mb3ItYXJyYXktc2NoZW1hcy8pCi0gW0Vuc3VyZSBzZW50ZW5jZSBjYXNlIGluIG9wZXJhdGlvbiBzdW1tYXJpZXNdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tc3VtbWFyeS1zZW50ZW5jZS1jYXNlKQotIFtgUE9TVGAgU0hPVUxEIGRlZmluZSBgcmVxdWVzdEJvZHlgIHNjaGVtYV0oY29uZmlndXJhYmxlLXJ1bGVzL29wZXJhdGlvbi1wb3N0LXNob3VsZC1kZWZpbmUtcmVxdWVzdC1ib2R5LykKLSBbYEdFVGAgU0hPVUxEIE5PVCBkZWZpbmUgYHJlcXVlc3RCb2R5YCBzY2hlbWFdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tZ2V0LXNob3VsZC1ub3QtZGVmaW5lLXJlcXVlc3RCb2R5LykKLSBbYERFTEVURWAgU0hPVUxEIE5PVCBkZWZpbmUgYHJlcXVlc3RCb2R5YCBzY2hlbWFdKGNvbmZpZ3VyYWJsZS1ydWxlcy9vcGVyYXRpb24tZGVsZXRlLXNob3VsZC1ub3QtZGVmaW5lLXJlcXVlc3RCb2R5LykKLSBbSW5mbyBzZWN0aW9uIG11c3QgaGF2ZSBhIGRlc2NyaXB0aW9uXShjb25maWd1cmFibGUtcnVsZXMvaW5mby1kZXNjcmlwdGlvbikKLSBbTm8gYDxzY3JpcHQ+YCB0YWdzIGluIGRlc2NyaXB0aW9uc10oY29uZmlndXJhYmxlLXJ1bGVzL25vLXNjcmlwdCkKCiMjIyBDdXN0b20gcGx1Z2lucwoKVGhlIFtjdXN0b20gcGx1Z2luXShodHRwczovL3JlZG9jbHkuY29tL2RvY3MvY2xpL2N1c3RvbS1wbHVnaW5zLykgaXMgdGhlIHVsdGltYXRlIGluIGV4dGVuc2liaWxpdHksIGJ1dCBpdCdzIGFuIGFkdmFuY2VkIGZlYXR1cmUuIFRyeSB0aGVzZSBwbHVnaW5zIGZvciBpbnNwaXJhdGlvbiBhbmQgdG8gZ2V0IHlvdSBzdGFydGVkLiBSYXRoZXIgdGhhbiBpbmNsdWRpbmcgdGhlIHdob2xlIHBsdWdpbiwgdGhlcmUgYXJlIGFsc28gc2VjdGlvbnMgZm9yIGluZGl2aWR1YWwgcnVsZXMgYW5kIGRlY29yYXRvcnMgZnVydGhlciBkb3duLgoKIyMjIyBEZWNvcmF0b3JzIChmb3IgY3VzdG9tIHBsdWdpbnMpCgotIFtUYWcgc29ydGluZ10oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvdGFnLXNvcnRpbmcpIC0gcHV0IHlvdXIgdGFncyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KLSBbU3Vic3RpdHV0ZSBkYXRldGltZSBwbGFjZWhvbGRlcnMgaW4gYW4gQVBJIGRlc2NyaXB0aW9uXSguL2N1c3RvbS1wbHVnaW4tZGVjb3JhdG9ycy91cGRhdGUtZXhhbXBsZS1kYXRlcykgLSB1cGRhdGUgZGF0ZXMgaW4gZXhhbXBsZXMgdG8gdGhlIGN1cnJlbnQgZGF0ZS4KLSBbT3BlbkFJIGlzQ29uc2VxdWVudGlhbF0oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvb3BlbmFpLWlzLWNvbnNlcXVlbnRpYWwpIC0gYWRkIGB4LW9wZW5haS1pc0NvbnNlcXVlbnRpYWw6IHRydWVgIHNwZWNpZmljYXRpb24gZXh0ZW5zaW9uIHRvIEdFVCBvcGVyYXRpb25zLgotIFtSZW1vdmUgZXh0ZW5zaW9uc10oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvcmVtb3ZlLWV4dGVuc2lvbnMpIC0gcmVtb3ZlIGFueSBnaXZlbiBbT3BlbkFQSSBFeHRlbnNpb25zXShodHRwczovL3NwZWMub3BlbmFwaXMub3JnL29hcy92My4xLjAjc3BlY2lmaWNhdGlvbi1leHRlbnNpb25zKSBmcm9tIGFuIE9wZW5BUEkgZG9jdW1lbnQuCi0gW1JlbW92ZSB1bnVzZWQgdGFnc10oLi9jdXN0b20tcGx1Z2luLWRlY29yYXRvcnMvcmVtb3ZlLXVudXN0ZWQtdGFncykgLSByZW1vdmUgdGFncyB0aGF0IGFyZSBkZWNsYXJlZCBidXQgbm90IHVzZWQgYnkgYW55IG9wZXJhdGlvbnMuCgojIyMjIFJ1bGVzIChmb3IgY3VzdG9tIHBsdWdpbnMpCgotIFtWYWxpZGF0ZSBNYXJrZG93bl0oLi9jdXN0b20tcGx1Z2luLXJ1bGVzL21hcmtkb3duLXZhbGlkYXRvcikgLSBjaGVjayBNYXJrZG93biBpbiBkZXNjcmlwdGlvbiBmaWVsZHMgaXMgdmFsaWQuCgojIyMgTWlzY2VsbGFuZW91cyAoaW5jbHVkaW5nIHRpcHMgYW5kIHRyaWNrcykKClNoYXJlIGFueXRoaW5nIHRoYXQgZGlkbid0IGZpdCB0aGUgZXhpc3RpbmcgY2F0ZWdvcmllcyBoZXJlLgoKIyMgQ29udHJpYnV0aW5nCgpQbGVhc2Ugc2hhcmUgeW91ciBiZXN0IFJlZG9jbHkgQ0xJIHVzYWdlIHdpdGggdXMhIEVhY2ggaXRlbSBzaG91bGQgYmUgc2hhcmVkIGluIGl0cyBvd24gcHVsbCByZXF1ZXN0LCBmb2xsb3dpbmcgdGhlIGV4aXN0aW5nIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgYW5kIGluY2x1ZGluZyB0aGUgW1JFQURNRSB0ZW1wbGF0ZV0ocmVhZG1lLXRlbXBsYXRlLm1kKSBjb3BpZWQgaW50byBlYWNoIGZvbGRlci4gRnVsbCBpbnN0cnVjdGlvbnMgYXJlIGluIHRoZSBbQ09OVFJJQlVUSU5HIGZpbGVdKENPTlRSSUJVVElORy5tZCkuCgojIyBSZXF1ZXN0cwoKSWYgdGhlcmUncyBzb21ldGhpbmcgeW91IHRoaW5rIHNob3VsZCBiZSBpbiB0aGUgY29sbGVjdGlvbiBhbmQgaXQgaXNuJ3QsIGxldCB1cyBrbm93ISBPcGVuIGFuIGlzc3VlLCBhbmQgZGVzY3JpYmUgdGhlIHByb2JsZW0geW91J2QgbGlrZSB0byBzZWUgc29sdmVkIHdpdGggUmVkb2NseSBDTEkuIFdlIGNhbid0IG1ha2UgcHJvbWlzZXMsIGJ1dCB3ZSBhcmUgcHJldHR5IHN1cmUgc29tZW9uZSBvdXQgdGhlcmUgd2lsbCBrbm93IHRoZSBhbnN3ZXIuCg== + readmeEtag: '"29a4cf551e9128182129ce2a130f1b4b7d53c9d87d6d08e8acb54db6e86dc589"' + readmeLastModified: Thu, 04 Jan 2024 11:22:30 GMT repositoryId: 697834648 description: >- A community-created collection of configuration, plugins and techniques @@ -14126,7 +14126,7 @@ owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"00abb003ec9f64be4c8a1386a316149ac24c8b46e50aec7f38c915a575066ca0"' + repoEtag: '"b2229f802e7d09ebefeadd52aa3004cb30d4868cf49e9f4093736d8e832ae766"' repoLastModified: Tue, 02 Jan 2024 14:59:45 GMT category: Server Implementations foundInMaster: true @@ -14235,7 +14235,7 @@ owner: bcgov logo: https://avatars.githubusercontent.com/u/916280?v=4 license: Apache-2.0 - repoEtag: '"3bdd03c065934f7f3d23a08d6b38bb40405402c6c0d1dacc85c489ec7e67bc93"' + repoEtag: '"edd6589857ae322b9bcc5a9c5d8f9aed6adc8d06ee19d781860dc79bf2376a18"' repoLastModified: Wed, 04 Oct 2023 21:10:59 GMT category: Documentation foundInMaster: true @@ -14255,17 +14255,17 @@ Boilerplate for the Echo framework with authentication, authorization and request/response validation. created: '2018-12-13T22:16:36Z' - updated: '2023-11-07T14:18:20Z' + updated: '2024-01-04T15:20:07Z' language: Go archived: false - stars: 13 + stars: 14 watchers: 2 forks: 11 owner: alexferl logo: https://avatars.githubusercontent.com/u/3533424?v=4 license: MIT - repoEtag: '"086421a5c398976a1e225e17be37c90f226a1370a6a7e3d78f213898244afff4"' - repoLastModified: Tue, 07 Nov 2023 14:18:20 GMT + repoEtag: '"61adf42f1ca588fe01b2a51ade4cf4e9f9712089cfbb47a0232d847fe004925d"' + repoLastModified: Thu, 04 Jan 2024 15:20:07 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -14699,7 +14699,7 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: MIT - repoEtag: '"ab604ca881ec6eeb7d1f57e16ff5db4d5c39a34a4165a252359c79df712803c2"' + repoEtag: '"7c73a2f3c73fd72bc1c20543a5010ab8d165fa5aecb5ff19a49f2f74d371cd85"' repoLastModified: Thu, 14 Dec 2023 07:27:47 GMT category: Parsers foundInMaster: true @@ -15436,7 +15436,7 @@ owner: Jnig logo: https://avatars.githubusercontent.com/u/3729585?v=4 license: MIT - repoEtag: '"770c7f4fe0ae9288b789d4d203aeae69196698d3c79f9810938c9798add71cb5"' + repoEtag: '"f3f6f2a74b1cf8071218b3bc88943d76c5e65628aacf803abb4e38533003e298"' repoLastModified: Mon, 21 Aug 2023 21:29:33 GMT category: - Data Validators @@ -15554,15 +15554,15 @@ id: cca834879fa03e42847529ee34ced019 repositoryMetadata: base64Readme: >- - RW5nbGlzaCDCtyBb5Lit5paHXSguL1JFQURNRS16aF9DTi5tZCkKCiMgb3BlbkFQSSBVSQphIHNpbXBsZXIgYW5kIG1vcmUgYmVhdXRpZnVsIG9wZW5hcGkgZG9jdW1lbnQgdGhhbiBzd2FnZ2VyLXVpLCBxdWlja2x5IGdlbmVyYXRlIG1vY2sgcGFyYW1zIGFuZCBjYWxsIGFwaSByZXF1ZXN0CgojIyMgcXVpY2sgc3RhcnQKYGBgYmFzaAovLyBub2RlIHZlcnNpb24gPj0gMTgKLy8gZG93bmxvYWQgbm9kZV9tb2R1bGVzCnBucG0gaW5zdGFsbAojIG9yIG1ha2UgaW5zdGFsbAoKLy8gc3RhcnQKbnBtIHJ1biBkZXYKIyBvciBtYWtlIGRldgpgYGAKCiMjIyBzb21lIHNjcmlwdApgYGBiYXNoCi8vIGJ1aWxkCm5wbSBydW4gYnVpbGQKIyBvciBtYWtlIGJ1aWxkCgovLyBtYWtlIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1idWlsZAoKLy8gcnVuIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1ydW4KCi8vIG1ha2UgZG9ja2VyIGltYWdlIGFuZCBydW4gZG9ja2VyIGltYWdlCm1ha2UgZG9ja2VyLWJ1aWxkLXJ1bgpgYGAKCiMjIyBhYm91dCBzdXBwb3J0IGRhdGEgZm9ybWF0Ciogc3dhZ2dlcjIuanNvbi9zd2FnZ2VyMi55bWwKKiBvcGVuYXBpMy5qc29uL29wZW5hcGkzLnltbAoKIyMjIGFib3V0IGhvdyB0byB1c2UKKiBlbnRlciBzd2FnZ2VyMi9vcGVuYXBpMyBhcGkgZ2F0ZXdheSBVUkwKKiB1cGxvYWQgc3dhZ2dlcjIvb3BlbmFwaTMgZmlsZQoqIGVudGVyIHN3YWdnZXIyL29wZW5hcGkzIHRleHQKCiMjIyBhYm91dCBtb2NrIHJlcXVlc3QgcGFyYW1zCiogaWYgdGhlIHNjaGVtYSBjb250YWlucyB0aGUgZm9ybWF0IGZpZWxkLCB0aGVuIHVzZSBbb3BlbmFwaS1zYW1wbGVyXShodHRwczovL2dpdGh1Yi5jb20vUmVkb2NseS9vcGVuYXBpLXNhbXBsZXIpIHRvIG1vY2sgcmVxdWVzdCBwYXJhbXMKKiBpZiB0aGUgc2NoZW1hIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZvcm1hdCBmaWVsZCwgdGhlbiB1c2UgZmFrZXIgdG8gbW9jayByZXF1ZXN0IHBhcmFtcwoKIyMjIGFib3V0IGNvbmZpZwoqIHN1cHBvcnRzIGNvbmZpZ3VyZSByZXF1ZXN0IHRpbWVvdXQKKiBzdXBwb3J0cyBjb25maWd1cmUgcmVxdWVzdCBBdXRob3JpemF0aW9uCgojIyMgYWJvdXQgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpCiogaWYgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpLCB5b3UgY2FuIHJ1biB0aGlzIHByb2plY3QgbG9jYWxseSBvciB1c2UgZG9ja2VyIHRvIGRlcGxveSB0aGlzIHByb2plY3QgbG9jYWxseSBvciBvbiB0aGUgc2VydmVyCgojIyMgYWJvdXQgc2hhcmUgVVJMCiogaW4gb3JkZXIgdG8ga2VlcCB0aGUgVVJMIHNpbXBsZSwgdGhlIHNoYXJpbmcgVVJMIG5lZWRzIHRvIGJlIGdlbmVyYXRlZCB0aHJvdWdoIHRoZSBidXR0b24gaW4gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lciBvZiB0aGUgcGFnZQoKIyMjIGFib3V0IHN1cHBvcnQgbXVsdGlwbGUgYXBpIGdhdGV3YXkgVVJMCiogdGhlIGNhY2hpbmcgc3RyYXRlZ3kgdXNlZCBpcyBzZXNzaW9uIHN0b3JhZ2UsIHNvIHlvdSBjYW4gb3BlbiBtdWx0aXBsZSBwYWdlcyBhdCB0aGUgc2FtZSB0aW1lCgojIyMgYWJvdXQgbm9kZSB2ZXJzaW9uCm5vZGUgPj0gMTg= - readmeEtag: '"2eefe863b6e3657f39a447da32eb9080de0cbf134ffcdff8d650a6c1ca075ef2"' - readmeLastModified: Thu, 04 Jan 2024 01:07:30 GMT + RW5nbGlzaCDCtyBb5Lit5paHXSguL1JFQURNRS16aF9DTi5tZCkKCiMgb3BlbkFQSSBVSQphIHNpbXBsZXIgYW5kIG1vcmUgYmVhdXRpZnVsIG9wZW5hcGkgZG9jdW1lbnQgdGhhbiBzd2FnZ2VyLXVpLCBxdWlja2x5IGdlbmVyYXRlIG1vY2sgcGFyYW1zIGFuZCBjYWxsIGFwaSByZXF1ZXN0CgojIyMgd2Vic2l0ZSBkb21haW4KKiBDTjogW3d3dy5vcGVuYXBpLXVpLmNvbV0oaHR0cHM6Ly93d3cub3BlbmFwaS11aS5jb20pCiogVVM6IFtkb2NzLm9wZW5hcGktdWkuY29tXShodHRwczovL2RvY3Mub3BlbmFwaS11aS5jb20pCgojIyMgcXVpY2sgc3RhcnQKYGBgYmFzaAovLyBub2RlIHZlcnNpb24gPj0gMTgKLy8gZG93bmxvYWQgbm9kZV9tb2R1bGVzCnBucG0gaW5zdGFsbAojIG9yIG1ha2UgaW5zdGFsbAoKLy8gc3RhcnQKbnBtIHJ1biBkZXYKIyBvciBtYWtlIGRldgpgYGAKCiMjIyBzb21lIHNjcmlwdApgYGBiYXNoCi8vIGJ1aWxkCm5wbSBydW4gYnVpbGQKIyBvciBtYWtlIGJ1aWxkCgovLyBtYWtlIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1idWlsZAoKLy8gcnVuIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1ydW4KCi8vIG1ha2UgZG9ja2VyIGltYWdlIGFuZCBydW4gZG9ja2VyIGltYWdlCm1ha2UgZG9ja2VyLWJ1aWxkLXJ1bgpgYGAKCiMjIyBhYm91dCBzdXBwb3J0IGRhdGEgZm9ybWF0Ciogc3dhZ2dlcjIuanNvbi9zd2FnZ2VyMi55bWwKKiBvcGVuYXBpMy5qc29uL29wZW5hcGkzLnltbAoKIyMjIGFib3V0IGhvdyB0byB1c2UKKiBlbnRlciBzd2FnZ2VyMi9vcGVuYXBpMyBhcGkgZ2F0ZXdheSBVUkwKKiB1cGxvYWQgc3dhZ2dlcjIvb3BlbmFwaTMgZmlsZQoqIGVudGVyIHN3YWdnZXIyL29wZW5hcGkzIHRleHQKCiMjIyBhYm91dCBtb2NrIHJlcXVlc3QgcGFyYW1zCiogaWYgdGhlIHNjaGVtYSBjb250YWlucyB0aGUgZm9ybWF0IGZpZWxkLCB0aGVuIHVzZSBbb3BlbmFwaS1zYW1wbGVyXShodHRwczovL2dpdGh1Yi5jb20vUmVkb2NseS9vcGVuYXBpLXNhbXBsZXIpIHRvIG1vY2sgcmVxdWVzdCBwYXJhbXMKKiBpZiB0aGUgc2NoZW1hIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZvcm1hdCBmaWVsZCwgdGhlbiB1c2UgZmFrZXIgdG8gbW9jayByZXF1ZXN0IHBhcmFtcwoKIyMjIGFib3V0IGNvbmZpZwoqIHN1cHBvcnRzIGNvbmZpZ3VyZSByZXF1ZXN0IHRpbWVvdXQKKiBzdXBwb3J0cyBjb25maWd1cmUgcmVxdWVzdCBBdXRob3JpemF0aW9uCgojIyMgYWJvdXQgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpCiogaWYgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpLCB5b3UgY2FuIHJ1biB0aGlzIHByb2plY3QgbG9jYWxseSBvciB1c2UgZG9ja2VyIHRvIGRlcGxveSB0aGlzIHByb2plY3QgbG9jYWxseSBvciBvbiB0aGUgc2VydmVyCgojIyMgYWJvdXQgc2hhcmUgVVJMCiogaW4gb3JkZXIgdG8ga2VlcCB0aGUgVVJMIHNpbXBsZSwgdGhlIHNoYXJpbmcgVVJMIG5lZWRzIHRvIGJlIGdlbmVyYXRlZCB0aHJvdWdoIHRoZSBidXR0b24gaW4gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lciBvZiB0aGUgcGFnZQoKIyMjIGFib3V0IHN1cHBvcnQgbXVsdGlwbGUgYXBpIGdhdGV3YXkgVVJMCiogdGhlIGNhY2hpbmcgc3RyYXRlZ3kgdXNlZCBpcyBzZXNzaW9uIHN0b3JhZ2UsIHNvIHlvdSBjYW4gb3BlbiBtdWx0aXBsZSBwYWdlcyBhdCB0aGUgc2FtZSB0aW1lCgojIyMgYWJvdXQgbm9kZSB2ZXJzaW9uCm5vZGUgPj0gMTg= + readmeEtag: '"abf07989b45768dfe9e84ce6a1a46fea329786e8d3dac2cc3bf0d9da6aa080d2"' + readmeLastModified: Fri, 05 Jan 2024 03:14:20 GMT repositoryId: 733969338 description: >- - a simpler and more beautiful openapi document than swagger-ui, quickly + a simpler and more beautiful openapi UI document than swagger UI, quickly generate mock params and call api request created: '2023-12-20T14:51:12Z' - updated: '2024-01-03T09:39:14Z' + updated: '2024-01-04T14:37:40Z' language: TypeScript archived: false stars: 14 @@ -15571,8 +15571,8 @@ owner: rookie-luochao logo: https://avatars.githubusercontent.com/u/22948077?v=4 license: MIT - repoEtag: '"f9fae70284604cdcebb48779fbaf1ed5592c77de82eee15a7c6c2056b64cd11d"' - repoLastModified: Wed, 03 Jan 2024 09:39:14 GMT + repoEtag: '"f35bf02e5179c2cc7cbc749e41a2d731484672667a6e4804e9312394a52ac4ab"' + repoLastModified: Thu, 04 Jan 2024 14:37:40 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -16086,7 +16086,7 @@ owner: danicc097 logo: https://avatars.githubusercontent.com/u/71724149?v=4 license: Apache-2.0 - repoEtag: '"a7ae04e1ce37e6257c4b8fe81ce05e129af39d928d8b891e70700ace8207d5db"' + repoEtag: '"19050f717af51899f467b41201bf13ab26686c6d5205e1836d27f7f17cb67791"' repoLastModified: Sat, 11 Nov 2023 00:21:23 GMT category: Parsers foundInMaster: true @@ -16137,7 +16137,7 @@ owner: mchangrh logo: https://avatars.githubusercontent.com/u/15132783?v=4 license: GPL-3.0 - repoEtag: '"cb0f7ee9e7ef2547c71de4662b5a68322b3e75a58ec8dc07878050bfdefd5874"' + repoEtag: '"61c886480efea1c7047eee036d7560acf44c3c18d56b0d9cda59170e75b7e4f9"' repoLastModified: Sat, 28 Oct 2023 05:14:45 GMT foundInMaster: true category: Documentation @@ -16424,7 +16424,7 @@ owner: xiaoyao-Ye logo: https://avatars.githubusercontent.com/u/52575104?v=4 license: MIT - repoEtag: '"9c7107a4c989b2865125401603afb6e27c6aba6f5879b71d01d2055dd358e9ea"' + repoEtag: '"375d73db6564891ace2c29ed93d122af1d098aa78b63dccec0003192f1f33223"' repoLastModified: Mon, 10 Jul 2023 08:52:12 GMT category: Parsers foundInMaster: true @@ -16953,7 +16953,7 @@ forks: 0 owner: swrlab logo: https://avatars.githubusercontent.com/u/55231245?v=4 - repoEtag: '"3a255cc6b702eaed3efbb7dffd43de71c0bcf83805fd09d54812042d19bc5118"' + repoEtag: '"28e49ba1c2c4f27b26d21968ab70d567f712b82106414e332ed4ca3fb4844a0c"' repoLastModified: Mon, 16 Jan 2023 16:28:55 GMT category: - Low-level Tooling @@ -17253,7 +17253,7 @@ owner: apideck-libraries logo: https://avatars.githubusercontent.com/u/73573473?v=4 license: MIT - repoEtag: '"6ab0712b40931d131533e065feff910f0345539918bb70819f3e1444fd2a0f7a"' + repoEtag: '"035b76179a1d5faeacfb702bdaa05568ef6b6db793a22746c47eb10bfe3801cc"' repoLastModified: Thu, 22 Jun 2023 19:15:09 GMT foundInMaster: true category: Testing @@ -18309,7 +18309,7 @@ owner: eliezio logo: https://avatars.githubusercontent.com/u/1125375?v=4 license: NOASSERTION - repoEtag: '"812792d163513d7dacf5c3c4a11a860b2a6682e8cc807cd5fa284deb14dbe664"' + repoEtag: '"084a5dcc941599b9b6fe83c685315fe9ce67cb0169a9fa3324b0bd748b6db376"' repoLastModified: Wed, 02 Nov 2022 15:22:40 GMT foundInMaster: true category: Server @@ -21011,7 +21011,7 @@ repositoryId: 704798735 description: Cloud Native Docker Sandbox for Indian Startups created: '2023-10-14T05:59:20Z' - updated: '2023-12-05T12:45:00Z' + updated: '2024-01-04T15:46:57Z' language: null archived: false stars: 2 @@ -21019,8 +21019,8 @@ forks: 1 owner: manjeshpv logo: https://avatars.githubusercontent.com/u/1999957?v=4 - repoEtag: '"b2e0c6ec623df41302e88024c3177b758116da8871824380837b894340b9986c"' - repoLastModified: Tue, 05 Dec 2023 12:45:00 GMT + repoEtag: '"71a7d392c2b2b02bebf43920871934f2ea375bcdc3f11511fac72c949d3a6846"' + repoLastModified: Thu, 04 Jan 2024 15:46:57 GMT category: Server foundInMaster: true - source: openapi3 tags @@ -21430,7 +21430,7 @@ owner: SierraSoftworks logo: https://avatars.githubusercontent.com/u/5012716?v=4 license: MIT - repoEtag: '"744bbbac3425f78d6f400beaefbd6e512fe122ec4f01c03c3bff27d549881808"' + repoEtag: '"bcf5c86af5f1abde86f0590aea82a0d5e06ea5ce20324b21f8d678766eeeb4c0"' repoLastModified: Mon, 14 Nov 2022 17:18:07 GMT foundInMaster: true category: @@ -24975,7 +24975,7 @@ forks: 0 owner: TheAirBlow logo: https://avatars.githubusercontent.com/u/68467762?v=4 - repoEtag: '"d95d18b43887354504cd50f7e124a9841293b9ef7ec8b635cafebc6f43faf1b1"' + repoEtag: '"9fbbf323acbd02b4928c3fc15ff9b81fb60de8bd54581b80ab7f68badaeabf0a"' repoLastModified: Tue, 03 Jan 2023 13:13:05 GMT foundInMaster: true category: @@ -26021,7 +26021,7 @@ owner: speakeasy-sdks logo: https://avatars.githubusercontent.com/u/121978464?v=4 license: MIT - repoEtag: '"0da8caadc0cfdb76c835f5e7a46848cb9e1bbd10262ac006294337f841567c65"' + repoEtag: '"02ea44b86d1c02500d151523909751638a521bb87937dfeaca3af7dbc63a708d"' repoLastModified: Fri, 20 Oct 2023 10:29:48 GMT category: Parsers foundInMaster: true @@ -26999,7 +26999,7 @@ owner: protung logo: https://avatars.githubusercontent.com/u/81255167?v=4 license: MIT - repoEtag: '"8d915d34ec39471bcfee1d5b299b4d3d75814846393a894a7164e66024d4029b"' + repoEtag: '"4b0dd3d35fac8460296ca854f730000cff26c490ff1f0acd4cecb5229d8fe330"' repoLastModified: Fri, 16 Dec 2022 13:24:18 GMT category: - Server @@ -27055,7 +27055,7 @@ owner: AZCodingAccount logo: https://avatars.githubusercontent.com/u/145426558?v=4 license: MIT - repoEtag: '"31ac587d50ef45f5a4a0c56cb265178aef4a705fdc5c2917f1700143db782340"' + repoEtag: '"532cebdd6022b6265c0cf9596caf19dfcc744f9f1bbc5710311c335b84457e4e"' repoLastModified: Tue, 26 Dec 2023 12:18:17 GMT category: Code Generators foundInMaster: true @@ -27314,7 +27314,7 @@ owner: tada5hi logo: https://avatars.githubusercontent.com/u/13162758?v=4 license: MIT - repoEtag: '"4267eab1522751dbb6525fe7b96520479ca546a5a6e209a2966ee61506e2396a"' + repoEtag: '"9b0a5ccb27466dbdd60f1e542e542608d42a9cb63095cdd45aca17eaf56c2c3a"' repoLastModified: Fri, 17 Mar 2023 22:17:59 GMT category: Parsers foundInMaster: true @@ -28863,7 +28863,7 @@ forks: 0 owner: Jayllyz logo: https://avatars.githubusercontent.com/u/16305216?v=4 - repoEtag: '"da68ded8b7088d681a1e75429617d5917ec912b1501d282bbe00afa35200bb5d"' + repoEtag: '"162bd88bf5608345d74f39e898a74ec88e2b2029ed22056d139e8825c0c94da1"' repoLastModified: Wed, 06 Dec 2023 13:14:41 GMT category: Server Implementations foundInMaster: true @@ -30021,7 +30021,7 @@ forks: 0 owner: bryopsida logo: https://avatars.githubusercontent.com/u/8363252?v=4 - repoEtag: '"ea7cdfc03dbbbcc51d6efc30475c678888050a932eb8f196f24918928cde6283"' + repoEtag: '"1c5a42fce68cd0075d9bc6ed8067a242d67be817db71d92f5e9aa9676399769c"' repoLastModified: Sat, 11 Nov 2023 23:08:22 GMT category: Server Implementations foundInMaster: true @@ -33583,17 +33583,17 @@ repositoryId: 351849045 description: OpenAPI Web component to generate a UI from the spec. created: '2021-03-26T16:42:43Z' - updated: '2024-01-03T04:35:05Z' + updated: '2024-01-04T10:05:38Z' language: JavaScript archived: false - stars: 251 + stars: 250 watchers: 6 forks: 37 owner: Authress-Engineering logo: https://avatars.githubusercontent.com/u/35577654?v=4 license: Apache-2.0 - repoEtag: '"da416b6cf8d0664b93dde498a0a0c0bf5f3db0bc1505abb0eda92d26eb6296db"' - repoLastModified: Wed, 03 Jan 2024 04:35:05 GMT + repoEtag: '"7437d769dedaa0c24516064e71e62ad3c9272941fe104e50f89b6a77ce440cf5"' + repoLastModified: Thu, 04 Jan 2024 10:05:38 GMT foundInMaster: true id: c8fb58ca4a515c7e0b381f4e63d7c355 oldLocations: @@ -36284,17 +36284,17 @@ Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API created: '2011-07-05T23:44:11Z' - updated: '2024-01-02T19:48:31Z' + updated: '2024-01-04T15:52:44Z' language: Java archived: false - stars: 7296 + stars: 7297 watchers: 310 forks: 2165 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"dd2f257af432acce9065b2633f81025836a968852e45dec0454b906b45f4cd94"' - repoLastModified: Tue, 02 Jan 2024 19:48:31 GMT + repoEtag: '"f6bb380444303e35e3d64c777eb2e93a2e5f77d10a8de49495af98e73f3b064f"' + repoLastModified: Thu, 04 Jan 2024 15:52:44 GMT id: 266d60df2d48ad8a47539de3c1071f3a - source: IMPLEMENTATIONS.md name: Microsoft.OpenApi.net @@ -36317,17 +36317,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2024-01-03T16:48:14Z' + updated: '2024-01-04T16:15:07Z' language: C# archived: false - stars: 1247 + stars: 1249 watchers: 65 forks: 218 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"5f10791ebbf733fee933fc47d93828bbf375f010a767120d548995b2b7cb4073"' - repoLastModified: Wed, 03 Jan 2024 16:48:14 GMT + repoEtag: '"91184c3409418f4d84e6b16d14fe5202eca8c94593f58a3c361df00afa633cb0"' + repoLastModified: Thu, 04 Jan 2024 16:15:07 GMT id: f3215034d64cfcbcc28a4bdb0205a075 - source: IMPLEMENTATIONS.md name: openapi-validator @@ -36398,7 +36398,7 @@ owner: char0n logo: https://avatars.githubusercontent.com/u/193286?v=4 license: Apache-2.0 - repoEtag: '"71788d7745cc71e7ce73858e0e45bd159145ab9931d708d694f2e49338eb80d7"' + repoEtag: '"a2463b47254570d3dba246c6924e23324e405a8ca96ec1f7b88406e3c44be93f"' repoLastModified: Wed, 02 Aug 2023 07:09:44 GMT foundInMaster: true - source: IMPLEMENTATIONS.md @@ -36626,17 +36626,17 @@ repositoryId: 30567860 description: Single file PHP script that adds a REST API to a SQL database created: '2015-02-10T01:08:52Z' - updated: '2024-01-03T16:56:14Z' + updated: '2024-01-04T10:18:03Z' language: PHP archived: false - stars: 3472 + stars: 3475 watchers: 179 forks: 1031 owner: mevdschee logo: https://avatars.githubusercontent.com/u/1288217?v=4 license: MIT - repoEtag: '"82afcd3a7e86e57cc5b0696b6556f0fca0e59075c4f95d82ac2a935656a86d46"' - repoLastModified: Wed, 03 Jan 2024 16:56:14 GMT + repoEtag: '"97aa3e5d24e861fbcaab17ddb8aa194802ceb60d17ba9763467633d8e3a8879f"' + repoLastModified: Thu, 04 Jan 2024 10:18:03 GMT id: 84a7be428932f7789a8ad1a220b22216 - source: IMPLEMENTATIONS.md name: Fastify OpenAPI v3 @@ -36700,17 +36700,17 @@ repositoryId: 157976175 description: JavaScript client library for consuming OpenAPI-enabled APIs with axios created: '2018-11-17T11:04:15Z' - updated: '2023-12-31T18:46:35Z' + updated: '2024-01-04T04:09:26Z' language: TypeScript archived: false - stars: 463 + stars: 464 watchers: 7 forks: 62 owner: openapistack logo: https://avatars.githubusercontent.com/u/147298423?v=4 license: MIT - repoEtag: '"2fe201d5c23ae25f92e50ce437d938aff46741ed92a3d83f1635de0db6276ba4"' - repoLastModified: Sun, 31 Dec 2023 18:46:35 GMT + repoEtag: '"bd072107fd7fdfee007471973537c121e77b081620c4ebc74a0f7879226ec2c5"' + repoLastModified: Thu, 04 Jan 2024 04:09:26 GMT id: a3b46b452de775b27f5ce966a69ccfa3 oldLocations: - https://github.com/anttiviljami/openapi-client-axios @@ -37245,17 +37245,17 @@ Connexion is a modern Python web framework that makes spec-first and api-first development easy. created: '2015-05-19T13:05:58Z' - updated: '2024-01-03T23:56:11Z' + updated: '2024-01-04T20:23:14Z' language: Python archived: false - stars: 4359 + stars: 4360 watchers: 86 forks: 741 owner: spec-first logo: https://avatars.githubusercontent.com/u/58754196?v=4 license: Apache-2.0 - repoEtag: '"10d58bddbe648e2ee6f092d3b58fa0298d0a9b3306f154f63479d75fcc41db69"' - repoLastModified: Wed, 03 Jan 2024 23:56:11 GMT + repoEtag: '"b8acefe78ee4dd735179d1073fad7ceef5ef49d0317ee6fc5e8e196a8e1207e7"' + repoLastModified: Thu, 04 Jan 2024 20:23:14 GMT foundInMaster: true homepage: https://github.com/zalando/connexion id: 2d575abdf2671028868058b2442d9131 @@ -37547,17 +37547,17 @@ LoopBack makes it easy to build modern API applications that require complex integrations. created: '2017-01-09T17:27:14Z' - updated: '2024-01-03T04:20:23Z' + updated: '2024-01-04T19:37:53Z' language: TypeScript archived: false - stars: 4708 + stars: 4710 watchers: 135 forks: 1043 owner: loopbackio logo: https://avatars.githubusercontent.com/u/22173486?v=4 license: NOASSERTION - repoEtag: '"6d8ea92574103e2215657c106c37f3d0a600905fc8837746161e3051eff656f6"' - repoLastModified: Wed, 03 Jan 2024 04:20:23 GMT + repoEtag: '"ecedc054ca230527720146c8886bd22bd66ead7a2ea523bfdad497afe427e9e2"' + repoLastModified: Thu, 04 Jan 2024 19:37:53 GMT foundInMaster: true id: 9132c25ad468bed25b9dbbe3a352abc2 v3: true @@ -37629,17 +37629,17 @@ testing cloud services through their REST APIs and finding security and reliability bugs in these services. created: '2020-07-24T21:40:11Z' - updated: '2024-01-03T12:20:08Z' + updated: '2024-01-04T15:54:08Z' language: Python archived: false - stars: 2363 + stars: 2365 watchers: 36 forks: 272 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"0284ef8412f7a271c639b1c3664d8aa8a2c8a4f952573dc84fbd2e69f4b30eec"' - repoLastModified: Wed, 03 Jan 2024 12:20:08 GMT + repoEtag: '"bc16c5ca9f977a7fcd4d47681b29aba8e7c71bb991a97a90ad8535fdb15ad35d"' + repoLastModified: Thu, 04 Jan 2024 15:54:08 GMT foundInMaster: true oldLocations: - https://github.com/microsoft/restler @@ -38116,7 +38116,7 @@ owner: neo-f logo: https://avatars.githubusercontent.com/u/20187646?v=4 license: MIT - repoEtag: '"fd7bba8e3021c815d143ce92a726dcc25a0637e8d266dc8503de0ef26ab326f1"' + repoEtag: '"6249f80f50aef48622ff720ac43d21a75e38909661335f4be1b384eccbcbe33f"' repoLastModified: Tue, 17 Oct 2023 06:51:34 GMT category: Parsers foundInMaster: true @@ -38374,17 +38374,17 @@ Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well. created: '2021-02-24T07:21:40Z' - updated: '2024-01-03T12:04:25Z' + updated: '2024-01-05T01:46:22Z' language: Go archived: false - stars: 1280 - watchers: 86 + stars: 1286 + watchers: 87 forks: 260 owner: unionj-cloud logo: https://avatars.githubusercontent.com/u/79033021?v=4 license: MIT - repoEtag: '"0f234925ceee2acb35a8bd798d8259ca9530a860eb6140b60effb6e678c028d9"' - repoLastModified: Wed, 03 Jan 2024 12:04:25 GMT + repoEtag: '"07bc5513fbe590c5f0ebc5edea673031527cfee244712e6db123afe5bf8da9b9"' + repoLastModified: Fri, 05 Jan 2024 01:46:22 GMT foundInMaster: true category: SDK id: aab01f8bda6c542fdacf9ee8dfa7d20d