From 32cd6bcb2165c7bcbf61bc69691016a6e4d36453 Mon Sep 17 00:00:00 2001 From: js0ny Date: Thu, 22 Jan 2026 12:36:30 +0000 Subject: [PATCH] chore(assets): Upload report assets --- .gitignore | 1 - docs/reports/LO3_Go_Coverage.html | 325 ++++ docs/reports/LO3_Go_Performance.png | Bin 0 -> 206082 bytes docs/reports/LO3_Java_Coverage.png | Bin 0 -> 121437 bytes docs/reports/LO5_CI_Log.png | Bin 0 -> 199781 bytes docs/reports/jacoco/test/html/index.html | 1 + .../CorsConfig.html | 1 + .../CorsConfig.java.html | 28 + .../index.html | 1 + .../index.source.html | 1 + .../ApiController.html | 1 + .../ApiController.java.html | 114 ++ .../DroneController.html | 1 + .../DroneController.java.html | 128 ++ .../MapMetaController.html | 1 + .../MapMetaController.java.html | 39 + .../index.html | 1 + .../index.source.html | 1 + .../AltitudeRange.html | 1 + .../AltitudeRange.java.html | 13 + .../Angle.html | 1 + .../Angle.java.html | 65 + .../DroneAvailability.html | 1 + .../DroneAvailability.java.html | 21 + .../DroneCapability.html | 1 + .../DroneCapability.java.html | 11 + .../DroneEvent.html | 1 + .../DroneEvent.java.html | 93 + .../LngLat.html | 1 + .../LngLat.java.html | 36 + .../LngLatAlt.html | 1 + .../LngLatAlt.java.html | 12 + .../Region.html | 1 + .../Region.java.html | 76 + .../TimeWindow.html | 1 + .../TimeWindow.java.html | 7 + .../index.html | 1 + .../index.source.html | 1 + .../Drone.html | 1 + .../Drone.java.html | 16 + .../RestrictedArea.html | 1 + .../RestrictedArea.java.html | 20 + .../ServicePoint.html | 1 + .../ServicePoint.java.html | 6 + .../ServicePointDrones.html | 1 + .../ServicePointDrones.java.html | 19 + .../index.html | 1 + .../index.source.html | 1 + .../AttrQueryRequest.html | 1 + .../AttrQueryRequest.java.html | 7 + .../DistanceRequest.html | 1 + .../DistanceRequest.java.html | 15 + .../MedDispatchRecRequest$MedRequirement.html | 1 + .../MedDispatchRecRequest.html | 1 + .../MedDispatchRecRequest.java.html | 16 + .../MovementRequest.html | 1 + .../MovementRequest.java.html | 17 + .../RegionCheckRequest.html | 1 + .../RegionCheckRequest.java.html | 19 + .../index.html | 1 + .../index.source.html | 1 + ...liveryPathResponse$DronePath$Delivery.html | 1 + .../DeliveryPathResponse$DronePath.html | 1 + .../DeliveryPathResponse.html | 1 + .../DeliveryPathResponse.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../GlobalExceptionHandler.html | 1 + .../GlobalExceptionHandler.java.html | 53 + .../index.html | 1 + .../index.source.html | 1 + .../DroneAttrComparatorService.html | 1 + .../DroneAttrComparatorService.java.html | 130 ++ .../DroneInfoService.html | 1 + .../DroneInfoService.java.html | 271 +++ .../GpsCalculationService.html | 1 + .../GpsCalculationService.java.html | 190 +++ .../PathFinderService$PathSegment.html | 1 + .../PathFinderService$TripResult.html | 1 + .../PathFinderService.html | 1 + .../PathFinderService.java.html | 550 ++++++ .../TelemetryService.html | 1 + .../TelemetryService.java.html | 80 + .../index.html | 1 + .../index.source.html | 1 + .../AttrComparator.html | 1 + .../AttrComparator.java.html | 64 + .../AttrOperator.html | 1 + .../AttrOperator.java.html | 24 + .../index.html | 1 + .../index.source.html | 1 + .../IlpCourseworkApplication.html | 1 + .../IlpCourseworkApplication.java.html | 13 + .../io.github.js0ny.ilp_coursework/index.html | 1 + .../index.source.html | 1 + .../test/html/jacoco-resources/branchfc.gif | Bin 0 -> 91 bytes .../test/html/jacoco-resources/branchnc.gif | Bin 0 -> 91 bytes .../test/html/jacoco-resources/branchpc.gif | Bin 0 -> 91 bytes .../test/html/jacoco-resources/bundle.gif | Bin 0 -> 709 bytes .../test/html/jacoco-resources/class.gif | Bin 0 -> 586 bytes .../test/html/jacoco-resources/down.gif | Bin 0 -> 67 bytes .../test/html/jacoco-resources/greenbar.gif | Bin 0 -> 91 bytes .../test/html/jacoco-resources/group.gif | Bin 0 -> 351 bytes .../test/html/jacoco-resources/method.gif | Bin 0 -> 193 bytes .../test/html/jacoco-resources/package.gif | Bin 0 -> 227 bytes .../test/html/jacoco-resources/prettify.css | 13 + .../test/html/jacoco-resources/prettify.js | 1510 +++++++++++++++++ .../test/html/jacoco-resources/redbar.gif | Bin 0 -> 91 bytes .../test/html/jacoco-resources/report.css | 243 +++ .../test/html/jacoco-resources/report.gif | Bin 0 -> 363 bytes .../test/html/jacoco-resources/session.gif | Bin 0 -> 213 bytes .../test/html/jacoco-resources/sort.gif | Bin 0 -> 58 bytes .../jacoco/test/html/jacoco-resources/sort.js | 148 ++ .../test/html/jacoco-resources/source.gif | Bin 0 -> 354 bytes .../jacoco/test/html/jacoco-resources/up.gif | Bin 0 -> 67 bytes .../jacoco/test/html/jacoco-sessions.html | 1 + docs/reports/jacoco/test/jacocoTestReport.xml | 1 + docs/requirements.md | 24 + docs/test_plan.md | 43 + 119 files changed, 4531 insertions(+), 1 deletion(-) create mode 100644 docs/reports/LO3_Go_Coverage.html create mode 100644 docs/reports/LO3_Go_Performance.png create mode 100644 docs/reports/LO3_Java_Coverage.png create mode 100644 docs/reports/LO5_CI_Log.png create mode 100644 docs/reports/jacoco/test/html/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html create mode 100644 docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/branchnc.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/bundle.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/class.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/down.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/group.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/method.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/package.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/prettify.css create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/prettify.js create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/redbar.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/report.css create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/report.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/session.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/sort.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/sort.js create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/source.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-resources/up.gif create mode 100644 docs/reports/jacoco/test/html/jacoco-sessions.html create mode 100644 docs/reports/jacoco/test/jacocoTestReport.xml create mode 100644 docs/requirements.md create mode 100644 docs/test_plan.md diff --git a/.gitignore b/.gitignore index 55bcae1..1d9186d 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,6 @@ drone-black-box/drone_black_box.db* *.pdf *.out -*.html drone_black_box.db* app diff --git a/docs/reports/LO3_Go_Coverage.html b/docs/reports/LO3_Go_Coverage.html new file mode 100644 index 0000000..b6aa095 --- /dev/null +++ b/docs/reports/LO3_Go_Coverage.html @@ -0,0 +1,325 @@ + + + + + + drone-black-box: Go Coverage Report + + + +
+ +
+ not tracked + + not covered + covered + +
+
+
+ + + +
+ + + diff --git a/docs/reports/LO3_Go_Performance.png b/docs/reports/LO3_Go_Performance.png new file mode 100644 index 0000000000000000000000000000000000000000..3be3764c7671e00de73a98fc9f0229bfe7c785b9 GIT binary patch literal 206082 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 z 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 Q4}7hJr>mdKI;Vst0J1pg@&Et; literal 0 HcmV?d00001 diff --git a/docs/reports/LO3_Java_Coverage.png b/docs/reports/LO3_Java_Coverage.png new file mode 100644 index 0000000000000000000000000000000000000000..c64f8f2ce6e8e325459fe2858b94a98d51bb784c GIT binary patch literal 121437 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

K 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

_~1t&hs=G$-29_oZQj&9 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

nn)5a_9mEobGH@$mv`uR!IrX6dS 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 KelF{r5}E+k{7`QI literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/index.html b/docs/reports/jacoco/test/html/index.html new file mode 100644 index 0000000..169fbe5 --- /dev/null +++ b/docs/reports/jacoco/test/html/index.html @@ -0,0 +1 @@ +ilp-coursework

ilp-coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total317 of 2,28586%97 of 25461%8820473501477010
io.github.js0ny.ilp_coursework.service3091,69084%9315362%841747342945106
io.github.js0ny.ilp_coursework.controller22796%4450%42405802003
io.github.js0ny.ilp_coursework.exception51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html new file mode 100644 index 0000000..9584a6d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html @@ -0,0 +1 @@ +CorsConfig

CorsConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 68100%0 of 0n/a030703
addCorsMappings(CorsRegistry)45100%n/a010501
static {...}20100%n/a010101
CorsConfig()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html new file mode 100644 index 0000000..49f9243 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html @@ -0,0 +1,28 @@ +CorsConfig.java

CorsConfig.java

package io.github.js0ny.ilp_coursework.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * Global CORS configuration so the frontend running on a different port can call the REST API.
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    private static final String[] ALLOWED_ORIGINS = new String[] {
+            "http://localhost:4173",
+            "http://127.0.0.1:4173",
+            "http://localhost:5173",
+            "http://127.0.0.1:5173"
+    };
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins(ALLOWED_ORIGINS)
+                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "PATCH")
+                .allowedHeaders("*");
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html new file mode 100644 index 0000000..ee51bcf --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.config

io.github.js0ny.ilp_coursework.config

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 68100%0 of 0n/a03070301
CorsConfig68100%n/a03070301
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html new file mode 100644 index 0000000..dbeaa8a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.config

io.github.js0ny.ilp_coursework.config

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 68100%0 of 0n/a03070301
CorsConfig.java68100%n/a03070301
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html new file mode 100644 index 0000000..c7adf67 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html @@ -0,0 +1 @@ +ApiController

ApiController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 86100%0 of 0n/a0702207
getNextPosition(MovementRequest)20100%n/a010401
getDistance(DistanceRequest)17100%n/a010401
getIsCloseTo(DistanceRequest)17100%n/a010401
getIsInRegion(RegionCheckRequest)17100%n/a010401
ApiController(GpsCalculationService)6100%n/a010301
getUid()5100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html new file mode 100644 index 0000000..1713c63 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html @@ -0,0 +1,114 @@ +ApiController.java

ApiController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.request.DistanceRequest;
+import io.github.js0ny.ilp_coursework.data.request.MovementRequest;
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+import io.github.js0ny.ilp_coursework.service.GpsCalculationService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Main REST Controller for the ILP Coursework 1 application.
+ *
+ * <p>This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
+ * CW1) This is responsible for mapping requests to the appropriate service method and returning the
+ * results as responses. The business logic is delegated to {@link GpsCalculationService}
+ */
+@RestController
+@RequestMapping("/api/v1")
+public class ApiController {
+
+    private static final Logger log = LoggerFactory.getLogger(ApiController.class);
+
+    private final GpsCalculationService gpsService;
+
+    /**
+     * Constructor of the {@code ApiController} with the business logic dependency {@code
+     * GpsCalculationService}
+     *
+     * @param gpsService The service component that contains all business logic, injected by
+     *     Spring's DI.
+     */
+    public ApiController(GpsCalculationService gpsService) {
+        this.gpsService = gpsService;
+    }
+
+    /**
+     * Handles GET requests to retrieve the student's Unique ID
+     *
+     * @return A string representing the student ID starting with s
+     */
+    @GetMapping("/uid")
+    public String getUid() {
+        log.info("GET /api/v1/uid");
+        return "s2522255";
+    }
+
+    /**
+     * Handles POST requests to get the distance between two positions
+     *
+     * @param request A {@link DistanceRequest} containing the two coordinates
+     * @return A {@code double} representing the calculated distance
+     */
+    @PostMapping("/distanceTo")
+    public double getDistance(@RequestBody DistanceRequest request) {
+        LngLat position1 = request.position1();
+        LngLat position2 = request.position2();
+        log.info("POST /api/v1/distanceTo position1={} position2={}", position1, position2);
+        return gpsService.calculateDistance(position1, position2);
+    }
+
+    /**
+     * Handles POST requests to check if the two coordinates are close to each other
+     *
+     * @param request A {@link DistanceRequest} containing the two coordinates
+     * @return {@code true} if the distance is less than the predefined threshold, {@code false}
+     *     otherwise
+     */
+    @PostMapping("/isCloseTo")
+    public boolean getIsCloseTo(@RequestBody DistanceRequest request) {
+        LngLat position1 = request.position1();
+        LngLat position2 = request.position2();
+        log.info("POST /api/v1/isCloseTo position1={} position2={}", position1, position2);
+        return gpsService.isCloseTo(position1, position2);
+    }
+
+    /**
+     * Handles POST requests to get the next position after an angle of movement
+     *
+     * @param request A {@link MovementRequest} containing the start coordinate and angle of the
+     *     movement.
+     * @return A {@link LngLat} representing the destination
+     */
+    @PostMapping("/nextPosition")
+    public LngLat getNextPosition(@RequestBody MovementRequest request) {
+        LngLat start = request.start();
+        Angle angle = new Angle(request.angle());
+        log.info("POST /api/v1/nextPosition start={} angle={}", start, angle);
+        return gpsService.nextPosition(start, angle);
+    }
+
+    /**
+     * Handles POST requests to check if a point is inside a given region
+     *
+     * @param request A {@link RegionCheckRequest} containing the coordinate and the region
+     * @return {@code true} if the coordinate is inside the region, {@code false} otherwise
+     */
+    @PostMapping("/isInRegion")
+    public boolean getIsInRegion(@RequestBody RegionCheckRequest request) {
+        LngLat position = request.position();
+        Region region = request.region();
+        log.info("POST /api/v1/isInRegion position={} region={}", position, region);
+        return gpsService.checkIsInRegion(position, region);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html new file mode 100644 index 0000000..042330f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html @@ -0,0 +1 @@ +DroneController

DroneController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 12593%4 of 850%41302809
getIdByAttrMapPost(AttrQueryRequest[])21588%1150%120301
queryAvailableDrones(MedDispatchRecRequest[])21588%1150%120301
calculateDeliveryPath(MedDispatchRecRequest[])21588%1150%120301
calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])21588%1150%120301
getDroneDetail(String)20100%n/a010601
DroneController(DroneInfoService, DroneAttrComparatorService, PathFinderService)12100%n/a010501
getIdByAttrMap(String, String)11100%n/a010201
getDronesWithCoolingCapability(boolean)10100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html new file mode 100644 index 0000000..6caf7ae --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html @@ -0,0 +1,128 @@ +DroneController.java

DroneController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+import io.github.js0ny.ilp_coursework.service.DroneAttrComparatorService;
+import io.github.js0ny.ilp_coursework.service.DroneInfoService;
+import io.github.js0ny.ilp_coursework.service.PathFinderService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Main Rest Controller for the ILP Coursework 2 application.
+ *
+ * <p>This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
+ * CW2) The business logic is delegated to {@link DroneInfoService}
+ */
+@RestController
+@RequestMapping("/api/v1")
+public class DroneController {
+
+    private static final Logger log = LoggerFactory.getLogger(DroneController.class);
+
+    private final DroneInfoService droneInfoService;
+    private final DroneAttrComparatorService droneAttrComparatorService;
+    private final PathFinderService pathFinderService;
+
+    /**
+     * Constructor of the {@code DroneController} with the business logic dependency {@code
+     * DroneInfoService}
+     *
+     * <p>We handle the {@code baseUrl} here. Use a predefined URL if the environment variable
+     * {@code ILP_ENDPOINT} is not given.
+     *
+     * @param droneService The service component that contains all business logic
+     */
+    public DroneController(
+            DroneInfoService droneService,
+            DroneAttrComparatorService droneAttrComparatorService,
+            PathFinderService pathFinderService) {
+        this.droneInfoService = droneService;
+        this.droneAttrComparatorService = droneAttrComparatorService;
+        this.pathFinderService = pathFinderService;
+    }
+
+    /**
+     * Handles GET requests to retrieve an array of drones (identified by id) that has the
+     * capability of cooling
+     *
+     * @param state The path variable that indicates the return should have or not have the
+     *     capability
+     * @return An array of drone id with cooling capability.
+     */
+    @GetMapping("/dronesWithCooling/{state}")
+    public List<String> getDronesWithCoolingCapability(@PathVariable boolean state) {
+        log.info("GET /api/v1/dronesWithCooling/{}", state);
+        return droneInfoService.dronesWithCooling(state);
+    }
+
+    /**
+     * Handles GET requests to retrieve the drone detail identified by id
+     *
+     * @param id The id of the drone to be queried.
+     * @return 200 with {@link Drone}-style json if success, 404 if {@code id} not found, 400
+     *     otherwise
+     */
+    @GetMapping("/droneDetails/{id}")
+    public ResponseEntity<Drone> getDroneDetail(@PathVariable String id) {
+        try {
+            log.info("GET /api/v1/droneDetails/{}", id);
+            Drone drone = droneInfoService.droneDetail(id);
+            return ResponseEntity.ok(drone);
+        } catch (IllegalArgumentException ex) {
+            log.warn("GET /api/v1/droneDetails/{} not found", id);
+            return ResponseEntity.notFound().build();
+        }
+    }
+
+    /**
+     * Handles GET requests to retrieve an array of drone ids that {@code capability.attrName =
+     * attrVal}
+     *
+     * @param attrName The name of the attribute to be queried
+     * @param attrVal The value of the attribute to be queried
+     * @return An array of drone id that matches the attribute name and value
+     */
+    @GetMapping("/queryAsPath/{attrName}/{attrVal}")
+    public List<String> getIdByAttrMap(
+            @PathVariable String attrName, @PathVariable String attrVal) {
+        log.info("GET /api/v1/queryAsPath/{}/{}", attrName, attrVal);
+        return droneAttrComparatorService.dronesWithAttribute(attrName, attrVal);
+    }
+
+    @PostMapping("/query")
+    public List<String> getIdByAttrMapPost(@RequestBody AttrQueryRequest[] attrComparators) {
+        int count = attrComparators == null ? 0 : attrComparators.length;
+        log.info("POST /api/v1/query comparators={}", count);
+        return droneAttrComparatorService.dronesSatisfyingAttributes(attrComparators);
+    }
+
+    @PostMapping("/queryAvailableDrones")
+    public List<String> queryAvailableDrones(@RequestBody MedDispatchRecRequest[] records) {
+        int count = records == null ? 0 : records.length;
+        log.info("POST /api/v1/queryAvailableDrones records={}", count);
+        return droneInfoService.dronesMatchesRequirements(records);
+    }
+
+    @PostMapping("/calcDeliveryPath")
+    public DeliveryPathResponse calculateDeliveryPath(@RequestBody MedDispatchRecRequest[] record) {
+        int count = record == null ? 0 : record.length;
+        log.info("POST /api/v1/calcDeliveryPath records={}", count);
+        return pathFinderService.calculateDeliveryPath(record);
+    }
+
+    @PostMapping("/calcDeliveryPathAsGeoJson")
+    public String calculateDeliveryPathAsGeoJson(@RequestBody MedDispatchRecRequest[] record) {
+        int count = record == null ? 0 : record.length;
+        log.info("POST /api/v1/calcDeliveryPathAsGeoJson records={}", count);
+        return pathFinderService.calculateDeliveryPathAsGeoJson(record);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html new file mode 100644 index 0000000..cde3d28 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html @@ -0,0 +1 @@ +MapMetaController

MapMetaController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 24100%0 of 0n/a040804
getRestrictedAreas()7100%n/a010201
getServicePoints()7100%n/a010201
MapMetaController(DroneInfoService)6100%n/a010301
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html new file mode 100644 index 0000000..884eb16 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html @@ -0,0 +1,39 @@ +MapMetaController.java

MapMetaController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.service.DroneInfoService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/v1")
+public class MapMetaController {
+
+    private static final Logger log = LoggerFactory.getLogger(MapMetaController.class);
+
+    private final DroneInfoService droneInfoService;
+
+    public MapMetaController(DroneInfoService droneInfoService) {
+        this.droneInfoService = droneInfoService;
+    }
+
+    @GetMapping("/restrictedAreas")
+    public List<RestrictedArea> getRestrictedAreas() {
+        log.info("GET /api/v1/restrictedAreas");
+        return droneInfoService.fetchRestrictedAreas();
+    }
+
+    @GetMapping("/servicePoints")
+    public List<ServicePoint> getServicePoints() {
+        log.info("GET /api/v1/servicePoints");
+        return droneInfoService.fetchServicePoints();
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html new file mode 100644 index 0000000..c903120 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.controller

io.github.js0ny.ilp_coursework.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 23596%4 of 850%42405802003
DroneController811793%4450%4130280901
ApiController86100%n/a070220701
MapMetaController24100%n/a04080401
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html new file mode 100644 index 0000000..1a0d4a0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.controller

io.github.js0ny.ilp_coursework.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 23596%4 of 850%42405802003
DroneController.java811793%4450%4130280901
ApiController.java86100%n/a070220701
MapMetaController.java24100%n/a04080401
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html new file mode 100644 index 0000000..f4053eb --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html @@ -0,0 +1 @@ +AltitudeRange

AltitudeRange

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
AltitudeRange(double, double)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html new file mode 100644 index 0000000..43a5e94 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html @@ -0,0 +1,13 @@ +AltitudeRange.java

AltitudeRange.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+
+/**
+ * Represents a range of altitude values (that is a fly-zone in {@link RestrictedArea}).
+ *
+ * @param lower The lower bound of the altitude range.
+ * @param upper The upper bound of the altitude range. If {@code upper = -1}, then the region is not
+ *     a fly zone.
+ */
+public record AltitudeRange(double lower, double upper) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html new file mode 100644 index 0000000..96f1046 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html @@ -0,0 +1 @@ +Angle

Angle

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total34 of 11269%8 of 1442%71452127
fromIndex(int)180%40%333311
Angle(double)132969%4450%351701
toRadians(double)30%n/a111111
snap(double)17100%n/a010301
offset(int)14100%n/a010201
normalize(double)14100%2100%020401
toRadians()4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html new file mode 100644 index 0000000..ecc1bb4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html @@ -0,0 +1,65 @@ +Angle.java

Angle.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for angle
+ *
+ * @param val value of the angle in degrees
+ */
+public record Angle(double degrees) {
+    private static final double STEP = 22.5;
+    private static final double EPSILON = 1e-10;
+
+    public Angle {
+        if (degrees < 0 || degrees >= 360) {
+            throw new IllegalArgumentException("Angle must be in range [0, 360). Got: " + degrees);
+        }
+
+        // Should be a multiple of 22.5 (one of the 16 major directions)
+        double remainder = degrees % STEP;
+
+        // Floating point modulo may have tiny errors, e.g. 45.0 % 22.5 could be 0.0 or
+        // 1.0e-15
+        // So we need to check if the remainder is small enough, or close enough to STEP
+        // (handling negative errors)
+        if (Math.abs(remainder) > EPSILON && Math.abs(remainder - STEP) > EPSILON) {
+            throw new IllegalArgumentException(
+                    "Angle must be a multiple of 22.5 (one of the 16 major directions). Got: "
+                            + degrees);
+        }
+    }
+
+    public static Angle fromIndex(int index) {
+        if (index < 0 || index > 15) {
+            throw new IllegalArgumentException("Direction index must be between 0 and 15");
+        }
+        return new Angle(index * STEP);
+    }
+
+    public static Angle snap(double rawAngle) {
+        double normalized = normalize(rawAngle);
+        double snapped = Math.round(normalized / STEP) * STEP;
+        return new Angle(normalize(snapped));
+    }
+
+    public Angle offset(int increments) {
+        double rotated = degrees + increments * STEP;
+        return new Angle(normalize(rotated));
+    }
+
+    private static double normalize(double angle) {
+        double normalized = angle % 360;
+        if (normalized < 0) {
+            normalized += 360;
+        }
+        return normalized;
+    }
+
+    public static double toRadians(double degrees) {
+        return Math.toRadians(degrees);
+    }
+
+    public double toRadians() {
+        return Math.toRadians(degrees);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html new file mode 100644 index 0000000..1d36e6c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html @@ -0,0 +1 @@ +DroneAvailability

DroneAvailability

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 4591%4 of 850%461602
checkAvailability(DayOfWeek, LocalTime)43288%4450%451501
DroneAvailability(String, TimeWindow[])9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html new file mode 100644 index 0000000..428590a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html @@ -0,0 +1,21 @@ +DroneAvailability.java

DroneAvailability.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.DayOfWeek;
+import java.time.LocalTime;
+
+public record DroneAvailability(String id, TimeWindow[] availability) {
+
+    public boolean checkAvailability(DayOfWeek day, LocalTime time) {
+
+        for (var a : availability) {
+            if (a.dayOfWeek().equals(day)) {
+                if (!time.isBefore(a.from()) && !time.isAfter(a.until())) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html new file mode 100644 index 0000000..36eea0d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html @@ -0,0 +1 @@ +DroneCapability

DroneCapability

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 24100%0 of 0n/a010101
DroneCapability(boolean, boolean, float, int, float, float, float)24100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html new file mode 100644 index 0000000..534b6ba --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html @@ -0,0 +1,11 @@ +DroneCapability.java

DroneCapability.java

package io.github.js0ny.ilp_coursework.data.common;
+
+public record DroneCapability(
+        boolean cooling,
+        boolean heating,
+        float capacity,
+        int maxMoves,
+        float costPerMove,
+        float costInitial,
+        float costFinal) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html new file mode 100644 index 0000000..416b2f9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html @@ -0,0 +1 @@ +DroneEvent

DroneEvent

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total238 of 2380%20 of 200%1414434344
fromPathResponseWithTimestamps(DeliveryPathResponse, Map)870%80%55161611
fromPathResponseWithTimestamp(DeliveryPathResponse, LocalDateTime)700%60%44141411
fromPathResponse(DeliveryPathResponse)660%60%44121211
DroneEvent(String, double, double, String)150%n/a111111
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html new file mode 100644 index 0000000..5e12da0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html @@ -0,0 +1,93 @@ +DroneEvent.java

DroneEvent.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+
+// Corresponding in Go
+//
+
+/*
+ * type DroneEvent struct {
+ * DroneID string `json:"drone_id"`
+ * Latitude float64 `json:"latitude"`
+ * Longitude float64 `json:"longitude"`
+ * Timestamp string `json:"timestamp"`
+ * }
+ */
+
+public record DroneEvent(
+        String droneId,
+        double latitude,
+        double longitude,
+        String timestamp) {
+
+    final static int STEP = 1; // seconds between events
+    // Helper method that converts from DeliveryPathResponse to List<DroneEvent>
+
+    public static List<DroneEvent> fromPathResponse(DeliveryPathResponse resp) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        for (var p : resp.dronePaths()) {
+            String id = p.droneId() + "";
+            for (var d : p.deliveries()) {
+                for (var coord : d.flightPath()) {
+                    String timestamp = java.time.Instant.now().toString();
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            timestamp));
+                }
+            }
+        }
+        return events;
+    }
+
+    // Helper method that converts from DeliveryPathResponse to List<DroneEvent>
+    // with base timestamp
+    public static List<DroneEvent> fromPathResponseWithTimestamp(DeliveryPathResponse resp,
+            LocalDateTime baseTimestamp) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        java.time.LocalDateTime timestamp = baseTimestamp;
+        for (var p : resp.dronePaths()) {
+            String id = String.valueOf(p.droneId());
+            for (var d : p.deliveries()) {
+                for (var coord : d.flightPath()) {
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            timestamp.toString()));
+                    timestamp = timestamp.plusSeconds(STEP); // Increment timestamp for each event
+                }
+            }
+        }
+        return events;
+    }
+
+    public static List<DroneEvent> fromPathResponseWithTimestamps(
+            DeliveryPathResponse resp, Map<Integer, LocalDateTime> deliveryTimestamps) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        for (var p : resp.dronePaths()) {
+            String id = String.valueOf(p.droneId());
+            for (var d : p.deliveries()) {
+                LocalDateTime timestamp = deliveryTimestamps.get(d.deliveryId());
+                // Fallback to current time if the delivery does not carry a timestamp.
+                System.out.println("Generated event for drone " + id + " at " + timestamp.toString());
+                LocalDateTime current = timestamp != null ? timestamp : LocalDateTime.now();
+                for (var coord : d.flightPath()) {
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            current.toString()));
+                    current = current.plusSeconds(STEP);
+                }
+            }
+        }
+        return events;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html new file mode 100644 index 0000000..8efbf8c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html @@ -0,0 +1 @@ +LngLat

LngLat

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 7088%5 of 1464%51021103
LngLat(double, double)63183%3562%351601
isSamePoint(LngLat)22492%2466%241301
LngLat(LngLatAlt)7100%n/a010201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html new file mode 100644 index 0000000..528127d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html @@ -0,0 +1,36 @@ +LngLat.java

LngLat.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for a point or coordinate that defines by a longitude and
+ * latitude
+ *
+ * @param lng longitude of the coordinate/point
+ * @param lat latitude of the coordinate/point
+ */
+public record LngLat(double lng, double lat) {
+    private static final double EPSILON = 1e-9;
+
+    public LngLat {
+        if (lat < -90 || lat > 90) {
+            throw new IllegalArgumentException(
+                    "Latitude must be between -90 and +90 degrees. Got: " + lat);
+        }
+
+        if (lng < -180 || lng > 180) {
+            throw new IllegalArgumentException(
+                    "Longitude must be between -180 and +180 degrees. Got: " + lng);
+        }
+    }
+
+    public LngLat(LngLatAlt coord) {
+        this(coord.lng(), coord.lat());
+    }
+
+    public boolean isSamePoint(LngLat other) {
+        if (other == null) {
+            return false;
+        }
+        return (Math.abs(lng - other.lng()) < EPSILON && Math.abs(lat - other.lat()) < EPSILON);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html new file mode 100644 index 0000000..2f6fb6a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html @@ -0,0 +1 @@ +LngLatAlt

LngLatAlt

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
LngLatAlt(double, double, double)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html new file mode 100644 index 0000000..e8df375 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html @@ -0,0 +1,12 @@ +LngLatAlt.java

LngLatAlt.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for a point or coordinate that defines by a longitude and
+ * latitude
+ *
+ * @param lng longitude of the coordinate/point
+ * @param lat latitude of the coordinate/point
+ * @param alt altitude of the coordinate/point
+ */
+public record LngLatAlt(double lng, double lat, double alt) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html new file mode 100644 index 0000000..931fe40 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html @@ -0,0 +1 @@ +Region

Region

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total51 of 8439%1 of 475%47111735
toGeoJson()250%n/a116611
toGeoJsonString()180%n/a115511
lambda$toGeoJson$0(LngLat)80%n/a111111
isClosed()24100%1375%130501
Region(String, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html new file mode 100644 index 0000000..6bd8d45 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html @@ -0,0 +1,76 @@ +Region.java

Region.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Represents the data transfer object for a region definition
+ *
+ * <p>This record encapsulates the data for calculating if a coordinate is inside the region
+ *
+ * <p>A built-in method {@code isClosedTo} is defined to check this DTO is valid or not in the mean
+ * of closing polygon
+ *
+ * @param name The human-readable name for the region
+ * @param vertices list of coordinates that forms a polygon as a region.
+ *     <p>In order to define a valid region, the last element of the list should be the same as the
+ *     first, or known as closed
+ * @see RegionCheckRequest
+ * @see io.github.js0ny.ilp_coursework.service.GpsCalculationService#checkIsInRegion(LngLat, Region)
+ */
+public record Region(String name, List<LngLat> vertices) {
+    /**
+     * Magic number 4: For a polygon, 3 edges is required.
+     *
+     * <p>In this dto, edges + 1 vertices is required.
+     */
+    private static final int MINIMUM_VERTICES = 4;
+
+    /**
+     * Method to check if the region has a valid polygon by checking if the {@code vertices} forms a
+     * closed polygon
+     *
+     * @return {@code true} if the {@code vertices} are able to form a polygon and form a closed
+     *     polygon
+     */
+    public boolean isClosed() {
+        if (vertices == null || vertices.size() < MINIMUM_VERTICES) {
+            return false;
+        }
+        LngLat first = vertices.getFirst();
+        LngLat last = vertices.getLast();
+        return Objects.equals(last, first);
+    }
+
+    public Map<String, Object> toGeoJson() {
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+
+            List<List<Double>> ring =
+                    vertices.stream().map(v -> List.of(v.lng(), v.lat())).toList();
+
+            return Map.of("type", "Polygon", "coordinates", List.of(ring));
+
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to generate GeoJSON", e);
+        }
+    }
+
+    public String toGeoJsonString() {
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+
+            var geoJson = toGeoJson();
+
+            return mapper.writeValueAsString(geoJson);
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to generate GeoJSON", e);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html new file mode 100644 index 0000000..4ab08a8 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html @@ -0,0 +1 @@ +TimeWindow

TimeWindow

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
TimeWindow(DayOfWeek, LocalTime, LocalTime)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html new file mode 100644 index 0000000..e45992b --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html @@ -0,0 +1,7 @@ +TimeWindow.java

TimeWindow.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.DayOfWeek;
+import java.time.LocalTime;
+
+public record TimeWindow(DayOfWeek dayOfWeek, LocalTime from, LocalTime until) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html new file mode 100644 index 0000000..4dba206 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.common

io.github.js0ny.ilp_coursework.data.common

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total335 of 60644%38 of 6036%34556210292519
DroneEvent2380%200%141443434411
Region513339%1375%4711173501
Angle347869%8642%7145212701
LngLat86288%5964%5102110301
DroneAvailability44191%4450%46160201
DroneCapability24100%n/a01010101
TimeWindow12100%n/a01010101
LngLatAlt12100%n/a01010101
AltitudeRange9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html new file mode 100644 index 0000000..dad0625 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.common

io.github.js0ny.ilp_coursework.data.common

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total335 of 60644%38 of 6036%34556210292519
DroneEvent.java2380%200%141443434411
Region.java513339%1375%4711173501
Angle.java347869%8642%7145212701
LngLat.java86288%5964%5102110301
DroneAvailability.java44191%4450%46160201
DroneCapability.java24100%n/a01010101
LngLatAlt.java12100%n/a01010101
TimeWindow.java12100%n/a01010101
AltitudeRange.java9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html new file mode 100644 index 0000000..c8a20c2 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html @@ -0,0 +1 @@ +Drone

Drone

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 2180%0 of 0n/a021402
parseId()4555%n/a011301
Drone(String, String, DroneCapability)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html new file mode 100644 index 0000000..e91d4d3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html @@ -0,0 +1,16 @@ +Drone.java

Drone.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneCapability;
+
+/** Represents the data transfer object for a drone, gained from the endpoints */
+public record Drone(String name, String id, DroneCapability capability) {
+
+    public int parseId() {
+        try {
+            return Integer.parseInt(id);
+        } catch (NumberFormatException e) {
+            return id.hashCode();
+        }
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html new file mode 100644 index 0000000..450134d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html @@ -0,0 +1 @@ +RestrictedArea

RestrictedArea

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 53100%0 of 2100%030502
toRegion()38100%2100%020401
RestrictedArea(String, int, AltitudeRange, LngLatAlt[])15100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html new file mode 100644 index 0000000..0620dd6 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html @@ -0,0 +1,20 @@ +RestrictedArea.java

RestrictedArea.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.AltitudeRange;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.LngLatAlt;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public record RestrictedArea(String name, int id, AltitudeRange limits, LngLatAlt[] vertices) {
+    public Region toRegion() {
+        List<LngLat> vertices2D = new ArrayList<>();
+        for (var vertex : vertices) {
+            vertices2D.add(new LngLat(vertex.lng(), vertex.lat()));
+        }
+        return new Region(name, vertices2D);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html new file mode 100644 index 0000000..85119f3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html @@ -0,0 +1 @@ +ServicePoint

ServicePoint

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
ServicePoint(String, int, LngLatAlt)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html new file mode 100644 index 0000000..04585da --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html @@ -0,0 +1,6 @@ +ServicePoint.java

ServicePoint.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLatAlt;
+
+public record ServicePoint(String name, int id, LngLatAlt location) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html new file mode 100644 index 0000000..da27104 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html @@ -0,0 +1 @@ +ServicePointDrones

ServicePointDrones

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 3588%2 of 450%241502
locateDroneById(String)42284%2250%231401
ServicePointDrones(int, DroneAvailability[])9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html new file mode 100644 index 0000000..85c43b3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html @@ -0,0 +1,19 @@ +ServicePointDrones.java

ServicePointDrones.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneAvailability;
+
+import org.springframework.lang.Nullable;
+
+public record ServicePointDrones(int servicePointId, DroneAvailability[] drones) {
+
+    @Nullable
+    public DroneAvailability locateDroneById(String droneId) {
+        for (var drone : drones) {
+            if (drone.id().equals(droneId)) {
+                return drone;
+            }
+        }
+        return null;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html new file mode 100644 index 0000000..afe6240 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.external

io.github.js0ny.ilp_coursework.data.external

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 12193%2 of 666%2102150704
ServicePointDrones43188%2250%24150201
Drone41780%n/a02140201
RestrictedArea53100%2100%03050201
ServicePoint12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html new file mode 100644 index 0000000..b1a15a6 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.external

io.github.js0ny.ilp_coursework.data.external

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 12193%2 of 666%2102150704
ServicePointDrones.java43188%2250%24150201
Drone.java41780%n/a02140201
RestrictedArea.java53100%2100%03050201
ServicePoint.java12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html new file mode 100644 index 0000000..e4c0539 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html @@ -0,0 +1 @@ +AttrQueryRequest

AttrQueryRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
AttrQueryRequest(String, String, String)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html new file mode 100644 index 0000000..91373be --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html @@ -0,0 +1,7 @@ +AttrQueryRequest.java

AttrQueryRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+// TODO: Convert operator to Enum
+// import io.github.js0ny.ilp_coursework.util.AttrOperator;
+
+public record AttrQueryRequest(String attribute, String operator, String value) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html new file mode 100644 index 0000000..13f2d9c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html @@ -0,0 +1 @@ +DistanceRequest

DistanceRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DistanceRequest(LngLat, LngLat)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html new file mode 100644 index 0000000..d91a5d2 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html @@ -0,0 +1,15 @@ +DistanceRequest.java

DistanceRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+/**
+ * Represents the data transfer object for a distance operation request.
+ *
+ * <p>This record encapsulates the data for several endpoints that involves two {@code LngLatDto}
+ * and serves as the data contract for those API operation
+ *
+ * @param position1 Nested object of {@link LngLat}
+ * @param position2 Nested object of {@link LngLat}
+ */
+public record DistanceRequest(LngLat position1, LngLat position2) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html new file mode 100644 index 0000000..e107076 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html @@ -0,0 +1 @@ +MedDispatchRecRequest.MedRequirement

MedDispatchRecRequest.MedRequirement

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 15100%0 of 0n/a010101
MedDispatchRecRequest.MedRequirement(float, boolean, boolean, float)15100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html new file mode 100644 index 0000000..a5f0555 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html @@ -0,0 +1 @@ +MedDispatchRecRequest

MedDispatchRecRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 18100%0 of 0n/a010101
MedDispatchRecRequest(int, LocalDate, LocalTime, MedDispatchRecRequest.MedRequirement, LngLat)18100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html new file mode 100644 index 0000000..47d26da --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html @@ -0,0 +1,16 @@ +MedDispatchRecRequest.java

MedDispatchRecRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record MedDispatchRecRequest(
+        int id, LocalDate date, LocalTime time, MedRequirement requirements, LngLat delivery) {
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public record MedRequirement(float capacity, boolean cooling, boolean heating, float maxCost) {}
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html new file mode 100644 index 0000000..2189b6d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html @@ -0,0 +1 @@ +MovementRequest

MovementRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
MovementRequest(LngLat, double)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html new file mode 100644 index 0000000..ba0a54a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html @@ -0,0 +1,17 @@ +MovementRequest.java

MovementRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+/**
+ * Represents the data transfer object for a movement action request.
+ *
+ * <p>This record encapsulates the data for endpoint /api/v1/nextPosition and serves as the data
+ * contract for this API operation
+ *
+ * @param start The starting coordinate of the movement
+ * @param angle The angle to movement in degree. This corresponds to compass directions. For
+ *     example: 0 for East, 90 for North
+ * @see io.github.js0ny.ilp_coursework.controller.ApiController#getNextPosition(MovementRequest)
+ */
+public record MovementRequest(LngLat start, double angle) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html new file mode 100644 index 0000000..f94bf44 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html @@ -0,0 +1 @@ +RegionCheckRequest

RegionCheckRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
RegionCheckRequest(LngLat, Region)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html new file mode 100644 index 0000000..84d6587 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html @@ -0,0 +1,19 @@ +RegionCheckRequest.java

RegionCheckRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+
+/**
+ * Represents the data transfer object for a region check request.
+ *
+ * <p>This record encapsulates the data for endpoint /api/v1/isInRegion and serves as the data
+ * contract for this API operation
+ *
+ * <p>
+ *
+ * @param position The coordinate to be checked
+ * @param region The region for the check. This is a nested object represented by {@link Region}
+ * @see io.github.js0ny.ilp_coursework.controller.ApiController#getIsInRegion(RegionCheckRequest)
+ */
+public record RegionCheckRequest(LngLat position, Region region) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html new file mode 100644 index 0000000..01aab12 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.request

io.github.js0ny.ilp_coursework.data.request

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 72100%0 of 0n/a06060606
MedDispatchRecRequest18100%n/a01010101
MedDispatchRecRequest.MedRequirement15100%n/a01010101
AttrQueryRequest12100%n/a01010101
DistanceRequest9100%n/a01010101
MovementRequest9100%n/a01010101
RegionCheckRequest9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html new file mode 100644 index 0000000..37fecfc --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.request

io.github.js0ny.ilp_coursework.data.request

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 72100%0 of 0n/a06060606
MedDispatchRecRequest.java33100%n/a02020202
AttrQueryRequest.java12100%n/a01010101
RegionCheckRequest.java9100%n/a01010101
MovementRequest.java9100%n/a01010101
DistanceRequest.java9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html new file mode 100644 index 0000000..22d6eef --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html @@ -0,0 +1 @@ +DeliveryPathResponse.DronePath.Delivery

DeliveryPathResponse.DronePath.Delivery

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DeliveryPathResponse.DronePath.Delivery(int, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html new file mode 100644 index 0000000..9896b43 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html @@ -0,0 +1 @@ +DeliveryPathResponse.DronePath

DeliveryPathResponse.DronePath

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DeliveryPathResponse.DronePath(int, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html new file mode 100644 index 0000000..225bab9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html @@ -0,0 +1 @@ +DeliveryPathResponse

DeliveryPathResponse

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
DeliveryPathResponse(float, int, DeliveryPathResponse.DronePath[])12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html new file mode 100644 index 0000000..909f21c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html @@ -0,0 +1,12 @@ +DeliveryPathResponse.java

DeliveryPathResponse.java

package io.github.js0ny.ilp_coursework.data.response;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+import java.util.List;
+
+public record DeliveryPathResponse(float totalCost, int totalMoves, DronePath[] dronePaths) {
+    public record DronePath(int droneId, List<Delivery> deliveries) {
+        public record Delivery(int deliveryId, List<LngLat> flightPath) {}
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html new file mode 100644 index 0000000..9042fa1 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.response

io.github.js0ny.ilp_coursework.data.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 30100%0 of 0n/a03030303
DeliveryPathResponse12100%n/a01010101
DeliveryPathResponse.DronePath9100%n/a01010101
DeliveryPathResponse.DronePath.Delivery9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html new file mode 100644 index 0000000..516aad9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.response

io.github.js0ny.ilp_coursework.data.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 30100%0 of 0n/a03030303
DeliveryPathResponse.java30100%n/a03030303
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html new file mode 100644 index 0000000..1ae45e4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html @@ -0,0 +1 @@ +GlobalExceptionHandler

GlobalExceptionHandler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 51100%0 of 0n/a0601406
handleIllegalArgument(IllegalArgumentException)14100%n/a010401
GlobalExceptionHandler()10100%n/a010301
handleHttpMessageNotReadable(HttpMessageNotReadableException)8100%n/a010201
handleGeneralException(Exception)8100%n/a010201
handleNullPointerException(Exception)7100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html new file mode 100644 index 0000000..a3b0e93 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html @@ -0,0 +1,53 @@ +GlobalExceptionHandler.java

GlobalExceptionHandler.java

package io.github.js0ny.ilp_coursework.exception;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.converter.HttpMessageNotReadableException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.util.Map;
+import java.util.Optional;
+
+/** Class that handles exception or failed request. Map all error requests to 400. */
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+    /// Use a logger to save logs instead of passing them to user
+    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+    private final Map<String, String> badRequestMap =
+            Map.of("status", "400", "error", "Bad Request");
+
+    @ExceptionHandler(HttpMessageNotReadableException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleHttpMessageNotReadable(HttpMessageNotReadableException ex) {
+        log.warn("Malformed JSON received: {}", ex.getMessage());
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(IllegalArgumentException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleIllegalArgument(IllegalArgumentException ex) {
+        String errorMessage =
+                Optional.ofNullable(ex.getMessage()).orElse("Invalid argument provided.");
+        log.warn("Illegal argument in request: {}", errorMessage);
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(NullPointerException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleNullPointerException(Exception ex) {
+        log.error("NullPointerException occurred. Return 400 by default.", ex);
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(Exception.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleGeneralException(Exception ex) {
+        log.error("Fallback exception received: {}", ex.getMessage());
+        return badRequestMap;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html new file mode 100644 index 0000000..b00d425 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.exception

io.github.js0ny.ilp_coursework.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 51100%0 of 0n/a060140601
GlobalExceptionHandler51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html new file mode 100644 index 0000000..f61e5e3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.exception

io.github.js0ny.ilp_coursework.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 51100%0 of 0n/a060140601
GlobalExceptionHandler.java51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html new file mode 100644 index 0000000..b536de8 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html @@ -0,0 +1 @@ +DroneAttrComparatorService

DroneAttrComparatorService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total19 of 15187%7 of 1656%51353805
DroneAttrComparatorService()132060%5116%3431001
dronesWithAttributeCompared(String, String, AttrOperator)43389%1150%121901
lambda$dronesWithAttributeCompared$0(ObjectMapper, String, String, AttrOperator, Drone)21588%1150%121501
dronesSatisfyingAttributes(AttrQueryRequest[])58100%6100%0401301
dronesWithAttribute(String, String)6100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html new file mode 100644 index 0000000..f877a38 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html @@ -0,0 +1,130 @@ +DroneAttrComparatorService.java

DroneAttrComparatorService.java

package io.github.js0ny.ilp_coursework.service;
+
+import static io.github.js0ny.ilp_coursework.util.AttrComparator.isValueMatched;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest;
+import io.github.js0ny.ilp_coursework.util.AttrOperator;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@Service
+public class DroneAttrComparatorService {
+
+    private final String baseUrl;
+    private final String dronesEndpoint = "drones";
+    private final RestTemplate restTemplate = new RestTemplate();
+
+    /** Constructor, handles the base url here. */
+    public DroneAttrComparatorService() {
+        String baseUrl = System.getenv("ILP_ENDPOINT");
+        if (baseUrl == null || baseUrl.isBlank()) {
+            this.baseUrl = "https://ilp-rest-2025-bvh6e9hschfagrgy.ukwest-01.azurewebsites.net/";
+        } else {
+            // Defensive: Add '/' to the end of the URL
+            if (!baseUrl.endsWith("/")) {
+                baseUrl += "/";
+            }
+            this.baseUrl = baseUrl;
+        }
+    }
+
+    /**
+     * Return an array of ids of drones with a given attribute name and value.
+     *
+     * <p>Associated service method with {@code /queryAsPath/{attrName}/{attrVal}}
+     *
+     * @param attrName the attribute name to filter on
+     * @param attrVal the attribute value to filter on
+     * @return array of drone ids matching the attribute name and value
+     * @see #dronesWithAttributeCompared(String, String, AttrOperator)
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#getIdByAttrMap
+     */
+    public List<String> dronesWithAttribute(String attrName, String attrVal) {
+        // Call the helper with EQ operator
+        return dronesWithAttributeCompared(attrName, attrVal, AttrOperator.EQ);
+    }
+
+    /**
+     * Return an array of ids of drones which matches all given complex comparing rules
+     *
+     * @param attrComparators The filter rule with Name, Value and Operator
+     * @return array of drone ids that matches all rules
+     */
+    public List<String> dronesSatisfyingAttributes(AttrQueryRequest[] attrComparators) {
+        Set<String> matchingDroneIds = null;
+        for (var comparator : attrComparators) {
+            String attribute = comparator.attribute();
+            String operator = comparator.operator();
+            String value = comparator.value();
+            AttrOperator op = AttrOperator.fromString(operator);
+            List<String> ids = dronesWithAttributeCompared(attribute, value, op);
+            if (matchingDroneIds == null) {
+                matchingDroneIds = new HashSet<>(ids);
+            } else {
+                matchingDroneIds.retainAll(ids);
+            }
+        }
+        if (matchingDroneIds == null) {
+            return new ArrayList<>();
+        }
+        return matchingDroneIds.stream().toList();
+    }
+
+    /**
+     * Helper that wraps the dynamic querying with different comparison operators
+     *
+     * <p>This method act as a concatenation of {@link
+     * io.github.js0ny.ilp_coursework.util.AttrComparator#isValueMatched(JsonNode, String,
+     * AttrOperator)}
+     *
+     * @param attrName the attribute name to filter on
+     * @param attrVal the attribute value to filter on
+     * @param op the comparison operator
+     * @return array of drone ids matching the attribute name and value (filtered by {@code op})
+     * @see io.github.js0ny.ilp_coursework.util.AttrComparator#isValueMatched(JsonNode, String,
+     *     AttrOperator)
+     */
+    private List<String> dronesWithAttributeCompared(
+            String attrName, String attrVal, AttrOperator op) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        // This is required to make sure the response is valid
+        Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+
+        if (drones == null) {
+            return new ArrayList<>();
+        }
+
+        // Use Jackson's ObjectMapper to convert DroneDto to JsonNode for dynamic
+        // querying
+        ObjectMapper mapper = new ObjectMapper();
+
+        return Arrays.stream(drones)
+                .filter(
+                        drone -> {
+                            JsonNode node = mapper.valueToTree(drone);
+                            JsonNode attrNode = node.findValue(attrName);
+                            if (attrNode != null) {
+                                // Manually handle different types of JsonNode
+                                return isValueMatched(attrNode, attrVal, op);
+                            } else {
+                                return false;
+                            }
+                        })
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html new file mode 100644 index 0000000..462797c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html @@ -0,0 +1 @@ +DroneInfoService

DroneInfoService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total142 of 48570%37 of 7450%305622104219
queryServicePointLocationByDroneId(String)490%60%449911
queryServicePointLocation(int)480%60%448811
DroneInfoService(RestTemplate)131858%5116%3431001
checkAvailability(String, MedDispatchRecRequest)85086%3350%3411201
droneMatchesRequirement(Drone, MedDispatchRecRequest)66691%91359%81201401
fetchRestrictedAreas()41982%1150%120501
fetchServicePoints()41982%1150%120501
fetchDronesForServicePoints()41982%1150%120501
dronesWithCooling(boolean)41680%1150%121701
lambda$dronesMatchesRequirements$2(MedDispatchRecRequest)1888%2250%230101
lambda$dronesMatchesRequirements$1(Drone)1888%2250%230101
dronesMatchesRequirements(MedDispatchRecRequest[])32100%4100%0301101
fetchAllDrones()32100%2100%020601
droneDetail(String)26100%4100%030601
lambda$dronesMatchesRequirements$4(MedDispatchRecRequest[], Drone)9100%n/a010301
lambda$dronesWithCooling$0(boolean, Drone)9100%2100%020101
DroneInfoService()6100%n/a010201
lambda$dronesMatchesRequirements$3(Drone, MedDispatchRecRequest)5100%n/a010101
static {...}1100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html new file mode 100644 index 0000000..38df0f0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html @@ -0,0 +1,271 @@ +DroneInfoService.java

DroneInfoService.java

package io.github.js0ny.ilp_coursework.service;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.data.external.ServicePointDrones;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.net.URI;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class DroneInfoService {
+
+    private final String baseUrl;
+    private final String dronesForServicePointsEndpoint = "drones-for-service-points";
+    public static final String servicePointsEndpoint = "service-points";
+    public static final String restrictedAreasEndpoint = "restricted-areas";
+
+    private final RestTemplate restTemplate;
+
+    /** Constructor, handles the base url here. */
+    public DroneInfoService() {
+        this(new RestTemplate());
+    }
+
+    public DroneInfoService(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+        String baseUrl = System.getenv("ILP_ENDPOINT");
+        if (baseUrl == null || baseUrl.isBlank()) {
+            this.baseUrl = "https://ilp-rest-2025-bvh6e9hschfagrgy.ukwest-01.azurewebsites.net/";
+        } else {
+            // Defensive: Add '/' to the end of the URL
+            if (!baseUrl.endsWith("/")) {
+                baseUrl += "/";
+            }
+            this.baseUrl = baseUrl;
+        }
+    }
+
+    /**
+     * Return an array of ids of drones with/without cooling capability
+     *
+     * <p>Associated service method with {@code /dronesWithCooling/{state}}
+     *
+     * @param state determines the capability filtering
+     * @return if {@code state} is true, return ids of drones with cooling capability, else without
+     *     cooling
+     * @see
+     *     io.github.js0ny.ilp_coursework.controller.DroneController#getDronesWithCoolingCapability(boolean)
+     */
+    public List<String> dronesWithCooling(boolean state) {
+        // URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        // Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+        List<Drone> drones = fetchAllDrones();
+
+        if (drones == null) {
+            return new ArrayList<>();
+        }
+
+        return drones.stream()
+                .filter(drone -> drone.capability().cooling() == state)
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * Return a {@link Drone}-style json data structure with the given {@code id}
+     *
+     * <p>Associated service method with {@code /droneDetails/{id}}
+     *
+     * @param id The id of the drone
+     * @return drone json body of given id
+     * @throws NullPointerException when cannot fetch available drones from remote
+     * @throws IllegalArgumentException when drone with given {@code id} cannot be found this should
+     *     lead to a 404
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#getDroneDetail(String)
+     */
+    public Drone droneDetail(String id) {
+        List<Drone> drones = fetchAllDrones();
+
+        for (var drone : drones) {
+            if (drone.id().equals(id)) {
+                return drone;
+            }
+        }
+
+        // This will result in 404
+        throw new IllegalArgumentException("drone with that ID cannot be found");
+    }
+
+    /**
+     * Return an array of ids of drones that match all the requirements in the medical dispatch
+     * records
+     *
+     * <p>Associated service method with
+     *
+     * @param rec array of medical dispatch records
+     * @return List of drone ids that match all the requirements
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#queryAvailableDrones
+     */
+    public List<String> dronesMatchesRequirements(MedDispatchRecRequest[] rec) {
+        List<Drone> drones = fetchAllDrones();
+
+        if (rec == null || rec.length == 0) {
+            return drones.stream()
+                    .filter(Objects::nonNull)
+                    .map(Drone::id)
+                    .collect(Collectors.toList());
+        }
+
+        /*
+         * Traverse and filter drones, pass every record's requirement to helper
+         */
+        return drones.stream()
+                .filter(d -> d != null && d.capability() != null)
+                .filter(
+                        d ->
+                                Arrays.stream(rec)
+                                        .filter(r -> r != null && r.requirements() != null)
+                                        .allMatch(r -> droneMatchesRequirement(d, r)))
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * Helper to check if a drone meets the requirement of a medical dispatch.
+     *
+     * @param drone the drone to be checked
+     * @param record the medical dispatch record containing the requirement
+     * @return true if the drone meets the requirement, false otherwise
+     * @throws IllegalArgumentException when record requirements or drone capability is invalid
+     *     (capacity and id cannot be null in {@code MedDispathRecDto})
+     */
+    public boolean droneMatchesRequirement(Drone drone, MedDispatchRecRequest record) {
+        var requirements = record.requirements();
+        if (requirements == null) {
+            throw new IllegalArgumentException("requirements cannot be null");
+        }
+        var capability = drone.capability();
+        if (capability == null) {
+            throw new IllegalArgumentException("drone capability cannot be null");
+        }
+
+        float requiredCapacity = requirements.capacity();
+        if (requiredCapacity <= 0 || capability.capacity() < requiredCapacity) {
+            return false;
+        }
+
+        // Use boolean wrapper to allow null (not specified) values
+        boolean requiredCooling = requirements.cooling();
+        boolean requiredHeating = requirements.heating();
+
+        // Case 1: required is null: We don't care about it
+        // Case 2: required is false: We don't care about it (high capability adapts to
+        // low requirements)
+        // Case 3: capability is true: Then always matches
+        // See: https://piazza.com/class/me9vp64lfgf4sn/post/100
+        boolean matchesCooling = !requiredCooling || capability.cooling();
+        boolean matchesHeating = !requiredHeating || capability.heating();
+
+        // Conditions: All requirements matched + availability matched, use helper
+        // For minimal privilege, only pass drone id to check availability
+        return (matchesCooling && matchesHeating && checkAvailability(drone.id(), record)); // &&
+        // checkCost(drone, record) // checkCost is more expensive than
+        // checkAvailability
+    }
+
+    /**
+     * Helper to check if a drone is available at the required date and time
+     *
+     * @param droneId the id of the drone to be checked
+     * @param record the medical dispatch record containing the required date and time
+     * @return true if the drone is available, false otherwise
+     */
+    private boolean checkAvailability(String droneId, MedDispatchRecRequest record) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePoints =
+                restTemplate.getForObject(droneUrl, ServicePointDrones[].class);
+
+        LocalDate requiredDate = record.date();
+        DayOfWeek requiredDay = requiredDate.getDayOfWeek();
+        LocalTime requiredTime = record.time();
+
+        assert servicePoints != null;
+        for (var servicePoint : servicePoints) {
+            var drone = servicePoint.locateDroneById(droneId); // Nullable
+            if (drone != null) {
+                return drone.checkAvailability(requiredDay, requiredTime);
+            }
+        }
+
+        return false;
+    }
+
+    private LngLat queryServicePointLocationByDroneId(String droneId) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePoints =
+                restTemplate.getForObject(droneUrl, ServicePointDrones[].class);
+
+        assert servicePoints != null;
+        for (var sp : servicePoints) {
+            var drone = sp.locateDroneById(droneId); // Nullable
+            if (drone != null) {
+                return queryServicePointLocation(sp.servicePointId());
+            }
+        }
+
+        return null;
+    }
+
+    @Nullable
+    private LngLat queryServicePointLocation(int id) {
+        URI servicePointUrl = URI.create(baseUrl).resolve(servicePointsEndpoint);
+
+        ServicePoint[] servicePoints =
+                restTemplate.getForObject(servicePointUrl, ServicePoint[].class);
+
+        assert servicePoints != null;
+        for (var sp : servicePoints) {
+            if (sp.id() == id) {
+                // We dont consider altitude
+                return new LngLat(sp.location());
+            }
+        }
+        return null;
+    }
+
+    public List<Drone> fetchAllDrones() {
+        System.out.println("fetchAllDrones called");
+        String dronesEndpoint = "drones";
+        URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        System.out.println("Fetching from URL: " + droneUrl);
+        Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+        return drones == null ? new ArrayList<>() : Arrays.asList(drones);
+    }
+
+    public List<RestrictedArea> fetchRestrictedAreas() {
+        URI restrictedUrl = URI.create(baseUrl).resolve(restrictedAreasEndpoint);
+        RestrictedArea[] restrictedAreas =
+                restTemplate.getForObject(restrictedUrl, RestrictedArea[].class);
+        assert restrictedAreas != null;
+        return Arrays.asList(restrictedAreas);
+    }
+
+    public List<ServicePoint> fetchServicePoints() {
+        URI servicePointUrl = URI.create(baseUrl).resolve(servicePointsEndpoint);
+        ServicePoint[] servicePoints =
+                restTemplate.getForObject(servicePointUrl, ServicePoint[].class);
+        assert servicePoints != null;
+        return Arrays.asList(servicePoints);
+    }
+
+    public List<ServicePointDrones> fetchDronesForServicePoints() {
+        URI servicePointDronesUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePointDrones =
+                restTemplate.getForObject(servicePointDronesUrl, ServicePointDrones[].class);
+        assert servicePointDrones != null;
+        return Arrays.asList(servicePointDrones);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html new file mode 100644 index 0000000..8156724 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html @@ -0,0 +1 @@ +GpsCalculationService

GpsCalculationService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total10 of 27096%2 of 3494%32534518
calculateSteps(LngLat, LngLat)90%n/a112211
rayCasting(LngLat, List)110199%11593%1912001
isPointOnEdge(LngLat, LngLat, LngLat)83100%11392%1801001
nextPosition(LngLat, Angle)25100%n/a010401
calculateDistance(LngLat, LngLat)21100%n/a010301
checkIsInRegion(LngLat, Region)14100%2100%020301
isCloseTo(LngLat, LngLat)13100%2100%020201
GpsCalculationService()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html new file mode 100644 index 0000000..3c47c3f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html @@ -0,0 +1,190 @@ +GpsCalculationService.java

GpsCalculationService.java

package io.github.js0ny.ilp_coursework.service;
+
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.request.DistanceRequest;
+import io.github.js0ny.ilp_coursework.data.request.MovementRequest;
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Class that handles calculations about Coordinates
+ *
+ * @see LngLat
+ * @see Region
+ */
+@Service
+public class GpsCalculationService {
+
+    /**
+     * Given step size
+     *
+     * @see #nextPosition(LngLat, double)
+     */
+    private static final double STEP = 0.00015;
+
+    /**
+     * Given threshold to judge if two points are close to each other
+     *
+     * @see #isCloseTo(LngLat, LngLat)
+     */
+    private static final double CLOSE_THRESHOLD = 0.00015;
+
+    /**
+     * Calculate the Euclidean distance between {@code position1} and {@code position2}, which are
+     * coordinates defined as {@link LngLat}
+     *
+     * @param position1 The coordinate of the first position
+     * @param position2 The coordinate of the second position
+     * @return The Euclidean distance between {@code position1} and {@code position2}
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getDistance(DistanceRequest)
+     */
+    public double calculateDistance(LngLat position1, LngLat position2) {
+        double lngDistance = position2.lng() - position1.lng();
+        double latDistance = position2.lat() - position1.lat();
+        // Euclidean: \sqrt{a^2 + b^2}
+        return Math.sqrt(lngDistance * lngDistance + latDistance * latDistance);
+    }
+
+    public double calculateSteps(LngLat position1, LngLat position2) {
+        double distance = calculateDistance(position1, position2);
+        return distance / STEP;
+    }
+
+    /**
+     * Check if {@code position1} and {@code position2} are close to each other, the threshold is <
+     * 0.00015
+     *
+     * <p>Note that = 0.00015 will be counted as not close to and will return {@code false}
+     *
+     * @param position1 The coordinate of the first position
+     * @param position2 The coordinate of the second position
+     * @return {@code true} if {@code position1} and {@code position2} are close to each other
+     * @see #CLOSE_THRESHOLD
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getIsCloseTo(DistanceRequest)
+     */
+    public boolean isCloseTo(LngLat position1, LngLat position2) {
+        double distance = calculateDistance(position1, position2);
+        return distance < CLOSE_THRESHOLD;
+    }
+
+    /**
+     * Returns the next position moved from {@code start} in the direction with {@code angle}, with
+     * step size 0.00015
+     *
+     * @param start The coordinate of the original start point.
+     * @param angle The direction to be moved in angle.
+     * @return The next position moved from {@code start}
+     * @see #STEP
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getNextPosition(MovementRequest)
+     */
+    public LngLat nextPosition(LngLat start, Angle angle) {
+        double rad = angle.toRadians();
+        double newLng = Math.cos(rad) * STEP + start.lng();
+        double newLat = Math.sin(rad) * STEP + start.lat();
+        return new LngLat(newLng, newLat);
+    }
+
+    /**
+     * Used to check if the given {@code position} is inside the {@code region}, on edge and vertex
+     * is considered as inside.
+     *
+     * @param position The coordinate of the position.
+     * @param region A {@link Region} that contains name and a list of {@code LngLatDto}
+     * @return {@code true} if {@code position} is inside the {@code region}.
+     * @throws IllegalArgumentException If {@code region} is not closed
+     * @see
+     *     io.github.js0ny.ilp_coursework.controller.ApiController#getIsInRegion(RegionCheckRequest)
+     * @see Region#isClosed()
+     */
+    public boolean checkIsInRegion(LngLat position, Region region) throws IllegalArgumentException {
+        if (!region.isClosed()) {
+            // call method from RegionDto to check if not closed
+            throw new IllegalArgumentException("Region is not closed.");
+        }
+        return rayCasting(position, region.vertices());
+    }
+
+    /**
+     * Helper function to {@code checkIsInRegion}, use of ray-casting algorithm to check if inside
+     * the polygon
+     *
+     * @param point The point to check
+     * @param polygon The region that forms a polygon to check if {@code point} sits inside.
+     * @return If the {@code point} sits inside the {@code polygon} then return {@code true}
+     * @see #isPointOnEdge(LngLat, LngLat, LngLat)
+     * @see #checkIsInRegion(LngLat, Region)
+     */
+    private boolean rayCasting(LngLat point, List<LngLat> polygon) {
+        int intersections = 0;
+        int n = polygon.size();
+        for (int i = 0; i < n; ++i) {
+            LngLat a = polygon.get(i);
+            LngLat b = polygon.get((i + 1) % n); // Next vertex
+
+            if (isPointOnEdge(point, a, b)) {
+                return true;
+            }
+
+            // Ensure that `a` is norther than `b`, in order to easy classification
+            if (a.lat() > b.lat()) {
+                LngLat temp = a;
+                a = b;
+                b = temp;
+            }
+
+            // The point is not between a and b in latitude mean, skip this loop
+            if (point.lat() < a.lat() || point.lat() >= b.lat()) {
+                continue;
+            }
+
+            // Skip the case of horizontal edge, already handled in `isPointOnEdge`:w
+            if (a.lat() == b.lat()) {
+                continue;
+            }
+
+            double xIntersection =
+                    a.lng() + ((point.lat() - a.lat()) * (b.lng() - a.lng())) / (b.lat() - a.lat());
+
+            if (xIntersection > point.lng()) {
+                ++intersections;
+            }
+        }
+        // If intersections are odd, ray-casting returns true, which the point sits
+        // inside the polygon;
+        // If intersections are even, the point does not sit inside the polygon.
+        return intersections % 2 == 1;
+    }
+
+    /**
+     * Helper function from {@code rayCasting} that used to simply calculation <br>
+     * Used to check if point {@code p} is on the edge formed by {@code a} and {@code b}
+     *
+     * @param p point to be checked on the edge
+     * @param a point that forms the edge
+     * @param b point that forms the edge
+     * @return {@code true} if {@code p} is on {@code ab}
+     * @see #rayCasting(LngLat, List)
+     */
+    private boolean isPointOnEdge(LngLat p, LngLat a, LngLat b) {
+        // Cross product: (p - a) × (b - a)
+        double crossProduct =
+                (p.lng() - a.lng()) * (b.lat() - a.lat())
+                        - (p.lat() - a.lat()) * (b.lng() - a.lng());
+        if (Math.abs(crossProduct) > 1e-9) {
+            return false;
+        }
+
+        boolean isWithinLng =
+                p.lng() >= Math.min(a.lng(), b.lng()) && p.lng() <= Math.max(a.lng(), b.lng());
+        boolean isWithinLat =
+                p.lat() >= Math.min(a.lat(), b.lat()) && p.lat() <= Math.max(a.lat(), b.lat());
+
+        return isWithinLng && isWithinLat;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html new file mode 100644 index 0000000..e32e797 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html @@ -0,0 +1 @@ +PathFinderService.PathSegment

PathFinderService.PathSegment

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 27100%0 of 2100%030402
appendSkippingStart(List)18100%2100%020301
PathFinderService.PathSegment(List, int)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html new file mode 100644 index 0000000..22f68f0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html @@ -0,0 +1 @@ +PathFinderService.TripResult

PathFinderService.TripResult

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
PathFinderService.TripResult(DeliveryPathResponse.DronePath, int, float)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html new file mode 100644 index 0000000..c8644ef --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html @@ -0,0 +1 @@ +PathFinderService

PathFinderService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total138 of 1,05486%47 of 12060%467643237116
splitTrips(List, Drone, LngLat)395558%5550%46102201
calculateDeliveryPath(MedDispatchRecRequest[])2316687%101661%101474301
buildTrip(Drone, LngLat, List)1912686%5758%5753201
isRestricted(LngLat)13940%3125%233501
computePath(LngLat, LngLat)116385%5758%5731701
findBestDrone(MedDispatchRecRequest)106085%5758%5742201
calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])815094%51168%5933001
lambda$calculateDeliveryPath$2(LngLat, MedDispatchRecRequest)70%n/a112211
nextPosition(LngLat, LngLat)33992%2250%2321001
PathFinderService(GpsCalculationService, DroneInfoService)212298%4866%4722801
estimateTripMoves(LngLat, List)24295%1375%1311101
assignDeliveries(MedDispatchRecRequest[])3997%2466%241701
buildAngleCandidates(double)33100%2100%020701
lambda$new$1(ServicePoint)6100%n/a010101
lambda$assignDeliveries$3(String)4100%n/a010101
lambda$new$0(Drone)2100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html new file mode 100644 index 0000000..f8c2f97 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html @@ -0,0 +1,550 @@ +PathFinderService.java

PathFinderService.java

package io.github.js0ny.ilp_coursework.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+
+import io.github.js0ny.ilp_coursework.controller.DroneController;
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.DroneAvailability;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.data.external.ServicePointDrones;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath.Delivery;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * Class that handles calculations about deliverypath
+ *
+ * @see DroneInfoService
+ * @see DroneController
+ * @see DeliveryPathResponse
+ */
+@Service
+public class PathFinderService {
+
+    /**
+     * Hard stop on how many pathfinding iterations we attempt for a single segment before bailing,
+     * useful for preventing infinite loops caused by precision quirks or unexpected map data.
+     *
+     * @see #computePath(LngLat, LngLat)
+     */
+    private static final int MAX_SEGMENT_ITERATIONS = 8_000;
+
+    // Services
+    private final GpsCalculationService gpsCalculationService;
+    private final DroneInfoService droneInfoService;
+    private final ObjectMapper objectMapper;
+    private final List<Drone> drones;
+    private final Map<String, Drone> droneById;
+    private final Map<String, Integer> droneServicePointMap;
+    private final Map<Integer, LngLat> servicePointLocations;
+    private final List<Region> restrictedRegions;
+
+    @Autowired(required = false)
+    private TelemetryService telemetryService;
+
+    /**
+     * Constructor for PathFinderService. The dependencies are injected by Spring and the
+     * constructor pre-computes reference maps used throughout the request lifecycle.
+     *
+     * @param gpsCalculationService Service handling geometric operations.
+     * @param droneInfoService Service that exposes drone metadata and capability information.
+     */
+    public PathFinderService(
+            GpsCalculationService gpsCalculationService, DroneInfoService droneInfoService) {
+        this.gpsCalculationService = gpsCalculationService;
+        this.droneInfoService = droneInfoService;
+        this.objectMapper = new ObjectMapper();
+        objectMapper.registerModule(new JavaTimeModule());
+        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+        objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+
+        this.drones = droneInfoService.fetchAllDrones();
+        List<ServicePoint> servicePoints = droneInfoService.fetchServicePoints();
+        List<ServicePointDrones> servicePointAssignments =
+                droneInfoService.fetchDronesForServicePoints();
+        List<RestrictedArea> restrictedAreas = droneInfoService.fetchRestrictedAreas();
+
+        this.droneById = this.drones.stream().collect(Collectors.toMap(Drone::id, drone -> drone));
+
+        this.droneServicePointMap = new HashMap<>();
+        for (ServicePointDrones assignment : servicePointAssignments) {
+            if (assignment == null || assignment.drones() == null) {
+                continue;
+            }
+            for (DroneAvailability availability : assignment.drones()) {
+                if (availability == null || availability.id() == null) {
+                    continue;
+                }
+                droneServicePointMap.put(availability.id(), assignment.servicePointId());
+            }
+        }
+
+        this.servicePointLocations =
+                servicePoints.stream()
+                        .collect(
+                                Collectors.toMap(
+                                        ServicePoint::id, sp -> new LngLat(sp.location())));
+
+        this.restrictedRegions = restrictedAreas.stream().map(RestrictedArea::toRegion).toList();
+    }
+
+    /**
+     * Produce a delivery plan for the provided dispatch records. Deliveries are grouped per
+     * compatible drone and per trip to satisfy each drone move limit.
+     *
+     * @param records Dispatch records to be fulfilled.
+     * @return Aggregated path response with cost and move totals.
+     * @see #calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])
+     */
+    public DeliveryPathResponse calculateDeliveryPath(MedDispatchRecRequest[] records) {
+        if (records == null || records.length == 0) {
+            return new DeliveryPathResponse(0f, 0, new DronePath[0]);
+        }
+
+        Map<Integer, LocalDateTime> deliveryTimestamps = new HashMap<>();
+        for (var r : records) {
+            if (isRestricted(r.delivery())) {
+                throw new IllegalStateException(
+                        "Delivery "
+                                + r.id()
+                                + " is located within a restricted area and cannot be fulfilled");
+            }
+            if (r.date() != null && r.time() != null) {
+                deliveryTimestamps.put(r.id(), LocalDateTime.of(r.date(), r.time()));
+            }
+        }
+
+        Map<String, List<MedDispatchRecRequest>> assigned = assignDeliveries(records);
+
+        List<DronePath> paths = new ArrayList<>();
+        float totalCost = 0f;
+        int totalMoves = 0;
+
+        for (Map.Entry<String, List<MedDispatchRecRequest>> entry : assigned.entrySet()) {
+            String droneId = entry.getKey();
+            Drone drone = droneById.get(droneId);
+            if (drone == null) {
+                continue;
+            }
+            Integer spId = droneServicePointMap.get(droneId);
+            if (spId == null) {
+                continue;
+            }
+            LngLat servicePointLocation = servicePointLocations.get(spId);
+            if (servicePointLocation == null) {
+                continue;
+            }
+
+            List<MedDispatchRecRequest> sortedDeliveries =
+                    entry.getValue().stream()
+                            .sorted(
+                                    Comparator.comparingDouble(
+                                            rec ->
+                                                    gpsCalculationService.calculateDistance(
+                                                            servicePointLocation, rec.delivery())))
+                            .toList();
+
+            List<List<MedDispatchRecRequest>> trips =
+                    splitTrips(sortedDeliveries, drone, servicePointLocation);
+
+            for (List<MedDispatchRecRequest> trip : trips) {
+                TripResult result = buildTrip(drone, servicePointLocation, trip);
+                if (result != null) {
+                    totalCost += result.cost();
+                    totalMoves += result.moves();
+                    paths.add(result.path());
+                }
+            }
+        }
+
+        var resp = new DeliveryPathResponse(totalCost, totalMoves, paths.toArray(new DronePath[0]));
+
+        if (telemetryService != null) {
+            telemetryService.sendEventAsyncByPathResponse(resp, deliveryTimestamps);
+        }
+
+        return resp;
+    }
+
+    /*
+     * Convenience wrapper around {@link #calculateDeliveryPath} that serializes the
+     * result into a
+     * GeoJSON FeatureCollection suitable for mapping visualization.
+     *
+     * @param records Dispatch records to be fulfilled.
+     *
+     * @return GeoJSON payload representing every delivery flight path.
+     *
+     * @throws IllegalStateException When the payload cannot be serialized.
+     */
+    public String calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[] records) {
+        DeliveryPathResponse response = calculateDeliveryPath(records);
+        Map<String, Object> featureCollection = new LinkedHashMap<>();
+        featureCollection.put("type", "FeatureCollection");
+        List<Map<String, Object>> features = new ArrayList<>();
+
+        if (response != null && response.dronePaths() != null) {
+            for (DronePath dronePath : response.dronePaths()) {
+                if (dronePath == null || dronePath.deliveries() == null) {
+                    continue;
+                }
+                for (Delivery delivery : dronePath.deliveries()) {
+                    Map<String, Object> feature = new LinkedHashMap<>();
+                    feature.put("type", "Feature");
+
+                    Map<String, Object> properties = new LinkedHashMap<>();
+                    properties.put("droneId", dronePath.droneId());
+                    properties.put("deliveryId", delivery.deliveryId());
+                    feature.put("properties", properties);
+
+                    Map<String, Object> geometry = new LinkedHashMap<>();
+                    geometry.put("type", "LineString");
+
+                    List<List<Double>> coordinates = new ArrayList<>();
+                    if (delivery.flightPath() != null) {
+                        for (LngLat point : delivery.flightPath()) {
+                            coordinates.add(List.of(point.lng(), point.lat()));
+                        }
+                    }
+                    geometry.put("coordinates", coordinates);
+                    feature.put("geometry", geometry);
+                    features.add(feature);
+                }
+            }
+        }
+
+        featureCollection.put("features", features);
+
+        try {
+            return objectMapper.writeValueAsString(featureCollection);
+        } catch (JsonProcessingException e) {
+            throw new IllegalStateException("Failed to generate GeoJSON payload", e);
+        }
+    }
+
+    /**
+     * Group dispatch records by their assigned drone, ensuring every record is routed through
+     * {@link #findBestDrone(MedDispatchRecRequest)} exactly once and discarding invalid entries.
+     *
+     * @param records Dispatch records to be grouped.
+     * @return Map keyed by drone ID with the deliveries it should service.
+     */
+    private Map<String, List<MedDispatchRecRequest>> assignDeliveries(
+            MedDispatchRecRequest[] records) {
+        Map<String, List<MedDispatchRecRequest>> assignments = new LinkedHashMap<>();
+        for (MedDispatchRecRequest record : records) {
+            if (record == null || record.delivery() == null) {
+                continue;
+            }
+            String droneId = findBestDrone(record);
+            assignments.computeIfAbsent(droneId, id -> new ArrayList<>()).add(record);
+        }
+        return assignments;
+    }
+
+    /**
+     * Choose the best drone for the provided record. Currently that equates to picking the closest
+     * compatible drone to the delivery location.
+     *
+     * @param record Dispatch record that needs fulfillment.
+     * @return Identifier of the drone that should fly the mission.
+     * @throws IllegalStateException If no available drone can serve the request.
+     */
+    private String findBestDrone(MedDispatchRecRequest record) {
+        double bestScore = Double.MAX_VALUE;
+        String bestDrone = null;
+
+        for (Drone drone : drones) {
+            if (!droneInfoService.droneMatchesRequirement(drone, record)) {
+                continue;
+            }
+            String droneId = drone.id();
+            Integer servicePointId = droneServicePointMap.get(droneId);
+            if (servicePointId == null) {
+                continue;
+            }
+            LngLat servicePointLocation = servicePointLocations.get(servicePointId);
+            if (servicePointLocation == null) {
+                continue;
+            }
+
+            double distance =
+                    gpsCalculationService.calculateDistance(
+                            servicePointLocation, record.delivery());
+
+            if (distance < bestScore) {
+                bestScore = distance;
+                bestDrone = droneId;
+            }
+        }
+        if (bestDrone == null) {
+            throw new IllegalStateException("No available drone for delivery " + record.id());
+        }
+        return bestDrone;
+    }
+
+    /**
+     * Break a sequence of deliveries into several trips that each respect the drone move limit. The
+     * deliveries should already be ordered by proximity for sensible grouping.
+     *
+     * @param deliveries Deliveries assigned to a drone.
+     * @param drone Drone that will service the deliveries.
+     * @param servicePoint Starting and ending point of every trip.
+     * @return Partitioned trips with at least one delivery each.
+     * @throws IllegalStateException If a single delivery exceeds the drone's move limit.
+     */
+    private List<List<MedDispatchRecRequest>> splitTrips(
+            List<MedDispatchRecRequest> deliveries, Drone drone, LngLat servicePoint) {
+        List<List<MedDispatchRecRequest>> trips = new ArrayList<>();
+        List<MedDispatchRecRequest> currentTrip = new ArrayList<>();
+        for (MedDispatchRecRequest delivery : deliveries) {
+            currentTrip.add(delivery);
+            int requiredMoves = estimateTripMoves(servicePoint, currentTrip);
+            if (requiredMoves > drone.capability().maxMoves()) {
+                currentTrip.remove(currentTrip.size() - 1);
+                if (currentTrip.isEmpty()) {
+                    throw new IllegalStateException(
+                            "Delivery "
+                                    + delivery.id()
+                                    + " exceeds drone "
+                                    + drone.id()
+                                    + " move limit");
+                }
+                trips.add(new ArrayList<>(currentTrip));
+                currentTrip.clear();
+                currentTrip.add(delivery);
+            }
+        }
+        if (!currentTrip.isEmpty()) {
+            int requiredMoves = estimateTripMoves(servicePoint, currentTrip);
+            if (requiredMoves > drone.capability().maxMoves()) {
+                throw new IllegalStateException(
+                        "Delivery plan exceeds move limit for drone " + drone.id());
+            }
+            trips.add(new ArrayList<>(currentTrip));
+        }
+        return trips;
+    }
+
+    /**
+     * Build a single trip for the provided drone, including the entire flight path to every
+     * delivery and back home. The resulting structure contains the {@link DronePath} representation
+     * as well as cost and moves consumed.
+     *
+     * @param drone Drone executing the trip.
+     * @param servicePoint Starting/ending location of the trip.
+     * @param deliveries Deliveries to include in the trip in execution order.
+     * @return Trip information or {@code null} if no deliveries are provided.
+     * @see DeliveryPathResponse.DronePath
+     */
+    private TripResult buildTrip(
+            Drone drone, LngLat servicePoint, List<MedDispatchRecRequest> deliveries) {
+        if (deliveries == null || deliveries.isEmpty()) {
+            return null;
+        }
+        List<Delivery> flightPlans = new ArrayList<>();
+        LngLat current = servicePoint;
+        int moves = 0;
+
+        for (int i = 0; i < deliveries.size(); i++) {
+            MedDispatchRecRequest delivery = deliveries.get(i);
+            PathSegment toDelivery = computePath(current, delivery.delivery());
+            List<LngLat> flightPath = new ArrayList<>(toDelivery.positions());
+            if (!flightPath.isEmpty()) {
+                LngLat last = flightPath.get(flightPath.size() - 1);
+                if (!last.isSamePoint(delivery.delivery())) {
+                    flightPath.add(delivery.delivery());
+                }
+            } else {
+                flightPath.add(current);
+                flightPath.add(delivery.delivery());
+            }
+            flightPath.add(delivery.delivery());
+            moves += toDelivery.moves();
+
+            if (i == deliveries.size() - 1) {
+                PathSegment backHome = computePath(delivery.delivery(), servicePoint);
+                backHome.appendSkippingStart(flightPath);
+                moves += backHome.moves();
+                current = servicePoint;
+            } else {
+                current = delivery.delivery();
+            }
+            flightPlans.add(new Delivery(delivery.id(), flightPath));
+        }
+
+        float cost =
+                drone.capability().costInitial()
+                        + drone.capability().costFinal()
+                        + (float) (drone.capability().costPerMove() * moves);
+
+        DronePath path = new DronePath(drone.parseId(), flightPlans);
+
+        return new TripResult(path, moves, cost);
+    }
+
+    /**
+     * Estimate the number of moves a prospective trip would need by replaying the path calculation
+     * without mutating any persistent state.
+     *
+     * @param servicePoint Trip origin.
+     * @param deliveries Deliveries that would compose the trip.
+     * @return Total moves required to fly the proposed itinerary.
+     */
+    private int estimateTripMoves(LngLat servicePoint, List<MedDispatchRecRequest> deliveries) {
+        if (deliveries.isEmpty()) {
+            return 0;
+        }
+        int moves = 0;
+        LngLat current = servicePoint;
+        for (MedDispatchRecRequest delivery : deliveries) {
+            PathSegment segment = computePath(current, delivery.delivery());
+            moves += segment.moves();
+            current = delivery.delivery();
+        }
+        moves += computePath(current, servicePoint).moves();
+        return moves;
+    }
+
+    /**
+     * Build a path between {@code start} and {@code target} by repeatedly moving in snapped
+     * increments while avoiding restricted zones.
+     *
+     * @param start Start coordinate.
+     * @param target Destination coordinate.
+     * @return Sequence of visited coordinates and move count.
+     * @see #nextPosition(LngLat, LngLat)
+     */
+    private PathSegment computePath(LngLat start, LngLat target) {
+        List<LngLat> positions = new ArrayList<>();
+        if (start == null || target == null) {
+            return new PathSegment(positions, 0);
+        }
+        positions.add(start);
+        LngLat current = start;
+        int iterations = 0;
+        while (!gpsCalculationService.isCloseTo(current, target)
+                && iterations < MAX_SEGMENT_ITERATIONS) {
+            LngLat next = nextPosition(current, target);
+            if (next.isSamePoint(current)) {
+                break;
+            }
+            positions.add(next);
+            current = next;
+            iterations++;
+        }
+        if (!positions.get(positions.size() - 1).isSamePoint(target)) {
+            positions.add(target);
+        }
+        return new PathSegment(positions, Math.max(0, positions.size() - 1));
+    }
+
+    /**
+     * Determine the next position on the path from {@code current} toward {@code target},
+     * preferring the snapped angle closest to the desired heading that does not infiltrate a
+     * restricted region.
+     *
+     * @param current Current coordinate.
+     * @param target Destination coordinate.
+     * @return Next admissible coordinate or the original point if none can be found.
+     */
+    private LngLat nextPosition(LngLat current, LngLat target) {
+        double desiredAngle =
+                Math.toDegrees(
+                        Math.atan2(target.lat() - current.lat(), target.lng() - current.lng()));
+        List<Angle> candidateAngles = buildAngleCandidates(desiredAngle);
+        for (Angle angle : candidateAngles) {
+            LngLat next = gpsCalculationService.nextPosition(current, angle);
+            if (!isRestricted(next)) {
+                return next;
+            }
+        }
+        return current;
+    }
+
+    /**
+     * Build a sequence of candidate angles centered on the desired heading, expanding symmetrically
+     * clockwise and counter-clockwise to explore alternative headings if the primary path is
+     * blocked.
+     *
+     * @param desiredAngle Bearing in degrees between current and target positions.
+     * @return Ordered list of candidate snapped angles.
+     * @see Angle#snap(double)
+     */
+    private List<Angle> buildAngleCandidates(double desiredAngle) {
+        List<Angle> angles = new LinkedList<>();
+        Angle snapped = Angle.snap(desiredAngle);
+        angles.add(snapped);
+        for (int offset = 1; offset <= 8; offset++) {
+            angles.add(snapped.offset(offset));
+            angles.add(snapped.offset(-offset));
+        }
+        return angles;
+    }
+
+    /**
+     * Check whether the provided coordinate falls inside any restricted region.
+     *
+     * @param position Coordinate to inspect.
+     * @return {@code true} if the position intersects a restricted area.
+     * @see #restrictedRegions
+     */
+    private boolean isRestricted(LngLat position) {
+        for (Region region : restrictedRegions) {
+            if (gpsCalculationService.checkIsInRegion(position, region)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Representation of a computed path segment wrapping the visited positions and the number of
+     * moves taken to traverse them.
+     *
+     * @param positions Ordered coordinates that describe the path.
+     * @param moves Number of moves consumed by the path.
+     */
+    private record PathSegment(List<LngLat> positions, int moves) {
+        /**
+         * Append the positions from this segment to {@code target}, skipping the first coordinate
+         * as it is already represented by the last coordinate in the consumer path.
+         *
+         * @param target Mutable list to append to.
+         */
+        private void appendSkippingStart(List<LngLat> target) {
+            for (int i = 1; i < positions.size(); i++) {
+                target.add(positions.get(i));
+            }
+        }
+    }
+
+    /**
+     * Bundle containing the calculated {@link DronePath}, total moves and financial cost for a
+     * single trip.
+     */
+    private record TripResult(DronePath path, int moves, float cost) {}
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html new file mode 100644 index 0000000..61e8b7a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html @@ -0,0 +1 @@ +TelemetryService

TelemetryService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total99 of 12520%6 of 60%810303757
lambda$sendEventAsync$0(DroneEvent)370%n/a11131311
sendEventAsyncByPathResponse(DeliveryPathResponse, LocalDateTime)190%20%225511
sendEventAsyncByPathResponse(DeliveryPathResponse, Map)190%20%225511
sendEventAsyncByPathResponse(DeliveryPathResponse)180%20%225511
sendEventAsync(DroneEvent)60%n/a112211
TelemetryService()22100%n/a010601
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html new file mode 100644 index 0000000..c00865f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html @@ -0,0 +1,80 @@ +TelemetryService.java

TelemetryService.java

package io.github.js0ny.ilp_coursework.service;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneEvent;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.net.http.HttpClient;
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@Service
+public class TelemetryService {
+    private static final Logger log = LoggerFactory.getLogger(TelemetryService.class);
+
+    private final HttpClient client;
+    private final ObjectMapper mapper;
+
+    private final String BLACKBOX_URL;
+
+    public TelemetryService() {
+        this.client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(2)).build();
+
+        this.mapper = new ObjectMapper();
+        this.BLACKBOX_URL =
+                System.getenv().getOrDefault("BLACKBOX_ENDPOINT", "http://localhost:3000");
+    }
+
+    public void sendEventAsyncByPathResponse(DeliveryPathResponse resp) {
+        var events = DroneEvent.fromPathResponse(resp);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsyncByPathResponse(
+            DeliveryPathResponse resp, LocalDateTime baseTimestamp) {
+        var events = DroneEvent.fromPathResponseWithTimestamp(resp, baseTimestamp);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsyncByPathResponse(
+            DeliveryPathResponse resp, Map<Integer, LocalDateTime> deliveryTimestamps) {
+        var events = DroneEvent.fromPathResponseWithTimestamps(resp, deliveryTimestamps);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsync(DroneEvent event) {
+        CompletableFuture.runAsync(
+                () -> {
+                    try {
+                        String json = mapper.writeValueAsString(event);
+                        log.debug("Sending telemetry event: {}", json);
+                        var request =
+                                java.net.http.HttpRequest.newBuilder()
+                                        .uri(java.net.URI.create(BLACKBOX_URL + "/ingest"))
+                                        .header("Content-Type", "application/json")
+                                        .POST(
+                                                java.net.http.HttpRequest.BodyPublishers.ofString(
+                                                        json))
+                                        .build();
+
+                        client.send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
+                    } catch (Exception e) {
+                        log.error("Failed to send telemetry event: {}", e.getMessage());
+                    }
+                });
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html new file mode 100644 index 0000000..8292c5b --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.service

io.github.js0ny.ilp_coursework.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total309 of 1,99984%93 of 24662%841747342945106
DroneInfoService14234370%373750%30562210421901
PathFinderService13891686%477360%46764323711601
DroneAttrComparatorService1913287%7956%5135380501
GpsCalculationService1026096%23294%3253451801
PathFinderService.PathSegment27100%2100%03040201
PathFinderService.TripResult12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html new file mode 100644 index 0000000..47cf431 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.service

io.github.js0ny.ilp_coursework.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total309 of 1,99984%93 of 24662%841747342945106
DroneInfoService.java14234370%373750%30562210421901
PathFinderService.java13895587%477561%46804324211903
DroneAttrComparatorService.java1913287%7956%5135380501
GpsCalculationService.java1026096%23294%3253451801
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html new file mode 100644 index 0000000..57b10b4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html @@ -0,0 +1 @@ +AttrComparator

AttrComparator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total105 of 1050%28 of 280%2020202055
isValueMatched(JsonNode, String, AttrOperator)330%60%447711
compareNumbers(BigDecimal, BigDecimal, AttrOperator)330%120%886611
compareBooleans(boolean, boolean, AttrOperator)190%60%443311
compareStrings(String, String, AttrOperator)170%40%333311
AttrComparator()30%n/a111111
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html new file mode 100644 index 0000000..2ab72ba --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html @@ -0,0 +1,64 @@ +AttrComparator.java

AttrComparator.java

package io.github.js0ny.ilp_coursework.util;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.math.BigDecimal;
+
+/**
+ * Comparator for attribute values in {@code JsonNode}.
+ *
+ * <p>This is a helper for dynamic querying.
+ */
+public class AttrComparator {
+    /**
+     * Helper for dynamic querying, to compare the json value with given value in {@code String}.
+     *
+     * @param node The {@code JsonNode} to be compared
+     * @param attrVal The Value passed, in {@code String}
+     * @param op The comparison operator
+     * @return {@code true} if given values are equal, otherwise false.
+     */
+    public static boolean isValueMatched(JsonNode node, String attrVal, AttrOperator op) {
+        if (node.isTextual()) {
+            return compareStrings(node.asText(), attrVal, op);
+        } else if (node.isNumber()) {
+            // return Double.compare(node.asDouble(), Double.parseDouble(attrVal)) == 0;
+            return compareNumbers(node.decimalValue(), new BigDecimal(attrVal), op);
+        } else if (node.isBoolean()) {
+            return compareBooleans(node.asBoolean(), Boolean.parseBoolean(attrVal), op);
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean compareNumbers(BigDecimal nodeVal, BigDecimal attrVal, AttrOperator op) {
+        int comparison = nodeVal.compareTo(attrVal);
+        return switch (op) {
+            case EQ -> comparison == 0;
+            case GT -> comparison > 0;
+            case LT -> comparison < 0;
+            case NE -> comparison != 0;
+        };
+    }
+
+    private static boolean compareStrings(String nodeVal, String attrVal, AttrOperator op) {
+        return switch (op) {
+            case EQ -> nodeVal.equals(attrVal);
+            default -> !nodeVal.equals(attrVal);
+                // case NE -> !nodeVal.equals(attrVal);
+                // case GT -> !nodeVal.equals(attrVal);// > 0;
+                // case LT -> !nodeVal.equals(attrVal);// < 0;
+        };
+    }
+
+    private static boolean compareBooleans(boolean nodeVal, boolean attrVal, AttrOperator op) {
+        return switch (op) {
+            case EQ -> nodeVal == attrVal;
+            default -> nodeVal != attrVal;
+                // case NE -> nodeVal != attrVal;
+                // case GT -> !nodeVal && attrVal; // false < true
+                // case LT -> nodeVal && !attrVal; // true > false
+        };
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html new file mode 100644 index 0000000..7981259 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html @@ -0,0 +1 @@ +AttrOperator

AttrOperator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total68 of 680%4 of 40%55121233
static {...}310%n/a115511
fromString(String)290%40%334411
AttrOperator(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html new file mode 100644 index 0000000..3927cca --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html @@ -0,0 +1,24 @@ +AttrOperator.java

AttrOperator.java

package io.github.js0ny.ilp_coursework.util;
+
+public enum AttrOperator {
+    EQ("="),
+    NE("!="),
+    GT(">"),
+    LT("<");
+
+    private final String symbol;
+
+    AttrOperator(String symbol) {
+        this.symbol = symbol;
+    }
+
+    public static AttrOperator fromString(String symbol) {
+        for (AttrOperator op : AttrOperator.values()) {
+            if (op.symbol.equals(symbol)) {
+                return op;
+            }
+        }
+        throw new IllegalArgumentException("Unknown operator: " + symbol);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html new file mode 100644 index 0000000..419fdab --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.util

io.github.js0ny.ilp_coursework.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total173 of 1730%32 of 320%252532328822
AttrComparator1050%280%202020205511
AttrOperator680%40%5512123311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html new file mode 100644 index 0000000..eb58565 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.util

io.github.js0ny.ilp_coursework.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total173 of 1730%32 of 320%252532328822
AttrComparator.java1050%280%202020205511
AttrOperator.java680%40%5512123311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html new file mode 100644 index 0000000..970275d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html @@ -0,0 +1 @@ +IlpCourseworkApplication

IlpCourseworkApplication

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total5 of 837%0 of 0n/a122312
main(String[])50%n/a112211
IlpCourseworkApplication()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html new file mode 100644 index 0000000..1469779 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html @@ -0,0 +1,13 @@ +IlpCourseworkApplication.java

IlpCourseworkApplication.java

package io.github.js0ny.ilp_coursework;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class IlpCourseworkApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(IlpCourseworkApplication.class, args);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html new file mode 100644 index 0000000..9b13bd4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework

io.github.js0ny.ilp_coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 837%0 of 0n/a12231201
IlpCourseworkApplication5337%n/a12231201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html new file mode 100644 index 0000000..ff17d40 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework

io.github.js0ny.ilp_coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 837%0 of 0n/a12231201
IlpCourseworkApplication.java5337%n/a12231201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif b/docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif new file mode 100644 index 0000000000000000000000000000000000000000..989b46d30469b56b014758f846ee6c5abfda16aa GIT binary patch literal 91 zcmZ?wbhEHbt<8 literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif b/docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbf711b7030929b733f22f7a0cf3dbf61fe7868f GIT binary patch literal 91 zcmZ?wbhEHb<9hMfS1h%+}AfEJ1r#kE;=P)o>0|1v4BLV;b literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/bundle.gif b/docs/reports/jacoco/test/html/jacoco-resources/bundle.gif new file mode 100644 index 0000000000000000000000000000000000000000..fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4 GIT binary patch literal 709 zcmZ?wbhEHb6krfwxXQrrpW*-7BK;o8CDEUD?$vun5^UNelT%D!ODhd(|b~a*Mzw8b?rA^ z-Zg4)H*4{-ZuhtE4C>oE%dW%Ut|P#%J;1Fm+`T^{Xj)SC@~ZxQvku=q`RM)AplJzV zvr@ulro_(4T77==o*RckrYDBaOo^D85;rI7)~mbEKE4Q=7WeV{r-TKWHJe&0*EP28 z=;_%r`NQ{*kuwuBmgFZcNKcrTHt*QNJFo7hFUrbYR#3jKqG5AG^~S2ob>;0lS{pal zK79XR;=Z2Emp1IVxpUvG-SdynT5x>!?iYJKdTHD$?xCJHor3AS{w=?0{*d%14u`t=aU)Cy(!y`eXu~k?% aW{X8)Z%p}jXB Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(} literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif b/docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ba65672530ee09f086821a26156836d0c91bd74 GIT binary patch literal 91 zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0 hDgI<({Q`Df1Fi<|d@hO-`Q~pE@@zeqLbA z;-J_?uAwVj!&Z1jEp456!qR`OWxyKykX0IPoAo?5=zDF{_u63Uw|3IjHhkt*)ocHbiwErIu{eQjr&BgBjPnZ0^ z)%pMawEq`N|6i?re6aTBroszrDlV?Ays)P7KNv9J1&Tje7#SE$8FWCZKz?Fit2r>M zz(Yr>-(zM_o6Nb4fT%YT91LEn!LL}EEA}?dVkpv@eO|r8!NOtZ{emkA9RWArSBNI9 zNZ2UE#>&>r!p_3hV9KxE!=utaVFI_Qu$~^DvXY{*;@sK1P7=C;^73*D@(QvF3PR4J bVv>?F(o)hgo5fv4_Uzr~d*Gm(BZD;nB0Q24 literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/method.gif b/docs/reports/jacoco/test/html/jacoco-resources/method.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d24707ee82f54aa9fb10d1d9050013cbf161a7a GIT binary patch literal 193 zcmZ?wbhEHb6krfwIKsfd+~C35=qcM1rZ+Xgc}|Y+;^LHbt%ciq^EY;tZl7R3J;8oP zyw~j1u;m5ut4fkq6%=kPE8JMxvcIKiZ&S;@mZq)s9XlI4b~JYGXq<6u!t}iztIy9| zeSXH4OLPDK|Ifg{p!k!8k%2*uL5G2XfdOPE1FPKv^}dwMc^RwL>C9qr-X!KX-O{zn xB>KE5yGVkQrk5JSln0EBE(-jNr#5VeF%WB2bWO<6;yJ{{=)C1zMi>W!H2_8vOXL6m literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/package.gif b/docs/reports/jacoco/test/html/jacoco-resources/package.gif new file mode 100644 index 0000000000000000000000000000000000000000..131c28da405493661e3253ef79a68bd273039295 GIT binary patch literal 227 zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3* zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7 z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx Mi%z;upCW@b03m@=3jhEB literal 0 HcmV?d00001 diff --git a/docs/reports/jacoco/test/html/jacoco-resources/prettify.css b/docs/reports/jacoco/test/html/jacoco-resources/prettify.css new file mode 100644 index 0000000..be5166e --- /dev/null +++ b/docs/reports/jacoco/test/html/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/docs/reports/jacoco/test/html/jacoco-resources/prettify.js b/docs/reports/jacoco/test/html/jacoco-resources/prettify.js new file mode 100644 index 0000000..b2766fe --- /dev/null +++ b/docs/reports/jacoco/test/html/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

+ * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source'
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source'
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/redbar.gif b/docs/reports/jacoco/test/html/jacoco-resources/redbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..c2f71469ba995289439d86ea39b1b33edb03388c
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    hDgI<(<YM4w&|zR;U;vrHz`|kBQzT^M(!jxB4FC(l9E|_~
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/report.css b/docs/reports/jacoco/test/html/jacoco-resources/report.css
    new file mode 100644
    index 0000000..dd936bc
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/jacoco-resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/report.gif b/docs/reports/jacoco/test/html/jacoco-resources/report.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..8547be50bf3e97e725920927b5aa4cdb031f4823
    GIT binary patch
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)93=AMYF|c(Um|x(b!)1L!<&wse2lFljw(mUH>M%dO(?mBbFJZ+>l~W@6TV5Xz
    zUVSrbMpCNT<fHGt&s=KJDEP0TvEE5YpGBmjgPEy^iP=d|ubpoSA2Z{OJ|_WP7CzPm
    ztjr8c82jz{btX@pK65#*HVgCSEnAm!Yiej}Y3@~5=W*p?<K*Nx#>vjk<#X26k--`O
    DiVL#J
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/session.gif b/docs/reports/jacoco/test/html/jacoco-resources/session.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0151bad8a001e5cc5cc7723a608185f746b7f8c1
    GIT binary patch
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4r7#J8pb~3OAJy7pU
    z$((jcWv&W~@5v{d<hN-2VA{Cykq=+%E0atUwVp?XQ=*ni*&i=_+H_KBTYH%LriUU{
    mZ=NXL{<_HNdB75vZT{z9OqqK3-3$FsJ>N1v{a00Fum%7=xO71P
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/sort.gif b/docs/reports/jacoco/test/html/jacoco-resources/sort.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7
    GIT binary patch
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;cFfcOkFmN(3FbVb~u4LSM^HKMg
    PNY|&Q!oNo|FjxZs?jRD2
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/sort.js b/docs/reports/jacoco/test/html/jacoco-resources/sort.js
    new file mode 100644
    index 0000000..9dcb0e8
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links
    +   */
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +
    +    resetSortedStyle(table);
    +
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +
    +    var hash;
    +
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        }
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/source.gif b/docs/reports/jacoco/test/html/jacoco-resources/source.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..b226e41c5276581db33d71525298ef572cc5d7ce
    GIT binary patch
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=$6|9=1Fk9#k^KYaD$)rX(o
    ze*Av+?&pWEzdwEZ{q@K1?>~Q6m-tr|`&X9))Rp>G7yDNi2eeoDG?)9<m-tPr_vo$l
    z>Z$db+v+;K$!$Zw-I^YU<y}t8yPXzwI6pYizh#2$l}#B}Hf7%0TXS_&=Kufy88Cq2
    zPZmZ721^DVkPOIA3~coW<`j772xXp7xumf~a9)6P@5^5-T-Ofpn(OYf={j<7!OXi^
    z>y>gGUIs8su}}@0QYh8qTG2B>G*VcYsj)>^$5mIdqAH0^QrA^eT4>7D$(pX(g5A|@
    wf?BR>5{s8CQFB!n>q!<6=Tmo878T{+vSq7=tE!TM;-0+<swzH5oE;gg0X~SX4FCWD
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/up.gif b/docs/reports/jacoco/test/html/jacoco-resources/up.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..58ed21660ec467736a4d2af17d91341f7cfb556c
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    literal 0
    HcmV?d00001
    
    diff --git a/docs/reports/jacoco/test/html/jacoco-sessions.html b/docs/reports/jacoco/test/html/jacoco-sessions.html
    new file mode 100644
    index 0000000..5578a5f
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/jacoco-sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">ilp-coursework</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">zephyrus-b3d5005c</span></td><td>22 Jan 2026, 09:11:12</td><td>22 Jan 2026, 09:11:18</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">ch.qos.logback.classic.BasicConfigurator</span></td><td><code>e9cbd1f978e04c35</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Level</span></td><td><code>9303df9e2a08f242</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Logger</span></td><td><code>be6c3e45911cf8e2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.LoggerContext</span></td><td><code>4512c2eff6c03c68</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.PatternLayout</span></td><td><code>5fe891de226cd5ba</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.encoder.PatternLayoutEncoder</span></td><td><code>adbb8c6e69fd1aeb</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.filter.ThresholdFilter</span></td><td><code>b8c16b02eb3f4a54</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.joran.SerializedModelConfigurator</span></td><td><code>0370b98bcd206265</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.JULHelper</span></td><td><code>6bcebd787d928826</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.LevelChangePropagator</span></td><td><code>fcbc2bfed3de6b6f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.layout.TTLLLayout</span></td><td><code>7cfb10fccc1ac9ec</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ClassicConverter</span></td><td><code>ca6784b1cdac73e4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.DateConverter</span></td><td><code>1122e9d1094bb161</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.EnsureExceptionHandling</span></td><td><code>c7ef7ced01cf2b40</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter</span></td><td><code>115c3183cea2d042</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LevelConverter</span></td><td><code>0ec63ea841fac8fa</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LineSeparatorConverter</span></td><td><code>6bb3f1fbdd6806b9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LoggerConverter</span></td><td><code>300f443c765acc98</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.MessageConverter</span></td><td><code>0688e46c25208e81</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter</span></td><td><code>800a7094fa870df9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter.CacheMissCalculator</span></td><td><code>cc0ea37245a48bd6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter.NameCache</span></td><td><code>1175227c83b68cb9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator</span></td><td><code>31fe90da1602830b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThreadConverter</span></td><td><code>b1a4a34d0dda551a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableHandlingConverter</span></td><td><code>86f11ee7d86c38e3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableProxyConverter</span></td><td><code>e95e6657903e5c93</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ClassPackagingData</span></td><td><code>546737f59c269cc2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.Configurator.ExecutionStatus</span></td><td><code>cc40a5f533270748</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.EventArgUtil</span></td><td><code>e0c9d11998766d79</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LogbackServiceProvider</span></td><td><code>6e02f42758dd8a54</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggerContextVO</span></td><td><code>fb6173d248f826d3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggingEvent</span></td><td><code>8b7f71687e5d0c67</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.PackagingDataCalculator</span></td><td><code>d5367e27f562eb71</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.STEUtil</span></td><td><code>16977aaf5a163e03</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.StackTraceElementProxy</span></td><td><code>86d35088dba69712</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ThrowableProxy</span></td><td><code>9b48d0591443303a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ThrowableProxyUtil</span></td><td><code>ab42894505439404</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.TurboFilterList</span></td><td><code>42403a7d01f96dd1</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.turbo.TurboFilter</span></td><td><code>0403568c15198036</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ClassicEnvUtil</span></td><td><code>3e03f8adc0461ef2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextInitializer</span></td><td><code>7cfcfba69f8265bf</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextInitializer.1</span></td><td><code>58fa6fb0dba0581d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.DefaultJoranConfigurator</span></td><td><code>3da6a729c24e1784</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LogbackMDCAdapter</span></td><td><code>f8e26313a025b32b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LoggerNameUtil</span></td><td><code>27bf8263ce12866e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.BasicStatusManager</span></td><td><code>d548b30535cbdd5b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ConsoleAppender</span></td><td><code>a9d9302917577d23</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ContextBase</span></td><td><code>a03a0249a0251838</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.CoreConstants</span></td><td><code>db8ef5527059aa3e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LayoutBase</span></td><td><code>36f6696d545dcad8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LifeCycleManager</span></td><td><code>3896f40727131664</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.OutputStreamAppender</span></td><td><code>c33b4b3071b1682f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.UnsynchronizedAppenderBase</span></td><td><code>895a29dbb896efbe</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.EncoderBase</span></td><td><code>c5b3872b99654c9b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.LayoutWrappingEncoder</span></td><td><code>c12e3595dcc95ae2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.filter.Filter</span></td><td><code>5a84fe4d069c6b13</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.helpers.CyclicBuffer</span></td><td><code>aa4ceae09d045909</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget</span></td><td><code>2bfe78660d9c2361</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.1</span></td><td><code>aed57c95030f1590</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.2</span></td><td><code>3a02ebcd7664923a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.CompositeConverter</span></td><td><code>14342f54d04f3c99</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.Converter</span></td><td><code>88fcb82d7ac22a16</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.ConverterUtil</span></td><td><code>20cf5be80690a434</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.DynamicConverter</span></td><td><code>fa0976090d3ec55e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormatInfo</span></td><td><code>c1091af50bf93789</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormattingConverter</span></td><td><code>c42fa317c19a9b78</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.LiteralConverter</span></td><td><code>6a26092f76c6ac93</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutBase</span></td><td><code>d9c4f2841778cdc9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutEncoderBase</span></td><td><code>c9dd29745e8a8c63</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.SpacePadder</span></td><td><code>c04e2e435b76b034</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Compiler</span></td><td><code>69ac8e86a4de20e8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.CompositeNode</span></td><td><code>012da26e6be0d6b7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.FormattingNode</span></td><td><code>5afdd38e3a828c01</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Node</span></td><td><code>e9cbd0c1f07aa7d5</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.OptionTokenizer</span></td><td><code>0c054bdf6a570ef8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Parser</span></td><td><code>9b72c397f872fab3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.SimpleKeywordNode</span></td><td><code>25a3f9e71b83475b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Token</span></td><td><code>3ee8f94c73eb7f12</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream</span></td><td><code>691b50c2d9f9756e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream.TokenizerState</span></td><td><code>00faf271c0eab6b9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.AsIsEscapeUtil</span></td><td><code>21a1cd41b6693952</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RegularEscapeUtil</span></td><td><code>cb4169a6187c572f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RestrictedEscapeUtil</span></td><td><code>8b21adafecce019f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.AppenderAttachableImpl</span></td><td><code>1ef122585612a073</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.ContextAwareBase</span></td><td><code>78802b30b92ff289</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.ContextAwareImpl</span></td><td><code>7c5f0060805cf148</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterAttachableImpl</span></td><td><code>1bdda09341cf5fb8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterReply</span></td><td><code>0dabfae171683945</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.LogbackLock</span></td><td><code>00146cd3b144dc92</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.InfoStatus</span></td><td><code>3ea5a04c41688d26</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.OnConsoleStatusListener</span></td><td><code>9df6c0a53df83af4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.OnPrintStreamStatusListenerBase</span></td><td><code>8329200151f3e954</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusBase</span></td><td><code>d2de3f7ff0e79b48</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusUtil</span></td><td><code>bb63f76033b4fb59</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node</span></td><td><code>f4528f0aaf450327</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node.Type</span></td><td><code>5ada13b3bdafc4e1</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer</span></td><td><code>728598d08a340f09</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer.1</span></td><td><code>24b03a1fae54909b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser</span></td><td><code>371a9da81929a41b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser.1</span></td><td><code>ba5e2fe90977f204</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token</span></td><td><code>55429237cf121891</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token.Type</span></td><td><code>e596c92ff232595f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer</span></td><td><code>e11eb06eb91626b6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer.TokenizerState</span></td><td><code>593d1de9c186ae02</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.COWArrayList</span></td><td><code>5a1d0e670e55acd7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.CachingDateFormatter</span></td><td><code>46ecbe497fb84c58</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.CachingDateFormatter.CacheTuple</span></td><td><code>4940f2769bff3196</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.EnvUtil</span></td><td><code>eb2e1b9f3f7c24f6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.ExecutorServiceUtil</span></td><td><code>ca5f4cff521821b3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.ExecutorServiceUtil.1</span></td><td><code>87de54c43adf1179</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.Loader</span></td><td><code>da8ad7ce98f18557</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.OptionHelper</span></td><td><code>dc0fc1311dc9604a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusListenerConfigHelper</span></td><td><code>64584525acceb0ff</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusPrinter</span></td><td><code>e1558319dba01961</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusPrinter2</span></td><td><code>7ae81d2484f45fe9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StringUtil</span></td><td><code>29f38996e768ba8d</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.1</span></td><td><code>c9c29925e8147dd5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility</span></td><td><code>e56bcd385626eead</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonCreator.Mode</span></td><td><code>5093503037839760</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Feature</span></td><td><code>0c628a86f37b42e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Features</span></td><td><code>52a6d007a22b1f71</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Shape</span></td><td><code>003dda8e6f0a6de2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Value</span></td><td><code>b81de0e36e7445db</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonIgnoreProperties.Value</span></td><td><code>4f0da3cf85f6ca76</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Include</span></td><td><code>85638490ab4ef209</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Value</span></td><td><code>10324a92ddb09f04</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonIncludeProperties.Value</span></td><td><code>7ed084480a07ee84</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonProperty.Access</span></td><td><code>d1f5b78205032d03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonSetter.Value</span></td><td><code>6ee26ce006658a00</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.Nulls</span></td><td><code>724f990ec72b618f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.OptBoolean</span></td><td><code>19b18410e5837c9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.PropertyAccessor</span></td><td><code>f7f4cbc68ef228c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variant</span></td><td><code>264889f461ec8487</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variant.PaddingReadBehaviour</span></td><td><code>dd0e63a614fe004b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variants</span></td><td><code>e646bbe091ae79c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.ErrorReportConfiguration</span></td><td><code>6ae7b9c14364f861</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JacksonException</span></td><td><code>0b2f626f370d5d03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonEncoding</span></td><td><code>cb4ae57cec60e79d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory</span></td><td><code>ec4c1b9d9ce90bd9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory.Feature</span></td><td><code>f8c6da37120a1403</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator</span></td><td><code>cc799b0f31b8966e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator.Feature</span></td><td><code>e70424c10ce385a3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonLocation</span></td><td><code>13be924b79dbda42</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParseException</span></td><td><code>0200ee6f4f7e4a5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser</span></td><td><code>c5e69fb357621cdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.Feature</span></td><td><code>4e33f89a5601a18a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.NumberType</span></td><td><code>88e7ccc17e76b9de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.NumberTypeFP</span></td><td><code>19d84f53af1e4220</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonProcessingException</span></td><td><code>95b93b8105f2756d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonStreamContext</span></td><td><code>329fa38167c8714d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonToken</span></td><td><code>e6705776f91c04a1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.ObjectCodec</span></td><td><code>4de1a295d9dc31ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.PrettyPrinter</span></td><td><code>f27d5528a26794c9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadCapability</span></td><td><code>a4c561ff4de25114</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadConstraints</span></td><td><code>4b49ac84f4439fcd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadFeature</span></td><td><code>9a2e8953e3d6037c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamWriteCapability</span></td><td><code>20b236b266d25323</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamWriteConstraints</span></td><td><code>f2bb5b3756dacf82</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.TokenStreamFactory</span></td><td><code>41de330f27eca392</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.TreeCodec</span></td><td><code>18594f8a8dcec6a2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Version</span></td><td><code>4e5b012657b4244e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.GeneratorBase</span></td><td><code>4a3bbfce5b5dae31</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.ParserBase</span></td><td><code>8f4310a098b79bc9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.ParserMinimalBase</span></td><td><code>24976c285bf6cce1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.exc.StreamReadException</span></td><td><code>59bc951e21defdd3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.CharTypes</span></td><td><code>aac38304f48d92dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.ContentReference</span></td><td><code>a933a3549b4784c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.IOContext</span></td><td><code>090fcb0d7d3d729b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.JsonEOFException</span></td><td><code>ba0e15bda5adccbc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.JsonStringEncoder</span></td><td><code>d133cbd8dbd05fae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.NumberInput</span></td><td><code>e690314c2b6b7565</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.NumberOutput</span></td><td><code>15e12f636d297c73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SegmentedStringWriter</span></td><td><code>c15ac7a87994dffb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SerializedString</span></td><td><code>d4e3fa20d893c769</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper</span></td><td><code>0ba003a54273d8f7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonGeneratorImpl</span></td><td><code>1ebca1cf4478160e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonParserBase</span></td><td><code>16514eba003d716c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonReadContext</span></td><td><code>e4ccee58993ace39</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonWriteContext</span></td><td><code>80adf9bb4918112e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonWriteFeature</span></td><td><code>0ed38593c8307547</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.ReaderBasedJsonParser</span></td><td><code>a1e156e2f7350ba5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.UTF8JsonGenerator</span></td><td><code>8cc04b8d81dffff3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.UTF8StreamJsonParser</span></td><td><code>3830ea8dfad320d4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.WriterBasedJsonGenerator</span></td><td><code>0fd350a9933f124f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer</span></td><td><code>7580ab9b187a58fe</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.TableInfo</span></td><td><code>4daa04bf011847b5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer</span></td><td><code>a8651d214f1feca8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.TableInfo</span></td><td><code>9a686c3ec604966f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.type.ResolvedType</span></td><td><code>8a4589ad9960ed59</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.BufferRecycler</span></td><td><code>fde0ba4b79279ec2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.BufferRecyclers</span></td><td><code>4e7bee8eece90b3a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultIndenter</span></td><td><code>18913563e8366f39</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter</span></td><td><code>f3a7d34d43ac8ab5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.FixedSpaceIndenter</span></td><td><code>fb7efc66fac1a159</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.NopIndenter</span></td><td><code>09050690ae456c5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.InternCache</span></td><td><code>cefb749acf449d74</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.InternalJacksonUtil</span></td><td><code>a4cfaa403c478479</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JacksonFeatureSet</span></td><td><code>69b6b3d8af7f13b3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JsonRecyclerPools</span></td><td><code>581a7a77872e2481</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JsonRecyclerPools.ThreadLocalPool</span></td><td><code>12fe8784cd664945</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.MinimalPrettyPrinter</span></td><td><code>4f783f17769fbb24</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.ReadConstrainedTextBuffer</span></td><td><code>23fc9ce24061d845</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.RecyclerPool.ThreadLocalPoolBase</span></td><td><code>2bdc11e4f9544853</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.Separators</span></td><td><code>c2cdd691b663aa37</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.Separators.Spacing</span></td><td><code>ce6ec0bcfdbddcbe</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.TextBuffer</span></td><td><code>47f4fab5985ac002</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.VersionUtil</span></td><td><code>12aba5bda07c1bc6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector</span></td><td><code>fa17f8e48003bd83</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty</span></td><td><code>14213be28ef1c091</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty.Type</span></td><td><code>d90a083248c5b3dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanDescription</span></td><td><code>786d2ce20d4ec4c1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanProperty.Std</span></td><td><code>1dc3c0a141338eba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DatabindContext</span></td><td><code>76bc176d5dc342b4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DatabindException</span></td><td><code>5a69466f1ad0601f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationConfig</span></td><td><code>e5c88e9d53d9e8bc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationContext</span></td><td><code>558adba9d85614d3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationFeature</span></td><td><code>ccb5e8baee7cb40f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JavaType</span></td><td><code>4b4e8dfd897d7a79</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonDeserializer</span></td><td><code>b793d305bbcc7ea4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonMappingException</span></td><td><code>87eb617a4dc8827a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonMappingException.Reference</span></td><td><code>ca80b1a53995755d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonNode</span></td><td><code>d51b9f1252c54174</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonSerializable.Base</span></td><td><code>c3cedf73e9aa2de3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonSerializer</span></td><td><code>3b9be94557847bc7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.KeyDeserializer</span></td><td><code>57c3ce9990767641</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MapperFeature</span></td><td><code>cbc9260bc04f173c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MappingJsonFactory</span></td><td><code>65cdd9294dfaf29a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.Module</span></td><td><code>d5a524fc9db54ebf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectMapper</span></td><td><code>feac7b5f2e060af7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectMapper.1</span></td><td><code>d869d07375485f3a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectReader</span></td><td><code>fae824e8240acbcb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter</span></td><td><code>5569f9f91b6fde1c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.GeneratorSettings</span></td><td><code>74e1b8ab6f98e514</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.Prefetch</span></td><td><code>d0f2b11b73af618d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyMetadata</span></td><td><code>3642a4c891741fdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyName</span></td><td><code>2e46c488b398de98</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationConfig</span></td><td><code>f64e52743e6e23ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationFeature</span></td><td><code>6c3d50364dea3315</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializerProvider</span></td><td><code>add373c9befc17f3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.BaseSettings</span></td><td><code>6e307b8cfc85cf90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionAction</span></td><td><code>9e15561f16680f97</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfig</span></td><td><code>ffad61191adeb87e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfigs</span></td><td><code>8937a55c926c734f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfigs.1</span></td><td><code>931244b15cf2e1f1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionInputShape</span></td><td><code>90aad4e377b3dccd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverride</span></td><td><code>f1771a0d408303c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverride.Empty</span></td><td><code>3372ed519d9bafb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverrides</span></td><td><code>22d24ffa6c186bf5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConstructorDetector</span></td><td><code>9af1c9a41cb4b83d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConstructorDetector.SingleArgConstructor</span></td><td><code>b0c67222cebc30be</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes</span></td><td><code>216e6db5a97ae48a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes.Impl</span></td><td><code>ede427cff276c0b8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DatatypeFeatures</span></td><td><code>f4893ef156575441</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DatatypeFeatures.DefaultHolder</span></td><td><code>81838084595fa0c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DefaultCacheProvider</span></td><td><code>6bbb2aa855b50726</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig</span></td><td><code>7861ff22cec5640b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.EnumFeature</span></td><td><code>16e95ce7a3f1f1ee</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.HandlerInstantiator</span></td><td><code>2eeab815fa9478a5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.JsonNodeFeature</span></td><td><code>7330d2d1d47044f4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfig</span></td><td><code>1d8b5e33071c81b8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfigBase</span></td><td><code>4e89f63652bdefed</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MutableCoercionConfig</span></td><td><code>262e6b36c9ca989e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.SerializerFactoryConfig</span></td><td><code>d93f22d3258ee4c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BasicDeserializerFactory</span></td><td><code>fcc81a1e9e8ea5c7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.ContainerDefaultMappings</span></td><td><code>009729ed3de46050</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializer</span></td><td><code>82e83ea18acf0af0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerBase</span></td><td><code>666cffb13521c8ae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder</span></td><td><code>3685cbb4778a0276</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerFactory</span></td><td><code>6212f1f2e3ceb31a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerModifier</span></td><td><code>e02ffa263f40078f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.CreatorProperty</span></td><td><code>684a83aa37ca3bca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext</span></td><td><code>5756779a22fd7d68</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl</span></td><td><code>8057860fe47eb5da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerCache</span></td><td><code>573883aa494a0e06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerFactory</span></td><td><code>ff5d37b3d9ea8e9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.Deserializers.Base</span></td><td><code>a3b8086adb6ca320</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.SettableBeanProperty</span></td><td><code>da907dfbf3e6f1b7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiator</span></td><td><code>500a74eea26ebb5d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiator.Base</span></td><td><code>56fce65bc9fdb762</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiators.Base</span></td><td><code>409ddb33d4295a19</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap</span></td><td><code>f7cb13cd880496c1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCandidate</span></td><td><code>83d184c9ae1f5c28</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCandidate.Param</span></td><td><code>8696d6511c82a1c3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCollector</span></td><td><code>4c7bfe9176e89ec1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.FailingDeserializer</span></td><td><code>4904d8577f214eb3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators</span></td><td><code>6b88cdf4389f1154</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators.ArrayListInstantiator</span></td><td><code>8ca7fb8171c78613</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators.JDKValueInstantiator</span></td><td><code>09fdf69019c1bab3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.NullsConstantProvider</span></td><td><code>83cd716157aa0f9a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator</span></td><td><code>54b286de6fa5cb80</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer</span></td><td><code>e7b5514d711ce3b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.SetterlessProperty</span></td><td><code>198fb4866e9d7c77</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer</span></td><td><code>aecb9451caa054b5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.ContainerStack</span></td><td><code>76140ad3485398fa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.CollectionDeserializer</span></td><td><code>a0c4a8193c8d1efa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase</span></td><td><code>0f7cf99ff0b0c8a0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.EnumDeserializer</span></td><td><code>54883ec4c5a1535b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.FromStringDeserializer</span></td><td><code>6d767a00224f2932</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.JdkDeserializers</span></td><td><code>3f25ddde73f05bdc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer</span></td><td><code>65903bcd6676c71b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers</span></td><td><code>af4aa96d306dfbb7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.BooleanDeserializer</span></td><td><code>30e8686ef1609fb9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.DoubleDeserializer</span></td><td><code>74dd620154d120e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.FloatDeserializer</span></td><td><code>30ba5a233bdda9cd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.IntegerDeserializer</span></td><td><code>cb695275ccadb732</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.PrimitiveOrWrapperDeserializer</span></td><td><code>467caf19a87c057e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer</span></td><td><code>1e2a0ef210fc8ead</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdDeserializer</span></td><td><code>ec112cef8e3e635f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdKeyDeserializers</span></td><td><code>1862d008401cb8e6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer</span></td><td><code>25286f364997b846</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdValueInstantiator</span></td><td><code>49a181a7a3137f85</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StringDeserializer</span></td><td><code>36ba9f92a53b7892</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.exc.ValueInstantiationException</span></td><td><code>c199a449cbdedbb5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7Handlers</span></td><td><code>31410c423d95a2d0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7HandlersImpl</span></td><td><code>423b0b9d126fb382</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7Support</span></td><td><code>4b7557784caa415a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7SupportImpl</span></td><td><code>94a94fc44678f7e9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.OptionalHandlerFactory</span></td><td><code>a873be98e8f52009</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AccessorNamingStrategy</span></td><td><code>3d3b7f563f5ca70a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AccessorNamingStrategy.Provider</span></td><td><code>6026222786456f26</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.Annotated</span></td><td><code>d8a50f577d0f97e3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClass</span></td><td><code>208d1216b93f97d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClass.Creators</span></td><td><code>ecbba5a1c87c995f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClassResolver</span></td><td><code>dcd3643857e87392</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedConstructor</span></td><td><code>eaf946db37898a44</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedCreatorCollector</span></td><td><code>f1dbd789d7b2161e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedField</span></td><td><code>e6e45b21b9cdeda3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector</span></td><td><code>12776b633eff9c22</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.FieldBuilder</span></td><td><code>571d9e7fb561d385</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMember</span></td><td><code>5879537c033bd580</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethod</span></td><td><code>ad2f0bf303d90ae0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector</span></td><td><code>e8e34bff5e47f125</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector.MethodBuilder</span></td><td><code>b522d96f88a7ade4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodMap</span></td><td><code>d69be24a07cecf16</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedParameter</span></td><td><code>05eab262cf202b22</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedWithParams</span></td><td><code>54f7d4537c15cfdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector</span></td><td><code>c389709d2ffbb364</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.EmptyCollector</span></td><td><code>a87b6b2439611ec7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.NCollector</span></td><td><code>9e3f6012728d8752</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.NoAnnotations</span></td><td><code>9173d7167a075d90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.OneAnnotation</span></td><td><code>5d638a47b9878df4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.OneCollector</span></td><td><code>4d7ed4cd12d6011c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair</span></td><td><code>9d16f9ff1705e35c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationMap</span></td><td><code>78aa63dcada1ee05</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicBeanDescription</span></td><td><code>ee392418d8888462</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicClassIntrospector</span></td><td><code>39b99876005fda1c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition</span></td><td><code>2dd865e01c7821e3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ClassIntrospector</span></td><td><code>80b5ce0a8f2ec97e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.CollectorBase</span></td><td><code>fec0f38373f479ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase</span></td><td><code>d84392ce3ebfddd1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy</span></td><td><code>efc1568392fc0098</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy.Provider</span></td><td><code>9679bb882d2d354f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy.RecordNaming</span></td><td><code>578773c3cc25aa96</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.EnumNamingStrategyFactory</span></td><td><code>8c9e3cf7c9b3856a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector</span></td><td><code>58c8eae5252a6c31</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.MemberKey</span></td><td><code>9ca9521f92a44a1e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.MethodGenericTypeResolver</span></td><td><code>93fee28a49a66217</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector</span></td><td><code>2e9065cf89c823f0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector.1</span></td><td><code>6d114ef8b9ac9262</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector</span></td><td><code>1fb829d4fddd081d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.1</span></td><td><code>a93bc7b71d90b676</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder</span></td><td><code>87fdbc35dd7fe8d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.1</span></td><td><code>f8c184b56fb169c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.2</span></td><td><code>19727b4ee6c7346b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.3</span></td><td><code>ed3aa2d5d8009709</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.5</span></td><td><code>4c0c69e309e0b7ff</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.6</span></td><td><code>ccd09ff0ec86f8de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.Linked</span></td><td><code>975bce19625e2697</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.PotentialCreator</span></td><td><code>4afb0a27f3fb5b06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.PotentialCreators</span></td><td><code>41788d498751d740</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.SimpleMixInResolver</span></td><td><code>6a0721d817cbf413</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.TypeResolutionContext.Basic</span></td><td><code>09190ef225acb240</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.VisibilityChecker.Std</span></td><td><code>fc5c252ca246e76d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util</span></td><td><code>2acdcc82ad4011a3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util.RawTypeName</span></td><td><code>450f9974d335e21f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util.RecordAccessor</span></td><td><code>96dd316a6e135b91</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator</span></td><td><code>ff1c7cc76de984ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator.Base</span></td><td><code>b175bf9510b258ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.SubtypeResolver</span></td><td><code>b2ed8bc0e5fe669c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator</span></td><td><code>d02dab29b87ed521</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver</span></td><td><code>342823e6800eb76b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.SubTypeValidator</span></td><td><code>a7ad2f19c2210a88</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleDeserializers</span></td><td><code>53107227f2e2423e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleKeyDeserializers</span></td><td><code>2bf2353de1c43d9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleModule</span></td><td><code>3f53ed00cec5a434</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleSerializers</span></td><td><code>e9d8a29b450ff8fa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ArrayNode</span></td><td><code>b62d5b1a253c18b2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.BaseJsonNode</span></td><td><code>bfd90fff281f00ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.BooleanNode</span></td><td><code>cebb2fcdf8e3b29f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ContainerNode</span></td><td><code>2fa3dd74ea29c90a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.DoubleNode</span></td><td><code>4fd8dd62eb1664b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.FloatNode</span></td><td><code>f46048f3d7fb9f7a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.IntNode</span></td><td><code>980891d38da3f882</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.JsonNodeFactory</span></td><td><code>b407554ab061d84d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.JsonNodeType</span></td><td><code>a26f1eeaaa06bdd6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.NumericNode</span></td><td><code>5272679eb5ea0a69</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ObjectNode</span></td><td><code>9381fbd1ff7bc116</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.TextNode</span></td><td><code>f2bcb339b9349615</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ValueNode</span></td><td><code>836490b62c1c13d7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BasicSerializerFactory</span></td><td><code>06ddd3ea0362a46e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanPropertyWriter</span></td><td><code>adea74628d67a605</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializer</span></td><td><code>8bfdf46befe049ab</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerBuilder</span></td><td><code>0107159d6b8f2643</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerFactory</span></td><td><code>bd624d251342d5bd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerModifier</span></td><td><code>24dbfece082070c4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.ContainerSerializer</span></td><td><code>67b35562bf415143</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider</span></td><td><code>4a939462d4ee04e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl</span></td><td><code>5404c75823dfd574</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder</span></td><td><code>4c62d16d11561c61</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder.1</span></td><td><code>f48c9fbafe2a4183</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyWriter</span></td><td><code>a75647305846e8db</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerCache</span></td><td><code>05a580ec11f5621f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerFactory</span></td><td><code>a96ec5a87f2a9dec</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.Serializers.Base</span></td><td><code>443d0df59bde7b26</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.FailingSerializer</span></td><td><code>fa5f1815a0731271</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer</span></td><td><code>cd4efc50b27864f0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap</span></td><td><code>b896860192138c16</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Double</span></td><td><code>827fc9497fc28a95</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Empty</span></td><td><code>3dce91f99b61f9c6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Multi</span></td><td><code>c3b9cd10f6b775c6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.SerializerAndMapResult</span></td><td><code>7726b41f965932aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Single</span></td><td><code>e5e537120154be9c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.TypeAndSerializer</span></td><td><code>370b3b65778d2b73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap</span></td><td><code>f7673b78d4dbb21a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap.Bucket</span></td><td><code>f027017bdef27857</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer</span></td><td><code>d45a337763a1cc0f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnknownSerializer</span></td><td><code>57b36ae66444a354</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanPropertyWriter</span></td><td><code>801ec7ae4f0b3fd5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer</span></td><td><code>0a0c01880a099c9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ArraySerializerBase</span></td><td><code>dc34ed0128aae0b4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase</span></td><td><code>f616360ffcb8c03d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BeanSerializerBase</span></td><td><code>b97bf1b44f1eb074</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BooleanSerializer</span></td><td><code>53274b73e9fccb8b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ByteArraySerializer</span></td><td><code>65e2202cadcb3f06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.CalendarSerializer</span></td><td><code>da6df272674c3c19</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.CollectionSerializer</span></td><td><code>640c29e42fc11fad</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateSerializer</span></td><td><code>dcf355b20d60965d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase</span></td><td><code>96599db15ea3dfb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.MapSerializer</span></td><td><code>755fd32fafa9e6c7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NullSerializer</span></td><td><code>55885eb24739c250</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializer</span></td><td><code>2262ddb2410648e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers</span></td><td><code>dfe8936a5bca95d8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.1</span></td><td><code>749c16e3536adf29</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.Base</span></td><td><code>243c88192bb86ee4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.DoubleSerializer</span></td><td><code>5b65fb8c8ea04f02</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.FloatSerializer</span></td><td><code>0849cda863777be8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntLikeSerializer</span></td><td><code>37f949791419da14</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntegerSerializer</span></td><td><code>8572ad7f464034dd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.LongSerializer</span></td><td><code>1bcc67c140cfbe03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.ShortSerializer</span></td><td><code>a678b068eca9e8b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer</span></td><td><code>6efbed5aa602a53a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase</span></td><td><code>ab7e1015734c45ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers</span></td><td><code>5cecc00d070c5d4b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.BooleanArraySerializer</span></td><td><code>1690d17b488bb4fb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.CharArraySerializer</span></td><td><code>01cab5602882119e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.DoubleArraySerializer</span></td><td><code>b5a60e4942767bf7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.FloatArraySerializer</span></td><td><code>acb3b6422035b744</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.IntArraySerializer</span></td><td><code>6b00a1b878452036</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.LongArraySerializer</span></td><td><code>b05dd6055820a4a2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.ShortArraySerializer</span></td><td><code>3c615b464152f37d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.TypedPrimitiveArraySerializer</span></td><td><code>8b2130fc93866291</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdJdkSerializers</span></td><td><code>b1d950d41858d3ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializer</span></td><td><code>57263a9bf2c56b28</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers</span></td><td><code>bb4fe32f737c71dd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers.Dynamic</span></td><td><code>99a8cc70f899d4e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers.StringKeySerializer</span></td><td><code>4f8c5546749634aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdScalarSerializer</span></td><td><code>294ce690d4fde5d1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdSerializer</span></td><td><code>835c8daf4ce60eb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StringSerializer</span></td><td><code>60754410ce6ad434</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToEmptyObjectSerializer</span></td><td><code>dc394eb35034fe73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToStringSerializer</span></td><td><code>b965af9d2adb22d7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase</span></td><td><code>4df4671bce83caa1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.UUIDSerializer</span></td><td><code>86c2c3d2aa8e38aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ArrayType</span></td><td><code>ada34943c659785c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ClassKey</span></td><td><code>c92de6eb0295e1ea</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ClassStack</span></td><td><code>b4e39752aaaff8ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionLikeType</span></td><td><code>fdca9c74891003b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionType</span></td><td><code>754ccfd8e93b2fdd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.IdentityEqualityType</span></td><td><code>fd3058d6950e2027</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.IterationType</span></td><td><code>7b065c3c52516631</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.LogicalType</span></td><td><code>e0e08cb4c4d717b1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapLikeType</span></td><td><code>84a6b76ead78268b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapType</span></td><td><code>e4c0bbd455f37026</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.PlaceholderForType</span></td><td><code>f31f14a2bd32fb51</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ReferenceType</span></td><td><code>460f1517d58eab7d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ResolvedRecursiveType</span></td><td><code>6dc2c88dbe17a20b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.SimpleType</span></td><td><code>9bf726d4e15bb139</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBase</span></td><td><code>595557b119f1a886</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings</span></td><td><code>68edbaea56f84474</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings.AsKey</span></td><td><code>5dbe4f61d7b1bbc3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings.TypeParamStash</span></td><td><code>d3e44935a745bdd9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeFactory</span></td><td><code>528d17324b50d910</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeModifier</span></td><td><code>3fde83f0d245be4f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeParser</span></td><td><code>555ac466374b5334</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.AccessPattern</span></td><td><code>44bf82acd8a3fffc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ArrayBuilders</span></td><td><code>c14a06ce657aa67b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ArrayIterator</span></td><td><code>e4c9e4d38ac21c90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.BeanUtil</span></td><td><code>47bbf10ba0aa1803</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil</span></td><td><code>acbbf3084788ea1a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil.Ctor</span></td><td><code>2c9b343a1f761176</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.CompactStringObjectMap</span></td><td><code>d64db9a69a0511bc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.EnumResolver</span></td><td><code>7d690e5e78dc143f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.IgnorePropertiesUtil</span></td><td><code>81001725c2203f99</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.LRUMap</span></td><td><code>c487e14750ddd25e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.LinkedNode</span></td><td><code>73ca05873e25cb2e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.NameTransformer</span></td><td><code>c43cdad198acca21</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.NameTransformer.NopTransformer</span></td><td><code>dc0c2a6c53c9bdfb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ObjectBuffer</span></td><td><code>14fbae37b93a957b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.RootNameLookup</span></td><td><code>add4d1fb1a084862</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.StdDateFormat</span></td><td><code>c6d4539431425f11</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer</span></td><td><code>d5dddd742f431ab8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.1</span></td><td><code>11dd2e5c9164805d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.Parser</span></td><td><code>4c4b85b4ef30973c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.Segment</span></td><td><code>431e78936af92c7b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBufferReadContext</span></td><td><code>702338bfd23a3af4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TypeKey</span></td><td><code>32162ed128b7bbbd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ViewMatcher</span></td><td><code>4ee947c1a3549fe5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.LinkedDeque</span></td><td><code>9bfc4fbb2b0b1196</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap</span></td><td><code>3f0ff22fe5779861</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.AddTask</span></td><td><code>866aec97a77c2650</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.Builder</span></td><td><code>dcc244062522bdc6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus</span></td><td><code>a1e26b7a083af651</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.1</span></td><td><code>2de09d3a3bfcdca6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.2</span></td><td><code>2928516020b2e91a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.3</span></td><td><code>26e6a18539bc3d80</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.EntryIterator</span></td><td><code>86fc40b47b6d46b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.EntrySet</span></td><td><code>69a473f3bfd1c6f1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.Node</span></td><td><code>2dc3669c077d2e56</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.WeightedValue</span></td><td><code>c5874d009c2eaa54</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.WriteThroughEntry</span></td><td><code>564e61c687d1b555</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Deserializers</span></td><td><code>285fb134c32370c5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Module</span></td><td><code>6e82097138dfd536</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Serializers</span></td><td><code>8e035f0805a72a0e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8TypeModifier</span></td><td><code>e4d14414fff8e7f3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.PackageVersion</span></td><td><code>b59ff77459e11bea</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature</span></td><td><code>ea7929f11ddba913</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule</span></td><td><code>4f39df5593fb9eaa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.1</span></td><td><code>d29fad8e5d7b9d2f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.JavaTimeSerializers</span></td><td><code>480256903bb0dec8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.PackageVersion</span></td><td><code>2056dca5b900cce7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer</span></td><td><code>307d5ed06e9da0d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer</span></td><td><code>0b6116698ae31f35</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase</span></td><td><code>0366d6b796957250</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase</span></td><td><code>a42a100eb3db5063</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310StringParsableDeserializer</span></td><td><code>ec40549afa8898ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JavaTimeDeserializerModifier</span></td><td><code>9a67a5b81c60b411</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer</span></td><td><code>58c3f934d224bd6d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer</span></td><td><code>8f3554c3047a0fae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer</span></td><td><code>1bffe9367f89358b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.MonthDayDeserializer</span></td><td><code>295fd92b5b65742e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.OffsetTimeDeserializer</span></td><td><code>00fa8a1b15dfd0d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.YearDeserializer</span></td><td><code>0679c75311d6e905</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.YearMonthDeserializer</span></td><td><code>af642fd7b5a7e4e8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.DurationKeyDeserializer</span></td><td><code>86dee43d5fd8de58</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.InstantKeyDeserializer</span></td><td><code>c323cc187e10bdcd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.Jsr310KeyDeserializer</span></td><td><code>64893f60684210d1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalDateKeyDeserializer</span></td><td><code>3639e2ff55da7fa1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalDateTimeKeyDeserializer</span></td><td><code>ed7e026ffd090c77</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalTimeKeyDeserializer</span></td><td><code>c058ad0a221814f2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.MonthDayKeyDeserializer</span></td><td><code>fe54a17b388e76da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.OffsetDateTimeKeyDeserializer</span></td><td><code>1bfce89e8c6142a4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.OffsetTimeKeyDeserializer</span></td><td><code>7e7c73d8f28d4c13</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.PeriodKeyDeserializer</span></td><td><code>1fb27ade4fa213e5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.YearKeyDeserializer</span></td><td><code>ded209cf80f75df6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.YearMonthKeyDeserializer</span></td><td><code>bbb3a607d3512540</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZoneIdKeyDeserializer</span></td><td><code>010f3e4e2802434d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZoneOffsetKeyDeserializer</span></td><td><code>b8b591cfa6cb7be9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZonedDateTimeKeyDeserializer</span></td><td><code>92fa5e4a60f0ade5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.DurationSerializer</span></td><td><code>a5c8d51f6d6d4ae7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializer</span></td><td><code>dbba40957e9eaf5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializerBase</span></td><td><code>b350d73dca942b8f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase</span></td><td><code>29bff602a95b0ec8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JSR310SerializerBase</span></td><td><code>2ad341990e9021dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JavaTimeSerializerModifier</span></td><td><code>2681cde6b7fbf170</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer</span></td><td><code>3fe3b848ac4c26de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer</span></td><td><code>07117a9907d8d8af</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer</span></td><td><code>5bdffa12a22b8552</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.MonthDaySerializer</span></td><td><code>6e4b5e7046878466</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.OffsetDateTimeSerializer</span></td><td><code>9ad79a2ff3bec6bd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.OffsetTimeSerializer</span></td><td><code>a48af694c5feb958</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.YearMonthSerializer</span></td><td><code>fcf1268df02f06e9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.YearSerializer</span></td><td><code>35fd98ece03b0231</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.ZoneIdSerializer</span></td><td><code>04f155c4ebbe4db1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.ZonedDateTimeSerializer</span></td><td><code>f31f18861207ab70</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.key.ZonedDateTimeKeySerializer</span></td><td><code>244ed33273b7bb0f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.PackageVersion</span></td><td><code>ab8383c955826c4f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterExtractor</span></td><td><code>33c12848ae24c025</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterNamesAnnotationIntrospector</span></td><td><code>26f4eb1794904d4a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterNamesModule</span></td><td><code>5d5820ec8fffc7a8</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL</span></td><td><code>c579c5333dcee547</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL.1</span></td><td><code>61bf2b4a0ec4b4a2</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL.ProviderService</span></td><td><code>5b8ec4cca0c9bbac</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.ActuatorHealthTest</span></td><td><code>b951fda140a03d86</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.IlpCourseworkApplication</span></td><td><code>59e41b0d910eae84</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.IlpCourseworkApplicationTests</span></td><td><code>1474b8fc7c6e3c35</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.config.CorsConfig</span></td><td><code>da941f80c43e77eb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.config.CorsConfig..SpringCGLIB..0</span></td><td><code>d81de5e4112cddf7</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/ApiController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.ApiController</a></td><td><code>ffce9288c9ccc206</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest</span></td><td><code>940676c89b15acd1</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetDistanceTests</span></td><td><code>66f9b6932bc11388</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetIsInRegionTests</span></td><td><code>1536646c4e128789</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetNextPositionTests</span></td><td><code>df134ce72cd18a1e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetUidTests</span></td><td><code>68dd34795e454a64</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.IsCloseToTests</span></td><td><code>e2b571bc2ef4e022</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/DroneController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.DroneController</a></td><td><code>5a9ac1a8380f2c35</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest</span></td><td><code>079a32eeab6f4089</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.DroneDetailsTest</span></td><td><code>d93ddbef04278324</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.GetDronesWithCoolingTest</span></td><td><code>e3197e9ec2c10d4f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.GetQueryAsPathTests</span></td><td><code>8a005b6398d2196f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostCalcDeliveryPathAsGeoJsonTests</span></td><td><code>ce235be8d4a6ade4</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostCalcDeliveryPathTests</span></td><td><code>1c7f18a25e820b97</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostQueryAvailableDronesTests</span></td><td><code>a6047546ca647a38</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostQueryTests</span></td><td><code>c4cdc2dcbb42b4ac</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/MapMetaController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaController</a></td><td><code>f3c744c6fc9d8373</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest</span></td><td><code>f8f3cb1a6038b7eb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest.RestrictedAreasTests</span></td><td><code>bcc23906c2adcafd</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest.ServicePointsTests</span></td><td><code>6ad82287e494c7d6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.AltitudeRange</span></td><td><code>6fec04c672c5cb5a</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.Angle</span></td><td><code>c09389e583d7ec1e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.DroneAvailability</span></td><td><code>b28118e4b0a47d8c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.DroneCapability</span></td><td><code>9cdfc7a2d13150ab</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.LngLat</span></td><td><code>ddc15041bd8313d4</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.LngLatAlt</span></td><td><code>28936ac566596084</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.Region</span></td><td><code>fea47ab0bc7a5f38</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.TimeWindow</span></td><td><code>9a0df3bf7a51f3b1</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.Drone</span></td><td><code>825392957f41acdc</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.RestrictedArea</span></td><td><code>361268e63ce9dd3d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.ServicePoint</span></td><td><code>2f530cc718e1264b</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.ServicePointDrones</span></td><td><code>227ed5303458c273</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest</span></td><td><code>eabb3c5e2031793f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.DistanceRequest</span></td><td><code>8b6e3030c44f431f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest</span></td><td><code>dc36a8100f864d9c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest.MedRequirement</span></td><td><code>60fefdce59825fc6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MovementRequest</span></td><td><code>7a8031c3927834c5</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest</span></td><td><code>204b1069f166607e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse</span></td><td><code>a0398abd20c1b6ad</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath</span></td><td><code>62b0d0e1bbeddb85</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath.Delivery</span></td><td><code>160ef98211089fe7</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html" class="el_class">io.github.js0ny.ilp_coursework.exception.GlobalExceptionHandler</a></td><td><code>dddbf7d66513b847</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html" class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorService</a></td><td><code>87d434f5c35f96e3</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest</span></td><td><code>360d8f37987f3442</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest.DronesSatisfyingAttributesTests</span></td><td><code>7b43c5fc121110e6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest.DronesWithAttributeTests</span></td><td><code>48163bd2b1ddddff</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/DroneInfoService.html" class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoService</a></td><td><code>647271bf8ee40a56</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest</span></td><td><code>52f06a14decd1848</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DroneDetailTests</span></td><td><code>fdf6e092984ea6ee</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DroneMatchesRequirementTests</span></td><td><code>c6f71778fb25986f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DronesMatchesRequirementsTests</span></td><td><code>072f1edbd84a56ab</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DronesWithCoolingTests</span></td><td><code>4e2301306905b6c9</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchAllDronesTests</span></td><td><code>18d3990e5cf91670</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchDronesForServicePointsTests</span></td><td><code>c58c2ee5c59abe5d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchRestrictedAreasTests</span></td><td><code>acae4e94dc8302d7</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchServicePointsTests</span></td><td><code>b9f76805ec4e5323</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/GpsCalculationService.html" class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationService</a></td><td><code>8adf6871907d0593</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest</span></td><td><code>9e2977d611b66dc8</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.CalculateDistanceTests</span></td><td><code>2e6153905302c14c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.IsCloseToTests</span></td><td><code>e8535b751a3c2f88</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.NextPositionTests</span></td><td><code>a7d9e39e3297aceb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.NextPositionTests.CheckIsInRegionTests</span></td><td><code>f5333bb175eaf522</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService</a></td><td><code>4f1439c2ee245bc8</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService.PathSegment</a></td><td><code>b8315df0fc393255</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService.TripResult</a></td><td><code>145c7a62eb8574ff</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderServiceTest</span></td><td><code>e599ad4f7d22d005</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.TelemetryService</span></td><td><code>99acbe0a26b2bea9</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrComparator</span></td><td><code>67b3dd53df9df20d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrComparator.1</span></td><td><code>241a2005db6457ff</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrOperator</span></td><td><code>705c7af29e18160f</code></td></tr><tr><td><span class="el_class">io.micrometer.common.ImmutableKeyValue</span></td><td><code>ce53ce3a42174424</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValue</span></td><td><code>70414e22bc7f19d9</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValues</span></td><td><code>65cbaf98f510050c</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValues.ArrayIterator</span></td><td><code>04b6cb7e0e3f66bc</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.StringUtils</span></td><td><code>b9f34447f0b7e191</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.AbstractInternalLogger</span></td><td><code>fc714fdf636f1cc4</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.InternalLoggerFactory</span></td><td><code>815f5729d30c984b</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.LocationAwareSlf4JLogger</span></td><td><code>1453409771b36687</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.Slf4JLoggerFactory</span></td><td><code>c480808dc2b16776</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.WarnThenDebugLogger</span></td><td><code>f73e248accabc1dc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractMeter</span></td><td><code>749fdd79729d1a91</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractTimer</span></td><td><code>458537eec9ccbd7a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractTimerBuilder</span></td><td><code>c414c5df65078a27</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Clock</span></td><td><code>27403fed8a878c88</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Clock.1</span></td><td><code>85cf1843ec782f45</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Counter</span></td><td><code>c8a6f2796d36fe79</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Counter.Builder</span></td><td><code>68dda3d9b672a515</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.FunctionCounter</span></td><td><code>d4e4abfe2287f81c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.FunctionCounter.Builder</span></td><td><code>ef4ef3443f74ba16</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Gauge</span></td><td><code>598831c19c5951ae</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Gauge.Builder</span></td><td><code>b8fd6038e80009d9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.ImmutableTag</span></td><td><code>024bf4fd78172ef6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer</span></td><td><code>35fc5f4f514a6bc2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer.Builder</span></td><td><code>4f707851f9cbfb2a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer.Sample</span></td><td><code>c8fd79786890d398</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter</span></td><td><code>ca121d9c6b14b1ed</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter.Id</span></td><td><code>c279c4d88b11218b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter.Type</span></td><td><code>319f1d0ae0d97cb6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry</span></td><td><code>7bbad016b20b720e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.1</span></td><td><code>f4689917fec8e598</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.Config</span></td><td><code>98f594caa27079e7</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.More</span></td><td><code>27f2e5a2496b61bd</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Metrics</span></td><td><code>250c74b64c5436ff</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Metrics.More</span></td><td><code>07a6673cd5c4310b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Statistic</span></td><td><code>0693aed6157ea671</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.StrongReferenceGaugeFunction</span></td><td><code>a5a280d3739cec42</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tag</span></td><td><code>9de40eb5187eb4d5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tags</span></td><td><code>c764c1820de76958</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tags.ArrayIterator</span></td><td><code>37840b062e80d321</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.TimeGauge</span></td><td><code>659e0e58305c9bf5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.TimeGauge.Builder</span></td><td><code>75e31c57eb216fad</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer</span></td><td><code>7278fdd06d767506</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer.Builder</span></td><td><code>c432b7669fb8f654</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer.Sample</span></td><td><code>9a307529674fb5a8</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics</span></td><td><code>4c69e66ac804fd22</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics</span></td><td><code>7d5a1f63c8b02cbf</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmCompilationMetrics</span></td><td><code>b7dedcd1437e899f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics</span></td><td><code>d02a73acb550eca8</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.GcGenerationAge</span></td><td><code>ab6d2146c5eb69cc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.GcMetricsNotificationListener</span></td><td><code>c262f1e4098898e2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmHeapPressureMetrics</span></td><td><code>5a880950a5094d19</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmInfoMetrics</span></td><td><code>2799212c4057db8a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmMemory</span></td><td><code>de1a6e5523d26f24</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics</span></td><td><code>1574d81cb311ba26</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics</span></td><td><code>1110a025d632fdb0</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.LogbackMetrics</span></td><td><code>a261aa1ef61e6274</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.LogbackMetrics.1</span></td><td><code>96c2217f9d727f87</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.MetricsTurboFilter</span></td><td><code>ec2a288389617aa6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.DiskSpaceMetrics</span></td><td><code>7151f7a7027b367f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.FileDescriptorMetrics</span></td><td><code>87062ccafffabd9d</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.ProcessorMetrics</span></td><td><code>7e99b2da05b79088</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.UptimeMetrics</span></td><td><code>5dbbad3a9c36b7a2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.tomcat.TomcatMetrics</span></td><td><code>b4797a76956fde0c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.tomcat.TomcatMetrics.1</span></td><td><code>e769c550a37a4f88</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.composite.CompositeMeterRegistry</span></td><td><code>adba4830a4247951</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilter</span></td><td><code>13cbd6c7510779bf</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilter.9</span></td><td><code>5373d694e0d02b32</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilterReply</span></td><td><code>075cabb591f4fc19</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterRegistryConfig</span></td><td><code>bbde32cbfc2a597c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterRegistryConfigValidator</span></td><td><code>750ea0fc3a016f32</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention</span></td><td><code>ac646c253daf5b62</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.1</span></td><td><code>57b41695fe46ca79</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.2</span></td><td><code>b8e9327450c011ae</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.3</span></td><td><code>b0c428554a6fb8a7</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.4</span></td><td><code>100d7825129bca77</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated</span></td><td><code>d3f3efa50ae104ed</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.Either</span></td><td><code>f0586b2cc1c03e41</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.None</span></td><td><code>71956f7a541ab616</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.Valid</span></td><td><code>13d63e6c6520213a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeCounter</span></td><td><code>dcfecaedcfd2d98e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeFunctionCounter</span></td><td><code>775ce7b161f5462b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeTimer</span></td><td><code>c28eeff3cd0ded9e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.DistributionStatisticConfig</span></td><td><code>e40f01dc45306c95</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.DistributionStatisticConfig.Builder</span></td><td><code>dca89444e34b6869</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.Histogram</span></td><td><code>4a0cd4a4dad91b5f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.HistogramGauges</span></td><td><code>f1051c3b0a31e02f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.HistogramSnapshot</span></td><td><code>f6f0a2c350060651</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.NoopHistogram</span></td><td><code>dccea607bc1a741f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.TimeWindowMax</span></td><td><code>5e4d369633a97056</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.TimeWindowSum</span></td><td><code>5f2f432fbbcdc373</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.pause.NoPauseDetector</span></td><td><code>9597f9517cac131a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultGauge</span></td><td><code>9ffba2b99e98221f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultLongTaskTimer</span></td><td><code>e482f5d618b2b742</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultLongTaskTimer.SampleImpl</span></td><td><code>53ebcc13b5a6590f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.observation.DefaultMeterObservationHandler</span></td><td><code>b83c56d25d50cd6d</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.observation.MeterObservationHandler</span></td><td><code>b8db990170efcccc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.CountingMode</span></td><td><code>d8f115cbf2147505</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleConfig</span></td><td><code>aa6503a5740ef627</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleMeterRegistry</span></td><td><code>d685959c100f06a9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleMeterRegistry.1</span></td><td><code>39b5e854d8adf4e9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.MeterEquivalence</span></td><td><code>09c6c5c511b643f5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.TimeUtils</span></td><td><code>511e1f3915f3d0a5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.TimeUtils.1</span></td><td><code>349dcbd54fbb5b9e</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservation</span></td><td><code>d272f3d7a88f8a43</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservation.NoopScope</span></td><td><code>506866503e3d83be</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservationConfig</span></td><td><code>f06dc79d930dd2e1</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservationRegistry</span></td><td><code>3cab6a654866c172</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation</span></td><td><code>5747ea0b1cdf4c82</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation.Context</span></td><td><code>a98c6fcff6b3558e</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation.Scope</span></td><td><code>0371e582bfd0a9f9</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationConvention</span></td><td><code>c3d233701e2d8834</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationHandler</span></td><td><code>cb663853a1331fb7</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler</span></td><td><code>5564d960e47a5602</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationRegistry</span></td><td><code>ad7c919ae08e6872</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationRegistry.ObservationConfig</span></td><td><code>f06dffc4374ad6aa</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservation</span></td><td><code>1b84981efaeef162</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservation.SimpleScope</span></td><td><code>00822ffb59ec552c</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservationRegistry</span></td><td><code>18b172c059a03a71</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.docs.ObservationDocumentation</span></td><td><code>9e589d49230c457d</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.Kind</span></td><td><code>241ca382fc413427</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.ReceiverContext</span></td><td><code>6ef5b349bed758d0</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.RequestReplyReceiverContext</span></td><td><code>50c992df0034b2ed</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.RequestReplySenderContext</span></td><td><code>bcba44904efb2e09</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.SenderContext</span></td><td><code>395a12cacbfc31d8</code></td></tr><tr><td><span class="el_class">jakarta.servlet.DispatcherType</span></td><td><code>aa8760f3e259c94e</code></td></tr><tr><td><span class="el_class">jakarta.servlet.GenericServlet</span></td><td><code>fd13457d9e4a001f</code></td></tr><tr><td><span class="el_class">jakarta.servlet.MultipartConfigElement</span></td><td><code>9c2586b206768daa</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletInputStream</span></td><td><code>4e94768e3f58a02f</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletOutputStream</span></td><td><code>b55f9bca80a0dee9</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletResponseWrapper</span></td><td><code>3f4d163d92b35682</code></td></tr><tr><td><span class="el_class">jakarta.servlet.SessionTrackingMode</span></td><td><code>5f31acdfa89bbf8d</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.HttpServlet</span></td><td><code>5c143608d3a9c009</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.HttpServletResponseWrapper</span></td><td><code>d83507baf708d939</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.MappingMatch</span></td><td><code>05d13d57e3f025ce</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient</span></td><td><code>bb4f034683fae42f</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Builder</span></td><td><code>3e543b3d71f0b7c4</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Redirect</span></td><td><code>ff1f95fbeebcf206</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Version</span></td><td><code>6bc53a5ec820d8b7</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.ConnectionPool</span></td><td><code>faf0cf945a82fa20</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.ConnectionPool.ExpiryList</span></td><td><code>b7af515f9e88a372</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.FilterFactory</span></td><td><code>19d3e672a9de8e11</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.Http2ClientImpl</span></td><td><code>00e788b70286869e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientBuilderImpl</span></td><td><code>23078421bba0c2a8</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientFacade</span></td><td><code>db9eb4c356321245</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl</span></td><td><code>9be4aae4f9ab86f2</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.DefaultThreadFactory</span></td><td><code>22d25546efbac04c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.DelegatingExecutor</span></td><td><code>4de5dda373076170</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SSLDirectBufferSupplier</span></td><td><code>e866ef8dadf1cd51</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SelectorManager</span></td><td><code>12694a4de41bebb1</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SingleFacadeFactory</span></td><td><code>489c7410c14cab0e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpConnection</span></td><td><code>3b1119dda22d700c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.DebugLogger</span></td><td><code>18e7de51c0c619ff</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.DebugLogger.LoggerConfig</span></td><td><code>1b8e2d023f8cd186</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.HttpBodySubscriberWrapper</span></td><td><code>aed5fcb8238fabb6</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.HttpBodySubscriberWrapper.1</span></td><td><code>b16adeab8ec7337c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.Log</span></td><td><code>e2fb55885272f49e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.Utils</span></td><td><code>1eab49a2de29059c</code></td></tr><tr><td><span class="el_class">jdk.internal.org.jline.JdkConsoleProviderImpl</span></td><td><code>acb70be160a79e49</code></td></tr><tr><td><span class="el_class">jdk.jshell.execution.impl.ConsoleImpl.ConsoleProviderImpl</span></td><td><code>7a83bf0112781020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>8a25cfee68883757</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>da7c006b44346640</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>a389024132c0cc61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>6f0a8d6c5c95d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>47d6d27e15064a2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>83ffc7a50d03e29a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>dc4c226cbd0897a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>c7e2e00a103cd13c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>05243229e50ea1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>599592f0f74bbe07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>aab9b5395600f0fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>2863b0d48a0f3008</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>ba4f2805581e1090</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>db80a28c74867927</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>65abff93a29d75a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>b7a810d4119627f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>131bdbf6b155e141</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>4e6d31791b872ae1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>29112ecb8b8b4efa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>684e5809245dffbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>2eb5780a90fb308f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>e174f5b7baf5e195</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>0209a0cc40bf38bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>d4787198429d2c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>5c241df9146cc094</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>1036a16e82570bc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>f396394804c5db4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>6a1ab63f76800028</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>d6cccb1e071c957e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>afa4631e88eae5b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>de9aa7707e4d7d4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>fb46842d061b8907</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>9cbf034f4a875aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>8bf7b5c7d2be2c5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>70b624c9f019e2d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>fabc880f6c0d5cd1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>e5e4c6806aaeee24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>ee7c0bbc4d058e48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>88f478d1b3b07ef4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>5b27bf7bbedbea54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>57b0b2625db26866</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>8f1d6e695fd7ed52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>2298e62edd4a8f61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>d03149f225f747e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>3ac42d24c686a98d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f3d840402494b1eb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>5378b1b8ea4a3362</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>0e7fef258bff623e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>17d1a367a7c4f802</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>c3ce45049068fa1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>1504514b9b3dac05</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>6de58a2c31e6f05a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>35df575204406b21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>5c4bed9acb4fe33a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>fb86d13a4d8b8eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>dec4d3e69163577d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>34cb9d6bc3c7cc9a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>aed2977cf6532c53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>57a7e629b3866515</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>4677875bb641e3ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>85ecfbf093d6a3b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>fa2fbbc6481a65a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>5b7eff5293f1f424</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d679d59d5fd6c1f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>2e3770e70234e10e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>fe0c7bd84802ffd9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>1aabf94aeb884226</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>f45edbab1e0e9c5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>67ef92acb77ae368</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>b2a655f0f65d66c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>e7434f88906a9c24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b84a4f1e7e3ce186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>243cdd25d86e4ab5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>feaa862c952f8245</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>2ca8b3bcf6049a33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>c11dfda520c9193f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>c509d4e15ee51348</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>09e072bc1ca4ce4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>5150bcf8b7ca4eb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>b1848b8f9d54a2a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>ee9674baa95729a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>2039586b2e878fb7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>b7646d7a13f17583</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>42c9c05091c4a149</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>613e58a9d40f4543</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>85ae8e6a09ca4f81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>dd14d1576caa2ad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>fa561d82583ef937</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>872309721f07bc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>e34fac7274362266</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>ff73ee4c55cc6164</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>9551e89b98949a4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>278dd3908309ea1a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForDynamicConstant.Factory</span></td><td><code>a14df00a10dbe7d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>3ed67498436236ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>290ac0d704269bd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>988128caa26d936c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>690f359d0e8a8eee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>4af22e2a757bf31a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>8fb88f057a84ce01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForHandle.Factory</span></td><td><code>fc4d8ad5640502b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>f9c766b7738a0693</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>7f8b1a3dde7a0c48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>2440d1f955b26dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>78e7d35d754c495a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>6795dcd6ec57c163</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>29f0de3fb8feaef4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>9cb199178b40c2e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>dee082d8fb8c9059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>cc27f773ada1ac11</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>df9aeb25477abe21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>3f8ddbaca9c0ca46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>f4e803bdd3ec001f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>42fae42b06e0ab7d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>2b1ef8ab130df062</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>f6e4b7bed2d4994e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>61bdbcb141a58594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>e6438a2fa03556fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>8258647049b8eb56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>bfd367cdaa8cf459</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>fb270c614c10d4b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>621f2e7f3b3b6565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>ace13bc50cb664fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>f0f6d54d957fc045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>0f9962dd8bc7de98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>6d8821b5f8b246b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>6cb12c2494912a7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>fccfc9f054f497ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>24b0c4f2c614c48c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>b6c7fd082249ae77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>0c416afdff59072e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1512979491b2467e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>33caa14d82b5421e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>d4b482c28c799b9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>76b8e9fcb7058856</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>f1e81aecea736054</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>5ee1fd4ae8179ac1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>2f8f1e9d91c57542</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>c94ef73f34640c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>87cf86c20729f65e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>e6194c7d74113b12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>3a5b748d9afc1836</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>894c7278034b34b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>b39f1cffed199307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>1e9138fb1b0b4185</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>0648db34b4a99a08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>cf768d8f5b16d996</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>6468c29bcf0a7088</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>ea3722f7f3e6a8e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>6782431026fffec0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>c378dffbca959a48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>2ea5306ed3260bac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>79917fb7c151850b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>afa9cbe714a69ea6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7b5d7f348452a8fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>91fe2a0215db7a25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>45b968ae6eb349e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>b2574970a6108617</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>85778debddc6a8e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>45fb4e2b44a1ab64</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>309c064a5edad9f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationSource.Empty</span></td><td><code>3efda4f89915900c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>d7f3d011bdffb51e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>69e2bb699468284a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>7427deef2563f6d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>42f42342648b8fa7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>de1b42a4850c814e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>2062c5f9436afbda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>9f54ef11aadacf72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>994767655151955f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>1745bb6a04e8993d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>e1f9c9a005abae22</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>6ed2f2d151367cbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>a27ee00384a36bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>63c6c63b84353202</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>fcfee5f41864d050</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>ae910611763d0f68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>6ab0ae6789cbf5ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Sort</span></td><td><code>0a66a94600ced3bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>ec800f741ddcd502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>99c01057a1777d0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>affebde010d964e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>14186b080645f953</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>123156fd14617ba2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>0d8b55a89d1f5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>3988698b9a06a78b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>cb32bbcddd28b15f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>eaf7adc9c2f91154</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>8f12c029b0e18281</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>8b99118397373efd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>212571f44e74f5ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>29fc82bada408f50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>cd48701a16ec6aae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>6b82fc21752f5919</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>1c3e6a782b133159</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>a1150ad60ccc435a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>1009e43f35e34cbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>906c68aeeaaf7c2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>d2d992bea0797b42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>5451f2ff109b0d00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>a2181b4586337ee7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>0993d75a33526eb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>5e47ae2a4768bc1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>6e4bb8d5a09ca7f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>9650ca53b2f6a6e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>7648140277a32974</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>42b106ad57e53b91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>e3ff3658a2c85bc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>f0e631571e74e319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>1f8303d30bd71a08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>c6cfab06736c11d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>4bdfdb69b0fecfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>607a2c5720c1d99a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>be72fd24f033a8d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>8b04ac8d91e9a55d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>0a2f4fe45f35ee10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>f7b000339c3e568b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>2463e6f28cf205b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>d153e01de14acb07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>42a22ddaced8086a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>79fde0798956bcac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>203436ff676d33bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>e79828a2536106b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>0703516f4b7fd825</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>b090b1e7c7385c73</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>98008a87e5e30e3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>b8d629c2c45ceb7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>0ec6f311394275e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>4c0675dabc7f0352</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>f70620e1fa6685ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>6ec7cebb7657a89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>8a33bff3c9e86862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>fc914dd18d7a6558</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>6274c605f85caf0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>c3eaeda62d963b8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>4c470694ace19ac8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>5818a940b298c7ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>db4200f41a9d25b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>445de55c15b3091b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>52e171d973daa9cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>70091e48533fe83a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>ba33a37252d9901e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>a18769b831f5d045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>fc12460a1e315c5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>820fde02a9920d37</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>c983cfe01d0d5edb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>a5b8cb5a2d7c21c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>850a31c9319cfa02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>c2f372c822fca3e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>3925b4cc15f4bd2f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>242d40ab18115093</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>4748d1b5aeab5236</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>b6147d2e51640023</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>fdfe10d1fb135210</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>bb1fab9736bbedf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>98fbf4d7a37c0e61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>bfcd9d8dca3065f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>07ac00385cc953c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1b18d66c9610018d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>2bf5be358b4dc655</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>b3ce70f79a11e22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>dc5b41f427a54066</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>fb1afa36f177f218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>2c30af0f6fa58f88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>6806a9bf7ba25171</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>80a39599d01968d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>d2786c8c9ae86232</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>306963d1fc7a671c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>c5562144abf34544</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>0660b19e071b04d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>0980141661f7e1a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>9f6b0bd613a646fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>8c4eacb30cea265e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>5274fb8c35225f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>372c896f35267a96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>cf9990642c03405f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>7ed56b64be3ef06d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>554831d385360a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>4d7b4f0a54d64909</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>65bad8524d24da78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>86e4078bd5cd6a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>ed5cd3cbbe779d8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>eb6620f5799fe8f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>58cf78bca4d2bd51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>ec478e7fa8287853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>9f36a440f0a04724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>2224f84636e0f952</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>615a97949ca84b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>87a5af4372397dda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>0f49202883abd15b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>2ab665659e488ee3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>c0eebf71c2c20203</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>1f23e61efd8c040e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>9992e854290cac45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>3880aef22a6c4930</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>5bc3866175f926f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>8cf9a45e6526538b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>c1c177d019118d9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>140b09b73b4b60c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>d799308b1611cd13</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>499de672436311ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>7923429fa88ea5cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>6025d4a2423e87ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>edc5abaabf7281a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>ffa2fe3b5b233353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>03ace8fa7043bfce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>d5bf5d4843d3b40b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>23780d287a231e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>826dc7ad585dcbcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>82e09b4ce109a939</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>09b9aca5ee8c1475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>d184b9433829caba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>7df55a5ca5fec13f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>3a26e31857238724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>75cc8314964e08b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>5dc3a74323127305</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>6d36b199d5e88b53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>0ed9eb434cab9b70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>1eb0243fd9192b8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>1d9424dd0d7bc1c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>808c89479cd00a5d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>f6b71c9483cf7675</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>30acd7d949c355bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>ba16c063046983a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>27d77cb6b78fc547</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>cd2788dbef627a42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>3b5906ac6a8ae97c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>aa55299a7027b445</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.AbstractBase</span></td><td><code>690dc473a1fcc899</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>aa1759a3194d7f14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>1052045033e158fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>7a8cf3bcd2d805c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>1505339515cd1c19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>936b4705c2af1791</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>fd88ea62d3bec9e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>e1b17723ee466981</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>fa398faff0645c86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>72bbf9be43329300</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>6abfb4279099921b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>f56db2a964930d9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>b3ca6c151890771d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>60aab9827a2fe060</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>92d2ae273e27a92e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>8fa58b41007a0c6e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>560bec77a3a9e1cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>92dd499e424995ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>88969522be51c47a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>e90257accee75dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>dba1eec57628b9b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>bc61ad56649f6a21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>7ddd05378a81b5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>579d717b5fb1777c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>3116856af2d9e391</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>e4d3975d11965972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>c5b4f188a059f348</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>d4d9d89c20c33c79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>85defb9db5b2b5cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>fae027d8e16a32fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>6146ad1c41c815ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>eee19f05d61ced57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>41bc10f352e48896</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader.Strategy</span></td><td><code>6ed217ae5fb57d05</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>968c1d05fe34e6ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>1b8be35a135f3f27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>d252721578bc0fb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>7dac3c03ab5df0af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f8044cbd9b3fe7e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>c7f976e803f8d3a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>01e6e0df84609179</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>41b308deac98792e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>6b8d18710c99d74d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>86739f96369d83b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>2800dfa5c3b8aca7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>8ef28acf242eae2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7bd97f7cecaf5018</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>88f2458db8c741e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>89750a8204bacfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>a31e139e57804f56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>7716ed339d21e000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>a1eb87bc66f88929</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>9c0eb28c1120302a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>7bbcb1eaea5064d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>bf364158f6188e45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>afc0868aacc8dbb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>6c4c0c83346af9e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>0f8190524ba952c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>47e48556a9cda077</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>cf6e675432bc60ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>c997ba920aa81bb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>ddb63425295dab8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>b231d730a2138443</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>e823178c1c962613</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>86804b8f21a02f7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>b9727d766a3abd06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>0216bf1a4989ddd9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>2fc66a86a52ec6f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>6c98eecdcd8c8c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>8db040195f76894f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>3ade648194f6daec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>891a9cb069e1ffb3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>faf0312e50511a4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>391ec96470191ff5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>0aa5903ad3f1d635</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>50527b71bc87dd74</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>f27ba1edbba53a3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>2cbe19f435bea571</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>03b740be560ec44d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>ea80afd67a6759b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>30f87ac3b6e91d07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>cc2d500ff979fe0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending</span></td><td><code>78681a98b1676574</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter.NoOp</span></td><td><code>4e676b84c2db9221</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithoutDrain</span></td><td><code>1c35fc86761df78a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithoutDrain.WithoutActiveRecord</span></td><td><code>a9601fe4f1c04d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>1863bc3b7943bb2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>88eb70c1f7cb268c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>30f02c677c168ffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>9b9d5a9877b725fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>fef9b21649f006c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>7658cf279fcd7eba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>d6e8080c2ac49ca3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>98d826d97325d335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>0f3d60cd71ee55ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>bd4c79016e6c7e59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>51ec572f133baaf7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>f6b5f34a9b4e8f93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>e26a3dcae9eda3d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>0ebfdc52a422a2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>9c1fc9a17d6e668e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>cf872dafa4e005ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>cd56190fcf8cbef5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>7fc8122bae557f2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>d35704c254c6bf65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>30f93c3d785de262</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>c55a41a20be13da8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>1b59827354f09dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>03f49005d185f31e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>8abb20a81cdfe753</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>03da9e9a4baa343b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>ce4febf2d4e7172b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>dd98202dcb516302</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>5c39954e80bc68aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>9507db5376136dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>e3591b410f1beb48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>307c2f6381acad86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>d07ed98e74e119c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>a4f77d0e8c30d8ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>7907cd1700b68712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>d226525d9b1661c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>fc5147fce792870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>fc1194c64d81a8f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>732fca6ba6d7f948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>e1cb50e88c828853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>eced4d043d2746ae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>896ff9ab8ad2a703</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>c1e6064a9dc7eabe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>3b1d460fdb691665</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>2bb25225337712f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>95cadf8bb1c40a5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>1522748b6ede90f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>1a1e99939835b649</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>079c0db350266bf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>803a80b61cf5154e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>2c97aa6a2fcc90d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>d998babb2fab7f80</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>c6d5aecc90f60b77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>c62220dd02fbbe5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>8e991c8f6c61a26b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>4b9ee3e1372d7a3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>3f52678e927adb2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>168bccd0171653ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>007987dfc0108802</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>98d454c731a52565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>e14f2f3fbceefcc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>2905935a56e53005</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>9ae78c658f9fa129</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>f95bda15a3f3fc2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>f56743558df08d26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>94548bcde51ac7c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>51a0379b030a2561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>0f85a678e3b7ce29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>75c93aba20f438fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>de94872b451b3f74</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>a4a99e4dcf919d89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>dd54ea94cb4466d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>5f090acf995bc833</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>611355edd9b41de2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>bc8a17175afd42bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>32d5e0e8182a3358</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>0262af83a3a8b2c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>ee7147093f933eea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>5e5b5a601807bb0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>9c69d7ba808e83bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>6ab7dc033ee53862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>da4f57f00f2339fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>c3f974ecaffb54e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>16794e96c48a9eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>e61de6f9507d0593</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>b52b89cf16c54ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>174b3e561dfe2a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>87928a430c8985ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>a173a333a763c063</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>11f8505cde4d19ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>dc04124901f1b333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>36f5bfa2a412ee72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>4cf7d1fa48e6cd60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>c33dc6b307529852</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>c7d75b957a2f27ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>4ec0d44d8c3eceb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>1ad724fd05690ddc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>0c639151a5005f3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>f4653916b8323a8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>5ff910d53a6f2d0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>758af7bb09f652cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>dc92b4735795f877</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>99796f5e37a26565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>367024ef2f1388a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>38ba3faff880e1c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>04a1eb2c2d2ecfac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>3d4b610c3e192abc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>d05b63f0a6321461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>13bdeb27076fd371</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>e4e08f789ce159e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>190a13afd14a1a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DynamicConstant.Binder</span></td><td><code>547b45ae9714e463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>d3025af78526455a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>17342fbbde9d2477</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>92ca8f7c9f3a40e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>e2bdded87bfab797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>2e2db5fe8cbd8444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>4f15d3f13eccee26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>b9cd319375aeba70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Handle.Binder</span></td><td><code>390591101c305db1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>b6bbe4a67f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>63d345bc80320364</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>0eda7ebdfbc4de97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>0fcc840e92bf2eff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>f816bc17a41fc240</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>e75122d32ab041df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>be3a9057258fb61c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>acdd28af315c12f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>7db979dc52744f1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>007d937d2ad8614a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>98ee5d9e2d9a299b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>22d197c23907be1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>9d58199e821ad9fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ef86cc915aa18bbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>f96ce20b4cd9ae5d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>339866efba024bf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>2a9385611e3f5888</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>6ed32a75bea12174</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>eaf168e8e2de8dac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>6c073455b0742efa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>20e0c2619ab9e596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ec81593288755b57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>7bafc790d8ad6b0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ada1cf9b3e1f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>4d0ee6a3594d3abd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d208c868604ff6a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>9e6fc170da126fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>704241e2b0e40c6e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>4336788f1a965d2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>96b2506c3d21bf91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>a12889e04d303449</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>5388b1bfde68c6c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>94120c4c8cfd03f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>2247e86fa6ac6dbc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>b1150ae5e800b606</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>cda788b56e855a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>b288a1833178dbcf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>fe27de58ed78c6b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>15d4895de92b4326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>b95f03864d242799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>eb758c0eaff4f960</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>b45b3ebe7424172e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>7928b92c7844ad95</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>2a2250e0a308dabf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>55f358a6fd1fba94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>46c017724b6b47f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>c7ca7f485aee94d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>84d3d231c511a9e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>9e6b7175c0b99ca6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>e6636f8b6803b575</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>4605c2533c4f5ada</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>a56d418e26b00881</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>cc44c84f8b41799b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>472b65a54ff6a910</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>2af3bf9709ff88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>6487c36db906419f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>ce7ac6225f44f48a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>6c2a6544c010c696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>f6ad313aeb1817d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa4fc5234c9a7c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>031a5f07b7745997</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>2442be9ad3856ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>4c94266b0a306562</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>fce3bb47777272e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>c68c431573d3f1a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>428ad03e94bc1d66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>823759e238bb495b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>59e14608f0f0fc16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>e6480519ef45eaba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>29f90958ccc2d657</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>7c1a216e338347c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>1753f680b0943b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>9aacb0d7c169551b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>ea32b72ebf5c88ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>a881f26b77892c9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>2fefa241e92a2948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>7b8af1d3e89c08fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>f00028b1416f621c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>357ee9a4f87e5091</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>c329ef00234aa4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>91abf2ef44da98a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>f98aa1935839115a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>85defa2a27116c7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>09ab9f266ba03e77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>a234d10951b906bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>f06a931baef45238</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>76fc57d12696f74f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>0bfc56de38a7304f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>2a359c79b449cd9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>628941f852b053ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>6f4a3b90208f0ec3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>9209f695fbdc9526</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>e3ac7764b945369a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>1424fe72e0998e47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>121fe499dd94549c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>f8080735551b5869</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>de87dd7e2883e9aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>94491a21a3a6198c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>8ccbf89ae42c9c79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>6e29ac5d43cf6bf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>0c2d173352f518aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>f2b0bfd4258f9323</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>b442c91a882c9145</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>229439fc61b9d724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>65263674c3290275</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>5b951c67564a7bbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>16bb480ee9bc8e47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>cb407e29a62800ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>008aecb1de0a03fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>1d0baa61e9c597f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>ecc479943c35ad37</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>35a1fbf9e120aea8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>8ab3379e24c8d19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>7befd3ad928ab6cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>600d8d63f4cc2251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>87af87837374271b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>04a56e4f4f82d5c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>a13399cf408b62c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>6a11f7e01098dfb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>1e8c22b2e17c5f88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>aae69164dd78b1e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>1f940a6dd9fa9613</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>b59c67438c4008d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>c95f2d97c50d769e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>e10261097b62acbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>2b22b0f9e11d2a2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>398d01f869388e91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>6f8b4d3695faa058</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>015bef3b6828cdac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>8eeeb4556b9485c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>f1c175ea33668dcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>84a59a498fb10fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>4ca9c62936b66a24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>f993707f30c5fce2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>e0ba3c2aa14bde78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>4ff86085d0aa4ddf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>1dcf4a6fe509c5b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>7fa32c06737e7231</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>e1f91ccfaffe7652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>ebf3f44b769f4faf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>8051a701eb4b0eed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>5fe0b4fee828d480</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>5840a865f0dcfb51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>4ff35dae9556b998</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>7aafc1f71b81e173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>a033f5a27d0fa2d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>256686863a3e855f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>58709ce964584fa6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader</span></td><td><code>8a59b649de2583f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default</span></td><td><code>fa0b1b24f69493ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.1</span></td><td><code>03c829950d692f4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.2</span></td><td><code>ff7ba2ccbe1277cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.3</span></td><td><code>d8e2a9d1378063fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.4</span></td><td><code>b200bb40f16587c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.5</span></td><td><code>f9eab20e73a925e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.ForAsm</span></td><td><code>c3d16f9e1e03618e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default</span></td><td><code>df7a47693cf75e36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.1</span></td><td><code>d17bf1b9989584cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.2</span></td><td><code>3ebcd096754fad75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.3</span></td><td><code>6d6ee87b0257e85e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.4</span></td><td><code>582d01970af50976</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.5</span></td><td><code>af553c430b6af86a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.EmptyAsmClassReader</span></td><td><code>481bb30e4232c02d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.ForAsm</span></td><td><code>94e2175d9a1aaf7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.FrameComputingClassWriter</span></td><td><code>943f69745cdb7621</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>41fe1faec9b96005</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>5f7232051686a271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>3566d64bbe3006a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>5dff49d0b60b3a07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>20c183e97cdf38cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>d18c769228ec6798</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>870135d683945e69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>11ffe7957b103e25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>fb89d312129d6105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>2a643ad1fb57d7e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>3495a559539ff5e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>a0583349bb66a97c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>e95aa53cbcb417c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>619d3930cae44455</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>9f5631d45e9601e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>ec7e2f5ae4036bb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>3ff776c0c7a05881</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>faa6cd7f5e4cbd85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>e55e160d8d2ebd92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>862b139a62f264a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>1a2ee856ca3b45b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>f5b3814ad34536fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>f1e193453808acbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>67f0615a1253ad61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>a6c239974eefe586</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>56aead9b55055305</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>0c557b09efdf9fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>3dd1c2239bb0bf19</code></td></tr><tr><td><span class="el_class">org.apache.catalina.LifecycleState</span></td><td><code>684cd706c1cd3b5d</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.AuthenticatorBase</span></td><td><code>8eed73c7e0d2b17e</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.AuthenticatorBase.AllowCorsPreflight</span></td><td><code>89a9c295cb347f85</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.NonLoginAuthenticator</span></td><td><code>9041682fdc6755b5</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.LifecycleBase</span></td><td><code>3875906dbae8ac90</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.LifecycleMBeanBase</span></td><td><code>62059aec24e05f4c</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.SessionIdGeneratorBase</span></td><td><code>f8dc298915cca8d4</code></td></tr><tr><td><span class="el_class">org.apache.catalina.valves.ValveBase</span></td><td><code>b51f98b318e0bf59</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter</span></td><td><code>fa34389c084f9a47</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jAdapter</span></td><td><code>b9033e148d420979</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLocationAwareLog</span></td><td><code>e585d6c714383ca8</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLog</span></td><td><code>8fa756849857e785</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogFactory</span></td><td><code>25bbd8b6cba579b0</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.impl.NoOpLog</span></td><td><code>c1962190c5ab9130</code></td></tr><tr><td><span class="el_class">org.apache.juli.logging.DirectJDKLog</span></td><td><code>75c3110e38ba7d73</code></td></tr><tr><td><span class="el_class">org.apache.juli.logging.LogFactory</span></td><td><code>76f3a89c85b1189c</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.ConcurrentDateFormat</span></td><td><code>9027ad282debd267</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.CookieProcessorBase</span></td><td><code>45d2d153673dcb57</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.CookiesWithoutEquals</span></td><td><code>e40aa2f0a7a7d713</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.FastHttpDateFormat</span></td><td><code>3c0f61131f3ddeb1</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.Rfc6265CookieProcessor</span></td><td><code>110468f65344c299</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.SameSiteCookies</span></td><td><code>fbb68e84fd7375c1</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.res.StringManager</span></td><td><code>dde6f15bc8aa4e46</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.res.StringManager.1</span></td><td><code>36eb8f362f5145ca</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>1f915b8ff36e34a3</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>19deee9ffc4e5f95</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>e29fcfdf84a1695e</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCollectionAssert</span></td><td><code>44190e20e5862ea9</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>7a8bf39c22582814</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractDoubleAssert</span></td><td><code>63986707aee25761</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>64d4afdefedeac0a</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIterableAssert</span></td><td><code>92d6f6fdcf41f901</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractListAssert</span></td><td><code>2f65914e38c487b9</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectArrayAssert</span></td><td><code>4b9251124ef736f8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>b794c406be4857e7</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>4f04cf4244494c49</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractThrowableAssert</span></td><td><code>242a81c583c002b8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>af15ad82eb1cd4a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>015a95017c11cbb1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForInterfaceTypes</span></td><td><code>eeda247f588ff144</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.DoubleAssert</span></td><td><code>c1df46003a6fcaed</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.FactoryBasedNavigableListAssert</span></td><td><code>cf01d4c9ffaa6368</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ListAssert</span></td><td><code>2dcbe8e200ebfcb4</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectArrayAssert</span></td><td><code>f33426d7b6b962ad</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ThrowableAssert</span></td><td><code>e91a3d7369c912d8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.data.Offset</span></td><td><code>4f01e15ebfe8b504</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>543f029a329b7766</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>9fcb1f09c849da9e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Arrays</span></td><td><code>3fbd1fe7048fa682</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.CommonValidations</span></td><td><code>d9d0b8eb4a72e411</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>9baff3cf7a28d7f0</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Doubles</span></td><td><code>7fb6aa4f0e1549be</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>8ba67cf50de48759</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.IterableDiff</span></td><td><code>8ed1dc06fb27d8b5</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Iterables</span></td><td><code>f18aa7cfc4213dca</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Lists</span></td><td><code>55dcce999a57dc7e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.ObjectArrays</span></td><td><code>ccf0fc2229700d53</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>4df2f0c084d1fac2</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Predicates</span></td><td><code>049321053006733f</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.RealNumbers</span></td><td><code>166c881849c92316</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>942f113198e5fc93</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Throwables</span></td><td><code>253cf2d20b46167d</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>4da7e4cb2b3f286f</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.IterableUtil</span></td><td><code>f9e2689dc9f9dc4d</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Preconditions</span></td><td><code>718301d7b0d951f1</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>62e300564099c798</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>3d7991cb0119492d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>af72bb8826a6828d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>0bc5b41bc5fd92f5</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>7c275a9943dba162</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>670c8d72a39d27d6</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>e052047f692cb949</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>4c75223a5693afa4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>7c93d17cac3a9550</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>4b0f383cf965c86c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>af09c0eae5fa5ced</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b0f418134c40bf3d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>6ad5ce3fa22109c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector</span></td><td><code>66011962fbed0a65</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>c8ea3545fa32c9b3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>77c2ee9a9fa842b1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.JULRedirector</span></td><td><code>14551eb76b8ecae2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.TestOutputRedirector</span></td><td><code>3bd5f34889305e8d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.TestOutputRedirector.Forwarder</span></td><td><code>d61609d95c6d50d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>5f32a7ab6120753f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>a46705f180b3563a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>e127b3bb672baf7f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>e10b56bac3d27de5</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>b395c3a3085809af</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>23901d25c1e75a58</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>20561e1a5f6db7a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>3d1b5d8baa0a900e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>f44f90cc4c1aac70</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>4860e580b0f8c694</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>c0b64d9e606e6d13</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>062a5d6c320f0d23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>d1bf01c1eff18541</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>680e50b2e35795b4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>925d25f3960ae5eb</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>b93df52c3074c532</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>b8314e777e355f7d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>cc4e0ec7222faee6</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>030c348be1c106a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>903c35047a140ff9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>12a7a3db90dec4e3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>5f28eafb6895d752</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>43acc9e5b3a492ea</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>e2e64c7c8141667f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>3e801af2d608b388</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>e617b5280c0b131e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>4a36b916ba0a65be</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>7991c35593ad107a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.3</span></td><td><code>e70f2f4c49f9854e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>d72ee515504b89e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>bbd5401404e52b1f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>67194db65692ab5d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>82935bb9f2db6b85</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>0f5ffe97fa60f855</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>971f57b98f410335</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>5d8a079ebb58640f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>136c24cb564bd0f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>66b75507cc7e3700</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>f665e273f2a756e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>6219fe05ee4c9468</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>6663ead4c1825a46</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>e2c8064318ed213e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>601a3b84d114befa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>1ba4f1560d8a3753</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>9243acabfced691c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>44c8536611e071b4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>04bcce4325025a96</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>90edc2132a7bd2d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>b114ac6ebd4de8f3</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f0dfe4e42595e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>6a70f9123229323f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>3868cc8d50014a37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>4556096f1c5a9c8e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>913dbea9c5665791</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>60e06107da63f5bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>8cc4a38f8f9f2c24</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6c2167dd01d3a7df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>3b01a06496dac527</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1.2</span></td><td><code>3ac5c626690263b8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>3e453e557ec15489</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>239d6c658f109a99</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>709d06b6d4cada75</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>7701fd550a9f507e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>e9495efc537003de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>5541c31d24227b86</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketBlockingUtil</span></td><td><code>c4937b9849ff6540</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>4a6255ae3fb5a6e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>6bd72dd3a4f955f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>41ab28127ec07333</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>56a19b1a3dd17be0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>da9b573729b690fd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>371e97275eb35dc5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ClassLoaderObjectInputStream</span></td><td><code>81d9f3a2338180d3</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>9b7593104d5f803c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>874be2a480b96af8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>bad970c0192233e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>e6a2be1dd138a272</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceAccessToken</span></td><td><code>552643647739457e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>5b91c2e6d1541db9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>a5957bd6a7e35017</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>a67f4de9fecf4e9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>e14a78fdabafa6a6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>ad51f0e7303e801d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>c53583a3bbee2329</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>c94f704959a77ddb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>5efa06cdad2305e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>adf12b7e82dfb3fd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>00ae876b89fa7714</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>d7eed1a352f0d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>8369f7999f6e2ac7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>d319469c908bc1cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.1</span></td><td><code>cdfec069e7d8ab42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>b653da4aa2ccd9df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>76b519b0b74b53cb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>2eef9987bf419fb4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>ebb3efee7040ae62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods.RelevantMethodsBuilder</span></td><td><code>653e2ed3e283822f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceAccess</span></td><td><code>eae993853cb06bb6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceAccess.1</span></td><td><code>c3b7931689739967</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceRegistryBuilder</span></td><td><code>73d1a49b155b6056</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.TypeStringFormatter</span></td><td><code>8ef195776e72517f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>723fd7c85fffe54b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>79d456cc39bbde3d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>4be788ff9e4278cd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>4397743716cfa5f5</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.2</span></td><td><code>701810a4c2fdd0f8</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>c1b75620f1c49583</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>4c53666c8024a79b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>b7825f369a8ee808</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>69e3f98f4d4b96c1</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>b913cc847f396960</code></td></tr><tr><td><span class="el_class">org.gradle.util.internal.ArrayUtils</span></td><td><code>05a97ebb2e812055</code></td></tr><tr><td><span class="el_class">org.gradle.util.internal.CollectionUtils</span></td><td><code>609c55009e4302e6</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI</span></td><td><code>b5cb112a99fd1b1f</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.1</span></td><td><code>ed80b81835c50e7c</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.2</span></td><td><code>68e7868fb48efa3c</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.ProviderService</span></td><td><code>90fb351bc62eddf9</code></td></tr><tr><td><span class="el_class">org.json.JSON</span></td><td><code>baec6cdb200e359d</code></td></tr><tr><td><span class="el_class">org.json.JSONArray</span></td><td><code>6b86c0cea058a8d1</code></td></tr><tr><td><span class="el_class">org.json.JSONObject</span></td><td><code>ab674655a5f57b72</code></td></tr><tr><td><span class="el_class">org.json.JSONObject.1</span></td><td><code>8c249464b0673518</code></td></tr><tr><td><span class="el_class">org.json.JSONTokener</span></td><td><code>fc4574aa57cb5d24</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>deff63bf156ceca3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>40c095583a68215c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>69adc4629a7c62c3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>c8a76f91a513713b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>41b4fc888bb193ba</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>824d5aabc76a4e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>35e14124a607c6e0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>8d831ad352f87ab7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>bcc2e4ab44e17b2e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>6bb0e34fca45a28d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>3acc2a8cd00cdc3b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstancePreDestroyCallback</span></td><td><code>3ae4d9d89c44523e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstantiationAwareExtension</span></td><td><code>d5a49f6800b8d353</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScope</span></td><td><code>6e3a9cc6a428ea00</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.parallel.ResourceLockTarget</span></td><td><code>20f49ef3bdb2af44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>f0b6a297e815dcfb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>b892bbc7dfc8ad86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>06f480467a0562e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>bab380425dca8d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>e65d7d31aaa3a2de</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>ef85f300c06fc319</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>f83bd05b303f2e97</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>8c76ea912ebc8e3b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>566f81a45336211d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>92e45b48982d1267</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>72bd3ed011f2156b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector</span></td><td><code>9e59e5f50dd288fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector.1</span></td><td><code>987961e6b0aa28c1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>823d2474014ac1e2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>2f8cfb410b246824</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>b8942474281d0efd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>7006cfbadc140c75</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>e411d0414c71c788</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>0aa450dbfc9e2a57</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b89d84d0cd90dd86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.NestedClassTestDescriptor</span></td><td><code>7acc4c6af474562f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ResourceLockAware</span></td><td><code>8ec240daf282d17f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ResourceLockAware.1</span></td><td><code>52432ad72831c98f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>1e4cbf6b087e475e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>84b5dc40c7649bd6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>ff5645302f9397c2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>be018f18c3b28f6c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>1330ea497ba56a79</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1e051655f770a822</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>09e4501fbdba0837</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>f1ea1aa229787830</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>0493a46e2481b698</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>ed69fa74b47a0b77</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>5fc95cf8eb5d4529</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>340dbe384622c6a6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>6f4ca0c4ee096aab</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>583e0bbb7d4367bc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>c2b7a99bcf2bc39b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e887a14400af8049</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>4e4d14c8d2c71bda</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f8f20f6cfb6615ff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>ed6f26e951f98f30</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>05d285431612dbf7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>671448bb3682a8b7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>53d31c5fa4778cc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>db07bccfb8a7df73</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>297677a52a3d5983</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>3bb7965905521dbe</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>f53a3f70cf473b9d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>8974ffb77e1cf465</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>d098f31a49ce3334</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionContextSupplier</span></td><td><code>3e63e7e978332379</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionContextSupplier.ScopeBasedExtensionContextSupplier</span></td><td><code>8f8458fe6e1abea9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>d20695fec27156f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>9d516bbd802c59d5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>22131ce04612244a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>b7b2338a38c29871</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>10e75cb36574e272</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>50163587b45842fe</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>b39a5e63227384a5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>0766343b70481496</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>90f4103d0acb0655</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>bcf4aaea269ea610</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>47931ad50a92c9b4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>5bd806d370f38d3e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.AutoCloseExtension</span></td><td><code>f2e48f709721e627</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a4de69c8615d9071</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>9b67ba9d9cc3e810</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>73caddc109ebb0cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry.Entry</span></td><td><code>8a118dd61bf98337</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>3216eaa4206145b5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>17b864db572f7b24</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>d22797efade7e227</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>5c50f901a1217fcc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>9cfdbec163661e42</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>1e8a45682947503e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>363c8531b5e8d2d4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>e511fb2fd0b67996</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>55f923e7b2426def</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>d1970dd64ce22fa4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Failure</span></td><td><code>2135634bf7e7ad88</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>7b57f78fc724ac54</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>835c9a026ac4df32</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>0487de73fe69c68d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.HierarchyTraversalMode</span></td><td><code>fe8e523d71700b43</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ModifierSupport</span></td><td><code>6755835f8047f29d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>4fcaedcfa00cbbfa</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.scanning.DefaultClasspathScanner</span></td><td><code>263a79805403e736</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>1da637c10cbda39c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>41a8b61339cf4862</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>9f3aa6a5ff6782ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils.FilterType</span></td><td><code>340abe3222474e07</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>76e509e75c23c314</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScannerLoader</span></td><td><code>6a6aa4e17561f7ed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>0e5dbcaba3d286ca</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.LruCache</span></td><td><code>fd8ff40dff05b112</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>99362b29a037afdc</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>221c335b0241c959</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>2eeca2d06f485dae</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ServiceLoaderUtils</span></td><td><code>07e41425050fdc3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>372dfca6fa74c1ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.UnrecoverableExceptions</span></td><td><code>2ffa834710d16849</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>cecade1862d00032</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>ed62b01b8b763511</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>22e0c8566a0701f5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>67b4cd158b6839a0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>699b00b68f81de17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>5f34c4a309c1e549</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>c8d2fba4bb555492</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>1b4753bc794e8388</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>02b8934961bdea6f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>22866b13273482bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>b2a7a63b39095a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>fac0e85d63dae1f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>29479a0ae9db2840</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>9e54a6b249ea167a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>a5ee26b408b26ea1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>03b0ccd7b69c9fc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>455c5b5eb27d1f81</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>7280b4f8064089e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>286b8c9d74183b04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>f65ce617a872a5b6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.NestedClassSelector</span></td><td><code>ba59b7074d62d68a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.NestedMethodSelector</span></td><td><code>af18e9093e0553ef</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>8c338040053d6362</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>61745428914d4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>4ba3237c7e6b18d6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>327c8d16d3e44289</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>fde8e703faa64574</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>4937cdb1a041a120</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>151f6fae99911199</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>a54c0a6dfcbc80f8</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>a5abc6ab8c16132f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>01f5b6aa6fa11d41</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>458b4a4e46b6b868</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>3c16d4dff276f57a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>bd8402e1232e1a40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ba500d6ba9a79953</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>fa0dc5b65de1b0a0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>705f9e9f579aeab0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>599b10c51fe35ea3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>a78f13d5e60b7d08</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>99cdeecddb4ca68b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>3f2ca9c1749a3d5a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>42796aad70055913</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>c8bf7d7bb2e19471</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>c4c004e32fc81aac</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>9048d6cd4a8e05d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>f68790b28827581e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c9f34e2fe83d5caa</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>732ad1771b71d292</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NopLock</span></td><td><code>2234b58e6ffa6ea1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>512f5438a4d56505</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>f0bfd18cc662d7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>a891c129fd2a01df</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>fb95e61bdaf5378c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>a34d604b86522ded</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>158ca2dfb82179f2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>cf599a824eea18cf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>3db67e78dde11925</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>c9df2add13bcb88f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>f767a377012b98ff</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>088911f06a0807a1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>d946f222ae757dc1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>694596eba9b0c85e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>7c8cd75fcab57c6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>21b1404b0fbbf225</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>8add30c852972973</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor</span></td><td><code>5eccb7389634e9dc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>64f16cfa6748d2a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>e481edf014ff4112</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>e7933e8bd0943eff</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>95dfc056bdb1d2d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>b4cd1fb6724efdef</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>e040225d1f67e564</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>bcc6e4bee671ccad</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>aa7b08954aea78f5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>ad86e3da21824262</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>cdc9b7e4e1a576e0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>7b411d218e1aad24</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>5bfd6d820f649520</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>552f6c5833b8f8bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>558a0cd454007c46</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>53cf37d963f8b58c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>b0288378227ce052</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>3de868c9da3c23ca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider</span></td><td><code>a974ceaa9bb70d95</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InterceptingLauncher</span></td><td><code>dd2c0918383aaa66</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>53374a5aa1f47176</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>452edacea5001e83</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>0736e6add61b3334</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>0d0d72b6e503c372</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>64729ce9bd729578</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>4b25c1714dc335ec</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>ba76828012d853d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>52b5b9d7814ff3b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>886f3c723ddb9556</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>0d89b6f56eb4db06</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>09db623827784802</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>bed96f869f90e5d0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>f78f1f3c28a4ad27</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>7fe9373f303770d1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>3840931f19c9d795</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>730ad6d2d5641536</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>fb0dc6251644394e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>771f386239bb3682</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>f6f65efcfd071c8e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>0f855b867dc3eac4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>03bd61ee2a8621d6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>0a9a375bd99ca30a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>408046ed24478736</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>bf2a372dcc5e43f7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>46b8848a888d4d59</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.ArgumentMatchers</span></td><td><code>30453f217beea892</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>c6bfacf92b6f13dc</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.PremainAttach</span></td><td><code>2c55710b3d403cec</code></td></tr><tr><td><span class="el_class">org.mockito.internal.PremainAttachAccess</span></td><td><code>868bee0538961f6a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>072018c08a02e9ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>b07e753f8b4d10a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>b3e304d2e253eac8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>391fcc69ac063d03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>4daaaa2d160cb215</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>3ea0bd6b68949e7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>2e5a8e3521b0d290</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>0c4b020122fedbe3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>1db8cad96c916600</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>ca8092fe743e119f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d1c660410fc1f7ca</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c22f1055be0ba4d7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>5aec1a35f7fcbc57</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>97851b59e4893c98</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>addb759457799176</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.3</span></td><td><code>dbee40635b946f97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>b4c7c55be2a75dcd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>d1fe149222160108</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.access.MockMethodInterceptor</span></td><td><code>7e19a7250dd27860</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>6e3846984f7d9362</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>962892aa849afdfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter</span></td><td><code>3ae97774773f8cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.StackTraceFilter</span></td><td><code>f1e5dd123e555b09</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NotifiedMethodInvocationReport</span></td><td><code>7c3eab83e03245ef</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Any</span></td><td><code>ddca80baaf883a0c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.ArrayEquals</span></td><td><code>27688bbbffae1861</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.InstanceOf</span></td><td><code>5c0eab070e987a7e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.LocalizedMatcher</span></td><td><code>f3da081806496e9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Null</span></td><td><code>4f9e462664504486</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>d9b8becac423331b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>6fc98009157aaa61</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.AbstractThrowsException</span></td><td><code>4d8774faf570ee8b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.ThrowsException</span></td><td><code>d5453a6546fff054</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>f6ec54a756328702</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Platform</span></td><td><code>6c061a17b8fd556f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>9acdfdf63f655b49</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.TypeVarBoundedType</span></td><td><code>b7f4d58732c20401</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.TypeVariableReturnType</span></td><td><code>6d8641bfb4e9554b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>00b247ec3e952710</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>e3db9768ffa5382e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONCompare</span></td><td><code>ef55a31e1ab7a7a8</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONCompareMode</span></td><td><code>86a7b067c9d2e14b</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONCompareResult</span></td><td><code>5a5ceec52697a148</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONParser</span></td><td><code>02d0f2acde226b21</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.AbstractComparator</span></td><td><code>75a904013e1a9240</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.DefaultComparator</span></td><td><code>b0ff5ae013f0467d</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.JSONCompareUtil</span></td><td><code>70528d2a44a76ba8</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>45630a2ef9211bd2</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.MDC</span></td><td><code>21c0421f945a1458</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>d6cd7ee9df5a30bd</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMDCAdapter</span></td><td><code>354fafb117483fdb</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMDCAdapter.1</span></td><td><code>8f0671fb507009fb</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMarkerFactory</span></td><td><code>d8e0b7e9d11b515c</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.FormattingTuple</span></td><td><code>f769e1b68746078d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.MessageFormatter</span></td><td><code>e2bc58b82ebe1d3d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>eaf704972ef7000c</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPMDCAdapter</span></td><td><code>d816a97d0b663014</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOP_FallbackServiceProvider</span></td><td><code>44c4aa253bad3620</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NormalizedParameters</span></td><td><code>d9375a4f0639bb9b</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter</span></td><td><code>c9b912a7116daa87</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter.Level</span></td><td><code>07530b930aa1c996</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter.TargetChoice</span></td><td><code>0aa347cd82827a6b</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>2c5fb1b0f92b644d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteServiceProvider</span></td><td><code>c99ff2d1c9be6145</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.ThreadLocalMapOfStacks</span></td><td><code>2b24a935616f8730</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>859d67cf0632e467</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.config.AopConfigUtils</span></td><td><code>dc2406c5c7f1c309</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.AopProxyUtils</span></td><td><code>fd238f0c45f8ca81</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyConfig</span></td><td><code>046e0ccf914756ab</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyProcessorSupport</span></td><td><code>7b71ec99c23a376b</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.AfterReturningAdviceAdapter</span></td><td><code>6abfed33ff4c5b6e</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.DefaultAdvisorAdapterRegistry</span></td><td><code>fd642985e12c9bba</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry</span></td><td><code>09e53cd2688e1831</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.MethodBeforeAdviceAdapter</span></td><td><code>f111934ff5f47ecf</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.ThrowsAdviceAdapter</span></td><td><code>290e502e807701b4</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator</span></td><td><code>a81cdf6693915cf0</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.BeanFactoryAdvisorRetrievalHelperAdapter</span></td><td><code>c6ed514794426367</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator</span></td><td><code>3d66b86b9e6249c5</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AutoProxyUtils</span></td><td><code>1f0bc8550bf738b9</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper</span></td><td><code>334526cd60eeb268</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.InfrastructureAdvisorAutoProxyCreator</span></td><td><code>b8410eff751f4d4f</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.ProxyCreationContext</span></td><td><code>cfff65fe25ed38d4</code></td></tr><tr><td><span class="el_class">org.springframework.aop.scope.ScopedProxyUtils</span></td><td><code>3bc9f715319211dd</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>a497982af006e8fb</code></td></tr><tr><td><span class="el_class">org.springframework.aot.AotDetector</span></td><td><code>4635a301958e4232</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationVisitor</span></td><td><code>7cd8085ad48926af</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationWriter</span></td><td><code>bee8f1d943b771e8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Attribute</span></td><td><code>3e26791a4406efb6</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ByteVector</span></td><td><code>ce4426882f90df15</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassReader</span></td><td><code>0049948586e8069a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassVisitor</span></td><td><code>f5bb070a94fa23b8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassWriter</span></td><td><code>87acc5fb7fe11d7a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Context</span></td><td><code>2cb0abbc1d58c706</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Edge</span></td><td><code>79a3093b5873a990</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldVisitor</span></td><td><code>4488261805ec6571</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldWriter</span></td><td><code>31ece5a352ed31a8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Frame</span></td><td><code>d26d36e9c0da622e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Handler</span></td><td><code>c9bd3107887537d4</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Label</span></td><td><code>22110112ef9752b2</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodVisitor</span></td><td><code>6cb8627353fd92c5</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodWriter</span></td><td><code>4797b2b72b9c49b7</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Symbol</span></td><td><code>2ad054b9376ccb47</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable</span></td><td><code>38c1ca65ba629f7e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable.Entry</span></td><td><code>4af5196663fdd021</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Type</span></td><td><code>6c8e051b639447a6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor</span></td><td><code>3a0af01e2fb71432</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyHandler</span></td><td><code>ad1b6f008d65d0e6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyTokenHolder</span></td><td><code>6cb95c3cfe094efb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractPropertyAccessor</span></td><td><code>6260ca73bd186596</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttribute</span></td><td><code>50245b7faa6543cc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttributeAccessor</span></td><td><code>83d9337cf3ce1579</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanUtils</span></td><td><code>597947c5172c11d2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl</span></td><td><code>e199f0c493eb9458</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler</span></td><td><code>8f60bac18b647df7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeansException</span></td><td><code>64c49968d01e3233</code></td></tr><tr><td><span class="el_class">org.springframework.beans.CachedIntrospectionResults</span></td><td><code>bfd3a95a8945baac</code></td></tr><tr><td><span class="el_class">org.springframework.beans.FatalBeanException</span></td><td><code>035b9b27f2335bd2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.GenericTypeAwarePropertyDescriptor</span></td><td><code>c9836e195a701735</code></td></tr><tr><td><span class="el_class">org.springframework.beans.MutablePropertyValues</span></td><td><code>a5482b47bb3debec</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessException</span></td><td><code>b1e5c1fe1bb8c212</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessorFactory</span></td><td><code>de21b492d0cae972</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessorUtils</span></td><td><code>7ebd128673078a28</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyDescriptorUtils</span></td><td><code>12c307596a8e864c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyDescriptorUtils.BasicPropertyDescriptor</span></td><td><code>ac0e87cb7c6b928a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyEditorRegistrySupport</span></td><td><code>893baff9fed5adbb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyValue</span></td><td><code>6fac5f2f4da80b97</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleBeanInfoFactory</span></td><td><code>744fccd02df3c5fa</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleBeanInfoFactory.1</span></td><td><code>47904bfcc5cd7209</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleTypeConverter</span></td><td><code>aedbd151ea000af6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterDelegate</span></td><td><code>b20006c883a0557c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterSupport</span></td><td><code>6ba587b8cdfbed62</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeMismatchException</span></td><td><code>b8d9892b3178354a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanCreationException</span></td><td><code>952dcdbd661ba671</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanCurrentlyInCreationException</span></td><td><code>0fb6a2c742f4e656</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanFactoryUtils</span></td><td><code>d8307853ff536896</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.FactoryBean</span></td><td><code>3a94f6c2640b7c2f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.InjectionPoint</span></td><td><code>367976cf2192565a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.NoSuchBeanDefinitionException</span></td><td><code>7a6fbf7f67610a99</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.ObjectProvider</span></td><td><code>78c40546223be842</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.UnsatisfiedDependencyException</span></td><td><code>b19b9d6a6818eed7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition</span></td><td><code>38abcd3eb58a4b7c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor</span></td><td><code>831171a05aa94468</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredElement</span></td><td><code>947739d84c1aef26</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredFieldElement</span></td><td><code>0fc2d00e57809db8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredMethodElement</span></td><td><code>52474bd9fae89dba</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.ShortcutDependencyDescriptor</span></td><td><code>f5d049716d0b9e1a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils</span></td><td><code>337ac45145287707</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor</span></td><td><code>01ebc14ff8a29edf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.1</span></td><td><code>fc71b6ca5b0a238b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.LifecycleMetadata</span></td><td><code>1ad4ba22b0d77685</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata</span></td><td><code>e3eb3413dae89ef9</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata.1</span></td><td><code>81faf771c1e9995e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement</span></td><td><code>77e203610874e846</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver</span></td><td><code>ea0224c14c77e605</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.AutowiredPropertyMarker</span></td><td><code>b71f58083542c4c0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionHolder</span></td><td><code>acf04ae778780ae1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionVisitor</span></td><td><code>9eb1ee6d26dedd43</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanExpressionContext</span></td><td><code>e193188cb665e818</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanPostProcessor</span></td><td><code>addce00a99d090e8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues</span></td><td><code>02eee20e5f8fa1fb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder</span></td><td><code>5ae56fe0ff931ce8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor</span></td><td><code>c9a23d73d244ad5b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor.1</span></td><td><code>32badf06238740a3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.EmbeddedValueResolver</span></td><td><code>499c71d0b8d2e356</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor</span></td><td><code>ef77b1e4f3395e4b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.NamedBeanHolder</span></td><td><code>6b38a4b3884daf71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PlaceholderConfigurerSupport</span></td><td><code>2fabee17a7f1d0d3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PropertyResourceConfigurer</span></td><td><code>d319f95dfb15e64f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.RuntimeBeanReference</span></td><td><code>d43b2a320c1e1635</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor</span></td><td><code>afe0c56293b6b1c0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.EmptyReaderEventListener</span></td><td><code>0a280bc22d51f5a8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.FailFastProblemReporter</span></td><td><code>69e052e0b35b4059</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.NullSourceExtractor</span></td><td><code>9972033eb258cbac</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.PassThroughSourceExtractor</span></td><td><code>d5e275c912c671db</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory</span></td><td><code>4c3fc52f287bae5e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinition</span></td><td><code>911dd104f06e5fe3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinitionReader</span></td><td><code>e0c671d74f68b2bb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory</span></td><td><code>89ee22e31ae9a1f5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanFactoryDefaultEditorRegistrar</span></td><td><code>4447ad48187c3270</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCache</span></td><td><code>468301d24d14651a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCacheAwareList</span></td><td><code>5e6a27626846e486</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AutowireCandidateResolver</span></td><td><code>9e73836c814554f7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AutowireUtils</span></td><td><code>f959e2a38413f820</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionBuilder</span></td><td><code>6bb35af4380872ec</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionDefaults</span></td><td><code>f2d7d12e3f069c91</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionReaderUtils</span></td><td><code>72a0ef56b6a39b04</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionValueResolver</span></td><td><code>56b2b7bc211ab624</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy</span></td><td><code>98d58895ccc477d0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver</span></td><td><code>1b50ceb6bcadec7b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ArgumentsHolder</span></td><td><code>cb13c2ea0f6bcdf5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ConstructorDependencyDescriptor</span></td><td><code>aadae36cd774114d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultBeanNameGenerator</span></td><td><code>c2596b38b7107e71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory</span></td><td><code>8d4eb88ca85320e5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.1</span></td><td><code>5550b1b7adddf7c1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.3</span></td><td><code>6bd1c8e3f37daa50</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider</span></td><td><code>cb7d4bd4e724b789</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider.2</span></td><td><code>5805d1e49c9503be</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider.3</span></td><td><code>dd81151a931854f5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.FactoryAwareOrderSourceProvider</span></td><td><code>11bbca432c7debfe</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.MultiElementDescriptor</span></td><td><code>1b4bdc3f1d6d0048</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.NestedDependencyDescriptor</span></td><td><code>d0ef3f33ac285a06</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstantiation</span></td><td><code>12b66480135a5bd2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.StreamDependencyDescriptor</span></td><td><code>6ec0e4ada6551e3c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultSingletonBeanRegistry</span></td><td><code>7f791ada107abf97</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DisposableBeanAdapter</span></td><td><code>b01f79dbb2de166a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.FactoryBeanRegistrySupport</span></td><td><code>8b9fd7dc45fa7663</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericBeanDefinition</span></td><td><code>e2717ab28b283efe</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver</span></td><td><code>f01d81248857b161</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.InstantiationStrategy</span></td><td><code>9411177577c2df54</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor</span></td><td><code>74c27669b3ca5971</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MethodDescriptor</span></td><td><code>71a76619305617fa</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MethodOverrides</span></td><td><code>8f99f23b814da8f2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.NullBean</span></td><td><code>0d8a03459e3c672d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.RootBeanDefinition</span></td><td><code>33b83a145b6ef747</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleAutowireCandidateResolver</span></td><td><code>a8da1428caefcaeb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleInstantiationStrategy</span></td><td><code>2dc6e7eeb1e81d38</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.DefaultDocumentLoader</span></td><td><code>17b7b389a9b5f1df</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.XmlBeanDefinitionReader</span></td><td><code>ef7a54a13ff650fb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ByteArrayPropertyEditor</span></td><td><code>54fa24b2e2c56daf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharArrayPropertyEditor</span></td><td><code>0e6175e8e09d4d38</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharacterEditor</span></td><td><code>e1680e0598f36730</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharsetEditor</span></td><td><code>c67de0ec5c4e5163</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassArrayEditor</span></td><td><code>39580969b8b08b73</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassEditor</span></td><td><code>177e74bacc4700af</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CurrencyEditor</span></td><td><code>69e7d92cb56ab106</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomBooleanEditor</span></td><td><code>366eb60a09787773</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomCollectionEditor</span></td><td><code>89b13cda7e096920</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomMapEditor</span></td><td><code>f48e6c8020e88a37</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomNumberEditor</span></td><td><code>4f6dd59baa7919c5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.FileEditor</span></td><td><code>e12e1135515e0a9d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputSourceEditor</span></td><td><code>86a125686f5cb314</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputStreamEditor</span></td><td><code>6eeb9774b19ea234</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.LocaleEditor</span></td><td><code>b40748757650bc9d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PathEditor</span></td><td><code>5e975e1c9c88a719</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PatternEditor</span></td><td><code>01bc23618d18afb5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PropertiesEditor</span></td><td><code>1d75bdcd78f1430b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ReaderEditor</span></td><td><code>5d64f109729862b8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.StringArrayPropertyEditor</span></td><td><code>fdc7e638fe99ffcf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.TimeZoneEditor</span></td><td><code>51c3b4c804135610</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URIEditor</span></td><td><code>b9c6ce26adedd40d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URLEditor</span></td><td><code>69ed1c4d1f06b04f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.UUIDEditor</span></td><td><code>c5e7e7c795351411</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ZoneIdEditor</span></td><td><code>c0bf4f9fb30e3b62</code></td></tr><tr><td><span class="el_class">org.springframework.beans.support.ResourceEditorRegistrar</span></td><td><code>f0b125cc06148640</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationContextFactory</span></td><td><code>e1850f9cdbe9eae6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationInfoPropertySource</span></td><td><code>92de4cc95e21cb40</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationProperties</span></td><td><code>d74bed52647afad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.Banner.Mode</span></td><td><code>2a267b9cd9ce680a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader</span></td><td><code>ad9736179c13eb66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader.ClassExcludeFilter</span></td><td><code>5c079e0dd609ad80</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapContextClosedEvent</span></td><td><code>e055020635c56dc7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier</span></td><td><code>f637b700e22c4fbb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier.1</span></td><td><code>aae0079530cb26c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.Scope</span></td><td><code>8ceffb50d68185cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ClearCachesApplicationListener</span></td><td><code>89b56d975144f51d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments</span></td><td><code>cc9af9fb55c6b373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments.Source</span></td><td><code>7ee81b353b0723d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationContextFactory</span></td><td><code>615be8fa1113dec9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultBootstrapContext</span></td><td><code>4c62450e22544a91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultPropertiesPropertySource</span></td><td><code>8c7633da6aaf8fe5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.EnvironmentConverter</span></td><td><code>0873654b8a7e654d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.LazyInitializationExcludeFilter</span></td><td><code>52a526516b4021f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication</span></td><td><code>6a929081c885d30a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.FactoryAwareOrderSourceProvider</span></td><td><code>fcb1a30699a8d595</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.PropertySourceOrderingBeanFactoryPostProcessor</span></td><td><code>b7994d922054373e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.StandardStartup</span></td><td><code>2796120ce639f5f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.Startup</span></td><td><code>4c5c03aac3292062</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter</span></td><td><code>a3fcd6f62176bd97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter.PrintedBanner</span></td><td><code>22d0ffc3506fee6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationRunListener</span></td><td><code>573f850269cb87db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationRunListeners</span></td><td><code>e48263ed2e475889</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook</span></td><td><code>a5671412cc7d26d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.ApplicationContextClosedListener</span></td><td><code>80a178d8f1f5859f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.Handler</span></td><td><code>930424807a381f46</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.Handlers</span></td><td><code>bf7019775342779c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootBanner</span></td><td><code>29d70ec25710b14a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootVersion</span></td><td><code>2e72fcfd109f05fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.StartupInfoLogger</span></td><td><code>83b093245eadb60d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.WebApplicationType</span></td><td><code>31092b375c45624f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.OnEndpointElementCondition</span></td><td><code>4e510d14311242ff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration</span></td><td><code>4cbd38752f028f9d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration.ProbesCondition</span></td><td><code>a9fd62e8b8ca9104</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryEndpointExposureOutcomeContributor</span></td><td><code>47e544ba95481c19</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration</span></td><td><code>bc9df2a5442a653e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.EndpointIdTimeToLivePropertyFunction</span></td><td><code>9afe93193294074e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.PropertiesEndpointAccessResolver</span></td><td><code>212608534736992c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition</span></td><td><code>962f9593fd39f251</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition.StandardExposureOutcomeContributor</span></td><td><code>79491718afedfc62</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure</span></td><td><code>eca69cafbe135a98</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter</span></td><td><code>c0aed97780b45fcb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter.EndpointPatterns</span></td><td><code>324a988a626646e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration</span></td><td><code>1188878cf4a67c92</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties</span></td><td><code>df02c9bea1bd4cde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.MappingWebEndpointPathMapper</span></td><td><code>0a546bb96188ac81</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration</span></td><td><code>3be22fbc4ae58095</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration.WebMvcServletEndpointManagementContextConfiguration</span></td><td><code>888812c504aab718</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration</span></td><td><code>2e4fbd7f2e458031</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration.WebEndpointServletConfiguration</span></td><td><code>6b4903da1604b709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties</span></td><td><code>4e3b9aa1a47bff25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties.Discovery</span></td><td><code>0db631f5e92a6bea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties.Exposure</span></td><td><code>333888b056d7b0ab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration</span></td><td><code>fd08afd45ca154a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration.EndpointObjectMapperWebMvcConfigurer</span></td><td><code>ac936110b40f15d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthContributorRegistry</span></td><td><code>415fb1647dd48104</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthEndpointGroup</span></td><td><code>c0f14e0c99ec7448</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthEndpointGroups</span></td><td><code>d0e7d398e75a721c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration</span></td><td><code>c0369a8e2ab50d98</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration</span></td><td><code>6c76afe8274cf71f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration</span></td><td><code>fe9b789c183a8d04</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator</span></td><td><code>d9710619af7fad2b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupsBeanPostProcessor</span></td><td><code>33679f1492b4c1f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties</span></td><td><code>0016cd15f7055246</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties.Logging</span></td><td><code>7fbbfc37d98fb8b2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointWebExtensionConfiguration</span></td><td><code>56ff1c9d11115a59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointWebExtensionConfiguration.MvcAdditionalHealthEndpointPathsConfiguration</span></td><td><code>afba2e5a59bbade3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthProperties</span></td><td><code>1fd186e0a769c215</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthProperties.Status</span></td><td><code>5a0ed22c95c81a94</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.OnEnabledHealthIndicatorCondition</span></td><td><code>118a0a0ddb41fff0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration</span></td><td><code>f634637970c0fa3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorFallback</span></td><td><code>781e393ee9541e6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties</span></td><td><code>85857a563fe87515</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties.Git</span></td><td><code>c4a2ab509c0a7d90</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.OnEnabledInfoContributorCondition</span></td><td><code>c3f5b8091936465c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.AutoTimeProperties</span></td><td><code>62bf21607bbfe187</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration</span></td><td><code>cc7a00aabb488678</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryConfiguration.MultipleNonPrimaryMeterRegistriesCondition</span></td><td><code>edc1743b2bff95d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.JvmMetricsAutoConfiguration</span></td><td><code>c52cb42b5631dcde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration</span></td><td><code>e2191ab52ebaf1c2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration.LogbackLoggingCondition</span></td><td><code>a386bd4faead455c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryPostProcessor</span></td><td><code>0344033e22aece45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryPostProcessor.CompositeMeterRegistries</span></td><td><code>43ad5d1e4b63956c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration</span></td><td><code>4e312634cfe5239b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration.MeterRegistryCloser</span></td><td><code>5d5e87dd46fefbbc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties</span></td><td><code>738e32a422ea0d61</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Data</span></td><td><code>94a34a602fb40234</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Data.Repository</span></td><td><code>52414b955848be5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Distribution</span></td><td><code>3e793b85941868af</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.System</span></td><td><code>dd5798209baac6ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.System.Diskspace</span></td><td><code>c0e662d17fa96fe7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web</span></td><td><code>01c718c8434c48b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Client</span></td><td><code>c9bf0f64e503e825</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Server</span></td><td><code>f3fa6923d616270c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter</span></td><td><code>27b0a450ee15055a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.PropertiesMeterFilter</span></td><td><code>31382f6d8e3c187d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.PropertiesMeterFilter.1</span></td><td><code>a6afb6b3a679e195</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration</span></td><td><code>3b79ae6e64f513bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.OnMetricsExportEnabledCondition</span></td><td><code>3dedc4c627f9b4c1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.properties.PropertiesConfigAdapter</span></td><td><code>d303bd7386679ce0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration</span></td><td><code>56742d6fb77b1dfc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleProperties</span></td><td><code>e3b0a579cb7f0808</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimplePropertiesConfigAdapter</span></td><td><code>b60a998202a42c84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration</span></td><td><code>43be996a489b0742</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.startup.StartupTimeMetricsListenerAutoConfiguration</span></td><td><code>b411f14cb5599510</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration</span></td><td><code>f836037a7508a59e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration</span></td><td><code>5abac888c9706759</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration</span></td><td><code>20af75d82e132390</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.MeterObservationHandlerConfiguration</span></td><td><code>06714507d5008881</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.MeterObservationHandlerConfiguration.OnlyMetricsMeterObservationHandlerConfiguration</span></td><td><code>9463347ce5a29196</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.OnlyMetricsConfiguration</span></td><td><code>bceb8140a6746f54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationHandlerGrouping</span></td><td><code>c041e6254d1ef239</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties</span></td><td><code>560ec78843c5d88d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http</span></td><td><code>f9cd5a3d9035e563</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Client</span></td><td><code>1d71deda6729a985</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Client.ClientRequests</span></td><td><code>d9259890b2c067dd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Server</span></td><td><code>c365f2c9ee27018d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Server.ServerRequests</span></td><td><code>e660b1bb3a589611</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.LongTaskTimer</span></td><td><code>967f28b583f8d4e2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationRegistryConfigurer</span></td><td><code>6d0b8d67cad05f19</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationRegistryPostProcessor</span></td><td><code>67d378c4483ecb21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.PropertiesObservationFilterPredicate</span></td><td><code>f0ae2974266ec5ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration</span></td><td><code>cd92153ef50d0b6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration.MeterFilterConfiguration</span></td><td><code>82af19612cb19082</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.RestClientObservationConfiguration</span></td><td><code>76de349de7f3bf65</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.RestTemplateObservationConfiguration</span></td><td><code>fcfb7f1bb496c30c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration</span></td><td><code>c2cfda7fe2a63c8a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration.MeterFilterConfiguration</span></td><td><code>b56ae5fc13e05a95</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration</span></td><td><code>4bfb13f2ce99a9b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration.ObservabilitySchedulingConfigurer</span></td><td><code>cf1d22e536999a48</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslHealthContributorAutoConfiguration</span></td><td><code>179a6350f7e8b513</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslHealthIndicatorProperties</span></td><td><code>29eb4bc0777d8dad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslMeterBinder</span></td><td><code>02f79da43fdabbe0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslMeterBinder.BundleMetrics</span></td><td><code>fed0ae5f30c5f379</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslObservabilityAutoConfiguration</span></td><td><code>7dc6a56fda2b586c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration.ApplicationStartupCondition</span></td><td><code>20823c68cc819295</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration</span></td><td><code>f334192e94fa9821</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthIndicatorProperties</span></td><td><code>a7d1d2a5eebb5931</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.LogCorrelationEnvironmentPostProcessor</span></td><td><code>ee8b0d4dbeb33462</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryEventPublisherBeansApplicationListener</span></td><td><code>e038b74293c709e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryEventPublisherBeansTestExecutionListener</span></td><td><code>89df4f04e39e1522</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.ManagementContextFactory</span></td><td><code>a198f3730e3d674d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.ManagementContextType</span></td><td><code>d77b58c6d1caa85e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration</span></td><td><code>54cd136da4ca0a34</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.LocalManagementPortPropertySource</span></td><td><code>556d2ded3df8d6d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.SameManagementContextConfiguration</span></td><td><code>c3d10dfd517d2551</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.SameManagementContextConfiguration.EnableSameManagementContextConfiguration</span></td><td><code>92591aefb5c3b38a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextConfigurationImportSelector</span></td><td><code>9b3a2a6f296e466f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextConfigurationImportSelector.ManagementConfiguration</span></td><td><code>65d69b5d9d2957f3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType</span></td><td><code>0c9b0aa6785d5f8d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties</span></td><td><code>c86ac4c6810d7cfd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Accesslog</span></td><td><code>edaf0ec513793ed3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Jetty</span></td><td><code>49eb216e123b0261</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Tomcat</span></td><td><code>af9e40c336012e41</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Undertow</span></td><td><code>b9b2efe891dbf6d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.OnManagementPortCondition</span></td><td><code>38c0731b12955045</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration</span></td><td><code>9381f0caa2f9592c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.AbstractExposableEndpoint</span></td><td><code>51ebc7800041df45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Access</span></td><td><code>41e8eddabfc73624</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.ApiVersion</span></td><td><code>837d296fd0a530d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.EndpointId</span></td><td><code>d9c1e1a918813a0c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.InvocationContext</span></td><td><code>f6e3b086e99a48cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationArgumentResolver</span></td><td><code>64d82d8b6046fd9a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationArgumentResolver.1</span></td><td><code>9ebec30ead0d0e30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationFilter</span></td><td><code>0cd7435fdc948684</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationFilter.1</span></td><td><code>dd06df03bdc6c486</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationType</span></td><td><code>df672e7d11fb3c5c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Producible</span></td><td><code>0ac7316da6d93ad1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.ProducibleOperationArgumentResolver</span></td><td><code>de0dfe99afdad85f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Show</span></td><td><code>383eda0b61a59e76</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Show.1</span></td><td><code>773fbb7229bf0631</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredEndpoint</span></td><td><code>56b5af43e4542075</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation</span></td><td><code>4d12315441fe2ee6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationMethod</span></td><td><code>2baf42cdc177fda1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationsFactory</span></td><td><code>7a13dc54588419e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscovererEndpointFilter</span></td><td><code>f720c3f21757abb9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer</span></td><td><code>2aa9218ac7ffeafd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.1</span></td><td><code>285e6c905301221e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.EndpointBean</span></td><td><code>f7354e9419eab480</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.ExtensionBean</span></td><td><code>21824e54deafedc6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.OperationKey</span></td><td><code>2ae912ca64d3d5f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.Selector.Match</span></td><td><code>20c9715c83442202</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper</span></td><td><code>d507269ac13207d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper</span></td><td><code>025cd98614d0a2d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethod</span></td><td><code>45020efcbe123019</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethodParameter</span></td><td><code>b19587d410b8a753</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethodParameters</span></td><td><code>725a4df46768dd59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker</span></td><td><code>55511255404ae357</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker</span></td><td><code>52bbb908062d6d16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker.CacheKey</span></td><td><code>5fafd85304308633</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor</span></td><td><code>84c4cf59aaecc5b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver</span></td><td><code>3ca9e0a1a0e833e9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointMapping</span></td><td><code>9ff5aa3002a71dfe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes</span></td><td><code>32170a9566191e74</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints</span></td><td><code>e494c12d8ad38ad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.PathMapper</span></td><td><code>2c427052311ebb86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar</span></td><td><code>f7a8755d378d0c5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebEndpointHttpMethod</span></td><td><code>5e97906afd600a06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebEndpointResponse</span></td><td><code>5dfb271021df1ada</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebOperationRequestPredicate</span></td><td><code>fc9c44e517bf08df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebServerNamespace</span></td><td><code>f58c5743ff81425f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer</span></td><td><code>3800adef0256fd92</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredWebEndpoint</span></td><td><code>abc0c8cdd534ae16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredWebOperation</span></td><td><code>ec6cc8436ab16eb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.RequestPredicateFactory</span></td><td><code>588eba1f90b71c01</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer</span></td><td><code>b2f8dc0f60d1e5c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer</span></td><td><code>ba98bca7f523e0bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointFilter</span></td><td><code>d4b93aa0282c437b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping</span></td><td><code>a3e8cb2ee1f40b84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler</span></td><td><code>1be48a5db793bd5c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.ServletSecurityContext</span></td><td><code>642a49ae3db627ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.ServletWebOperationAdapter</span></td><td><code>b9d94d23dd089062</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.WebMvcEndpointHandlerMethod</span></td><td><code>f1e23c083cb9d8cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AdditionalHealthEndpointPathsWebMvcHandlerMapping</span></td><td><code>4246c037a0370ac7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.ControllerEndpointHandlerMapping</span></td><td><code>3075e9e3faa0f292</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.SkipPathExtensionContentNegotiation</span></td><td><code>b19727ee96bc0617</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping</span></td><td><code>5ea19573563ed1c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.WebMvcLinksHandler</span></td><td><code>712c838b88682bd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.AbstractHealthIndicator</span></td><td><code>197c5d6409a3e17e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.CompositeHealth</span></td><td><code>b2ae2f1fc612a40e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultContributorRegistry</span></td><td><code>717e1592d60e07bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultContributorRegistry.1</span></td><td><code>004bffebf224a419</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultHealthContributorRegistry</span></td><td><code>ddf009bb1087146e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Health</span></td><td><code>1f615d421b073324</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Health.Builder</span></td><td><code>9071f4a0a0767e6e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthComponent</span></td><td><code>a2604c9d2635920c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthContributorNameFactory</span></td><td><code>f18619145c68d726</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpoint</span></td><td><code>8e7e602366760865</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointGroups</span></td><td><code>5d09568899f2a1b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointSupport</span></td><td><code>019132003f77cb3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult</span></td><td><code>90dd8d84fb308ee7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointWebExtension</span></td><td><code>2b4d8e6437a43787</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthIndicator</span></td><td><code>96106c281b525f0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.NamedContributor</span></td><td><code>c5ff21e24b9f5ee4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.NamedContributor.1</span></td><td><code>490d796c7752c55a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.PingHealthIndicator</span></td><td><code>79cbf4852d0bd341</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper</span></td><td><code>a2af8c90da38350e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleStatusAggregator</span></td><td><code>c779a5cbeb027f1d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleStatusAggregator.StatusComparator</span></td><td><code>6a6548dbe61e7897</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Status</span></td><td><code>0464ac71a7de1373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SystemHealth</span></td><td><code>ee60c27aaef464ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.info.InfoPropertiesInfoContributor.Mode</span></td><td><code>b2336956d2134516</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener</span></td><td><code>734b24e08e43f374</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.system.DiskSpaceMetricsBinder</span></td><td><code>e5fc58dc7dd7490b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.client.ObservationRestClientCustomizer</span></td><td><code>1de6676763360d1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.client.ObservationRestTemplateCustomizer</span></td><td><code>141204cd6ee67f6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.tomcat.TomcatMetricsBinder</span></td><td><code>f680d1190aa91349</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.ssl.SslHealthIndicator</span></td><td><code>74c6bd67b7d71a86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.system.DiskSpaceHealthIndicator</span></td><td><code>b4b0dd879e777559</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiColor</span></td><td><code>c4234d10dec80a6d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput</span></td><td><code>c128dbace1d0d569</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput.Enabled</span></td><td><code>3f47a8bc0bc43480</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiStyle</span></td><td><code>dd7fb15f8c82ad29</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationExcludeFilter</span></td><td><code>4cb29015b70b0bd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportEvent</span></td><td><code>3c0e64924a4a0594</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector</span></td><td><code>4a9662a8d6d9cf30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationEntry</span></td><td><code>3df6d6bb6e222fd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationGroup</span></td><td><code>51abea0027d67785</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.ConfigurationClassFilter</span></td><td><code>dd4dacc1b8591998</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader</span></td><td><code>45ab32025b2c7a99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader.PropertiesAutoConfigurationMetadata</span></td><td><code>836e01b7b742a8ff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages</span></td><td><code>2ead11e1dbcf9b97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.BasePackages</span></td><td><code>c4d60fc5eaeb8dbd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.PackageImports</span></td><td><code>2adb7c4cb1f2805b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.Registrar</span></td><td><code>519e0d15110cac1f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationReplacements</span></td><td><code>f943ef6b57a68602</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter</span></td><td><code>f7f39efe2063c7d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClass</span></td><td><code>9bc502756f010528</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClasses</span></td><td><code>d8331f0fa731581c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer</span></td><td><code>168d4239275010c5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.1</span></td><td><code>c66764cf1a4547a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.CharsetInitializer</span></td><td><code>12e5bdd650945ced</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ConversionServiceInitializer</span></td><td><code>7e1007e1a64b3184</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.JdkInitializer</span></td><td><code>312b829d8d1662fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.MessageConverterInitializer</span></td><td><code>9431ccc18c6ec0a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.TomcatInitializer</span></td><td><code>f0a7eac05731575a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ValidationInitializer</span></td><td><code>e5a55927b400e1ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ImportAutoConfigurationImportSelector</span></td><td><code>1f74b31b7f140353</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer</span></td><td><code>2266791480c91d31</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.CachingMetadataReaderFactoryPostProcessor</span></td><td><code>e8a9ec23125d311d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.SharedMetadataReaderFactoryBean</span></td><td><code>ac80d392efbfdaa3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration</span></td><td><code>0997ba8e4ec92173</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration.ClassProxyingConfiguration</span></td><td><code>84266ebb03bd9607</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration</span></td><td><code>b56e8303fd6b83d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheConfigurationImportSelector</span></td><td><code>824de6f41ed6b619</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheCondition</span></td><td><code>f4f17679dffcb05a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheConfigurations</span></td><td><code>6c87da8748a739c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheType</span></td><td><code>b51ac196ee8fbee3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition</span></td><td><code>817ba2771ca38d04</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberConditions</span></td><td><code>a9d70224dd968716</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberMatchOutcomes</span></td><td><code>93898dca44a8da8a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberOutcomes</span></td><td><code>ceed40f192e1da18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AllNestedConditions</span></td><td><code>5beb3684b0730349</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AnyNestedCondition</span></td><td><code>1e4861eb7edb9912</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport</span></td><td><code>973774fd23577d0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.AncestorsMatchedCondition</span></td><td><code>842958adf049d3fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcome</span></td><td><code>1fd584f82dcc1881</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcomes</span></td><td><code>18e1602b8e29dd97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReportAutoConfigurationImportListener</span></td><td><code>3e57667261680db7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage</span></td><td><code>de5324aa1ae1a736</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Builder</span></td><td><code>08536c6f61eaa9d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.ItemsBuilder</span></td><td><code>724896d26176a3ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style</span></td><td><code>132d23de9c3427d4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.1</span></td><td><code>092ae9b0295e409e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.2</span></td><td><code>96cf309af7ed4b43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionOutcome</span></td><td><code>9fac0bda98adbd34</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type</span></td><td><code>4e9fb50e43f250ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition</span></td><td><code>d2672ed53298327e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter</span></td><td><code>d286ed38ade616a2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.1</span></td><td><code>75e626c24a219db6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.2</span></td><td><code>6de3cea5919213ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.NoneNestedConditions</span></td><td><code>96f55146bdef4f99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition</span></td><td><code>ef0993b32e4cea3a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.MatchResult</span></td><td><code>9fa37ba334a695ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.SingleCandidateSpec</span></td><td><code>fda6b16dc99108ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.Spec</span></td><td><code>9318310bee0f681a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition</span></td><td><code>06f11b46b59e12da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.StandardOutcomesResolver</span></td><td><code>e369542fe1f288dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.ThreadedOutcomesResolver</span></td><td><code>14cefbf233121629</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnCloudPlatformCondition</span></td><td><code>e979e6b454562c5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition</span></td><td><code>bd3931e6dcc4a6ec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition.Spec</span></td><td><code>6d59c15f11aeeb43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnResourceCondition</span></td><td><code>429842a1e64f031b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnThreadingCondition</span></td><td><code>80d6e2fcc965d6d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWarDeploymentCondition</span></td><td><code>68bc2b433064995f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition</span></td><td><code>1ac03105d01e8ba4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition.1</span></td><td><code>c15087c71a8e635f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SearchStrategy</span></td><td><code>647e89cbece9dfe0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SpringBootCondition</span></td><td><code>8f72881e3739c8c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration</span></td><td><code>beb575576e8c8a30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration</span></td><td><code>adb767bcc54fa39e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleProperties</span></td><td><code>e39f7e02cb175a66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.ResourceBundleCondition</span></td><td><code>77e66e7179c22334</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration</span></td><td><code>dc6cdcfdf448b0a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializerDatabaseInitializerDetector</span></td><td><code>7a0571f22a3359cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.freemarker.FreeMarkerTemplateAvailabilityProvider</span></td><td><code>107e0cfe6543fbf3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAvailabilityProvider</span></td><td><code>e589843cb601caff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.ConditionalOnPreferredJsonMapper.JsonMapper</span></td><td><code>50e88bd639f3bcf7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConverters</span></td><td><code>c0239aefb4de8a99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConverters.1</span></td><td><code>fb1bb7edb2ab375a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration</span></td><td><code>cd3517a680fe0644</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.NotReactiveWebApplicationCondition</span></td><td><code>4d286e4c5ed23eec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration</span></td><td><code>8678b719ef300cd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration</span></td><td><code>ce5c67f5dea47b53</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration</span></td><td><code>d69ad252b2e23072</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.OnPreferredJsonMapperCondition</span></td><td><code>bf5e70753aba1371</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpClientProperties</span></td><td><code>ad471f2932b7f36f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpClientProperties.Ssl</span></td><td><code>903381a8ac9b1efb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpRequestFactoryProperties</span></td><td><code>8ad18618ed43027d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.ClientHttpRequestFactories</span></td><td><code>7bb5d144da5e614f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.HttpClientAutoConfiguration</span></td><td><code>d45175083292e2ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.HttpClientProperties</span></td><td><code>669eb2edd5203794</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.NotReactiveWebApplicationCondition</span></td><td><code>71234ef1e4957aa0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration</span></td><td><code>669c1cd0de1d7269</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration.GitResourceAvailableCondition</span></td><td><code>460085765fe709d8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties</span></td><td><code>d9bd098d4f19a25f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Build</span></td><td><code>45efb079d7d6c4f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Git</span></td><td><code>6dc49007313f0822</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.integration.IntegrationPropertiesEnvironmentPostProcessor</span></td><td><code>fb32de23d8bba1e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration</span></td><td><code>c5b7c37c349587c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration</span></td><td><code>30858bf08e63f68e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration.StandardJackson2ObjectMapperBuilderCustomizer</span></td><td><code>67c46e65f4e2d68e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonMixinConfiguration</span></td><td><code>2cf75d58ad144dee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration</span></td><td><code>c62cbacea2524770</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonObjectMapperConfiguration</span></td><td><code>4ec704b6c523fe97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.ParameterNamesModuleConfiguration</span></td><td><code>72178445c33e8e52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonProperties</span></td><td><code>1f4861a605123097</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonProperties.Datatype</span></td><td><code>0eee981fc84fd84c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger</span></td><td><code>61793fd37710b86a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener</span></td><td><code>ae4c8aca2765047e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.ConditionEvaluationReportListener</span></td><td><code>d3156af08b0b3e5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.mustache.MustacheTemplateAvailabilityProvider</span></td><td><code>0ac59c0ca49164af</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.security.DefaultWebSecurityCondition</span></td><td><code>31622199861a153e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration</span></td><td><code>cd0a30da1a7db584</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration.SqlInitializationModeCondition</span></td><td><code>28599d9ad92f7dc5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationProperties</span></td><td><code>f7374c87c4087a3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.FileWatcher</span></td><td><code>6057510748147976</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration</span></td><td><code>42dfc31352872f18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties</span></td><td><code>a233dc74a0eb2fc7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles</span></td><td><code>e87589568d1143a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles.Watch</span></td><td><code>223650ef8d32f035</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles.Watch.File</span></td><td><code>8dd53b548a92703e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslPropertiesBundleRegistrar</span></td><td><code>926efe30a6fa3749</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration</span></td><td><code>9c386369119504ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties</span></td><td><code>6ded059e9c35f491</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Mode</span></td><td><code>7900afd4446766ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Pool</span></td><td><code>1c9209596bb23fae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Pool.Shutdown</span></td><td><code>2718acce68359179</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Shutdown</span></td><td><code>f068c4f8587c728a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Simple</span></td><td><code>ada2c0d1d7435497</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.AsyncConfigurerConfiguration</span></td><td><code>b1169e48eb916de1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.AsyncConfigurerConfiguration.1</span></td><td><code>789c3df4c2ce8e18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.BootstrapExecutorConfiguration</span></td><td><code>baf47a6f0606a4e3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.OnExecutorCondition</span></td><td><code>9c61a0fd965b85a2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.SimpleAsyncTaskExecutorBuilderConfiguration</span></td><td><code>6dd7d91ac1eea167</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.TaskExecutorConfiguration</span></td><td><code>267a3be86b75762d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.ThreadPoolTaskExecutorBuilderConfiguration</span></td><td><code>f971e2a4af890750</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration</span></td><td><code>275c1a51eec3050a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingConfigurations.SimpleAsyncTaskSchedulerBuilderConfiguration</span></td><td><code>5e2ee7ff0c170e46</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingConfigurations.ThreadPoolTaskSchedulerBuilderConfiguration</span></td><td><code>37639da28e5ce9f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties</span></td><td><code>05ef9890ac4bbcfc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Pool</span></td><td><code>5f43c9e810e3c366</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Shutdown</span></td><td><code>047fad834070c900</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Simple</span></td><td><code>3c888f98b1725f77</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.PathBasedTemplateAvailabilityProvider</span></td><td><code>c561be71ba36ff4b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders</span></td><td><code>a820e443b94284c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.1</span></td><td><code>348d8ad8fc02b5a1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.NoTemplateAvailabilityProvider</span></td><td><code>93b7562bbed15fdd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading</span></td><td><code>3e8be679fc0d8809</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading.1</span></td><td><code>151d785baf67fccd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading.2</span></td><td><code>b88bee1515cfb75d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafTemplateAvailabilityProvider</span></td><td><code>0a55ed8b1d8b7739</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties</span></td><td><code>f3ad7a0ba2795a18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties.IncludeAttribute</span></td><td><code>c73e6108ad5c77f3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties.Whitelabel</span></td><td><code>265ef9530d919125</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.OnEnabledResourceChainCondition</span></td><td><code>da3c646695d1ad44</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties</span></td><td><code>ec25554c6723d687</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty</span></td><td><code>213b526e64b3a73f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Accesslog</span></td><td><code>edce1a38918e53dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Accesslog.Format</span></td><td><code>a5239a6722067f72</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Threads</span></td><td><code>7ee453382fc1432b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Netty</span></td><td><code>dbea8157ceb1cbb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Reactive</span></td><td><code>bb0478f27b1da376</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Reactive.Session</span></td><td><code>949f2ebc47c35bfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Servlet</span></td><td><code>fd88e08da731bc6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat</span></td><td><code>4eb4011d6014d498</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Accesslog</span></td><td><code>dda05de3b30ecead</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Mbeanregistry</span></td><td><code>053eb46ea2301457</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Remoteip</span></td><td><code>2f5d619755d047ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Resource</span></td><td><code>dd4970e230f1fb70</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Threads</span></td><td><code>9a07efc5e700305e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.UseApr</span></td><td><code>b7a4f53497f0ca52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow</span></td><td><code>655ff6ec3def3b91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Accesslog</span></td><td><code>ec8eca8a00219408</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Options</span></td><td><code>dbe3b81d3b959d1f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Threads</span></td><td><code>95f4bab48f4e23bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties</span></td><td><code>c0d705dd89803fe2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.LocaleResolver</span></td><td><code>a5dcbdb7e4302790</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources</span></td><td><code>2b56055ed9ba88ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Cache</span></td><td><code>8a9871e8ba3d7951</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Cache.Cachecontrol</span></td><td><code>7bc70b3e02f87082</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain</span></td><td><code>10a035acbaeafc3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy</span></td><td><code>0274a896ea05ec39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy.Content</span></td><td><code>1c7ce9d025befe30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy.Fixed</span></td><td><code>d25a2221a3b68f5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.AutoConfiguredRestClientSsl</span></td><td><code>5a834f8b83ee94a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.HttpMessageConvertersRestClientCustomizer</span></td><td><code>9bdf71ff586dbc21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.NotReactiveWebApplicationCondition</span></td><td><code>5065ebe5e5da6aae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.NotReactiveWebApplicationOrVirtualThreadsExecutorEnabledCondition</span></td><td><code>55aa95afa574482a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration</span></td><td><code>07cfec2e9d4bceea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestClientBuilderConfigurer</span></td><td><code>03e1434e08ae3a1d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration</span></td><td><code>a13d835b9a5231f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.format.DateTimeFormatters</span></td><td><code>f2a1522610921891</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.format.WebConversionService</span></td><td><code>d398d3e72a7f45c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration</span></td><td><code>7135e858af7ea522</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition</span></td><td><code>2810a1a1cf06ac57</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletConfiguration</span></td><td><code>f8efeafd94c5a123</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition</span></td><td><code>02239c42b4a6d09f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration</span></td><td><code>4b57cc9a91b655e9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath</span></td><td><code>20f6d213e8ee45ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletRegistrationBean</span></td><td><code>629bdad515995bbe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration</span></td><td><code>e688b8e4ee0a1aaa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.LocaleCharsetMappingsCustomizer</span></td><td><code>b18fadbe131f9156</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.JspTemplateAvailabilityProvider</span></td><td><code>756f4bca488b2341</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration</span></td><td><code>bfb3b7bc6be9319e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.MultipartProperties</span></td><td><code>729f2eb526ff1364</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration</span></td><td><code>46acba871cb2518c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar</span></td><td><code>2f00d56d13270c39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration.EmbeddedTomcat</span></td><td><code>87452cc4db1a2d82</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer</span></td><td><code>639a473943a44b79</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer</span></td><td><code>5dbde47264e62396</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer.1</span></td><td><code>d19dfe69492c49d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration</span></td><td><code>a9afe385482601cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.EnableWebMvcConfiguration</span></td><td><code>bb4e7dcab434e983</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter</span></td><td><code>8e1246e202f251be</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties</span></td><td><code>bde12a3aa1dbdd5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Async</span></td><td><code>4a9df9f272681796</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Contentnegotiation</span></td><td><code>d411bd94188e291e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Format</span></td><td><code>ac684fcc006a1bb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.MatchingStrategy</span></td><td><code>a154c6208c4d1eec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Pathmatch</span></td><td><code>b2128a7ebf5eda01</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Problemdetails</span></td><td><code>62d37beab1ad8482</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Servlet</span></td><td><code>7097235dd8bb630d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.View</span></td><td><code>0a196bb11bc2759a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePage</span></td><td><code>a11d1f950e4541d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping</span></td><td><code>222137fd242f3ebe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePageNotAcceptableHandlerMapping</span></td><td><code>0e4346818b01b404</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.AbstractErrorController</span></td><td><code>5c265a1c73915f5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController</span></td><td><code>66e77a010dfe741e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.DefaultErrorViewResolver</span></td><td><code>e1dfd6c5c2c19795</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration</span></td><td><code>909b3dd682f38709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.DefaultErrorViewResolverConfiguration</span></td><td><code>39f76d0df15a4df8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ErrorPageCustomizer</span></td><td><code>6b9ab43ef54b5462</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition</span></td><td><code>de0861d6e1d27da4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.PreserveErrorControllerTargetClassPostProcessor</span></td><td><code>3bce9b4f0d162fec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.StaticView</span></td><td><code>4afba41a6554209a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration</span></td><td><code>cc9d861453d0391e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.TomcatWebSocketServletWebServerCustomizer</span></td><td><code>2e01f480a908dbb2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration</span></td><td><code>951c9585f82f3621</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration</span></td><td><code>b2341b649634b8f7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ApplicationAvailabilityBean</span></td><td><code>6c129ea0a54ad19b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.AvailabilityChangeEvent</span></td><td><code>cb61f36beda58bb0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.LivenessState</span></td><td><code>6a55cf1387dbd503</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ReadinessState</span></td><td><code>58034c0032c5906b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.builder.ParentContextCloserApplicationListener</span></td><td><code>bc0f14f8d12f46cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor</span></td><td><code>14bda110560501f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform</span></td><td><code>891a0d4268ce7022</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.1</span></td><td><code>63004af9531502bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.2</span></td><td><code>6dac6be7aa9fddb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.3</span></td><td><code>24bd8eb0b10d11fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.4</span></td><td><code>367a684dde57aa35</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.5</span></td><td><code>4d7ad8bbdee2b58a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.6</span></td><td><code>688e726437b1cede</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.7</span></td><td><code>9b3795c89ca001c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer</span></td><td><code>7ad07a9fee1f2273</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ComponentScanPackageCheck</span></td><td><code>6126ab97fd3178d5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ConfigurationWarningsPostProcessor</span></td><td><code>0b1f744143e8d9f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer</span></td><td><code>11911d6d42f13e67</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer.ContextId</span></td><td><code>15890a27a7cc84ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.FileEncodingApplicationListener</span></td><td><code>d0baf011fa99e823</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.TypeExcludeFilter</span></td><td><code>b4eed95da5b806c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.annotation.ImportCandidates</span></td><td><code>cee7c1cc6bb1cd12</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.AnsiOutputApplicationListener</span></td><td><code>ec0c64b41f513b06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData</span></td><td><code>40abf2f3601a885e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.AlwaysPropertySourceOptions</span></td><td><code>9ada25c7f75ecab3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Option</span></td><td><code>b7daba09c8ad34fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Options</span></td><td><code>c08530a47e55c316</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.PropertySourceOptions</span></td><td><code>dd1855f2d016b0ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataActivationContext</span></td><td><code>6e883c1ce11dd99e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironment</span></td><td><code>b6273263c5d0ee43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor</span></td><td><code>75eabd2b1c3efd91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ContributorIterator</span></td><td><code>05d92e44b14aae7e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ImportPhase</span></td><td><code>629b0a95892bc3d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.Kind</span></td><td><code>393ffc692f765197</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributorPlaceholdersResolver</span></td><td><code>fdd6ee9d3bdfc6e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors</span></td><td><code>686652c8150f44ec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.BinderOption</span></td><td><code>81044c5a6cbea247</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorConfigDataLocationResolverContext</span></td><td><code>7e1f14f7fbe81cc8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorDataLoaderContext</span></td><td><code>e68a12eb418c917b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.InactiveSourceChecker</span></td><td><code>59f0be1f93883fd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor</span></td><td><code>b8e3ed1436a2e874</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener</span></td><td><code>16b67e91fee787c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener.1</span></td><td><code>0b3e030bf8e7f0e5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataImporter</span></td><td><code>92d6fca8e117c8bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoader</span></td><td><code>ab5a87d543c42212</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoaders</span></td><td><code>6903efd06a753dbb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocation</span></td><td><code>990a5bdb14ac5cdd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocationBindHandler</span></td><td><code>f21e70110a176fcc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocationResolvers</span></td><td><code>95523125dec7895d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction</span></td><td><code>a5d86e60b3a63279</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.1</span></td><td><code>704bb3f1383b061d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.2</span></td><td><code>89a0b0e0309f92d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataProperties</span></td><td><code>ffd64fe49ddc840a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResolutionResult</span></td><td><code>98b3371dfaf4d39d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResource</span></td><td><code>9062c7a148798454</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResourceNotFoundException</span></td><td><code>ad9813dca44a406c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLoader</span></td><td><code>7a3361ece8901ad5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLocationResolver</span></td><td><code>973d2bd7a6aea3a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.InvalidConfigDataPropertyException</span></td><td><code>6eabc8029b2d0a1e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader</span></td><td><code>40df8bf8338e4579</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader.ResourceType</span></td><td><code>83a19cfca5bbcdfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles</span></td><td><code>9323c1b5c4b01ca9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles.Type</span></td><td><code>4bfbd695364ad709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ProfilesValidator</span></td><td><code>b532bc038997ad87</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLoader</span></td><td><code>0de34bd274d13aa0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLocationResolver</span></td><td><code>c8dfc52d959ed40c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataReference</span></td><td><code>796db020d93a948e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataResource</span></td><td><code>0fb3621ff96350f0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.SystemEnvironmentConfigDataLoader</span></td><td><code>06d115d0241794d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.SystemEnvironmentConfigDataLocationResolver</span></td><td><code>a0f01b0ec6a9d3ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationContextInitializedEvent</span></td><td><code>aa45162d42e4a105</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent</span></td><td><code>4115987fedc4b24f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationPreparedEvent</span></td><td><code>feeb1d3d2de3528f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationReadyEvent</span></td><td><code>7905a0af04155507</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartedEvent</span></td><td><code>7e00ed39979f6ae9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartingEvent</span></td><td><code>9cb8c2863cb35846</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.EventPublishingRunListener</span></td><td><code>6e495382d4d076a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.SpringApplicationEvent</span></td><td><code>2585f1c827933614</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.logging.LoggingApplicationListener</span></td><td><code>94ba216e487dc3da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.logging.LoggingApplicationListener.Lifecycle</span></td><td><code>dc32b8d73f88d655</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.BindMethodAttribute</span></td><td><code>26326db649cf9ac9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.BoundConfigurationProperties</span></td><td><code>2db9a65f1cae5fe9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBean</span></td><td><code>c160bb2179c32547</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar</span></td><td><code>2695ba0fe0bdc317</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder</span></td><td><code>b322f253646bd928</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.ConfigurationPropertiesBindHandler</span></td><td><code>36404796a79d6bde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.ConfigurationPropertiesBinderFactory</span></td><td><code>7fb3284398ea2a64</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor</span></td><td><code>7ddfb6732a143a0f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesCharSequenceToObjectConverter</span></td><td><code>da94d2f67d3ad81f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator</span></td><td><code>d21703ee55186d4f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConversionServiceDeducer</span></td><td><code>03d387f82c8b0481</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar</span></td><td><code>a85e7383b8da579a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper</span></td><td><code>1935b86fa7221f6a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.NullPointerExceptionSafeSupplier</span></td><td><code>d6a931abdc2c66ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.Source</span></td><td><code>f16bfeee92a52f30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertySourcesDeducer</span></td><td><code>1681077cefa8da40</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AbstractBindHandler</span></td><td><code>7bce870e5cee66a4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder</span></td><td><code>913f52383febba83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder.AggregateSupplier</span></td><td><code>c922e8a1a12f13ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ArrayBinder</span></td><td><code>996c4293d821bfa9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConstructorProvider</span></td><td><code>e5e6f63a208f0704</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter</span></td><td><code>8fb7b597ee8c423d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.ResolvableTypeDescriptor</span></td><td><code>323e0b3ad1809eee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConversionService</span></td><td><code>17ac4b6b5a299889</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConverter</span></td><td><code>556d290fd2340e3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler</span></td><td><code>05956f60a1c20c5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler.1</span></td><td><code>6f9c1907b224fb33</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindMethod</span></td><td><code>e42b748f4b5f98fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindResult</span></td><td><code>6ad21e71d10363cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable</span></td><td><code>0a32441054f83bb5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable.BindRestriction</span></td><td><code>3bf64cc53e7b7470</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder</span></td><td><code>05f890dfd74248cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder.Context</span></td><td><code>a336d4e18530e8ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler</span></td><td><code>0821c9766787af15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.CollectionBinder</span></td><td><code>bada0940c13c2357</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DataObjectPropertyName</span></td><td><code>84fe4975400834b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider</span></td><td><code>048579cbb4d1f272</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider.Constructors</span></td><td><code>821c43a31ebf0c84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder</span></td><td><code>4e16bc2ab56fec3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder.IndexedCollectionSupplier</span></td><td><code>77b0c738746066d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder</span></td><td><code>e435f0f2eb1e27a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.Bean</span></td><td><code>49c416ae6f9dc102</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.Bean.CacheKey</span></td><td><code>cf29c912e8a4a5b2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanProperties</span></td><td><code>d725f31ecd38cb39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanProperty</span></td><td><code>83f947f5a8024b70</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanSupplier</span></td><td><code>f08bc0c33552dac8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder</span></td><td><code>ce57ab494bb5923c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder.EntryBinder</span></td><td><code>36de54fe8fd3dec7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PlaceholdersResolver</span></td><td><code>696d7b39b3c4d959</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver</span></td><td><code>336a855cfe85a01e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder</span></td><td><code>c2686329b35c5eee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ConstructorParameter</span></td><td><code>b384bbbb476a3274</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.DefaultValueObject</span></td><td><code>b8455f50cd430d06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.Discoverer</span></td><td><code>327230395761e218</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ValueObject</span></td><td><code>5c992e39d4d5fa2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ValueObject.CacheKey</span></td><td><code>818d1a309a7d9fd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler</span></td><td><code>06aa8baed6d167e7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.handler.NoUnboundElementsBindHandler</span></td><td><code>17e8c4a6f3f7e3df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.CachingConfigurationPropertySource</span></td><td><code>9584eab6ef02d841</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationProperty</span></td><td><code>64b9edc0cb1ab771</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyCaching</span></td><td><code>5b9e013257acea8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName</span></td><td><code>8dc16a4830c8337d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.1</span></td><td><code>d857791d129fa43f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementType</span></td><td><code>9eacf88e5dc7f129</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Elements</span></td><td><code>91c711dda579da8b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementsParser</span></td><td><code>acb9d95c2d2d2b66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Form</span></td><td><code>7851489c2696b21e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ToStringFormat</span></td><td><code>473a11feb41088da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySource</span></td><td><code>feb58c28122fc73e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySources</span></td><td><code>b0c87b6f052ad05c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesCaching</span></td><td><code>0b3db6600ad6ced9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesCaching.CacheOverrides</span></td><td><code>825bfe2dfe46607b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver</span></td><td><code>ac75219ed06942f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver.DefaultResolver</span></td><td><code>ab812d5695ef6f15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource</span></td><td><code>490b0c9fc91212d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyState</span></td><td><code>e594f57fa5c2ec3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper</span></td><td><code>c1ee41c9989f4df9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper.LastMapping</span></td><td><code>90617b10f68ce700</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredConfigurationPropertiesSource</span></td><td><code>d8186a8fe0102145</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredIterableConfigurationPropertiesSource</span></td><td><code>15207ee10ac4da76</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.IterableConfigurationPropertySource</span></td><td><code>dd15ddd797ad2a6b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.MapConfigurationPropertySource</span></td><td><code>1ce33f9b4aa0f7a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException</span></td><td><code>e1baef8bb29647e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.PropertyMapper</span></td><td><code>0be0213eb293fddb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SoftReferenceConfigurationPropertyCache</span></td><td><code>c73d62097c2197f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SoftReferenceConfigurationPropertyCache.ActiveCacheOverride</span></td><td><code>3f7d4a9e328f6e59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySource</span></td><td><code>54c29b2f35b17983</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources</span></td><td><code>27e20e1b9b1f8a0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources.SourcesIterator</span></td><td><code>e5a15b0c6fccbd0f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource</span></td><td><code>9584a79b94f725bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.Cache</span></td><td><code>d78e1fde548eed66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.Cache.Data</span></td><td><code>710bdf1730bb4ecb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.ConfigurationPropertyNamesIterator</span></td><td><code>894ebf1a4d56bf53</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SystemEnvironmentPropertyMapper</span></td><td><code>862edc8c26d9cc30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.UnboundElementsSourceFilter</span></td><td><code>c9f412e6c4580972</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ApplicationConversionService</span></td><td><code>c7cf15aa4bd9a1b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ArrayToDelimitedStringConverter</span></td><td><code>f800e4a819a44399</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharArrayFormatter</span></td><td><code>256b25307f202cd2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharSequenceToObjectConverter</span></td><td><code>2d1de97ec1eb2d24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CollectionToDelimitedStringConverter</span></td><td><code>93c91aef260ef064</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToArrayConverter</span></td><td><code>debf19f30633eb23</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToCollectionConverter</span></td><td><code>9293241d90fc01d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToNumberConverter</span></td><td><code>f4eea37ba4014bd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToStringConverter</span></td><td><code>eb1d30806d12368b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InetAddressFormatter</span></td><td><code>e82071252b43257e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InputStreamSourceToByteArrayConverter</span></td><td><code>c204b4e6477fbeb5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.IsoOffsetFormatter</span></td><td><code>ab74230de5e10821</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientBooleanToEnumConverterFactory</span></td><td><code>f3ae6a00dcba2e54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientObjectToEnumConverterFactory</span></td><td><code>5bc1bdabc27c8f89</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientStringToEnumConverterFactory</span></td><td><code>e3a45cfb069e1c99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDataSizeConverter</span></td><td><code>2d70574a262a692e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDurationConverter</span></td><td><code>87dcc75d61bea269</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToPeriodConverter</span></td><td><code>8ce5113c43b9fe11</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.PeriodToStringConverter</span></td><td><code>f8a16a79cc1415e6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDataSizeConverter</span></td><td><code>f8a8adbb1de57ebc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDurationConverter</span></td><td><code>0ad73980bf176d36</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToFileConverter</span></td><td><code>e4f3969bb5332337</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToPeriodConverter</span></td><td><code>c7e437633ed6bbd2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorApplicationListener</span></td><td><code>abee60c7f94d2baf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorsFactory</span></td><td><code>ecad713cb9743653</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedMapPropertySource</span></td><td><code>1526025012be12c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader</span></td><td><code>bcce76d1ab5e8e7f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.CharacterReader</span></td><td><code>cf809278fafdbed3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.Document</span></td><td><code>292ddaa942290d38</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.PropertiesPropertySourceLoader</span></td><td><code>6d46cb1fd06aaeed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySource</span></td><td><code>7df92a8c8a88fad9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySourceEnvironmentPostProcessor</span></td><td><code>2e8ce1b488df1241</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor</span></td><td><code>e8bdf1c4ba9e2e25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor.JsonPropertyValue</span></td><td><code>7158134e3a12de31</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringFactoriesEnvironmentPostProcessorsFactory</span></td><td><code>a9057a56716d6e5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor</span></td><td><code>d5cc4cf4d87eeb18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor.OriginAwareSystemEnvironmentPropertySource</span></td><td><code>ab4732ab0310baa8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.YamlPropertySourceLoader</span></td><td><code>74e075f6dcad5b2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.flyway.FlywayDatabaseInitializerDetector</span></td><td><code>2e4441728b46c2cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.AbstractClientHttpRequestFactoryBuilder</span></td><td><code>ace6feb0764bd77f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder</span></td><td><code>9430eeea783f2ad5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactorySettings</span></td><td><code>06f16a20e2e4abae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactorySettings.Redirects</span></td><td><code>c2327c0bcdeca799</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.Empty</span></td><td><code>914890ccdd6e94c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.HttpComponentsClientHttpRequestFactoryBuilder.Classes</span></td><td><code>3df7c1837baebbb2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.HttpRedirects</span></td><td><code>77bc34bf1ac4e943</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkClientHttpRequestFactoryBuilder</span></td><td><code>d9a422378d99fc84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkClientHttpRequestFactoryBuilder.Classes</span></td><td><code>9982605db933c80b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkHttpClientBuilder</span></td><td><code>be5f54a76d8f6070</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JettyClientHttpRequestFactoryBuilder.Classes</span></td><td><code>a6c2d4f035a43669</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ReactorClientHttpRequestFactoryBuilder.Classes</span></td><td><code>d7768fdab2f11716</code></td></tr><tr><td><span class="el_class">org.springframework.boot.info.SslInfo</span></td><td><code>1d6f55311a9b8f6f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ApplicationResourceLoader</span></td><td><code>70696a5dd0109173</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ApplicationResourceLoader.ProtocolResolvingResourceLoader</span></td><td><code>7c6062778d2c725e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.Base64ProtocolResolver</span></td><td><code>39015d98d0c1d6c8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ClassPathResourceFilePathResolver</span></td><td><code>bdeeddc18653fa6e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ProtocolResolverApplicationContextInitializer</span></td><td><code>6343356e4157152a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonComponentModule</span></td><td><code>7941f5b8ca0c0c25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModule</span></td><td><code>72d39618ab99736c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries</span></td><td><code>6dc4bca98bbdfc2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries.Builder</span></td><td><code>5f1a39bab7a89dfe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries.JsonMixinComponentScanner</span></td><td><code>e98059e5936c71e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializerDetector</span></td><td><code>271d86a71af7dd54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.liquibase.LiquibaseDatabaseInitializerDetector</span></td><td><code>8205f7212c8584df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem</span></td><td><code>c2260b9d41ff4da1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem.LogLevels</span></td><td><code>3f25f528869c0432</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog</span></td><td><code>7ecf130d402f28ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Line</span></td><td><code>44433d364d4b4f2e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Lines</span></td><td><code>937d1c4939fb65cc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLogs</span></td><td><code>35c11e71110b20fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DelegatingLoggingSystemFactory</span></td><td><code>8f72255d0775cd51</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogFile</span></td><td><code>de26a526b039726f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogLevel</span></td><td><code>fb641f6a6c2d05bf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerConfigurationComparator</span></td><td><code>3abe8778108f2d4a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroup</span></td><td><code>19bc1d1726ecdd45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroups</span></td><td><code>60bb3b173020653e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingInitializationContext</span></td><td><code>7228c7f9d727ea05</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystem</span></td><td><code>8e11a6b08c4c3f3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemFactory</span></td><td><code>6db1520727073045</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemProperties</span></td><td><code>304d11b096fdb1d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemProperty</span></td><td><code>3051ca9df3f7fc7f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.java.JavaLoggingSystem.Factory</span></td><td><code>a531d538ff7e7729</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.Factory</span></td><td><code>7a0703ee04cdd3f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ColorConverter</span></td><td><code>7f7e29dd836bb5f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.DefaultLogbackConfiguration</span></td><td><code>15518e27fc161683</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.EnclosedInSquareBracketsConverter</span></td><td><code>b89ecb2ef6fce0a4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter</span></td><td><code>4ef002e4fe617e74</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackConfigurator</span></td><td><code>8623c888c461eeda</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem</span></td><td><code>2d89ff8ef08ac3b7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.1</span></td><td><code>b2faab3073ac8316</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.Factory</span></td><td><code>eeca67019a164f8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystemProperties</span></td><td><code>78acbce5f7f39b3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.RollingPolicySystemProperty</span></td><td><code>522383e1376b4dab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.RootLogLevelConfigurator</span></td><td><code>f395258742c62ae3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.SystemStatusListener</span></td><td><code>31fc5622fc9e5f33</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.Origin</span></td><td><code>d664adff8c9cda9e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginLookup</span></td><td><code>702ce5155c3f843e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedResource</span></td><td><code>e1d1f193ddedee52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedValue</span></td><td><code>c571e8b04de5e95a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedValue.OriginTrackedCharSequence</span></td><td><code>47fb531f63c4dad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.PropertySourceOrigin</span></td><td><code>999b19578c5d15cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.TextResourceOrigin</span></td><td><code>7d64ef4e21bdce78</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.TextResourceOrigin.Location</span></td><td><code>ff228570998c16d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector</span></td><td><code>10cf3dfd445f8e4d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializerDetector</span></td><td><code>db93923b205898f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.reactor.ReactorEnvironmentPostProcessor</span></td><td><code>d1a0764eaea7d6d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer</span></td><td><code>823d0c64ae4d12d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer.Listener</span></td><td><code>5ec1540b60e6c3ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.DatabaseInitializationMode</span></td><td><code>54ea5cbe28372dbe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.AbstractBeansOfTypeDatabaseInitializerDetector</span></td><td><code>dcf48396a0bebcd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.BeansOfTypeDetector</span></td><td><code>51333ac97c8c0eea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer</span></td><td><code>82aaa3994562c4ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor</span></td><td><code>88d680c09353f4b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor.InitializerBeanNames</span></td><td><code>6520b4bebc66535d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector</span></td><td><code>035ff519e10e73b9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ssl.DefaultSslBundleRegistry</span></td><td><code>bd8b6db29b41d579</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationHome</span></td><td><code>d562d333b2665499</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationPid</span></td><td><code>c978d508dd144684</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.SimpleAsyncTaskExecutorBuilder</span></td><td><code>f656dbcedf7bfcdc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.SimpleAsyncTaskSchedulerBuilder</span></td><td><code>0c439ae7c3666a8c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.ThreadPoolTaskExecutorBuilder</span></td><td><code>5285fe29d2991a21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.ThreadPoolTaskSchedulerBuilder</span></td><td><code>7a646f65d71c3e44</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory</span></td><td><code>43eb5a87f7dfa0e3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory.ApplicationFailureListener</span></td><td><code>f8b1b8040251813f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory.OnFailureConditionReportContextCustomizer</span></td><td><code>6d378bf942017915</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory</span></td><td><code>782adc9a4e8d4000</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory.DisableAutoConfigurationContextCustomizer</span></td><td><code>0d13fe4bf647a76c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory</span></td><td><code>e366ea765a44b53e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory.DisableObservabilityContextCustomizer</span></td><td><code>f0ad41c2832b8350</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.AnnotationCustomizableTypeExcludeFilter</span></td><td><code>677548cb2a3e8906</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.AnnotationCustomizableTypeExcludeFilter.FilterType</span></td><td><code>b16fbc6f42c3f373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.FilterAnnotations</span></td><td><code>7fd3be4fc624ee03</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.StandardAnnotationCustomizableTypeExcludeFilter</span></td><td><code>8fbbd1ea8d519975</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer</span></td><td><code>6f275db19d34d23f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer.1</span></td><td><code>67d370d455f26503</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizerFactory</span></td><td><code>219555f4958f8a54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.AnnotationsPropertySource</span></td><td><code>a80de7e22cb4af6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer</span></td><td><code>af9b0e4e55d37cb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer.PropertyMappingCheckBeanPostProcessor</span></td><td><code>5a61a1ea5b738bf8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizerFactory</span></td><td><code>c21bdd8667a46386</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.SkipPropertyMapping</span></td><td><code>99be9d09cbd18ab5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener</span></td><td><code>0125a1e4e2d87f64</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener</span></td><td><code>94ea9e423e72e464</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration</span></td><td><code>92652968d89a1363</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcConfiguration</span></td><td><code>478699918aa48443</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcConfiguration.MockMvcDispatcherServletCustomizer</span></td><td><code>19267ddcbdf571fa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrint</span></td><td><code>9421498b0cecc9db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener</span></td><td><code>59cd6f8fe4c9d972</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcTesterConfiguration</span></td><td><code>a737294f13307a43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer</span></td><td><code>3d0a6783701e0395</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.DeferredLinesWriter</span></td><td><code>b13e4d56af1e7282</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.FilterRegistrationBeans</span></td><td><code>fa1674957b543f15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.FilterRegistrationBeans.FilterRegistrationBeanAdapter</span></td><td><code>90d73b4cf433917a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler</span></td><td><code>819d7f71c88b1330</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler.LinesPrintingResultHandler</span></td><td><code>c714ae91b643e463</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler.LinesPrintingResultHandler.Printer</span></td><td><code>5bc0d7b127003194</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.SystemLinesWriter</span></td><td><code>f2b21e15962336f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer</span></td><td><code>9288623d89c5c20e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory</span></td><td><code>8fd7e5451b41c822</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverScope</span></td><td><code>99469c4012a7ffb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener</span></td><td><code>e0310fe8bb20e9c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper</span></td><td><code>81726052530ed957</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTypeExcludeFilter</span></td><td><code>49a347f3c66a70b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener</span></td><td><code>b1d7b9a2001483dd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder</span></td><td><code>a1a3f3816d9357c1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder.Cache</span></td><td><code>d1563b4821e474b3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer</span></td><td><code>78522625fca318be</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ContextCustomizerKey</span></td><td><code>7879cc276f8da731</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsCleanupPostProcessor</span></td><td><code>3533f0fb67f9234f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsConfiguration</span></td><td><code>24c7d29340b05df1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsSelector</span></td><td><code>ad8d4f05a348cc27</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizerFactory</span></td><td><code>c76ff191ba02bb17</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader</span></td><td><code>6a111db339c5873b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextCustomizerAdapter</span></td><td><code>53ddaeab2f4e4af6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextLoaderHook</span></td><td><code>ac3c6522a7a4ffe3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextLoaderHook.1</span></td><td><code>dd476ee0e66d41cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.Mode</span></td><td><code>df8029012fa124f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.PrepareEnvironmentListener</span></td><td><code>e0bbc8b9506d8872</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.WebConfigurer</span></td><td><code>c6bf20fab9bb767c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.WebConfigurer.DefensiveWebApplicationContextInitializer</span></td><td><code>041c2e341bf84285</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTest.UseMainMethod</span></td><td><code>806284d771af572e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTest.WebEnvironment</span></td><td><code>ae42f14fb6ffacfa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestAnnotation</span></td><td><code>d6364615be0be61d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestContextBootstrapper</span></td><td><code>b5c198cb8c68f4fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterApplicationContextInitializer</span></td><td><code>fffd49a47b07a6db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer</span></td><td><code>157c0df80f48fb1e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizerFactory</span></td><td><code>509dc6c3a864c994</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.TestTypeExcludeFilter</span></td><td><code>b7f0f97728f58898</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.graphql.tester.HttpGraphQlTesterContextCustomizerFactory</span></td><td><code>9e86d9afdba653cc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory</span></td><td><code>6b27bd651e15184a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory.DuplicateJsonObjectContextCustomizer</span></td><td><code>b2fc4eee80e3ee1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.DefinitionsParser</span></td><td><code>007a1e594652f4a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockReset</span></td><td><code>97aedbda9b6f5109</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoBeans</span></td><td><code>e3d184a86423dffc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizer</span></td><td><code>a94a6a11d3f1c2bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizerFactory</span></td><td><code>62f3b683e39490b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor</span></td><td><code>cfd54dad20a64bd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor.SpyPostProcessor</span></td><td><code>56c98ebb59ba47ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener</span></td><td><code>91932632f0ddfd5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.MockitoAnnotationCollection</span></td><td><code>b38f0f2110f076bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener</span></td><td><code>63443a7dcc87337d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.web.SpringBootMockServletContext</span></td><td><code>edb2ff1e9b1f611c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues</span></td><td><code>e46f7b1d5a0a9df8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Pair</span></td><td><code>1d474e79c5db354a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Type</span></td><td><code>251ad2ec5b927733</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.SpringBootTestRandomPortEnvironmentPostProcessor</span></td><td><code>e4d152aeac5c0622</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer</span></td><td><code>d065ecb7ba72d127</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizerFactory</span></td><td><code>6b9ce82869876eed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizerFactory</span></td><td><code>3ee29d74588add08</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesBeanPostProcessor</span></td><td><code>55830050dc9f21a7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory</span></td><td><code>a23ba72e63bd5319</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory.DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer</span></td><td><code>72e87f49a57f09c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory</span></td><td><code>4e4be8559822fe3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe</span></td><td><code>ba94f7532872dfcd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.Callback</span></td><td><code>5681021acaea87c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.Callbacks</span></td><td><code>2e1235b29c14f827</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.GenericTypeFilter</span></td><td><code>43ad77137335d9bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.InvocationResult</span></td><td><code>d798148364d9e78f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.LambdaSafeCallback</span></td><td><code>fef94945730469d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.validation.beanvalidation.MethodValidationExcludeFilter</span></td><td><code>f5069cd3e79e2542</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.context.ServerPortInfoApplicationContextInitializer</span></td><td><code>f9bf82671b26f677</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.context.WebServerApplicationContext</span></td><td><code>5ddb16a21c9a5cef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.embedded.tomcat.TldPatterns</span></td><td><code>5fae5c445f8e7d1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory</span></td><td><code>cac50b6a4e018b5b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.reactive.context.FilteredReactiveWebContextResourceFilePathResolver</span></td><td><code>7a6f8fb5a2e9ce79</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContextFactory</span></td><td><code>cdb98a0754e624e5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.AbstractConfigurableWebServerFactory</span></td><td><code>2f732a33a1c677c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Compression</span></td><td><code>76949840ebca81e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Cookie</span></td><td><code>b96188d43dd8876c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.ErrorPage</span></td><td><code>5c91b6260f2a5da6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.ErrorPageRegistrarBeanPostProcessor</span></td><td><code>863e411c5657a013</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Http2</span></td><td><code>a2332ded6c232252</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings</span></td><td><code>8cad3d1eb42866f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.DefaultMimeMappings</span></td><td><code>a23a54932c3a36c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.LazyMimeMappingsCopy</span></td><td><code>3974624416994250</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.Mapping</span></td><td><code>45a899e0ce667463</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Shutdown</span></td><td><code>d305aaaffff2e7d5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor</span></td><td><code>a59f55c4c90d392e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.AbstractFilterRegistrationBean</span></td><td><code>8a05df570456d240</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.DynamicRegistrationBean</span></td><td><code>4012e9761bea31c3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.FilterRegistrationBean</span></td><td><code>e2683c4137876ed9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.MultipartConfigFactory</span></td><td><code>40d4bff1eed62db7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.RegistrationBean</span></td><td><code>23a0f1d69d5a3442</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans</span></td><td><code>6f43c5c3e41eb8e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans.1</span></td><td><code>22854467d5fb56c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans.Seen</span></td><td><code>395376d709077321</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletRegistrationBean</span></td><td><code>0fb27429af42da06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ApplicationServletEnvironment</span></td><td><code>e272e384f6f3c027</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ServletContextResourceFilePathResolver</span></td><td><code>6297006271dd90fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ServletWebServerApplicationContextFactory</span></td><td><code>f8d8fb6adfd8ca24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.error.DefaultErrorAttributes</span></td><td><code>bf700ee88a2759df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter</span></td><td><code>8101f91bfa6ad6ed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedFormContentFilter</span></td><td><code>8683b0d891398e10</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter</span></td><td><code>235ec95210e5eef9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory</span></td><td><code>0ef614dfd1137c08</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.DocumentRoot</span></td><td><code>735342eae420db5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Encoding</span></td><td><code>da8a79e773c3852e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Encoding.Type</span></td><td><code>3e62d8b0e8000d73</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Jsp</span></td><td><code>972960598f4c7afe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Session</span></td><td><code>a77fab40adf2efce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Session.Cookie</span></td><td><code>38405292980fe6a9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.SessionStoreDirectory</span></td><td><code>851b814381275595</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.StaticResourceJars</span></td><td><code>839444fae3003bfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.support.ServletContextApplicationContextInitializer</span></td><td><code>9eea0568d1230cd2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator</span></td><td><code>f8cbad5adde4effe</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData</span></td><td><code>b278f2a305be8b74</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.Source</span></td><td><code>44b7e2d9b16f0a12</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AsmApi</span></td><td><code>fdf9e5e0e23c9ef3</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter</span></td><td><code>d0dd058340d2034c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.1</span></td><td><code>45aae3e94f94e74f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.2</span></td><td><code>118f45da258133d5</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.3</span></td><td><code>d023e1876c784d25</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.FieldInfo</span></td><td><code>764777d5ae1f3f43</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassInfo</span></td><td><code>caf674d51eaa8049</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassLoaderAwareGeneratorStrategy</span></td><td><code>15c2c57d960e3c7a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader</span></td><td><code>167d2185cd3e0060</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.1</span></td><td><code>421fcdda2d2fc2df</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.EarlyExitException</span></td><td><code>8dc706ed9a28a46e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassTransformer</span></td><td><code>83223051ca220521</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter</span></td><td><code>9f76d609d30241f8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter.State</span></td><td><code>63de6f58fb20273d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CollectionUtils</span></td><td><code>28849b006e692049</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Constants</span></td><td><code>f1eb51bd9b6cdb9d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DebuggingClassWriter</span></td><td><code>61847aa847b59639</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultGeneratorStrategy</span></td><td><code>263baa7d12abae86</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultNamingPolicy</span></td><td><code>b0ab3a17d5c2f2b8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DuplicatesPredicate</span></td><td><code>5b757f199360e500</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils</span></td><td><code>0ecd9b816d9cb4b0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.3</span></td><td><code>7634e63ffa7e1a0f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.ArrayDelimiters</span></td><td><code>73f6ba6091db58b0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Local</span></td><td><code>16b8ff3fcbf00f15</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter</span></td><td><code>1a654109c0a5cf7c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter.State</span></td><td><code>df45b2dbc9144bdb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfo</span></td><td><code>197ecdddbfc5f02e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfoTransformer</span></td><td><code>ccc3f8615baacc2b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper</span></td><td><code>6b70147c94944fa3</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper.MethodWrapperKey</span></td><td><code>a363bb8983fbbcbc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils</span></td><td><code>cf1ca650cd881ae2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.3</span></td><td><code>152217d56b832a93</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.4</span></td><td><code>5986e30b26c9c052</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.RejectModifierPredicate</span></td><td><code>544962bd46d62420</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Signature</span></td><td><code>3b345092b92692bc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.SpringNamingPolicy</span></td><td><code>a46f428c01075f64</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.TypeUtils</span></td><td><code>9d9e505238f3ae76</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.VisibilityPredicate</span></td><td><code>43376478ce654efb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.WeakCacheKey</span></td><td><code>6b2cedf96bca5cfc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.LoadingCache</span></td><td><code>d6c01554badd2bbb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.BridgeMethodResolver</span></td><td><code>0e2167337556055b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.CallbackInfo</span></td><td><code>bdb24bc543166ff9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.DispatcherGenerator</span></td><td><code>cac7fdb23452dd4d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer</span></td><td><code>f5530d24431571c9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.4</span></td><td><code>89e1e07499f55f53</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerFactoryData</span></td><td><code>2fd50c88c0d8a873</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerKey</span></td><td><code>394e4c248eaa5b61</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.FixedValueGenerator</span></td><td><code>4ec5960d28b3a530</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.InvocationHandlerGenerator</span></td><td><code>e077b50f246d79d9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.LazyLoaderGenerator</span></td><td><code>d367eb445dad1b41</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator</span></td><td><code>0e1acc7f50b42004</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator.1</span></td><td><code>712c8dec417dbb0e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy</span></td><td><code>b9d885612a671394</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy.CreateInfo</span></td><td><code>6a77f3278f0f594d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp</span></td><td><code>2072c4e15800eb7b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp.1</span></td><td><code>f51086386b10f167</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOpGenerator</span></td><td><code>0e6388a5ea8b6f9b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.ClassEmitterTransformer</span></td><td><code>6933afd7072880e1</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.TransformingClassGenerator</span></td><td><code>fc36649bb747f8f4</code></td></tr><tr><td><span class="el_class">org.springframework.context.ApplicationEvent</span></td><td><code>52e40864a2e651d6</code></td></tr><tr><td><span class="el_class">org.springframework.context.PayloadApplicationEvent</span></td><td><code>b60694342787279b</code></td></tr><tr><td><span class="el_class">org.springframework.context.SmartLifecycle</span></td><td><code>17d027458a0ace22</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotatedBeanDefinitionReader</span></td><td><code>5f791fa028e60aed</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationBeanNameGenerator</span></td><td><code>0c9fb2319e468635</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationConfigUtils</span></td><td><code>d2651073d2918bee</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationScopeMetadataResolver</span></td><td><code>668202606e595cd6</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.Bean.Bootstrap</span></td><td><code>c04e70548a9210ce</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanAnnotationHelper</span></td><td><code>18ab4e322702713c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanMethod</span></td><td><code>fb379a95cecb07f5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathBeanDefinitionScanner</span></td><td><code>bb1f90f494ba0c62</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider</span></td><td><code>ab6b6944105ef5b1</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.CommonAnnotationBeanPostProcessor</span></td><td><code>06927929416f0bcc</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser</span></td><td><code>4daa8529862ca532</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser.1</span></td><td><code>c4e83be2438faca3</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator</span></td><td><code>b3104cc9229d2fa8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator.ConditionContextImpl</span></td><td><code>8c94a44e3681afb7</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClass</span></td><td><code>a10aa2bddba60376</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader</span></td><td><code>fffe4055ada5598c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.ConfigurationClassBeanDefinition</span></td><td><code>c2f0daaf4ba4c562</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.TrackedConditionEvaluator</span></td><td><code>8d7aa69d25827694</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer</span></td><td><code>06e13c413576ab43</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy</span></td><td><code>0bdcc4dd5aa82e51</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy.1</span></td><td><code>25d01046ca0ed1cb</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareMethodInterceptor</span></td><td><code>b15c22d8e46a1dd2</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanMethodInterceptor</span></td><td><code>95e4ece823ea2ce5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.ConditionalCallbackFilter</span></td><td><code>b2999fc0880e2b11</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser</span></td><td><code>a1aa49931a7a7cac</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DefaultDeferredImportSelectorGroup</span></td><td><code>c9f4bf37c6e09832</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGrouping</span></td><td><code>0037c8ac929f6897</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGroupingHandler</span></td><td><code>50bdd84225154031</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHandler</span></td><td><code>0071c27377810352</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHolder</span></td><td><code>08121bc7f8a069d2</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.ImportStack</span></td><td><code>6dafa5ac8e9afb65</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.SourceClass</span></td><td><code>96d39624a339e045</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor</span></td><td><code>8339b4c10fe01f31</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor.ImportAwareBeanPostProcessor</span></td><td><code>8373d1a62458d5dd</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassUtils</span></td><td><code>2204b23d95a86405</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationCondition.ConfigurationPhase</span></td><td><code>65b15496bdf89d3c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationMethod</span></td><td><code>96619d9a8747baa0</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver</span></td><td><code>9a8bb86eb6e3bd4e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.DeferredImportSelector</span></td><td><code>053d07fe3ec870e8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.DeferredImportSelector.Group.Entry</span></td><td><code>addf7ea789c1dcfc</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FilterType</span></td><td><code>f37fd43e21bb0074</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FullyQualifiedAnnotationBeanNameGenerator</span></td><td><code>0c7765376dd2e406</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportBeanDefinitionRegistrar</span></td><td><code>bd2ecf3c55df8c0d</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportSelector</span></td><td><code>313abf5d1ced9f46</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ParserStrategyUtils</span></td><td><code>1081e7096fa05183</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.PropertySourceRegistry</span></td><td><code>d67828b9b80929f5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScannedGenericBeanDefinition</span></td><td><code>bbd27af9752c1593</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopeMetadata</span></td><td><code>8e679a257092036e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopedProxyMode</span></td><td><code>41a24973ddcf073e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils</span></td><td><code>a967742acccd918a</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils.1</span></td><td><code>f401be51a7119563</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster</span></td><td><code>8f0a518048375e86</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.CachedListenerRetriever</span></td><td><code>ad6bc2e2d615b191</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.DefaultListenerRetriever</span></td><td><code>9d6e3595159c2fd3</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.ListenerCacheKey</span></td><td><code>c24df5aac6ba6061</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ApplicationContextEvent</span></td><td><code>6bbee34ea8dd2700</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextClosedEvent</span></td><td><code>ab93420f444215c1</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextRefreshedEvent</span></td><td><code>d4731f8bce856949</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.DefaultEventListenerFactory</span></td><td><code>e4102e55667431b2</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventExpressionEvaluator</span></td><td><code>30f9e50d3cf82dab</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventListenerMethodProcessor</span></td><td><code>a938316ab2d7f5c2</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.GenericApplicationListenerAdapter</span></td><td><code>03d2268316819a9d</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SimpleApplicationEventMulticaster</span></td><td><code>4a4952c5a75a0018</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SmartApplicationListener</span></td><td><code>3a92dda867c82722</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanExpressionContextAccessor</span></td><td><code>0f6da3df5c89a946</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryAccessor</span></td><td><code>33eb804be3540076</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryResolver</span></td><td><code>5cb60662b88d6756</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.CachedExpressionEvaluator</span></td><td><code>3b9d461d2c3ccd59</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.EnvironmentAccessor</span></td><td><code>4349b6736e609f77</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.MapAccessor</span></td><td><code>6c13874376bec82c</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver</span></td><td><code>0023e2bff54afdfd</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver.1</span></td><td><code>f702074cb1834393</code></td></tr><tr><td><span class="el_class">org.springframework.context.i18n.LocaleContextHolder</span></td><td><code>470161f38b51ee0c</code></td></tr><tr><td><span class="el_class">org.springframework.context.i18n.SimpleLocaleContext</span></td><td><code>ef0e9531d942dfb7</code></td></tr><tr><td><span class="el_class">org.springframework.context.index.CandidateComponentsIndexLoader</span></td><td><code>4f5787b0db22e125</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.AbstractApplicationContext</span></td><td><code>b9b4d13ff65010fd</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.AbstractApplicationContext.1</span></td><td><code>e7d75e7b35cdcd2f</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationContextAwareProcessor</span></td><td><code>e4c1b48df862bd5b</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationListenerDetector</span></td><td><code>2e9cf98180fb262d</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationObjectSupport</span></td><td><code>237cdde79c395f13</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor</span></td><td><code>c34ee21109a294a8</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor.LifecycleGroup</span></td><td><code>3145629c72ff4200</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor.LifecycleGroupMember</span></td><td><code>c74fada3352c9545</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DelegatingMessageSource</span></td><td><code>a4bb14bfcc6929aa</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.EmbeddedValueResolutionSupport</span></td><td><code>edb11aeeaf9fc985</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.GenericApplicationContext</span></td><td><code>fe7c5fc2aea1647a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.MessageSourceAccessor</span></td><td><code>5b6df864404b4007</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.MessageSourceSupport</span></td><td><code>8ac7c6d6049b7663</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate</span></td><td><code>8dcf0a0173ec09ca</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate.BeanPostProcessorChecker</span></td><td><code>de4a3ad21e72a04a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer</span></td><td><code>46ed771d3009e93a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer.ConfigurableEnvironmentPropertySource</span></td><td><code>ee39d8913bc31a3b</code></td></tr><tr><td><span class="el_class">org.springframework.core.AttributeAccessorSupport</span></td><td><code>119db3fce8bcb0c8</code></td></tr><tr><td><span class="el_class">org.springframework.core.BridgeMethodResolver</span></td><td><code>22ee68b4adfd423a</code></td></tr><tr><td><span class="el_class">org.springframework.core.CollectionFactory</span></td><td><code>f082b912f0bfc707</code></td></tr><tr><td><span class="el_class">org.springframework.core.Conventions</span></td><td><code>ff2d38d11c6c3921</code></td></tr><tr><td><span class="el_class">org.springframework.core.DefaultParameterNameDiscoverer</span></td><td><code>8054c8436c497f84</code></td></tr><tr><td><span class="el_class">org.springframework.core.ExceptionDepthComparator</span></td><td><code>210f597534afba54</code></td></tr><tr><td><span class="el_class">org.springframework.core.GenericTypeResolver</span></td><td><code>3712585ba3baa91d</code></td></tr><tr><td><span class="el_class">org.springframework.core.KotlinDetector</span></td><td><code>700afa997e7d0122</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodIntrospector</span></td><td><code>45f077c2de0cbae5</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodParameter</span></td><td><code>ee0d367f5d883ee5</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedInheritableThreadLocal</span></td><td><code>67d73839b416bbdb</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedThreadLocal</span></td><td><code>86749c93668ec888</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedThreadLocal.SuppliedNamedThreadLocal</span></td><td><code>4b07287db8edb6d0</code></td></tr><tr><td><span class="el_class">org.springframework.core.NativeDetector</span></td><td><code>714d853f108ed862</code></td></tr><tr><td><span class="el_class">org.springframework.core.NativeDetector.Context</span></td><td><code>76f384ff5b526dae</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedExceptionUtils</span></td><td><code>f307c06f48fa6327</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedRuntimeException</span></td><td><code>a9e3c65443ed11a1</code></td></tr><tr><td><span class="el_class">org.springframework.core.OrderComparator</span></td><td><code>e3930e000aa9d72e</code></td></tr><tr><td><span class="el_class">org.springframework.core.ParameterizedTypeReference</span></td><td><code>81fd75ecde230704</code></td></tr><tr><td><span class="el_class">org.springframework.core.PrioritizedParameterNameDiscoverer</span></td><td><code>383db6ee2a4285a9</code></td></tr><tr><td><span class="el_class">org.springframework.core.ReactiveAdapterRegistry</span></td><td><code>0372db29326e6c43</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType</span></td><td><code>376af282d95972dd</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.1</span></td><td><code>48e5bd1164686df8</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.DefaultVariableResolver</span></td><td><code>63a109a637d60744</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.EmptyType</span></td><td><code>622822a20c51cf74</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.SyntheticParameterizedType</span></td><td><code>05aa4594bcf4fb6c</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.TypeVariablesVariableResolver</span></td><td><code>0303801379056e3c</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds</span></td><td><code>6703219b93305ea3</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds.Kind</span></td><td><code>c8c63b923128004f</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper</span></td><td><code>28cb9dec48843133</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.FieldTypeProvider</span></td><td><code>acae099e7ef2af4a</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodInvokeTypeProvider</span></td><td><code>54ca8a2cd3ada573</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodParameterTypeProvider</span></td><td><code>b0cd52425ef329e5</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.TypeProxyInvocationHandler</span></td><td><code>9e204056453eef88</code></td></tr><tr><td><span class="el_class">org.springframework.core.SimpleAliasRegistry</span></td><td><code>db0a2951867ad3b7</code></td></tr><tr><td><span class="el_class">org.springframework.core.SpringProperties</span></td><td><code>ea3a9533922780bf</code></td></tr><tr><td><span class="el_class">org.springframework.core.StandardReflectionParameterNameDiscoverer</span></td><td><code>7ee4c190d395fc4f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AbstractMergedAnnotation</span></td><td><code>0197b0b962667c08</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils</span></td><td><code>2acddc7817f987e6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils.AnnotatedElementForAnnotations</span></td><td><code>df8ea4ba23924d40</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod</span></td><td><code>0ca65f171b1d495c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod.AnnotatedMethodParameter</span></td><td><code>b94551ebcbafaf48</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod.ReturnValueMethodParameter</span></td><td><code>b58f8f20019287ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAttributes</span></td><td><code>fdda550d75102198</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAwareOrderComparator</span></td><td><code>14bb5ba6f68da7f6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter</span></td><td><code>00465e4ed141a958</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.1</span></td><td><code>8aa9ec668f47e382</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.2</span></td><td><code>bc3aa320a9ff7cac</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping</span></td><td><code>2aaa18f5659ad89c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets</span></td><td><code>666be3cc692d8eda</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets.MirrorSet</span></td><td><code>6fa3c5ad7b3f3c9e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings</span></td><td><code>51b61fcf38dc4070</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings.Cache</span></td><td><code>9c4f2f8676181ded</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationUtils</span></td><td><code>b9e1159a8a3a1bc0</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsProcessor</span></td><td><code>3b364083a589faec</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner</span></td><td><code>6626783b34675d86</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner.1</span></td><td><code>84df1b746d414391</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AttributeMethods</span></td><td><code>619a10cdbe6ea7d6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger</span></td><td><code>692575db130f9a48</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.1</span></td><td><code>f5bc2694c2e3403d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.2</span></td><td><code>ee5b8174a8264f26</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation</span></td><td><code>ce7b487ae33f35df</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation.Adapt</span></td><td><code>a73340172028ec6e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationCollectors</span></td><td><code>20b3ca0e78c9def6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates</span></td><td><code>32df342d21f90e3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.FirstRunOfPredicate</span></td><td><code>3f468969744f5e50</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.UniquePredicate</span></td><td><code>4d0d67431ae568b9</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors</span></td><td><code>92ea0ff5423de08c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.FirstDirectlyDeclared</span></td><td><code>d3d7e5cd1ed22566</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.Nearest</span></td><td><code>b0013a8a31242b02</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations</span></td><td><code>03c04aa71b1b2476</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations.Search</span></td><td><code>4bcfcf21dde88702</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations.SearchStrategy</span></td><td><code>ae1ead28a4dc6fe8</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection</span></td><td><code>00b963c5f330af7d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection.AnnotationsSpliterator</span></td><td><code>cb5c13e2ffe83737</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MissingMergedAnnotation</span></td><td><code>f222ac229fbc2d13</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.OrderUtils</span></td><td><code>64fd41a2ad53635e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.PackagesAnnotationFilter</span></td><td><code>50e0b1ad05805490</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers</span></td><td><code>104798acf2a2cb4e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.NoRepeatableContainers</span></td><td><code>418c82647839396a</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.StandardRepeatableContainers</span></td><td><code>1db61b2f008866df</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.SynthesizedMergedAnnotationInvocationHandler</span></td><td><code>b84da3bec79e1636</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.SynthesizingMethodParameter</span></td><td><code>bd4766eadd829a3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotation</span></td><td><code>e371820fa3aa4153</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations</span></td><td><code>3b2b692c7ea71e51</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.Aggregate</span></td><td><code>5fceff7a34172acb</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesCollector</span></td><td><code>23eba2037fc973bd</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesSpliterator</span></td><td><code>4bd3c8e42ece46f5</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.IsPresent</span></td><td><code>fdca6fb28056a061</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.MergedAnnotationFinder</span></td><td><code>db650b60c7702177</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.ConversionException</span></td><td><code>a826780bc904a6c8</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.ConversionFailedException</span></td><td><code>e769ca183bad7a43</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.Property</span></td><td><code>380c361c7187425c</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor</span></td><td><code>bf0b2e6a3f6cbe3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor.AnnotatedElementAdapter</span></td><td><code>bba3439575fe78e3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.converter.GenericConverter.ConvertiblePair</span></td><td><code>9db788b9412ea497</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.AbstractConditionalEnumConverter</span></td><td><code>c154f575ae7a6067</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToArrayConverter</span></td><td><code>be8d6762a8100646</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToCollectionConverter</span></td><td><code>6b9aa034560d1881</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToObjectConverter</span></td><td><code>3367694275a79a3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToStringConverter</span></td><td><code>313bd6288cd6f772</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ByteBufferConverter</span></td><td><code>045fa244dee5e958</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CharacterToNumberFactory</span></td><td><code>5b4f0d7407565051</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToArrayConverter</span></td><td><code>3ecfea6c5d5b0957</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToCollectionConverter</span></td><td><code>61dcb24621eb0c3a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToObjectConverter</span></td><td><code>3ecd1e5cd3046948</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToStringConverter</span></td><td><code>48cb3843a55d9fc9</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ConversionUtils</span></td><td><code>48af11fc8c314956</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.DateToInstantConverter</span></td><td><code>46d774223904a0b2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.DefaultConversionService</span></td><td><code>f6eb58d0f884f590</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToIntegerConverter</span></td><td><code>872e436c230b84ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToStringConverter</span></td><td><code>8c2532570461fbe8</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.FallbackObjectToStringConverter</span></td><td><code>08dcbdd7688d80e7</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService</span></td><td><code>442d5cff8444b25b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterAdapter</span></td><td><code>d9c5666f70f0ba46</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterCacheKey</span></td><td><code>fa6b67d5ee3ef525</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterFactoryAdapter</span></td><td><code>4daef2773e44611b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.Converters</span></td><td><code>fc564892bc7bf297</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConvertersForPair</span></td><td><code>266c425f2c3d5656</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.NoOpConverter</span></td><td><code>c64e3ab83dc82a84</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IdToEntityConverter</span></td><td><code>a8879ce2512b3162</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.InstantToDateConverter</span></td><td><code>50cdea1ae3a238ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IntegerToEnumConverterFactory</span></td><td><code>4cb3bd8735edec65</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.MapToMapConverter</span></td><td><code>1d3ea46062a80085</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.MapToMapConverter.MapEntry</span></td><td><code>7136a9b22e451037</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToCharacterConverter</span></td><td><code>e5e7a2f3b312dcb9</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory</span></td><td><code>501b0d11661ca8d6</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory.NumberToNumber</span></td><td><code>7dd6abff120374e4</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToArrayConverter</span></td><td><code>f57311830294bcb5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToCollectionConverter</span></td><td><code>85d6a9166662d742</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToObjectConverter</span></td><td><code>59505a74a00a9dfa</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToOptionalConverter</span></td><td><code>e12de4886e1d3f77</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToStringConverter</span></td><td><code>1f9c1ff43044d9a3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.PropertiesToStringConverter</span></td><td><code>ecc34a0dddf4a6dd</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StreamConverter</span></td><td><code>85c0d73f1761b64d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToArrayConverter</span></td><td><code>703e9665fd9f762e</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToBooleanConverter</span></td><td><code>516d6957a0e25700</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharacterConverter</span></td><td><code>5eaf8c92bcd33d32</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharsetConverter</span></td><td><code>cb10ccd3d1ce2e07</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCollectionConverter</span></td><td><code>ab2972b892b58eb5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCurrencyConverter</span></td><td><code>6fe56e6a7945507c</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToEnumConverterFactory</span></td><td><code>64e81f95b4583f8f</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToLocaleConverter</span></td><td><code>943b668bc20d207f</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToNumberConverterFactory</span></td><td><code>2ee8f61639cc1a2b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToPatternConverter</span></td><td><code>ce0d184b957565e2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToPropertiesConverter</span></td><td><code>5e431a31ac000f8a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToTimeZoneConverter</span></td><td><code>9d8103fdabdc3baa</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToUUIDConverter</span></td><td><code>d2a4e4b870cafcca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZoneIdToTimeZoneConverter</span></td><td><code>52542c8aef4da35d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter</span></td><td><code>2985c822b23456cf</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractEnvironment</span></td><td><code>88f103b4d9e687cc</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractPropertyResolver</span></td><td><code>71499abfb71b63cb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLineArgs</span></td><td><code>89d1a5922b79039e</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLinePropertySource</span></td><td><code>4cae8c696f6466a2</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.EnumerablePropertySource</span></td><td><code>0e61e57f76c90009</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MapPropertySource</span></td><td><code>ea1a757b6cacab34</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MissingRequiredPropertiesException</span></td><td><code>216b45e7630c8b4f</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MutablePropertySources</span></td><td><code>13c42d45ac1cecde</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertiesPropertySource</span></td><td><code>4a78f77715b82b2b</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource</span></td><td><code>7309c6e1170cfc1f</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.ComparisonPropertySource</span></td><td><code>c60ebc5fb639fee0</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.StubPropertySource</span></td><td><code>b5747968ff83eb09</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySourcesPropertyResolver</span></td><td><code>62e3862dadd956ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLineArgsParser</span></td><td><code>0887eabb697d39cb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLinePropertySource</span></td><td><code>cae5f3f1cf66229a</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.StandardEnvironment</span></td><td><code>47de85a4756fdbd3</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SystemEnvironmentPropertySource</span></td><td><code>83bbbbbff8886746</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractFileResolvingResource</span></td><td><code>9b32e31f9d8b6776</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractResource</span></td><td><code>c832f1b74540f436</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ClassPathResource</span></td><td><code>6d4dcd3bc6d7372d</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader</span></td><td><code>15bdd89f9d530650</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource</span></td><td><code>eeeffdee66bba1a3</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DescriptiveResource</span></td><td><code>9723108be2e30f4a</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResource</span></td><td><code>68d15c1e2604d9e7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResourceLoader</span></td><td><code>cca3e35d41eb9afb</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResourceLoader.FileSystemContextResource</span></td><td><code>7275299ce6bd0912</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileUrlResource</span></td><td><code>50c7557f049840f7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ResourceEditor</span></td><td><code>93d7ed9663d3c904</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.UrlResource</span></td><td><code>7afecdde8396b79b</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.DefaultPropertySourceFactory</span></td><td><code>b0b5310335615a05</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PathMatchingResourcePatternResolver</span></td><td><code>1e459023978c902d</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderSupport</span></td><td><code>07504bc3fe5c17b9</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderUtils</span></td><td><code>b92ae09258891e70</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertySourceProcessor</span></td><td><code>4fde129fc0e6e2ef</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourceArrayPropertyEditor</span></td><td><code>efdd8b276dc5897e</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourcePatternUtils</span></td><td><code>d08ec492a3b7c0c9</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader</span></td><td><code>37b9cb66c8a997b0</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.ArgumentResolver</span></td><td><code>c0c948f557dc13c2</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.ArgumentResolver.1</span></td><td><code>8a852418dfa384c6</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.Factories</span></td><td><code>c061e96575c1f429</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.FactoryInstantiator</span></td><td><code>9a45c63986380256</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.FailureHandler</span></td><td><code>14e316dc7bd16540</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.CompositeLog</span></td><td><code>4b57dfa26d44d630</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogDelegateFactory</span></td><td><code>80da975791fa9b8e</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogFormatUtils</span></td><td><code>651bd0c165938e0b</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage</span></td><td><code>52a55a9257c110d2</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage</span></td><td><code>18cc4f6dc39b7068</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage1</span></td><td><code>04b9bf1cca0c81b0</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage2</span></td><td><code>52c0247a4c9e520e</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.SupplierMessage</span></td><td><code>87b639a2ab02b6f2</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.ApplicationStartup</span></td><td><code>90d803088eb92c18</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup</span></td><td><code>d96d3e4ba486bedb</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep</span></td><td><code>f41c2f81cd0c076a</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep.DefaultTags</span></td><td><code>6e0a18f2be8888f4</code></td></tr><tr><td><span class="el_class">org.springframework.core.task.SimpleAsyncTaskExecutor</span></td><td><code>a6ee6061cf40215e</code></td></tr><tr><td><span class="el_class">org.springframework.core.task.SimpleAsyncTaskExecutor.ConcurrencyThrottleAdapter</span></td><td><code>e656588b2f6f1072</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotatedTypeMetadata</span></td><td><code>75b3ae89e437dd1b</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotationMetadata</span></td><td><code>7e14c151850c33b8</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.ClassMetadata</span></td><td><code>8d617cb0fb1eeb3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardAnnotationMetadata</span></td><td><code>205f5cc9719500ec</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardClassMetadata</span></td><td><code>0c2b0c27fa6f54c0</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory</span></td><td><code>6fb4c140a73526f3</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory.LocalResourceCache</span></td><td><code>370c985935c1aa77</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor</span></td><td><code>7c75c4c39c321bf1</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor.ArrayVisitor</span></td><td><code>658c13f0e50fd12e</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadata</span></td><td><code>98d76f7b635225c0</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor</span></td><td><code>838deb47f316e2ef</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor.Source</span></td><td><code>1559250e2a365528</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReader</span></td><td><code>e4fde1062e4a225d</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReaderFactory</span></td><td><code>1e3a77d274434210</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadata</span></td><td><code>1f469d25dde2d662</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor</span></td><td><code>31a1e76139ba707a</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor.Source</span></td><td><code>88d7899b4a0bb424</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter</span></td><td><code>c85d39470a41bcfe</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AnnotationTypeFilter</span></td><td><code>769509d7293835b1</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AssignableTypeFilter</span></td><td><code>a9b8bfd8def9e21a</code></td></tr><tr><td><span class="el_class">org.springframework.expression.TypedValue</span></td><td><code>35438560f539156d</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.LiteralExpression</span></td><td><code>d44a8fcbbe70d64a</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.TemplateAwareExpressionParser</span></td><td><code>e36174fc83e52eb1</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelCompilerMode</span></td><td><code>e07a59aacacc79c2</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelParserConfiguration</span></td><td><code>efa0c7191a7a13fc</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.standard.SpelExpressionParser</span></td><td><code>6fe6a3d3cebfe3d6</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.ReflectivePropertyAccessor</span></td><td><code>112596eb4515eb29</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardEvaluationContext</span></td><td><code>0ee491959435276f</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardOperatorOverloader</span></td><td><code>285d5d419bcb6945</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeComparator</span></td><td><code>6833f35f579c4976</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeConverter</span></td><td><code>db4b3deccd8df243</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeLocator</span></td><td><code>43c6cdca5d072fbf</code></td></tr><tr><td><span class="el_class">org.springframework.format.annotation.DurationFormat.Style</span></td><td><code>4466b077408e7a1b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar</span></td><td><code>e04dd30f81f6bd82</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToDateConverter</span></td><td><code>05d72e188dc5c915</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToLongConverter</span></td><td><code>0cc91de60ab7a4d0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToCalendarConverter</span></td><td><code>97c472ebeec58965</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToLongConverter</span></td><td><code>5d4856e633a7266b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToCalendarConverter</span></td><td><code>695766394b90838e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToDateConverter</span></td><td><code>b1976b8d4a5e418a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateTimeFormatAnnotationFormatterFactory</span></td><td><code>537616af6ec85718</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters</span></td><td><code>378af10c838dfccb</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToInstantConverter</span></td><td><code>74aed3ecb510e72d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateConverter</span></td><td><code>55bb8ac8b07d7f7f</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateTimeConverter</span></td><td><code>c47dfb7d2a68d83e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalTimeConverter</span></td><td><code>a8132c03b39b92fd</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToOffsetDateTimeConverter</span></td><td><code>6acfcad58cdc03be</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToZonedDateTimeConverter</span></td><td><code>94dae872a7c8bba8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.InstantToLongConverter</span></td><td><code>48eda1d7d0c127de</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalDateConverter</span></td><td><code>800f4e7215c9ab26</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalTimeConverter</span></td><td><code>79a1c84eddb729ac</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LongToInstantConverter</span></td><td><code>bea7675f59b13d08</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToInstantConverter</span></td><td><code>07a0d7eae108dcc4</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateConverter</span></td><td><code>a6ed2aad9b784c3c</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateTimeConverter</span></td><td><code>1c3ada25bd70d431</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalTimeConverter</span></td><td><code>e83469e481803125</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToZonedDateTimeConverter</span></td><td><code>2d5b43a14128169e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToInstantConverter</span></td><td><code>be5fd7abe17f0c2d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateConverter</span></td><td><code>886febe05a8c15c0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateTimeConverter</span></td><td><code>74601cfa46f93103</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalTimeConverter</span></td><td><code>1c5f316e83674497</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToOffsetDateTimeConverter</span></td><td><code>d07e903d9f899ae1</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterFactory</span></td><td><code>f00f83ca5261300b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar</span></td><td><code>e4068c0361e42681</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.1</span></td><td><code>2b780f00fa3fc0cb</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.Type</span></td><td><code>a80961bc935a2dfe</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DurationFormatAnnotationFormatterFactory</span></td><td><code>49888f967c319e68</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DurationFormatter</span></td><td><code>d8b01ef3f8f8ea61</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.InstantFormatter</span></td><td><code>c89b9925f116b746</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.Jsr310DateTimeFormatAnnotationFormatterFactory</span></td><td><code>122efc1fd75a7e2e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthDayFormatter</span></td><td><code>950594bf77014f89</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthFormatter</span></td><td><code>edcfbeb1d5c0111a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.PeriodFormatter</span></td><td><code>ef90b20a8fb964e8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorParser</span></td><td><code>ade731e2a7d86881</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorPrinter</span></td><td><code>626891a25afe8739</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearFormatter</span></td><td><code>ee641eb3f193f459</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearMonthFormatter</span></td><td><code>a7b412f1d64de4d6</code></td></tr><tr><td><span class="el_class">org.springframework.format.number.NumberFormatAnnotationFormatterFactory</span></td><td><code>8c3de3b7113d8454</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.DefaultFormattingConversionService</span></td><td><code>3fc855cf34694dc8</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService</span></td><td><code>21ea6c634c74e36c</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationParserConverter</span></td><td><code>4a6e23a06b514ce8</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationPrinterConverter</span></td><td><code>8bb222af98f814de</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.ParserConverter</span></td><td><code>3084cb39fdcd36f2</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.PrinterConverter</span></td><td><code>637045e175bf68e1</code></td></tr><tr><td><span class="el_class">org.springframework.http.CacheControl</span></td><td><code>ce58fea16bfd1061</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpEntity</span></td><td><code>8002c1a600a5e586</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpHeaders</span></td><td><code>235340fe217f3c93</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpLogging</span></td><td><code>1184924f1dcdca25</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpMethod</span></td><td><code>20e4e4f9e26f0c0d</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatus</span></td><td><code>12aa0e3ab2fabde8</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatus.Series</span></td><td><code>65e70f0d823c4208</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatusCode</span></td><td><code>a743df4068b44dd1</code></td></tr><tr><td><span class="el_class">org.springframework.http.MediaType</span></td><td><code>fb19988e5311d0af</code></td></tr><tr><td><span class="el_class">org.springframework.http.MediaType.1</span></td><td><code>685a2d7fa916161c</code></td></tr><tr><td><span class="el_class">org.springframework.http.ReadOnlyHttpHeaders</span></td><td><code>fc3ea060c0ac74bf</code></td></tr><tr><td><span class="el_class">org.springframework.http.ResponseEntity</span></td><td><code>41c04d8a02a7e9f7</code></td></tr><tr><td><span class="el_class">org.springframework.http.ResponseEntity.DefaultBuilder</span></td><td><code>82d4685c71bd638a</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.AbstractClientHttpRequest</span></td><td><code>1964697487b47257</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.AbstractStreamingClientHttpRequest</span></td><td><code>4a93f3d388708ff0</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpRequest</span></td><td><code>b5619dab671ba697</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpRequestFactory</span></td><td><code>45301303bfb60822</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpResponse</span></td><td><code>ad78769f1d8bf71f</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation</span></td><td><code>ca469acabfdc7485</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.1</span></td><td><code>cbc43928b4fe25b4</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.HighCardinalityKeyNames</span></td><td><code>835c2dcb8ab49a79</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.HighCardinalityKeyNames.1</span></td><td><code>cbd8961aa7d1d5c8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames</span></td><td><code>e93a4ef669de1cef</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.1</span></td><td><code>2dbaef1c8cb1c511</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.2</span></td><td><code>ecb054bf6ea65c78</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.3</span></td><td><code>2e50f6621d9058e8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.4</span></td><td><code>87b9dbca72dca94d</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.5</span></td><td><code>183b86cf959b3c4f</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.6</span></td><td><code>3b1f3dd1198fb87d</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientRequestObservationContext</span></td><td><code>794b7930a99fd6e8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.DefaultClientRequestObservationConvention</span></td><td><code>140a65a46f6d1891</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.support.HttpAccessor</span></td><td><code>03e20a2fe667e36b</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.support.InterceptingHttpAccessor</span></td><td><code>0d88ec45f5a76956</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.AbstractGenericHttpMessageConverter</span></td><td><code>a5ad0df67dd9b02d</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.AbstractHttpMessageConverter</span></td><td><code>95f772ebf2639511</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ByteArrayHttpMessageConverter</span></td><td><code>051d396639f02003</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.FormHttpMessageConverter</span></td><td><code>27d9b70a50d01c70</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageConversionException</span></td><td><code>3e5b28f88269b5e7</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageConverter</span></td><td><code>5009a5c02bd0ddcf</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageNotReadableException</span></td><td><code>80b3ef5d64b8f610</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ResourceHttpMessageConverter</span></td><td><code>cab4613f190d8d18</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ResourceRegionHttpMessageConverter</span></td><td><code>6714cd31670e14ce</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.StringHttpMessageConverter</span></td><td><code>98dfe2755f9e089d</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter</span></td><td><code>c5c8c6ef72025958</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.AbstractJsonHttpMessageConverter</span></td><td><code>f6974848ed413347</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.Jackson2ObjectMapperBuilder</span></td><td><code>c082d33fbb9c462a</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.MappingJackson2HttpMessageConverter</span></td><td><code>e2a61811f42b0f31</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.SpringHandlerInstantiator</span></td><td><code>4c0e56e2a69fa194</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter</span></td><td><code>70dbc8247dbc2738</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter</span></td><td><code>92a6a1046675721a</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter</span></td><td><code>d9d4266b85429298</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter</span></td><td><code>9ff539fd0047a104</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer</span></td><td><code>28cb4e98b12dd8a7</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer.DefaultPathSegment</span></td><td><code>24f7778c567597d3</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer.DefaultSeparator</span></td><td><code>07a565767dadcd0d</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultRequestPath</span></td><td><code>77b285ea80ca8ab4</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.PathContainer</span></td><td><code>e3e3dee52de6fa6e</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.PathContainer.Options</span></td><td><code>ab4a6de0bf2bdfee</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.RequestPath</span></td><td><code>f170ae7e2b82bae9</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpRequest</span></td><td><code>16134c191e422e01</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpResponse</span></td><td><code>1640c53c26fb4d92</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpResponse.ServletResponseHttpHeaders</span></td><td><code>5cdaca1f79f983b6</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.DefaultServerRequestObservationConvention</span></td><td><code>6aa9dbd91250f524</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.DefaultServerRequestObservationConvention.HttpOutcome</span></td><td><code>f05938c624f8f9b8</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation</span></td><td><code>3a43d4d067a53be9</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.1</span></td><td><code>3eb530dc2c8cea07</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.HighCardinalityKeyNames</span></td><td><code>7b22182751cab4e3</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.HighCardinalityKeyNames.1</span></td><td><code>7f45357034c11ea0</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames</span></td><td><code>674ba8bd8d8383be</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.1</span></td><td><code>2cb6d33209dd1929</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.2</span></td><td><code>377bbc5dcbaeee0a</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.3</span></td><td><code>19410cb534885c86</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.4</span></td><td><code>776a531862c0d532</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.5</span></td><td><code>4d8783761e780091</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerRequestObservationContext</span></td><td><code>c6f0d2374979a5b1</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerRequestObservationConvention</span></td><td><code>48da5a66719ce0c0</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiAccessor</span></td><td><code>dfe4cc428b168cdb</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiLocatorDelegate</span></td><td><code>21bee06754bebd88</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiLocatorSupport</span></td><td><code>8678eb4a244c3734</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiTemplate</span></td><td><code>586afcc6a448bf9d</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.support.SimpleJndiBeanFactory</span></td><td><code>53d5fa7b1292fe63</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.MockHttpInputMessage</span></td><td><code>c446a80f7ad695eb</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.MockHttpOutputMessage</span></td><td><code>a083f608269aa929</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.client.MockClientHttpRequest</span></td><td><code>07f8cda988b68c8f</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.client.MockClientHttpResponse</span></td><td><code>934a7ae257ed5469</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.DelegatingServletInputStream</span></td><td><code>50cce851ce42e878</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.DelegatingServletOutputStream</span></td><td><code>2da441af72e7de9b</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.HeaderValueHolder</span></td><td><code>9e3b0604ca45f4e7</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterChain</span></td><td><code>a36cd7bff8e24816</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterChain.ServletFilterProxy</span></td><td><code>83d0356b15a389c2</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterConfig</span></td><td><code>ea80aa4eda06a4ed</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterRegistration</span></td><td><code>d06ca7c17cf4fd45</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletMapping</span></td><td><code>b55e7b6d5eee2aea</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletRequest</span></td><td><code>42821b99b7e735b2</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletResponse</span></td><td><code>f2ea87914b9cf9b7</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletResponse.ResponseServletOutputStream</span></td><td><code>22b8d9f550076a6d</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockRequestDispatcher</span></td><td><code>cfd15a0d52f9a25a</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockServletConfig</span></td><td><code>9afa2b0c6df4d63b</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockServletContext</span></td><td><code>cb51fc631ace02b8</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockSessionCookieConfig</span></td><td><code>b9ed5f0374bfa655</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.SpringObjenesis</span></td><td><code>4f20c71da20620f9</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>4acbec8fd09e2dac</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>9e24ffb9abc24a6b</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.CustomizableThreadFactory</span></td><td><code>24925c553f7dc7ee</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ExecutorConfigurationSupport</span></td><td><code>c89b80ac7735edc7</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ExecutorLifecycleDelegate</span></td><td><code>e1000f5e77b99f61</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor</span></td><td><code>f9e43c37d8236499</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.1</span></td><td><code>02f6aa0fae940836</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.ClassMode</span></td><td><code>350decde4ac1356d</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.MethodMode</span></td><td><code>65f0bd60b728b7b2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.BootstrapUtils</span></td><td><code>09e8e9823bbe7493</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.ContextConfigurationAttributes</span></td><td><code>45d673b7a61e0bf8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.DefaultMethodInvoker</span></td><td><code>9c6f9d2ab87083e6</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.MergedContextConfiguration</span></td><td><code>ed8ba52de7020be3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.MethodInvoker</span></td><td><code>76d0f95e4657bfac</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.NestedTestConfiguration.EnclosingConfiguration</span></td><td><code>cb9200b5f402248f</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContext</span></td><td><code>f1dc08635075e211</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils</span></td><td><code>8ad9353b4ac57056</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils.AnnotationDescriptor</span></td><td><code>85528ecbd577a8e3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextManager</span></td><td><code>ba5f2b9f24256d06</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestAttributes</span></td><td><code>372484bac57853a7</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestAttributesFactory</span></td><td><code>aa9316a4073f678b</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestContextInitializers</span></td><td><code>50f7c585d5416cef</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestContextInitializersFactory</span></td><td><code>ecaaa0b42407d0d2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.DefaultAotTestAttributes</span></td><td><code>9a49cee5605f7edc</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideBeanFactoryPostProcessor</span></td><td><code>a92388e9bb182eb2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideBeanFactoryPostProcessor.1</span></td><td><code>4949f843d3689993</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideContextCustomizer</span></td><td><code>000d21df591fa097</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideContextCustomizerFactory</span></td><td><code>b0fffcf933c35624</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideHandler</span></td><td><code>7c8a3c5ccb0dce49</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideRegistry</span></td><td><code>fbea1a03223b6599</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideStrategy</span></td><td><code>470a98f2762ed5c9</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideTestExecutionListener</span></td><td><code>491b050a15d3d5d8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.WrapEarlyBeanPostProcessor</span></td><td><code>4319dfd381c85687</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.AbstractMockitoBeanOverrideHandler</span></td><td><code>6d9555f9af15fcf5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockBeans</span></td><td><code>70f369db7a219fed</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockReset</span></td><td><code>419a2aad20524d56</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockReset.ResetInvocationListener</span></td><td><code>918079f3e1d2bdd8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoBeanOverrideHandler</span></td><td><code>cdab048435bf5c29</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoBeanOverrideProcessor</span></td><td><code>d0da6dc7485b1ccd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoResetTestExecutionListener</span></td><td><code>9ce12f47a3383175</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.SpringMockResolver</span></td><td><code>dc74bdc03ebd8048</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.ContextCacheUtils</span></td><td><code>e8acfdd26a2f8e24</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate</span></td><td><code>22ad636319e6ef98</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache</span></td><td><code>a1a8ca9c44060d0d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache.LruCache</span></td><td><code>f48bb63fd622a5a1</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestClassEvent</span></td><td><code>71f4f61cf6698e7b</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestExecutionEvent</span></td><td><code>5c7ad61d5caf9a62</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestMethodEvent</span></td><td><code>a8b6c31bc20f7a55</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.ApplicationEventsTestExecutionListener</span></td><td><code>5751ed3e72f4bf32</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestClassEvent</span></td><td><code>dd3a83f930034109</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestExecutionEvent</span></td><td><code>e01b97b0f54587d4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestMethodEvent</span></td><td><code>5b4a9ac1b1f153c8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.EventPublishingTestExecutionListener</span></td><td><code>3f800e116b8620e4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.PrepareTestInstanceEvent</span></td><td><code>1e945fc2520ab482</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.TestContextEvent</span></td><td><code>0caa7efaa2032ddd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.junit.jupiter.SpringExtension</span></td><td><code>3a28d52d4c1fc455</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.observation.MicrometerObservationRegistryTestExecutionListener</span></td><td><code>98f06494957f64a5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractContextLoader</span></td><td><code>4192459d68c086ac</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractDelegatingSmartContextLoader</span></td><td><code>d1fd337a1ec5a58d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener</span></td><td><code>afe16ea5cab5dbc8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractGenericContextLoader</span></td><td><code>bba25ccd2d768722</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestContextBootstrapper</span></td><td><code>87f6ff207fda6069</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestExecutionListener</span></td><td><code>9d17f86db27f4485</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ActiveProfilesUtils</span></td><td><code>6d023e11650e9823</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AnnotationConfigContextLoader</span></td><td><code>f0bf12b79796f408</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AnnotationConfigContextLoaderUtils</span></td><td><code>a33c51d9d70b2ce5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ApplicationContextInitializerUtils</span></td><td><code>c78b21651e372e6c</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.CommonCachesTestExecutionListener</span></td><td><code>fc10553726f9fd0a</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultActiveProfilesResolver</span></td><td><code>74c67af034d6f62e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultBootstrapContext</span></td><td><code>e9c0cd186dada73d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContext</span></td><td><code>3051b0c8e87979fb</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContextBootstrapper</span></td><td><code>724f451263eaadb4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DelegatingSmartContextLoader</span></td><td><code>15b6476f6d8b02c0</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DependencyInjectionTestExecutionListener</span></td><td><code>8183f997dad3d05c</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener</span></td><td><code>19c79bc9111bd19e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextTestExecutionListener</span></td><td><code>ecdaa929104b3928</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertiesContextCustomizer</span></td><td><code>3deb231bce895be4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertiesContextCustomizerFactory</span></td><td><code>1d60d365beb0feb4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertyRegistrarBeanInitializer</span></td><td><code>659575aa24e18071</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.GenericXmlContextLoader</span></td><td><code>1c2f4860846114e3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.MergedTestPropertySources</span></td><td><code>d62b8f1ed57890a1</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.TestPropertySourceUtils</span></td><td><code>123ab050b69d0790</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.TestPropertySourceUtils.SequencedProperties</span></td><td><code>817b9f8f9baf6fcb</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.util.TestContextFailureHandler</span></td><td><code>cf705a85e38a8689</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.util.TestContextSpringFactoriesUtils</span></td><td><code>5a1c9fe84011f438</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.ServletTestExecutionListener</span></td><td><code>46a7488d593f3c85</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.WebMergedContextConfiguration</span></td><td><code>377b38f3ff346433</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.socket.MockServerContainerContextCustomizerFactory</span></td><td><code>0e9cf8f8fd96f3e8</code></td></tr><tr><td><span class="el_class">org.springframework.test.http.HttpMessageContentConverter</span></td><td><code>2b262333499c9957</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonAssert</span></td><td><code>92139820c0161b43</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonAssert.JsonAssertJsonComparator</span></td><td><code>78c870f8c7b0bcac</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparator</span></td><td><code>20b9021dca0e2f8e</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonCompareMode</span></td><td><code>e385cce5711b50a7</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparison</span></td><td><code>1db31b129c5955af</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparison.Result</span></td><td><code>6a70dc5fd5542b0a</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.AopTestUtils</span></td><td><code>a3fd2ace8790e9b1</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.AssertionErrors</span></td><td><code>0340965560bc975f</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.ReflectionTestUtils</span></td><td><code>593efeb4db4c1b4d</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.XmlExpectationsHelper</span></td><td><code>aedd60b33ec5c177</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.AbstractRequestExpectationManager</span></td><td><code>3bd056e42b5927ce</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.AbstractRequestExpectationManager.RequestExpectationGroup</span></td><td><code>275f87b93fe03238</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.DefaultRequestExpectation</span></td><td><code>2586343e8f62bc89</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.DefaultRequestExpectation.RequestCount</span></td><td><code>9b73dfac02466f55</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.ExpectedCount</span></td><td><code>f2ddbf3feacadd3b</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer</span></td><td><code>cc253bf85acc7e36</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.AbstractMockRestServiceServerBuilder</span></td><td><code>9a30442e3d233ba5</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.MockClientHttpRequestFactory</span></td><td><code>2afac7de52eea40f</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.MockClientHttpRequestFactory.1</span></td><td><code>5b74cc8aa2a151bd</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.RestTemplateMockRestServiceServerBuilder</span></td><td><code>150866f1be08b0ec</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.SimpleRequestExpectationManager</span></td><td><code>c1ba2c86b377d9a3</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.match.MockRestRequestMatchers</span></td><td><code>3961a5ccf37ccfa9</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.response.DefaultResponseCreator</span></td><td><code>aedd33a3cbf2fd74</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.response.MockRestResponseCreators</span></td><td><code>db3131052fe708ec</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.DefaultMvcResult</span></td><td><code>74bd24cb3ba84d61</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvc</span></td><td><code>74c38d8361e1b658</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvc.1</span></td><td><code>a6bdcfdcea927c17</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvcBuilderSupport</span></td><td><code>9cae95977b2b78e5</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet</span></td><td><code>4704fa16086aa7be</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet.1</span></td><td><code>a02be40acae68749</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet.2</span></td><td><code>a42908c522b3d9f3</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.assertj.MockMvcTester</span></td><td><code>0a11a7671a3e99f9</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.AbstractMockHttpServletRequestBuilder</span></td><td><code>b2610cc413a8aa44</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder</span></td><td><code>d183dae4f50f0cfb</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.MockMvcRequestBuilders</span></td><td><code>b11fe3ea3d5e88a4</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.ContentResultMatchers</span></td><td><code>9a18cc38cf1f1046</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers</span></td><td><code>a9c4de47cc837711</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers.PrintWriterPrintingResultHandler</span></td><td><code>4c6ac363024f9709</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers.PrintWriterPrintingResultHandler.1</span></td><td><code>9fde017aaa7feddc</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultMatchers</span></td><td><code>70fbd2d3df048be6</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.PrintingResultHandler</span></td><td><code>90c79e8159fe6377</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.StatusResultMatchers</span></td><td><code>65b19ac2d43a93c7</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.AbstractMockMvcBuilder</span></td><td><code>439a00ac5d5bddc1</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder</span></td><td><code>ed8452373832681d</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.MockMvcBuilders</span></td><td><code>895196a2494ffa33</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.MockMvcFilterDecorator</span></td><td><code>a3cc20c0b1dfc904</code></td></tr><tr><td><span class="el_class">org.springframework.ui.ExtendedModelMap</span></td><td><code>a9bd85d9c3f45a0e</code></td></tr><tr><td><span class="el_class">org.springframework.ui.ModelMap</span></td><td><code>68255da0125245cb</code></td></tr><tr><td><span class="el_class">org.springframework.ui.context.support.ResourceBundleThemeSource</span></td><td><code>2c4835fcae9480e8</code></td></tr><tr><td><span class="el_class">org.springframework.ui.context.support.UiApplicationContextUtils</span></td><td><code>46167db42670c374</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher</span></td><td><code>2711e0de5eb7665d</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.AntPathStringMatcher</span></td><td><code>4ff413e373ffd8ec</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.PathSeparatorPatternCache</span></td><td><code>c4eb4f9173bd4ac5</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>2e1248d2d1526e84</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>c44f95e948b24673</code></td></tr><tr><td><span class="el_class">org.springframework.util.CollectionUtils</span></td><td><code>702b1708f49908a6</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrencyThrottleSupport</span></td><td><code>dc8e5d61914bf811</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache</span></td><td><code>fc8fd9f95e86479c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.AddTask</span></td><td><code>9787ce91bcc9c029</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.CacheEntry</span></td><td><code>8c2a30bf95fd3747</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.CacheEntryState</span></td><td><code>8fd1493dbe25b369</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus</span></td><td><code>4e8cbd38122e581d</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.1</span></td><td><code>b95aacc7c78a68ae</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.2</span></td><td><code>e5b7610cd3301a8c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.3</span></td><td><code>2d357d08eabaad36</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.EvictionQueue</span></td><td><code>0d8fba71dbe887a5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.Node</span></td><td><code>2bb77316b840ee2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.ReadOperations</span></td><td><code>2916f6a8a859081f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.WriteOperations</span></td><td><code>1bdd5f5883488bc8</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.1</span></td><td><code>b28453beffe0567b</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Entry</span></td><td><code>1ebf1a19741551e5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntryIterator</span></td><td><code>3671e0887b913e43</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntrySet</span></td><td><code>bc332fb6ea536f7d</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Restructure</span></td><td><code>bec31619a87761cd</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.SoftEntryReference</span></td><td><code>90553b95ca65098e</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Task</span></td><td><code>e696f4462c902646</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.TaskOption</span></td><td><code>617a93a5edd02c5d</code></td></tr><tr><td><span class="el_class">org.springframework.util.CustomizableThreadCreator</span></td><td><code>143b3d3fa7c3cae2</code></td></tr><tr><td><span class="el_class">org.springframework.util.DefaultPropertiesPersister</span></td><td><code>b7427e68e6821db1</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap</span></td><td><code>52504fea98decea2</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.1</span></td><td><code>91801a6f81bb94f9</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.EntryIterator</span></td><td><code>eb75ecf0259104a1</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.KeySet</span></td><td><code>f1969e13e921b35b</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.KeySetIterator</span></td><td><code>729a11d591c351c5</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedMultiValueMap</span></td><td><code>44d5eddf78a031a1</code></td></tr><tr><td><span class="el_class">org.springframework.util.MethodInvoker</span></td><td><code>28f381bcf283657a</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType</span></td><td><code>e4d1ce0eae1d0476</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType.SpecificityComparator</span></td><td><code>e99b29c1a1762df2</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeTypeUtils</span></td><td><code>665994a8ee784530</code></td></tr><tr><td><span class="el_class">org.springframework.util.MultiValueMapAdapter</span></td><td><code>7d7830d4d4d7a9dd</code></td></tr><tr><td><span class="el_class">org.springframework.util.NumberUtils</span></td><td><code>16e3b8305f6ed19c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ObjectUtils</span></td><td><code>bb4156812cde3217</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser</span></td><td><code>3f277e665da31ab9</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.AbstractPart</span></td><td><code>6ab347b56a31e343</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.NestedPlaceholderPart</span></td><td><code>5f4825b63f2184f4</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.ParsedSection</span></td><td><code>200afa50502233b7</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.ParsedValue</span></td><td><code>fdbb76264632df68</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.Part</span></td><td><code>25217b44df39a50a</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.PartResolutionContext</span></td><td><code>1b1112b9a169e076</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.SimplePlaceholderPart</span></td><td><code>a0f7a14985b50c2d</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.TextPart</span></td><td><code>21add2c96405b1f9</code></td></tr><tr><td><span class="el_class">org.springframework.util.PropertyPlaceholderHelper</span></td><td><code>71d73d6ee11b1d0b</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils</span></td><td><code>b3705306ddd2d2c6</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils.MethodFilter</span></td><td><code>e6bb9effc94796c8</code></td></tr><tr><td><span class="el_class">org.springframework.util.ResourceUtils</span></td><td><code>acc1d471d7d0c720</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils</span></td><td><code>f4186e18fc55ed8d</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils.NonClosingInputStream</span></td><td><code>e9c6ce59f9cd8a02</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils.NonClosingOutputStream</span></td><td><code>b56212e2bd4dfef6</code></td></tr><tr><td><span class="el_class">org.springframework.util.StringUtils</span></td><td><code>524f0e9093d3c709</code></td></tr><tr><td><span class="el_class">org.springframework.util.SystemPropertyUtils</span></td><td><code>2709a5d62b892e69</code></td></tr><tr><td><span class="el_class">org.springframework.util.TypeUtils</span></td><td><code>1f6eb116b16edc7c</code></td></tr><tr><td><span class="el_class">org.springframework.util.UnmodifiableMultiValueMap</span></td><td><code>674588712080d6e6</code></td></tr><tr><td><span class="el_class">org.springframework.util.function.SingletonSupplier</span></td><td><code>f0da9b709c43f885</code></td></tr><tr><td><span class="el_class">org.springframework.util.function.ThrowingSupplier</span></td><td><code>7ab8f07f14e9ba72</code></td></tr><tr><td><span class="el_class">org.springframework.util.unit.DataSize</span></td><td><code>a1033e5a9544f231</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.SimpleSaxErrorHandler</span></td><td><code>2d5bd64ab23bc9e7</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.XmlValidationModeDetector</span></td><td><code>0a9e7b8529351439</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractBindingResult</span></td><td><code>bface5dc34afefb5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractErrors</span></td><td><code>9c4feb43674923f4</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractPropertyBindingResult</span></td><td><code>666a957752444060</code></td></tr><tr><td><span class="el_class">org.springframework.validation.BeanPropertyBindingResult</span></td><td><code>a78eab25e6f4dd9b</code></td></tr><tr><td><span class="el_class">org.springframework.validation.BindingResult</span></td><td><code>ebce903723c85d58</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DataBinder</span></td><td><code>3a6a57d2372c833e</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DataBinder.ExtendedTypeConverter</span></td><td><code>dc21ef1249fbde00</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultBindingErrorProcessor</span></td><td><code>0bf94c918bd140c5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver</span></td><td><code>c4f74083fa9a6157</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format</span></td><td><code>f157dfb0e8b967c5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format.1</span></td><td><code>5cf8b021827fd75b</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format.2</span></td><td><code>1970d690a3636b99</code></td></tr><tr><td><span class="el_class">org.springframework.validation.annotation.ValidationAnnotationUtils</span></td><td><code>81f5c30cc9b651bf</code></td></tr><tr><td><span class="el_class">org.springframework.validation.support.BindingAwareModelMap</span></td><td><code>9bf8e4150b4d5ba0</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationManager</span></td><td><code>d9b94c458772fdf8</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationManagerFactoryBean</span></td><td><code>cb95beaa3b857196</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationStrategy</span></td><td><code>923328c39a2e16ea</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.HeaderContentNegotiationStrategy</span></td><td><code>d8710d4d13893291</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.MappingMediaTypeFileExtensionResolver</span></td><td><code>8822a21557632872</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.ServletRequestDataBinder</span></td><td><code>19bdb9e7c9cbcf57</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.WebDataBinder</span></td><td><code>9c21ac0be0b59dd5</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.annotation.RequestMethod</span></td><td><code>8eee18fd12143097</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.BindParamNameResolver</span></td><td><code>15285cfb99d2cc1f</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.ConfigurableWebBindingInitializer</span></td><td><code>85109227644a494f</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.DefaultDataBinderFactory</span></td><td><code>8aa4d0fe234100ab</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.DefaultSessionAttributeStore</span></td><td><code>d2ea6318ceb8a199</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.SimpleSessionStatus</span></td><td><code>a3177fc1ca0faebc</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.ClientHttpResponseDecorator</span></td><td><code>4523b51674279564</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.DefaultResponseErrorHandler</span></td><td><code>e07f53c3bcdffdbd</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.HttpMessageConverterExtractor</span></td><td><code>6789aa709ca50935</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.IntrospectingClientHttpResponse</span></td><td><code>c2bf6af5cc35264c</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate</span></td><td><code>c989076c7ffbcf2f</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate.AcceptHeaderRequestCallback</span></td><td><code>f902fd8330e43013</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate.HeadersExtractor</span></td><td><code>181371a7657ee1e6</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.WebApplicationContext</span></td><td><code>2c2637bf43ecf527</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.AbstractRequestAttributes</span></td><td><code>d35a7dd410ac7993</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.AbstractRequestAttributesScope</span></td><td><code>7b9e34f5472d2862</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.RequestContextHolder</span></td><td><code>b1aa9846214e69c0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.RequestScope</span></td><td><code>da7d203b76302a6e</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.ServletRequestAttributes</span></td><td><code>7cfde03152a787c5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.ServletWebRequest</span></td><td><code>434f09a2802ec7c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.SessionScope</span></td><td><code>a5146caff16a8a53</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.CallableProcessingInterceptor</span></td><td><code>89255d764886293e</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest</span></td><td><code>904cf35e7af67e1a</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.LifecycleHttpServletResponse</span></td><td><code>ecadcc3c58512d09</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.LifecycleServletOutputStream</span></td><td><code>272fbe0ea1adf70f</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.State</span></td><td><code>bf7148309a9bc15a</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.TimeoutCallableProcessingInterceptor</span></td><td><code>a6b5b3574f0a4a01</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.TimeoutDeferredResultProcessingInterceptor</span></td><td><code>07597e9b942addf0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncManager</span></td><td><code>aa55b41b93f2fbb0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncManager.State</span></td><td><code>6a0678fc613484c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncUtils</span></td><td><code>e9719030a1514fa8</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.GenericWebApplicationContext</span></td><td><code>bbac6c1dbe6cae04</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.RequestHandledEvent</span></td><td><code>db5c5358c4bd29ac</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextAwareProcessor</span></td><td><code>dbf711ad776e03c6</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextPropertySource</span></td><td><code>b369a2fd6c3ecece</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextResource</span></td><td><code>5ded92d29104e3c5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextResourcePatternResolver</span></td><td><code>8f798de16a4f6638</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextScope</span></td><td><code>b179ea89feb99054</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletRequestHandledEvent</span></td><td><code>b1d6579d9d6f3958</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.StandardServletEnvironment</span></td><td><code>cda31b77e534bae5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils</span></td><td><code>a8e4043b6a4b16b4</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.RequestObjectFactory</span></td><td><code>ea8d3e9493a1b66c</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.ResponseObjectFactory</span></td><td><code>40a6e7a1481ff545</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.SessionObjectFactory</span></td><td><code>b2a2ae81983b5c9d</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.WebRequestObjectFactory</span></td><td><code>424d696eee385a4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationObjectSupport</span></td><td><code>00043b1966037482</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsConfiguration</span></td><td><code>df05d5722229be6c</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsConfiguration.OriginPattern</span></td><td><code>37902b89bbf6aea9</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsUtils</span></td><td><code>7e63423048eb4077</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.DefaultCorsProcessor</span></td><td><code>7a634b60dfecdfe6</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.UrlBasedCorsConfigurationSource</span></td><td><code>40f7257aba99bc4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.CharacterEncodingFilter</span></td><td><code>e0f0c8866522f6b2</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.FormContentFilter</span></td><td><code>45a25645696bec8c</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.GenericFilterBean</span></td><td><code>bbcad52051ff2c6d</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.GenericFilterBean.FilterConfigPropertyValues</span></td><td><code>d2b0f137a8b5f1a3</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.OncePerRequestFilter</span></td><td><code>9a27fb1546349102</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.RequestContextFilter</span></td><td><code>943d50654a00a4e5</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.ServerHttpObservationFilter</span></td><td><code>75ba8ceefbba020f</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.ControllerAdviceBean</span></td><td><code>21bcad8fe023d07c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerMethod</span></td><td><code>ef11a047a9c896aa</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerMethod.MethodValidationInitializer</span></td><td><code>35880169e6d9d065</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerTypePredicate</span></td><td><code>02b009a029d73281</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerTypePredicate.Builder</span></td><td><code>1bad5d50201fb337</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractCookieValueMethodArgumentResolver</span></td><td><code>66a8fb80dabb744c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver</span></td><td><code>c9f86fe2a454351a</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.NamedValueInfo</span></td><td><code>17a22381720ebf7c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ErrorsMethodArgumentResolver</span></td><td><code>663bb8f611915d8d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMappingInfo</span></td><td><code>aed1814045046699</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver</span></td><td><code>4c9158cb36ed76df</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.ExceptionMapingComparator</span></td><td><code>8c3071b2cecbad87</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.ExceptionMapping</span></td><td><code>18e8f5f1b8372a6f</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExpressionValueMethodArgumentResolver</span></td><td><code>a479715de553f58d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.InitBinderDataBinderFactory</span></td><td><code>67c4b3b10fa6c43b</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.MapMethodProcessor</span></td><td><code>2fa21b62cd6b3815</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.MethodArgumentTypeMismatchException</span></td><td><code>33a73620f2e625e0</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelAttributeMethodProcessor</span></td><td><code>eafa679b0d047d6c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelFactory</span></td><td><code>e7590a7d634d13ff</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelMethodProcessor</span></td><td><code>0e16d7e1ab9418b6</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver</span></td><td><code>73f4817910ed621e</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestHeaderMethodArgumentResolver</span></td><td><code>713f14fc839f7659</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestParamMapMethodArgumentResolver</span></td><td><code>59bd78f390176a95</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestParamMethodArgumentResolver</span></td><td><code>5f97742691423a3d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.SessionAttributesHandler</span></td><td><code>e0186d2fea30a4b0</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.SessionStatusMethodArgumentResolver</span></td><td><code>4143e363b99d8718</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.CompositeUriComponentsContributor</span></td><td><code>03a3ede9254e9d49</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.HandlerMethodArgumentResolverComposite</span></td><td><code>be9c4005070d6d0c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite</span></td><td><code>f002e6593db83da2</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.InvocableHandlerMethod</span></td><td><code>641da1676f2d4144</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.ModelAndViewContainer</span></td><td><code>465d18530f9d8544</code></td></tr><tr><td><span class="el_class">org.springframework.web.multipart.support.MultipartResolutionDelegate</span></td><td><code>df74c7e11162ee33</code></td></tr><tr><td><span class="el_class">org.springframework.web.multipart.support.StandardServletMultipartResolver</span></td><td><code>00d0336171b446c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.DispatcherServlet</span></td><td><code>0150d7556610b9a9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FlashMap</span></td><td><code>9a3392ac2faf3339</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FrameworkServlet</span></td><td><code>e7c01a561045bef0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FrameworkServlet.RequestBindingInterceptor</span></td><td><code>b4feb8ba7cb31474</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerExecutionChain</span></td><td><code>c45414b412ba103b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerInterceptor</span></td><td><code>b8cc9be96948efa8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerMapping</span></td><td><code>7368c92fb88dc00e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HttpServletBean</span></td><td><code>f9e4cd4a3b78c1e2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HttpServletBean.ServletConfigPropertyValues</span></td><td><code>8b5277d961afa559</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.ModelAndView</span></td><td><code>7f20f8a82b69c673</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.View</span></td><td><code>c4777f758c51c4e3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer</span></td><td><code>05599ca66ac876ca</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer</span></td><td><code>75215f69342f3023</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.CorsRegistration</span></td><td><code>7281222b16894406</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.CorsRegistry</span></td><td><code>ee337e95e7af0a42</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer</span></td><td><code>2287ac2a418e3163</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration</span></td><td><code>743104417628387d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.InterceptorRegistration</span></td><td><code>7dc7c52f6c48dfb6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.InterceptorRegistry</span></td><td><code>39656fc60a96ad25</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.PathMatchConfigurer</span></td><td><code>9d026fcc3d0391de</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration</span></td><td><code>880237c8f2e184cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry</span></td><td><code>2101dc44d4184c4f</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ViewControllerRegistry</span></td><td><code>9e1e4786e9b0d480</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ViewResolverRegistry</span></td><td><code>37ed31887a36899c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport</span></td><td><code>8deb8e0e653b1ab8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.NoOpValidator</span></td><td><code>010e469449704c0c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurer</span></td><td><code>394bb6ebc2033425</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurerComposite</span></td><td><code>b0db08cde547850a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.function.support.HandlerFunctionAdapter</span></td><td><code>74acb66b98a380a8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.function.support.RouterFunctionMapping</span></td><td><code>b62b9ef24e271669</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping</span></td><td><code>400fce1da57519fe</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver</span></td><td><code>1114d1c187844f01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMapping</span></td><td><code>35a4c66effb36947</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMapping.CorsInterceptor</span></td><td><code>4b6d1523b94a2114</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver</span></td><td><code>44a67b0b12cf03bb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping</span></td><td><code>05e3154efa34627a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.EmptyHandler</span></td><td><code>83c7f3c959df4926</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.MappingRegistration</span></td><td><code>80571ebe186ae7f0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.MappingRegistry</span></td><td><code>e605ebf9c35e9d61</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.Match</span></td><td><code>2a344a7542e410e2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractUrlHandlerMapping</span></td><td><code>006f9b9892e7f00c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping</span></td><td><code>d427c907a9864ec3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.ConversionServiceExposingInterceptor</span></td><td><code>601a9f2eae40110a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.HandlerExceptionResolverComposite</span></td><td><code>96812211c340e708</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.SimpleUrlHandlerMapping</span></td><td><code>401d26ed4b5b0906</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.i18n.AbstractLocaleResolver</span></td><td><code>4f854a9a22c63159</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver</span></td><td><code>468d7faaf581e03b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter</span></td><td><code>031a965c689cbddf</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter</span></td><td><code>72d083bfd3571ce4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver</span></td><td><code>53a9ec21142d2252</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.AbstractMediaTypeExpression</span></td><td><code>341f447d549e4614</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.AbstractRequestCondition</span></td><td><code>87217158ce885d9d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition</span></td><td><code>f233c2e7020cb958</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.HeadersRequestCondition</span></td><td><code>920257d4ec782377</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ParamsRequestCondition</span></td><td><code>aa26e91eaf69d3a5</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition</span></td><td><code>ba81499b7838414c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.PatternsRequestCondition</span></td><td><code>936071437c8acdb9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ProducesRequestCondition</span></td><td><code>70cbe5fafaeac498</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ProducesRequestCondition.ProduceMediaTypeExpression</span></td><td><code>d2971c2f755bb48a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.RequestConditionHolder</span></td><td><code>1e8fbb93b45003b0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.RequestMethodsRequestCondition</span></td><td><code>3423f41d9d64b90c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter</span></td><td><code>12f8de65516447fd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo</span></td><td><code>35e615fbab8f2972</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo.BuilderConfiguration</span></td><td><code>5da168c1f089cc7d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo.DefaultBuilder</span></td><td><code>9dab907b7eeab7f2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping</span></td><td><code>475b39f52e4909e6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMethodMappingNamingStrategy</span></td><td><code>decf41ef221065ae</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice</span></td><td><code>fb79b2db23807a96</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver</span></td><td><code>e24025e8b28aba01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.1</span></td><td><code>8a19a2f4dee7c77a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.ConverterType</span></td><td><code>144fb8a137cb76a4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.EmptyBodyCheckingHttpInputMessage</span></td><td><code>98aca497992d31c9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor</span></td><td><code>8115f51f4a9c7dbf</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.1</span></td><td><code>c2967be2dfc46aad</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.2</span></td><td><code>0086df5101af9e23</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AsyncTaskMethodReturnValueHandler</span></td><td><code>8393ad919f1ad51a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.CallableMethodReturnValueHandler</span></td><td><code>43f27fd87e620603</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler</span></td><td><code>dd32bd763a3e9eca</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver</span></td><td><code>bf492239debabc80</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder</span></td><td><code>958b191dd423b41b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor</span></td><td><code>7aa8c0908474146a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.HttpHeadersReturnValueHandler</span></td><td><code>b92d5992c41c2765</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.JsonViewRequestBodyAdvice</span></td><td><code>cb3c132b7c32aedd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice</span></td><td><code>b4aec4bba8fa7f17</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMapMethodArgumentResolver</span></td><td><code>a8041a565d071009</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMethodArgumentResolver</span></td><td><code>a036e984098faeef</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler</span></td><td><code>5593113b39b6a476</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMapMethodArgumentResolver</span></td><td><code>5a2ca984eb6ec937</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver</span></td><td><code>6ff8e4715ea2827d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver.PathVariableNamedValueInfo</span></td><td><code>78060e777d0bed41</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PrincipalMethodArgumentResolver</span></td><td><code>4439b777bf15aa75</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler</span></td><td><code>b26831ca12089993</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RedirectAttributesMethodArgumentResolver</span></td><td><code>dc287425af5ff206</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestAttributeMethodArgumentResolver</span></td><td><code>bdf7fd66ef529185</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter</span></td><td><code>0bcafb4c5f516d48</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter</span></td><td><code>23cb7a9ddd4732cd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.MvcSimpleAsyncTaskExecutor</span></td><td><code>b83f6818c9299332</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping</span></td><td><code>dbf91edadd6a4c01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.AnnotationDescriptor</span></td><td><code>de30bec99001bd78</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestPartMethodArgumentResolver</span></td><td><code>4de23c97b06600a9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyAdviceChain</span></td><td><code>36ba62869cd26652</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor</span></td><td><code>8e5740a5d116ccc6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler</span></td><td><code>4f5c7b546abf141c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler</span></td><td><code>e64796235b243804</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletCookieValueMethodArgumentResolver</span></td><td><code>5d63d3e04ee20145</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod</span></td><td><code>100299cc271e6383</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor</span></td><td><code>f09fca1d0800ebb5</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletRequestDataBinderFactory</span></td><td><code>d971e0bda53b3ca0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletRequestMethodArgumentResolver</span></td><td><code>ff946dd30f23386e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletResponseMethodArgumentResolver</span></td><td><code>8d5da721b6f23379</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.SessionAttributeMethodArgumentResolver</span></td><td><code>f50e49c2b9807406</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler</span></td><td><code>477f089c6ef569b1</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.UriComponentsBuilderMethodArgumentResolver</span></td><td><code>10f679a247f41ce0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ViewMethodReturnValueHandler</span></td><td><code>f835bf7839e5a0bc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ViewNameMethodReturnValueHandler</span></td><td><code>6aad8f8654801154</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver</span></td><td><code>dc8415664ae2cc8c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.AbstractResourceResolver</span></td><td><code>c8d08bd2b084bd4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.DefaultResourceResolverChain</span></td><td><code>d5f5a7df264b04ef</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.DefaultResourceTransformerChain</span></td><td><code>840033f6794f6b92</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.PathResourceResolver</span></td><td><code>f00036fde50d01e0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceHandlerUtils</span></td><td><code>d2e95fae118d4056</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceHttpRequestHandler</span></td><td><code>64f624ec0507a109</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceUrlProvider</span></td><td><code>7f12aedb5e0da614</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceUrlProviderExposingInterceptor</span></td><td><code>e4b7326361742b50</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.AbstractFlashMapManager</span></td><td><code>f3d59eb18b4159ab</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.RequestContextUtils</span></td><td><code>1d2fe4d771659abd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.SessionFlashMapManager</span></td><td><code>75d602c46776faeb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.WebContentGenerator</span></td><td><code>aa232892443866c4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.theme.AbstractThemeResolver</span></td><td><code>8518a78276d6dc1e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.theme.FixedThemeResolver</span></td><td><code>04b75b872c6c4e96</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver</span></td><td><code>dae53995dab037fb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver.1</span></td><td><code>c936a65ed976f37c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver.2</span></td><td><code>508bac0cb53a9af6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.BeanNameViewResolver</span></td><td><code>fa6a4df9e665c246</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ContentNegotiatingViewResolver</span></td><td><code>b81d1509954b0232</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ContentNegotiatingViewResolver.1</span></td><td><code>c95264b08dcbd8cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator</span></td><td><code>0dfeaa9a4eb3cfe9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.InternalResourceViewResolver</span></td><td><code>8b3e917727eff1d3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.UrlBasedViewResolver</span></td><td><code>f4b6b6163effa180</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ViewResolverComposite</span></td><td><code>a456f3c7d75f1a2d</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DefaultUriBuilderFactory</span></td><td><code>90793328808666f2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode</span></td><td><code>9e4dd1cc7ea75eb6</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DisconnectedClientHelper</span></td><td><code>b362e2ad22d764d8</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents</span></td><td><code>fdc9964cb1bb5579</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.1</span></td><td><code>0584c021b64b1fdf</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.EncodeState</span></td><td><code>7fc072f697c2368a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.FullPathComponent</span></td><td><code>41e1fd53c192c68d</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.QueryUriTemplateVariables</span></td><td><code>d0c52fe869ba1c0a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type</span></td><td><code>986b274351319592</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.1</span></td><td><code>5648dcea72ecc939</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.10</span></td><td><code>949c8532c108d762</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.11</span></td><td><code>ee82a796e32448c4</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.12</span></td><td><code>10a49ba3cbd86958</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.2</span></td><td><code>cfacfb7d4ed05117</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.3</span></td><td><code>8a059729510947d3</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.4</span></td><td><code>46ac555501345140</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.5</span></td><td><code>4702427fe97b4c90</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.6</span></td><td><code>157b5f285ce1953a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.7</span></td><td><code>6ac087f5e6475fc0</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.8</span></td><td><code>91c9c2dda14fe329</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.9</span></td><td><code>49d5ee1324797e03</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser</span></td><td><code>66a969b4803d61a0</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.InternalParser</span></td><td><code>ebe8e357cf3b12b2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State</span></td><td><code>391eef153fc9273f</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.1</span></td><td><code>d3835fe9e901984a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.10</span></td><td><code>c16a423799ceafcb</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.2</span></td><td><code>7f8cc67b54686d32</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.3</span></td><td><code>afb8d179f1575c48</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.4</span></td><td><code>cc147f958553e9c2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.5</span></td><td><code>a13b6c567c8533b9</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.6</span></td><td><code>77c39ac82908ab63</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.7</span></td><td><code>c452ea0882baa862</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.8</span></td><td><code>c8c5ae2aea7f2fee</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.9</span></td><td><code>967a05ad8715f453</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.UriRecord</span></td><td><code>f34f328f1d2b3da9</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.ServletRequestPathUtils</span></td><td><code>539193a56522bc02</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.ServletRequestPathUtils.ServletRequestPath</span></td><td><code>f517bcc104ba3e4a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponents</span></td><td><code>fd0e7bf5d4936cb4</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponents.VarArgsTemplateVariables</span></td><td><code>d401bf17abdca188</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder</span></td><td><code>f59547c83f33fbde</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.1</span></td><td><code>8d4699a338626992</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.CompositePathComponentBuilder</span></td><td><code>d5fac4531cbd023c</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.EncodingHint</span></td><td><code>3facba362d370241</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.FullPathComponentBuilder</span></td><td><code>70aba5c14e95a333</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.ParserType</span></td><td><code>e973da01eeafdf1b</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriUtils</span></td><td><code>ef2afd7430306f9c</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UrlPathHelper</span></td><td><code>38ebfc0bec216934</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UrlPathHelper.1</span></td><td><code>34ab82ce744ca035</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.WebUtils</span></td><td><code>0d191c8529b88ac8</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.CaptureVariablePathElement</span></td><td><code>34ef3fbd31197ea1</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.InternalPathPatternParser</span></td><td><code>c2ccafa0ae7eaa92</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.LiteralPathElement</span></td><td><code>362bd37ecdf0393a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathElement</span></td><td><code>102c103b231eab88</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern</span></td><td><code>9ce3eda7ee4e2f77</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern.MatchingContext</span></td><td><code>cd7dd7a5abd5c44f</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern.PathMatchInfo</span></td><td><code>58980da0b7cbfe2b</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPatternParser</span></td><td><code>5e7ad88ab1307ca5</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPatternParser.1</span></td><td><code>1a3e94bb5f5a4004</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.SeparatorPathElement</span></td><td><code>af11f5d67ce873cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.WildcardTheRestPathElement</span></td><td><code>d83311a40e557675</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDHKeyAgreement</span></td><td><code>90853ec316442961</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature</span></td><td><code>f4b57d788a7a5a90</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.Raw</span></td><td><code>08cd635dd9ec5983</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.RawECDSA</span></td><td><code>c769e3f97c1883d3</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA1</span></td><td><code>3abfa4adf9c4ade2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA224</span></td><td><code>933dfac664ea28a8</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA256</span></td><td><code>baab9083293eb9eb</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA384</span></td><td><code>b63b62cbfb0ca132</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA512</span></td><td><code>3d8302a46ea0fc51</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECKeyFactory</span></td><td><code>6e7ca880787b81b2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECKeyPairGenerator</span></td><td><code>de4177bc3b47c92f</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations</span></td><td><code>1061bb3860fc74e0</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier</span></td><td><code>f1e922908436d0a4</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Default</span></td><td><code>fadecb11e4c738e9</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Secp256R1GeneratorMultiplier</span></td><td><code>6c78b75c41bbc221</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Secp256R1GeneratorMultiplier.P256</span></td><td><code>273486fca7141e93</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECPrivateKeyImpl</span></td><td><code>a64d159b26a95bb2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECPublicKeyImpl</span></td><td><code>03c5f5d819e098b3</code></td></tr><tr><td><span class="el_class">sun.security.ec.ParametersMap</span></td><td><code>e56e1e4f9118e91d</code></td></tr><tr><td><span class="el_class">sun.security.ec.ParametersMap.1</span></td><td><code>e6501af6bd3d6f84</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC</span></td><td><code>68c46e83f562a8e3</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.1</span></td><td><code>8ac81549806b31e1</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.ProviderService</span></td><td><code>2dfac80a07c2a37e</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.ProviderServiceA</span></td><td><code>0c531391998db416</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHKeyPairGenerator</span></td><td><code>202946da6f13b9dc</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHPrivateKeyImpl</span></td><td><code>5cec3940bdc443e6</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHPublicKeyImpl</span></td><td><code>d1c7bec9db488ba9</code></td></tr><tr><td><span class="el_class">sun.security.ec.XECOperations</span></td><td><code>3b9b4e8fb8f32d3d</code></td></tr><tr><td><span class="el_class">sun.security.ec.XECParameters</span></td><td><code>277aa75ccd752cb0</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.Ed25519Operations</span></td><td><code>93d232f2d9cb0d33</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.Ed448Operations</span></td><td><code>a0e6fad4cfa5cbe6</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters</span></td><td><code>6948c799a7d1a442</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters.SHA512DigesterFactory</span></td><td><code>15a5f4199c5abb13</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters.SHAKE256DigesterFactory</span></td><td><code>454e26bf2513f1e1</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature</span></td><td><code>bc455ad44d460396</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature.Ed25519</span></td><td><code>f16c0a7a5b7a75b7</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature.Ed448</span></td><td><code>af905f21b60f41e8</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdECOperations</span></td><td><code>204273e897b7ccf9</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.AffinePoint</span></td><td><code>7ae32c0d50b3b15e</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ExtendedHomogeneousPoint</span></td><td><code>283da87589ffc795</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ExtendedHomogeneousPoint.Immutable</span></td><td><code>b4771c0bc2bce08c</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint</span></td><td><code>caa2439e1f92792e</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint.Immutable</span></td><td><code>7d9233993ce1a960</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint.Mutable</span></td><td><code>4fb5a4eee9aa7da0</code></td></tr><tr><td><span class="el_class">sun.security.jgss.SunProvider</span></td><td><code>8d9a06b412ba029c</code></td></tr><tr><td><span class="el_class">sun.security.jgss.SunProvider.ProviderService</span></td><td><code>3ebef2c3c6f69a54</code></td></tr><tr><td><span class="el_class">sun.security.pkcs11.SunPKCS11</span></td><td><code>c600de7568cc9ad7</code></td></tr><tr><td><span class="el_class">sun.security.pkcs11.SunPKCS11.Descriptor</span></td><td><code>9e1cbf39adfded46</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC</span></td><td><code>02588d556ebf08eb</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC.1</span></td><td><code>b2870d346d9a946c</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC.ProviderService</span></td><td><code>5174e24e4c379a7d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_en_001</span></td><td><code>0b9d9badf759ff3f</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_en_GB</span></td><td><code>c14e38b962763eee</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>cea799461486d92b</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>b4998bcaf6bc697c</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.NonBaseLocaleDataMetaInfo</span></td><td><code>054ae92f6b367f49</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>6444045275aae40b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>60efc1577bff24c0</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Trie</span></td><td><code>d8a5448b9f881d5b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Trie.Builder</span></td><td><code>c8dff2dff6ca0a46</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9a9aec377ecda35c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>9af7c11b2107c234</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>
    \ No newline at end of file
    diff --git a/docs/reports/jacoco/test/jacocoTestReport.xml b/docs/reports/jacoco/test/jacocoTestReport.xml
    new file mode 100644
    index 0000000..e63af65
    --- /dev/null
    +++ b/docs/reports/jacoco/test/jacocoTestReport.xml
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="ilp-coursework"><sessioninfo id="zephyrus-b3d5005c" start="1769073072115" dump="1769073078168"/><package name="io/github/js0ny/ilp_coursework/service"><class name="io/github/js0ny/ilp_coursework/service/PathFinderService$TripResult" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse$DronePath;IF)V" line="548"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService" sourcefilename="DroneAttrComparatorService.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="13" covered="20"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="3" covered="7"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithAttribute" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="57"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesSatisfyingAttributes" desc="([Lio/github/js0ny/ilp_coursework/data/request/AttrQueryRequest;)Ljava/util/List;" line="67"><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithAttributeCompared" desc="(Ljava/lang/String;Ljava/lang/String;Lio/github/js0ny/ilp_coursework/util/AttrOperator;)Ljava/util/List;" line="102"><counter type="INSTRUCTION" missed="4" covered="33"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="8"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesWithAttributeCompared$0" desc="(Lcom/fasterxml/jackson/databind/ObjectMapper;Ljava/lang/String;Ljava/lang/String;Lio/github/js0ny/ilp_coursework/util/AttrOperator;Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="117"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="19" covered="132"/><counter type="BRANCH" missed="7" covered="9"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/PathFinderService" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/GpsCalculationService;Lio/github/js0ny/ilp_coursework/service/DroneInfoService;)V" line="75"><counter type="INSTRUCTION" missed="2" covered="122"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="26"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPath" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse;" line="122"><counter type="INSTRUCTION" missed="23" covered="166"/><counter type="BRANCH" missed="10" covered="16"/><counter type="LINE" missed="7" covered="36"/><counter type="COMPLEXITY" missed="10" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPathAsGeoJson" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="203"><counter type="INSTRUCTION" missed="8" covered="150"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="3" covered="27"/><counter type="COMPLEXITY" missed="5" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assignDeliveries" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/Map;" line="256"><counter type="INSTRUCTION" missed="1" covered="39"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findBestDrone" desc="(Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="276"><counter type="INSTRUCTION" missed="10" covered="60"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="4" covered="18"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitTrips" desc="(Ljava/util/List;Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Ljava/util/List;" line="320"><counter type="INSTRUCTION" missed="39" covered="55"/><counter type="BRANCH" missed="5" covered="5"/><counter type="LINE" missed="10" covered="12"/><counter type="COMPLEXITY" missed="4" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildTrip" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)Lio/github/js0ny/ilp_coursework/service/PathFinderService$TripResult;" line="364"><counter type="INSTRUCTION" missed="19" covered="126"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="5" covered="27"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="estimateTripMoves" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)I" line="417"><counter type="INSTRUCTION" missed="2" covered="42"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="computePath" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Lio/github/js0ny/ilp_coursework/service/PathFinderService$PathSegment;" line="441"><counter type="INSTRUCTION" missed="11" covered="63"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="3" covered="14"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="474"><counter type="INSTRUCTION" missed="3" covered="39"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildAngleCandidates" desc="(D)Ljava/util/List;" line="497"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isRestricted" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="515"><counter type="INSTRUCTION" missed="13" covered="9"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="3" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$assignDeliveries$3" desc="(Ljava/lang/String;)Ljava/util/List;" line="262"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$calculateDeliveryPath$2" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)D" line="165"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$new$1" desc="(Lio/github/js0ny/ilp_coursework/data/external/ServicePoint;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="108"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$new$0" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;)Lio/github/js0ny/ilp_coursework/data/external/Drone;" line="89"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="138" covered="916"/><counter type="BRANCH" missed="47" covered="73"/><counter type="LINE" missed="43" covered="194"/><counter type="COMPLEXITY" missed="46" covered="30"/><counter type="METHOD" missed="1" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/PathFinderService$PathSegment" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;I)V" line="530"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="appendSkippingStart" desc="(Ljava/util/List;)V" line="538"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/DroneInfoService" sourcefilename="DroneInfoService.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/springframework/web/client/RestTemplate;)V" line="25"><counter type="INSTRUCTION" missed="13" covered="18"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="3" covered="7"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithCooling" desc="(Z)Ljava/util/List;" line="64"><counter type="INSTRUCTION" missed="4" covered="16"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="droneDetail" desc="(Ljava/lang/String;)Lio/github/js0ny/ilp_coursework/data/external/Drone;" line="89"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesMatchesRequirements" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/List;" line="112"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="droneMatchesRequirement" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="145"><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="BRANCH" missed="9" covered="13"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="8" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkAvailability" desc="(Ljava/lang/String;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="186"><counter type="INSTRUCTION" missed="8" covered="50"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryServicePointLocationByDroneId" desc="(Ljava/lang/String;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="206"><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="queryServicePointLocation" desc="(I)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="223"><counter type="INSTRUCTION" missed="48" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="fetchAllDrones" desc="()Ljava/util/List;" line="239"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchRestrictedAreas" desc="()Ljava/util/List;" line="248"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchServicePoints" desc="()Ljava/util/List;" line="256"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchDronesForServicePoints" desc="()Ljava/util/List;" line="264"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$4" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="128"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$3" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="130"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$2" desc="(Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="129"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$1" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="125"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesWithCooling$0" desc="(ZLio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="71"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="142" covered="343"/><counter type="BRANCH" missed="37" covered="37"/><counter type="LINE" missed="22" covered="82"/><counter type="COMPLEXITY" missed="30" covered="26"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/GpsCalculationService" sourcefilename="GpsCalculationService.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDistance" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)D" line="47"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateSteps" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)D" line="54"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isCloseTo" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="71"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/Angle;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="86"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkIsInRegion" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/Region;)Z" line="105"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rayCasting" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)Z" line="123"><counter type="INSTRUCTION" missed="1" covered="101"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="1" covered="19"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPointOnEdge" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="175"><counter type="INSTRUCTION" missed="0" covered="83"/><counter type="BRANCH" missed="1" covered="13"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="260"/><counter type="BRANCH" missed="2" covered="32"/><counter type="LINE" missed="3" covered="42"/><counter type="COMPLEXITY" missed="3" covered="22"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DroneAttrComparatorService.java"><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="5" mb="0" cb="0"/><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="3" ci="2" mb="3" cb="1"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="2" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="3" ci="0" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="16" mb="0" cb="2"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="2"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="2"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="0" cb="0"/><line nr="104" mi="0" ci="7" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="1" cb="1"/><line nr="107" mi="4" ci="0" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="8" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="1" cb="1"/><line nr="121" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="2" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="132"/><counter type="BRANCH" missed="7" covered="9"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DroneInfoService.java"><line nr="21" mi="0" ci="1" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="3" ci="2" mb="3" cb="1"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="4" ci="0" mb="2" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="1" cb="1"/><line nr="67" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="11" mb="0" cb="2"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="10" mb="0" cb="2"/><line nr="92" mi="0" ci="5" mb="0" cb="2"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="5" mb="0" cb="4"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="1" ci="12" mb="2" cb="2"/><line nr="126" mi="0" ci="2" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="1" ci="12" mb="2" cb="2"/><line nr="130" mi="0" ci="6" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="2" mb="0" cb="2"/><line nr="147" mi="0" ci="5" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="2"/><line nr="151" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="9" mb="1" cb="3"/><line nr="156" mi="0" ci="2" mb="0" cb="0"/><line nr="160" mi="0" ci="3" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="0"/><line nr="168" mi="1" ci="8" mb="2" cb="2"/><line nr="169" mi="4" ci="5" mb="3" cb="1"/><line nr="173" mi="1" ci="13" mb="3" cb="3"/><line nr="186" mi="0" ci="6" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="3" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="0" cb="0"/><line nr="192" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="4" ci="3" mb="1" cb="1"/><line nr="195" mi="2" ci="14" mb="1" cb="1"/><line nr="196" mi="0" ci="4" mb="0" cb="0"/><line nr="197" mi="0" ci="2" mb="1" cb="1"/><line nr="198" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="2" ci="0" mb="0" cb="0"/><line nr="206" mi="6" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="3" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="2" cb="0"/><line nr="211" mi="16" ci="0" mb="2" cb="0"/><line nr="212" mi="4" ci="0" mb="0" cb="0"/><line nr="213" mi="2" ci="0" mb="2" cb="0"/><line nr="214" mi="5" ci="0" mb="0" cb="0"/><line nr="218" mi="2" ci="0" mb="0" cb="0"/><line nr="223" mi="6" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="0" cb="0"/><line nr="228" mi="7" ci="0" mb="2" cb="0"/><line nr="229" mi="16" ci="0" mb="2" cb="0"/><line nr="230" mi="4" ci="0" mb="2" cb="0"/><line nr="232" mi="6" ci="0" mb="0" cb="0"/><line nr="235" mi="2" ci="0" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="6" mb="0" cb="0"/><line nr="242" mi="0" ci="5" mb="0" cb="0"/><line nr="243" mi="0" ci="7" mb="0" cb="0"/><line nr="244" mi="0" ci="9" mb="0" cb="2"/><line nr="248" mi="0" ci="6" mb="0" cb="0"/><line nr="249" mi="0" ci="4" mb="0" cb="0"/><line nr="250" mi="0" ci="3" mb="0" cb="0"/><line nr="251" mi="4" ci="3" mb="1" cb="1"/><line nr="252" mi="0" ci="3" mb="0" cb="0"/><line nr="256" mi="0" ci="6" mb="0" cb="0"/><line nr="257" mi="0" ci="4" mb="0" cb="0"/><line nr="258" mi="0" ci="3" mb="0" cb="0"/><line nr="259" mi="4" ci="3" mb="1" cb="1"/><line nr="260" mi="0" ci="3" mb="0" cb="0"/><line nr="264" mi="0" ci="6" mb="0" cb="0"/><line nr="265" mi="0" ci="4" mb="0" cb="0"/><line nr="266" mi="0" ci="3" mb="0" cb="0"/><line nr="267" mi="4" ci="3" mb="1" cb="1"/><line nr="268" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="142" covered="343"/><counter type="BRANCH" missed="37" covered="37"/><counter type="LINE" missed="22" covered="82"/><counter type="COMPLEXITY" missed="30" covered="26"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PathFinderService.java"><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="12" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="10" mb="0" cb="2"/><line nr="93" mi="0" ci="5" mb="2" cb="2"/><line nr="94" mi="1" ci="0" mb="0" cb="0"/><line nr="96" mi="0" ci="17" mb="0" cb="2"/><line nr="97" mi="0" ci="5" mb="2" cb="2"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><line nr="100" mi="0" ci="9" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="7" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="2" cb="2"/><line nr="123" mi="8" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="16" mb="0" cb="2"/><line nr="128" mi="0" ci="5" mb="1" cb="1"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="134" mi="0" ci="6" mb="2" cb="2"/><line nr="135" mi="0" ci="11" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="2" mb="0" cb="0"/><line nr="145" mi="0" ci="11" mb="0" cb="2"/><line nr="146" mi="0" ci="4" mb="0" cb="0"/><line nr="147" mi="0" ci="6" mb="0" cb="0"/><line nr="148" mi="0" ci="2" mb="1" cb="1"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="0" ci="6" mb="0" cb="0"/><line nr="152" mi="0" ci="2" mb="1" cb="1"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="0" ci="6" mb="0" cb="0"/><line nr="156" mi="0" ci="2" mb="1" cb="1"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="161" mi="0" ci="6" mb="0" cb="0"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="6" ci="0" mb="0" cb="0"/><line nr="166" mi="1" ci="0" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="169" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="10" mb="0" cb="2"/><line nr="173" mi="0" ci="6" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="1" cb="1"/><line nr="175" mi="0" ci="5" mb="0" cb="0"/><line nr="176" mi="0" ci="5" mb="0" cb="0"/><line nr="177" mi="0" ci="5" mb="0" cb="0"/><line nr="179" mi="0" ci="1" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="11" mb="0" cb="0"/><line nr="184" mi="0" ci="3" mb="1" cb="1"/><line nr="185" mi="5" ci="0" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="203" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="205" mi="0" ci="5" mb="0" cb="0"/><line nr="206" mi="0" ci="4" mb="0" cb="0"/><line nr="208" mi="0" ci="5" mb="2" cb="2"/><line nr="209" mi="0" ci="17" mb="0" cb="2"/><line nr="210" mi="0" ci="5" mb="2" cb="2"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="213" mi="0" ci="11" mb="0" cb="2"/><line nr="214" mi="0" ci="4" mb="0" cb="0"/><line nr="215" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="218" mi="0" ci="7" mb="0" cb="0"/><line nr="219" mi="0" ci="7" mb="0" cb="0"/><line nr="220" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="4" mb="0" cb="0"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="4" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="1" cb="1"/><line nr="227" mi="0" ci="11" mb="0" cb="2"/><line nr="228" mi="0" ci="10" mb="0" cb="0"/><line nr="229" mi="0" ci="1" mb="0" cb="0"/><line nr="231" mi="0" ci="5" mb="0" cb="0"/><line nr="232" mi="0" ci="5" mb="0" cb="0"/><line nr="233" mi="0" ci="4" mb="0" cb="0"/><line nr="234" mi="0" ci="1" mb="0" cb="0"/><line nr="238" mi="0" ci="5" mb="0" cb="0"/><line nr="241" mi="0" ci="5" mb="0" cb="0"/><line nr="242" mi="1" ci="0" mb="0" cb="0"/><line nr="243" mi="6" ci="0" mb="0" cb="0"/><line nr="256" mi="0" ci="4" mb="0" cb="0"/><line nr="257" mi="0" ci="16" mb="0" cb="2"/><line nr="258" mi="0" ci="5" mb="2" cb="2"/><line nr="259" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="0" ci="4" mb="0" cb="0"/><line nr="262" mi="0" ci="12" mb="0" cb="0"/><line nr="264" mi="0" ci="2" mb="0" cb="0"/><line nr="276" mi="0" ci="2" mb="0" cb="0"/><line nr="277" mi="0" ci="2" mb="0" cb="0"/><line nr="279" mi="0" ci="11" mb="0" cb="2"/><line nr="280" mi="0" ci="6" mb="1" cb="1"/><line nr="281" mi="1" ci="0" mb="0" cb="0"/><line nr="283" mi="0" ci="3" mb="0" cb="0"/><line nr="284" mi="0" ci="6" mb="0" cb="0"/><line nr="285" mi="0" ci="2" mb="1" cb="1"/><line nr="286" mi="1" ci="0" mb="0" cb="0"/><line nr="288" mi="0" ci="6" mb="0" cb="0"/><line nr="289" mi="0" ci="2" mb="1" cb="1"/><line nr="290" mi="1" ci="0" mb="0" cb="0"/><line nr="293" mi="0" ci="4" mb="0" cb="0"/><line nr="294" mi="0" ci="2" mb="0" cb="0"/><line nr="295" mi="0" ci="1" mb="0" cb="0"/><line nr="297" mi="0" ci="4" mb="1" cb="1"/><line nr="298" mi="0" ci="2" mb="0" cb="0"/><line nr="299" mi="0" ci="2" mb="0" cb="0"/><line nr="301" mi="0" ci="1" mb="0" cb="0"/><line nr="302" mi="0" ci="2" mb="1" cb="1"/><line nr="303" mi="7" ci="0" mb="0" cb="0"/><line nr="305" mi="0" ci="2" mb="0" cb="0"/><line nr="320" mi="0" ci="4" mb="0" cb="0"/><line nr="321" mi="0" ci="4" mb="0" cb="0"/><line nr="322" mi="0" ci="10" mb="0" cb="2"/><line nr="323" mi="0" ci="4" mb="0" cb="0"/><line nr="324" mi="0" ci="5" mb="0" cb="0"/><line nr="325" mi="0" ci="5" mb="1" cb="1"/><line nr="326" mi="7" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="3" ci="0" mb="0" cb="0"/><line nr="330" mi="2" ci="0" mb="0" cb="0"/><line nr="332" mi="4" ci="0" mb="0" cb="0"/><line nr="335" mi="7" ci="0" mb="0" cb="0"/><line nr="336" mi="2" ci="0" mb="0" cb="0"/><line nr="337" mi="4" ci="0" mb="0" cb="0"/><line nr="339" mi="0" ci="1" mb="0" cb="0"/><line nr="340" mi="0" ci="3" mb="1" cb="1"/><line nr="341" mi="0" ci="5" mb="0" cb="0"/><line nr="342" mi="0" ci="5" mb="1" cb="1"/><line nr="343" mi="3" ci="0" mb="0" cb="0"/><line nr="344" mi="4" ci="0" mb="0" cb="0"/><line nr="346" mi="0" ci="7" mb="0" cb="0"/><line nr="348" mi="0" ci="2" mb="0" cb="0"/><line nr="364" mi="0" ci="5" mb="2" cb="2"/><line nr="365" mi="2" ci="0" mb="0" cb="0"/><line nr="367" mi="0" ci="4" mb="0" cb="0"/><line nr="368" mi="0" ci="2" mb="0" cb="0"/><line nr="369" mi="0" ci="2" mb="0" cb="0"/><line nr="371" mi="0" ci="8" mb="0" cb="2"/><line nr="372" mi="0" ci="5" mb="0" cb="0"/><line nr="373" mi="0" ci="6" mb="0" cb="0"/><line nr="374" mi="0" ci="6" mb="0" cb="0"/><line nr="375" mi="0" ci="3" mb="1" cb="1"/><line nr="376" mi="0" ci="8" mb="0" cb="0"/><line nr="377" mi="0" ci="5" mb="1" cb="1"/><line nr="378" mi="5" ci="0" mb="0" cb="0"/><line nr="380" mi="0" ci="1" mb="0" cb="0"/><line nr="381" mi="4" ci="0" mb="0" cb="0"/><line nr="382" mi="5" ci="0" mb="0" cb="0"/><line nr="384" mi="0" ci="5" mb="0" cb="0"/><line nr="385" mi="0" ci="5" mb="0" cb="0"/><line nr="387" mi="0" ci="6" mb="1" cb="1"/><line nr="388" mi="0" ci="6" mb="0" cb="0"/><line nr="389" mi="0" ci="3" mb="0" cb="0"/><line nr="390" mi="0" ci="5" mb="0" cb="0"/><line nr="391" mi="0" ci="2" mb="0" cb="0"/><line nr="392" mi="0" ci="1" mb="0" cb="0"/><line nr="393" mi="3" ci="0" mb="0" cb="0"/><line nr="395" mi="0" ci="9" mb="0" cb="0"/><line nr="398" mi="0" ci="1" mb="0" cb="0"/><line nr="399" mi="0" ci="3" mb="0" cb="0"/><line nr="400" mi="0" ci="4" mb="0" cb="0"/><line nr="401" mi="0" ci="7" mb="0" cb="0"/><line nr="403" mi="0" ci="7" mb="0" cb="0"/><line nr="405" mi="0" ci="7" mb="0" cb="0"/><line nr="417" mi="0" ci="3" mb="1" cb="1"/><line nr="418" mi="2" ci="0" mb="0" cb="0"/><line nr="420" mi="0" ci="2" mb="0" cb="0"/><line nr="421" mi="0" ci="2" mb="0" cb="0"/><line nr="422" mi="0" ci="10" mb="0" cb="2"/><line nr="423" mi="0" ci="6" mb="0" cb="0"/><line nr="424" mi="0" ci="5" mb="0" cb="0"/><line nr="425" mi="0" ci="3" mb="0" cb="0"/><line nr="426" mi="0" ci="1" mb="0" cb="0"/><line nr="427" mi="0" ci="8" mb="0" cb="0"/><line nr="428" mi="0" ci="2" mb="0" cb="0"/><line nr="441" mi="0" ci="4" mb="0" cb="0"/><line nr="442" mi="0" ci="4" mb="2" cb="2"/><line nr="443" mi="6" ci="0" mb="0" cb="0"/><line nr="445" mi="0" ci="4" mb="0" cb="0"/><line nr="446" mi="0" ci="2" mb="0" cb="0"/><line nr="447" mi="0" ci="2" mb="0" cb="0"/><line nr="448" mi="0" ci="9" mb="1" cb="3"/><line nr="450" mi="0" ci="5" mb="0" cb="0"/><line nr="451" mi="0" ci="4" mb="1" cb="1"/><line nr="452" mi="1" ci="0" mb="0" cb="0"/><line nr="454" mi="0" ci="4" mb="0" cb="0"/><line nr="455" mi="0" ci="2" mb="0" cb="0"/><line nr="456" mi="0" ci="1" mb="0" cb="0"/><line nr="457" mi="0" ci="1" mb="0" cb="0"/><line nr="458" mi="0" ci="10" mb="1" cb="1"/><line nr="459" mi="4" ci="0" mb="0" cb="0"/><line nr="461" mi="0" ci="11" mb="0" cb="0"/><line nr="474" mi="0" ci="1" mb="0" cb="0"/><line nr="475" mi="0" ci="2" mb="0" cb="0"/><line nr="476" mi="0" ci="10" mb="0" cb="0"/><line nr="477" mi="0" ci="4" mb="0" cb="0"/><line nr="478" mi="0" ci="10" mb="1" cb="1"/><line nr="479" mi="0" ci="6" mb="0" cb="0"/><line nr="480" mi="0" ci="4" mb="1" cb="1"/><line nr="481" mi="0" ci="2" mb="0" cb="0"/><line nr="483" mi="1" ci="0" mb="0" cb="0"/><line nr="484" mi="2" ci="0" mb="0" cb="0"/><line nr="497" mi="0" ci="4" mb="0" cb="0"/><line nr="498" mi="0" ci="3" mb="0" cb="0"/><line nr="499" mi="0" ci="4" mb="0" cb="0"/><line nr="500" mi="0" ci="7" mb="0" cb="2"/><line nr="501" mi="0" ci="6" mb="0" cb="0"/><line nr="502" mi="0" ci="7" mb="0" cb="0"/><line nr="504" mi="0" ci="2" mb="0" cb="0"/><line nr="515" mi="4" ci="7" mb="1" cb="1"/><line nr="516" mi="6" ci="0" mb="2" cb="0"/><line nr="517" mi="2" ci="0" mb="0" cb="0"/><line nr="519" mi="1" ci="0" mb="0" cb="0"/><line nr="520" mi="0" ci="2" mb="0" cb="0"/><line nr="530" mi="0" ci="9" mb="0" cb="0"/><line nr="538" mi="0" ci="9" mb="0" cb="2"/><line nr="539" mi="0" ci="8" mb="0" cb="0"/><line nr="541" mi="0" ci="1" mb="0" cb="0"/><line nr="548" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="138" covered="955"/><counter type="BRANCH" missed="47" covered="75"/><counter type="LINE" missed="43" covered="199"/><counter type="COMPLEXITY" missed="46" covered="34"/><counter type="METHOD" missed="1" covered="18"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="GpsCalculationService.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="6" mb="0" cb="0"/><line nr="50" mi="0" ci="9" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="8" mb="0" cb="2"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="8" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="89" mi="0" ci="6" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="2"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="0" ci="6" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="7" mb="0" cb="2"/><line nr="126" mi="0" ci="5" mb="0" cb="0"/><line nr="127" mi="0" ci="9" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="2"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="6" mb="0" cb="2"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="141" mi="0" ci="12" mb="0" cb="4"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><line nr="146" mi="0" ci="6" mb="1" cb="1"/><line nr="147" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="151" mi="0" ci="20" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="2"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="9" mb="0" cb="2"/><line nr="175" mi="0" ci="1" mb="0" cb="0"/><line nr="176" mi="0" ci="11" mb="0" cb="0"/><line nr="177" mi="0" ci="12" mb="0" cb="0"/><line nr="178" mi="0" ci="5" mb="0" cb="2"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><line nr="182" mi="0" ci="1" mb="0" cb="0"/><line nr="183" mi="0" ci="21" mb="1" cb="3"/><line nr="184" mi="0" ci="1" mb="0" cb="0"/><line nr="185" mi="0" ci="21" mb="0" cb="4"/><line nr="187" mi="0" ci="8" mb="0" cb="4"/><counter type="INSTRUCTION" missed="10" covered="260"/><counter type="BRANCH" missed="2" covered="32"/><counter type="LINE" missed="3" covered="42"/><counter type="COMPLEXITY" missed="3" covered="22"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="309" covered="1690"/><counter type="BRANCH" missed="93" covered="153"/><counter type="LINE" missed="73" covered="356"/><counter type="COMPLEXITY" missed="84" covered="90"/><counter type="METHOD" missed="4" covered="47"/><counter type="CLASS" missed="0" covered="6"/></package><package name="io/github/js0ny/ilp_coursework/controller"><class name="io/github/js0ny/ilp_coursework/controller/MapMetaController" sourcefilename="MapMetaController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/DroneInfoService;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRestrictedAreas" desc="()Ljava/util/List;" line="29"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getServicePoints" desc="()Ljava/util/List;" line="35"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/controller/DroneController" sourcefilename="DroneController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/DroneInfoService;Lio/github/js0ny/ilp_coursework/service/DroneAttrComparatorService;Lio/github/js0ny/ilp_coursework/service/PathFinderService;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDronesWithCoolingCapability" desc="(Z)Ljava/util/List;" line="62"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDroneDetail" desc="(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="76"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIdByAttrMap" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="96"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIdByAttrMapPost" desc="([Lio/github/js0ny/ilp_coursework/data/request/AttrQueryRequest;)Ljava/util/List;" line="102"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryAvailableDrones" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/List;" line="109"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPath" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse;" line="116"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPathAsGeoJson" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="123"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="117"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="4" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/controller/ApiController" sourcefilename="ApiController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/GpsCalculationService;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUid" desc="()Ljava/lang/String;" line="52"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDistance" desc="(Lio/github/js0ny/ilp_coursework/data/request/DistanceRequest;)D" line="64"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIsCloseTo" desc="(Lio/github/js0ny/ilp_coursework/data/request/DistanceRequest;)Z" line="79"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/request/MovementRequest;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="94"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIsInRegion" desc="(Lio/github/js0ny/ilp_coursework/data/request/RegionCheckRequest;)Z" line="108"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="86"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ApiController.java"><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="82" mi="0" ci="6" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="86"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MapMetaController.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DroneController.java"><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="2" ci="5" mb="1" cb="1"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="104" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="2" ci="5" mb="1" cb="1"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="2" ci="5" mb="1" cb="1"/><line nr="117" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="2" ci="5" mb="1" cb="1"/><line nr="124" mi="0" ci="5" mb="0" cb="0"/><line nr="125" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="117"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="4" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="8" covered="227"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="58"/><counter type="COMPLEXITY" missed="4" covered="20"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="3"/></package><package name="io/github/js0ny/ilp_coursework/exception"><class name="io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler" sourcefilename="GlobalExceptionHandler.java"><method name="&lt;init&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleHttpMessageNotReadable" desc="(Lorg/springframework/http/converter/HttpMessageNotReadableException;)Ljava/util/Map;" line="26"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleIllegalArgument" desc="(Ljava/lang/IllegalArgumentException;)Ljava/util/Map;" line="33"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleNullPointerException" desc="(Ljava/lang/Exception;)Ljava/util/Map;" line="42"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleGeneralException" desc="(Ljava/lang/Exception;)Ljava/util/Map;" line="49"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="GlobalExceptionHandler.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="20" mi="0" ci="6" mb="0" cb="0"/><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></package><counter type="INSTRUCTION" missed="317" covered="1968"/><counter type="BRANCH" missed="97" covered="157"/><counter type="LINE" missed="73" covered="428"/><counter type="COMPLEXITY" missed="88" covered="116"/><counter type="METHOD" missed="4" covered="73"/><counter type="CLASS" missed="0" covered="10"/></report>
    \ No newline at end of file
    diff --git a/docs/requirements.md b/docs/requirements.md
    new file mode 100644
    index 0000000..054b2a6
    --- /dev/null
    +++ b/docs/requirements.md
    @@ -0,0 +1,24 @@
    +# Software Requirements Specification
    +
    +This document outlines the functional and non-functional requirements for the project, mapped to the V-Model testing strategy.
    +
    +| ID | Description | Type (Attribute) | Level | Linked Test Case |
    +|----|-------------|------------------|-------|-------------------|
    +| **MOD-GO-CORE** | Drone event backend must persist location events and support "Time Travel" queries (snapshot at specific timestamp). | Functional (Verification) | Component | `TestIngestAndSnapshot` |
    +| **MOD-GO-VAL** | The API must enforce strict input validation, rejecting malformed JSON or missing query parameters with `400 Bad Request`. | Robustness (Verification) | Unit | `TestIngestBadJSON` `TestSnapshotMissingTime` |
    +| **MOD-GO-OPS** | The service must provide health probes and support graceful shutdown to prevent data corruption during updates. | Operational | System | `TestHealth` `TestGracefulShutdown` |
    +| **REST-API-GEO** | The API must expose geospatial utilities (distance, proximity) strictly conforming to the JSON contract. | Functional (Contract) | Integration | `ApiControllerTest.java` |
    +| **REST-API-VAL** | REST endpoints must validate input semantic correctness (e.g., valid coordinates) and reject malformed JSON with 400. | Robustness (Verification) | Unit | `ApiControllerTest.java` (Error paths) |
    +| **REST-API-DRONE** | The API must expose drone query endpoints conforming to the specified JSON contract. | Functional | Integration | `DroneControllerTest.java` |
    +| **REST-ALG-PATH** | Pathfinding algorithm must generate valid flight paths within battery budget, ensuring return-to-base actions. | Functional (Verification) | Unit | `PathFinderServiceTest.java` |
    +| **REST-DATA-INT** | System must output flight paths in a simplified format for frontend compatibility. | Interoperability | Unit | `PathFinderServiceTest.java` |
    +| **REST-ALG-GEO** | GPS calculation module must accurately compute Euclidean distances with **1e-9 measurable precision**. | Measurable Quality | Unit | `GpsCalculationServiceTest.java` |
    +| **REST-EXT-INT** | System must integrate with external Drone Info API, gracefully handling network failures (Reliability). | Reliability (Robustness) | Unit (Mocked) | `DroneInfoServiceTest.java` |
    +| **REST-LOGIC-FIL** | Business logic must filter available drones based on dynamic requirements and service availability. | Functional | Unit | `DroneInfoServiceTest.java` |
    +| **REST-SYS-OPS** | The service must have an observable endpoint to verify system availability (Liveness/Readiness). | Operational | System | `ActuatorHealthTest.java` |
    +| **REST-SYS-E2E** | **Validation:** The system must successfully process a complete request lifecycle from ingestion to retrieval (User Journey). | User Need (Validation) | System | `ilp-cw-api/**/*.bru` |
    +| **FRONTEND-UI-UX** | **Validation:** The Svelte UI must provide visual feedback (spinners/toasts) during asynchronous processing. | Usability (Qualitative) | System | *Manual* |
    +
    +**Notes:**
    +* All requirements with ID `MOD-GO-*` are located in `drone-black-box/main_test.go`.
    +* All requirements with ID `REST-*` target the core Spring Boot application.
    diff --git a/docs/test_plan.md b/docs/test_plan.md
    new file mode 100644
    index 0000000..871d2ec
    --- /dev/null
    +++ b/docs/test_plan.md
    @@ -0,0 +1,43 @@
    +# Test Plan & Strategy
    +
    +## Goals and Visibility Metrics
    +
    +- Correctness: 100\% Pass Rate for Unit and Component Tests.
    +- Performance: Go backend event processing (with `oha`)
    +    - Latency: average latency < 500ms 
    +    - Reliability: success rate > 99\%. 
    +- Coverage: Minimum 80\% branch coverage.
    +
    +## Integration Strategy: "Sandwich" Approach
    +
    +Given the polyglot architecture, a "sandwich" integration strategy was adopted:
    +
    +- **Bottom-Up:** Rigorous Unit Testing of the Go computation engine and Java Service logic using `go test` and `JUnit`.
    +- **Top-Down:** End-to-End (E2E) validation using **Bruno** and Manual UI testing.
    +- **Meeting Point:** Integration testing at the REST API layer using Spring Slice Tests.
    +
    +## Critical Path & Dependencies
    +
    +The **Critical Path** for testing was identified as:
    +
    +1.  **Core Algo (Go):** Must be verified first as all upstream services depend on it.
    +2.  **API Contract:** Java-Go interoperability must be stable before UI development.
    +3.  **UI Logic:** Svelte validation is dependent on stable backend APIs.
    +
    +
    +## Risk Management (ODC-Based Analysis)
    +
    +Risks are categorized using **ODC (Orthogonal Defect Classification)** principles to predict potential defect impacts and assign targeted mitigations.
    +
    +| Risk ID | Risk Description | ODC Impact Category | Mitigation Strategy |
    +| :--- | :--- | :--- | :--- |
    +| **R-DATA** | Java/Go data models diverge, causing serialization failures. | **Reliability** |  Implement strict JSON Schema validation (Shift-Left) in CI. |
    +| **R-EXT** | Drone Info API downtime or latency. | **Capability** / **Stability** |  Invest in **Mockito Stubs** to simulate outages and verify fallback logic. |
    +| **R-PERF** | Latency: Go backend exceeds 500ms processing budget. | **Performance** | Run `oha` benchmarks on every commit to detect regression. |
    +| **R-SEC** | Unauthenticated Access: API endpoints exposed without tokens. | **Security** | Negative Testing: Automated security suites in Bruno to verify 401/403 responses. |
    +
    +## Instrumentation Plan
    +
    +* **Scaffolding:** Use Test Doubles (Stubs/Mocks) for all external HTTP calls.
    +* **Observability:** Implement Spring Actuator (`/actuator/health`) for black-box liveness checks.
    +* **Logging:** Use structured logging for traceability across services.
    

u%>L5&4LLBSo5K4}L;M0CuUAu;1@nu&=?!u55r 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