This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 9399733f90 Replace diagram 4 - Container start process 9399733f90 is described below commit 9399733f90ef51663c2b4d3d5eb85c88cdf71669 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Sep 10 10:40:10 2024 +0100 Replace diagram 4 - Container start process --- webapps/docs/architecture/startup.xml | 13 +- .../startup/4_catalina_start_2.plantuml | 103 ++++ .../architecture/startup/4_catalina_start_2.png | Bin 0 -> 145242 bytes .../architecture/startup/4_catalina_start_2.svg | 559 --------------------- 4 files changed, 114 insertions(+), 561 deletions(-) diff --git a/webapps/docs/architecture/startup.xml b/webapps/docs/architecture/startup.xml index 46fa95836e..0a616c5dbd 100644 --- a/webapps/docs/architecture/startup.xml +++ b/webapps/docs/architecture/startup.xml @@ -83,14 +83,23 @@ associated with a single Protocol instance and a single CoyoteAdapter instance. <a href="startup/3_catalina_start_1.png">Diagram 3</a> shows how Tomcat starts the objects created by the Digester that were initialized in the previous step. This diagram also shows when lifecycle events are fired. There is more detail to -the starting of the Engine which is shown inthe following diagram. +the starting of the Engine (and other Containers) which is shown in the +following diagram. </p> <p> -Diagram 4 will show how the Host initialises the Context(s). +<a href="startup/4_catalina_start_2.png">Diagram 4</a> shows how Containers +(Engines, Hosts, Contexts and Wrappers) start along with any supporting +Clusters, Realms and Valves. </p> <p> Diagram 5 will show how the Context initialises the Filters, Servlets etc. </p> +<p> +Diagram 6 will show HostConfig. +</p> +<p> +Diagram 7 will show ContextConfig. +</p> </subsection> <subsection name="comments"> diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml new file mode 100644 index 0000000000..0f16fd6cb4 --- /dev/null +++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml @@ -0,0 +1,103 @@ +@startuml + +' Licensed to the Apache Software Foundation (ASF) under one or more +' contributor license agreements. See the NOTICE file distributed with +' this work for additional information regarding copyright ownership. +' The ASF licenses this file to You 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. + +hide footbox +skinparam style strictuml + +activate Container + +Container -> Container: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Container -> Container ++: startInternal() + +Container -> Cluster ++: start() +Cluster -> Cluster: fireLifecycleEvent(\n BEFORE_START_EVENT) +Cluster -> Cluster ++: startInternal() +Cluster -> Cluster: fireLifecycleEvent(\n START_EVENT) +return +||| +Cluster -> Cluster: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Container -> Realm ++: start() +Realm -> Realm: fireLifecycleEvent(\n BEFORE_START_EVENT) +Realm -> Realm ++: startInternal() +Realm -> Realm: fireLifecycleEvent(\n START_EVENT) +return +||| +Realm -> Realm: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +group Children started in parallel if startStopThreads > 1 (Engines and Hosts only) +Container -> Child ++: start() +note right of Child +Engines have Hosts as children. +Hosts have Contexts as children. +Contexts have Wrappers as children. + +Children are containers so the +process on this diagram is +repeated for each child. + +Contexts do a lot more in start() +as shown in diagram 5. +end note +return +end group + +Container -> Pipeline ++: start() +Pipeline -> Pipeline: fireLifecycleEvent(\n BEFORE_START_EVENT) +Pipeline -> Pipeline ++: startInternal() + +group Each Valve is started sequentially +Pipeline -> Valve ++: start() +Valve -> Valve: fireLifecycleEvent(\n BEFORE_START_EVENT) +Valve -> Valve ++: startInternal() +Valve -> Valve: fireLifecycleEvent(\n START_EVENT) +return +||| +Valve -> Valve: fireLifecycleEvent(\n AFTER_START_EVENT) +return +end group + +Pipeline -> Pipeline: fireLifecycleEvent(\n START_EVENT) +return +||| +Pipeline -> Pipeline: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Container -> Container: fireLifecycleEvent(\n START_EVENT) + +group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers -1) +Container -> UtilityExecutor ++: scheduleWithFixedDelay() +UtilityExecutor -> ContainerBackgroundProcessor ** +note right of ContainerBackgroundProcessor +Re-created +automatically +if it fails +end note +return +end group + +||| +Container -> Container: fireLifecycleEvent(\n AFTER_START_EVENT) + +return + +||| + +@enduml \ No newline at end of file diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.png b/webapps/docs/architecture/startup/4_catalina_start_2.png new file mode 100644 index 0000000000..71af65b961 Binary files /dev/null and b/webapps/docs/architecture/startup/4_catalina_start_2.png differ diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.svg b/webapps/docs/architecture/startup/4_catalina_start_2.svg deleted file mode 100644 index 4637b10095..0000000000 --- a/webapps/docs/architecture/startup/4_catalina_start_2.svg +++ /dev/null @@ -1,559 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' - 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> -<svg fill-opacity="0" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="rgb(0,0,0)" stroke-linecap="square" width="727" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="756" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" [...] -><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" - /><g - ><defs id="defs1" - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" - ><path d="M-7 -7 L107 -7 L107 687 L-7 687 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2" - ><path d="M-7 -7 L153 -7 L153 687 L-7 687 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3" - ><path d="M-7 -7 L148 -7 L148 59 L-7 59 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4" - ><path d="M0 0 L0 48 L122 48 L122 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5" - ><path d="M-7 -7 L19 -7 L19 30 L-7 30 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6" - ><path d="M-7 -7 L19 -7 L19 274 L-7 274 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7" - ><path d="M-7 -7 L19 -7 L19 75 L-7 75 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8" - ><path d="M-7 -7 L19 -7 L19 233 L-7 233 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9" - ><path d="M-7 -7 L19 -7 L19 607 L-7 607 L-7 -7 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10" - ><path d="M-96 -14 L192 -14 L192 28 L-96 28 L-96 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11" - ><path d="M-142 -14 L284 -14 L284 28 L-142 28 L-142 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12" - ><path d="M0 0 L203 0 L203 134 L0 134 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13" - ><path d="M0 0 L0 134 L203 134 L203 113 L161 113 L161 99 L203 99 L203 91 L52 91 L52 77 L203 77 L203 51 L62 51 L62 37 L203 37 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14" - ><path d="M0 0 L204 0 L204 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15" - ><path d="M0 0 L0 104 L162 104 L162 93 L204 93 L204 72 L161 72 L161 58 L204 58 L204 50 L52 50 L52 36 L204 36 L204 10 L62 10 L62 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16" - ><path d="M151 37 L151 51 L53 51 L53 37 ZM151 72 L151 86 L54 86 L54 72 ZM161 107 L161 121 L56 121 L56 107 ZM0 0 L0 15 L111 15 L111 29 L0 29 L0 134 L203 134 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17" - ><path d="M151 1 L151 15 L53 15 L53 1 ZM151 36 L151 50 L54 50 L54 36 ZM161 71 L161 85 L56 85 L56 71 ZM170 107 L170 121 L56 121 L56 107 ZM0 0 L0 134 L203 134 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18" - ><path d="M151 6 L151 20 L54 20 L54 6 ZM161 41 L161 55 L56 55 L56 41 ZM170 77 L170 91 L56 91 L56 77 ZM177 113 L177 127 L58 127 L58 113 ZM0 0 L0 134 L203 134 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19" - ><path d="M161 5 L161 19 L56 19 L56 5 ZM170 41 L170 55 L56 55 L56 41 ZM177 77 L177 91 L58 91 L58 77 ZM0 0 L0 98 L20 98 L20 112 L0 112 L0 134 L203 134 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20" - ><path d="M170 5 L170 19 L56 19 L56 5 ZM177 41 L177 55 L58 55 L58 41 ZM0 0 L0 62 L20 62 L20 76 L0 76 L0 134 L30 134 L30 123 L82 123 L82 134 L203 134 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21" - ><path d="M0 0 L200 0 L200 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath22" - ><path d="M124 36 L124 50 L72 50 L72 36 ZM0 0 L0 104 L134 104 L134 97 L186 97 L186 104 L200 104 L200 29 L162 29 L162 15 L200 15 L200 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath23" - ><path d="M0 0 L332 0 L332 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath24" - ><path d="M190 36 L190 50 L138 50 L138 36 ZM0 0 L0 104 L295 104 L295 103 L332 103 L332 50 L316 50 L316 36 L332 36 L332 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath25" - ><path d="M0 0 L218 0 L218 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath26" - ><path d="M134 36 L134 50 L80 50 L80 36 ZM179 77 L179 91 L137 91 L137 77 ZM0 0 L0 104 L59 104 L59 103 L185 103 L185 104 L218 104 L218 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath27" - ><path d="M132 36 L132 50 L82 50 L82 36 ZM0 0 L0 82 L3 82 L3 96 L0 96 L0 104 L218 104 L218 20 L91 20 L91 6 L218 6 L218 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath28" - ><path d="M0 0 L321 0 L321 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath29" - ><path d="M179 36 L179 50 L137 50 L137 36 ZM185 62 L185 76 L59 76 L59 62 ZM0 0 L0 77 L11 77 L11 91 L0 91 L0 104 L321 104 L321 0 L134 0 L134 9 L80 9 L80 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath30" - ><path d="M0 0 L423 0 L423 104 L0 104 L0 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath31" - ><path d="M230 36 L230 50 L188 50 L188 36 ZM225 67 L225 81 L91 81 L91 67 ZM0 0 L0 104 L82 104 L82 97 L132 97 L132 104 L423 104 L423 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath32" - ><path d="M179 10 L179 24 L137 24 L137 10 ZM185 36 L185 50 L59 50 L59 36 ZM0 0 L0 51 L11 51 L11 65 L0 65 L0 104 L218 104 L218 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath33" - ><path d="M230 5 L230 19 L188 19 L188 5 ZM225 36 L225 50 L91 50 L91 36 ZM132 66 L132 80 L82 80 L82 66 ZM0 0 L0 104 L321 104 L321 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath34" - ><path d="M139 36 L139 50 L56 50 L56 36 ZM0 0 L0 62 L20 62 L20 76 L0 76 L0 134 L203 134 L203 35 L187 35 L187 21 L203 21 L203 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath35" - ><path d="M124 36 L124 50 L72 50 L72 36 ZM0 0 L0 104 L200 104 L200 24 L160 24 L160 10 L200 10 L200 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath36" - ><path d="M239 36 L239 50 L89 50 L89 36 ZM0 0 L0 104 L332 104 L332 4 L318 4 L318 0 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath37" - ><path d="M-150 -14 L300 -14 L300 28 L-150 28 L-150 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath38" - ><path d="M-52 -14 L104 -14 L104 28 L-52 28 L-52 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath39" - ><path d="M-83 -14 L166 -14 L166 28 L-83 28 L-83 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath40" - ><path d="M-134 -14 L268 -14 L268 28 L-134 28 L-134 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath41" - ><path d="M-126 -14 L252 -14 L252 28 L-126 28 L-126 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath42" - ><path d="M-42 -14 L84 -14 L84 28 L-42 28 L-42 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath43" - ><path d="M-50 -14 L100 -14 L100 28 L-50 28 L-50 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath44" - ><path d="M-54 -14 L108 -14 L108 28 L-54 28 L-54 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath45" - ><path d="M-119 -14 L238 -14 L238 28 L-119 28 L-119 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath46" - ><path d="M-114 -14 L228 -14 L228 28 L-114 28 L-114 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath47" - ><path d="M-105 -14 L210 -14 L210 28 L-105 28 L-105 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath48" - ><path d="M-97 -14 L194 -14 L194 28 L-97 28 L-97 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath49" - ><path d="M-98 -14 L196 -14 L196 28 L-98 28 L-98 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath50" - ><path d="M-167 -14 L334 -14 L334 28 L-167 28 L-167 -14 Z" - /></clipPath - ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath51" - ><path d="M-195 -14 L390 -14 L390 28 L-195 28 L-195 -14 Z" - /></clipPath - ></defs - ><g fill="white" text-rendering="geometricPrecision" fill-opacity="1" stroke-opacity="1" stroke="white" - ><rect x="0" width="727" height="756" y="0" stroke="none" - /></g - ><g font-size="11px" transform="translate(565,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(565,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" - /><line clip-path="url(#clipPath1)" fill="none" x1="47" x2="47" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g font-size="11px" transform="translate(463,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(463,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" - /><line clip-path="url(#clipPath1)" fill="none" x1="47" x2="47" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g font-size="11px" transform="translate(360,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(360,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" - /><line clip-path="url(#clipPath1)" fill="none" x1="47" x2="47" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g font-size="11px" transform="translate(215,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="141" height="35" y="0" clip-path="url(#clipPath2)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(215,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="141" height="35" y="0" clip-path="url(#clipPath2)" - /><line clip-path="url(#clipPath2)" fill="none" x1="70" x2="70" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g font-size="11px" transform="translate(110,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(110,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" - /><line clip-path="url(#clipPath1)" fill="none" x1="47" x2="47" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g font-size="11px" transform="translate(2,2)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(2,2)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="95" height="35" y="0" clip-path="url(#clipPath1)" - /><line clip-path="url(#clipPath1)" fill="none" x1="47" x2="47" y1="35" y2="676" stroke-linejoin="bevel" stroke-dasharray="8,3" - /></g - ><g transform="translate(586,704)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><polygon points=" 0 0 121 0 136 15 121 15 121 0 136 15 136 47 0 47" stroke="none" clip-path="url(#clipPath3)" - /></g - ><g stroke-linecap="butt" transform="translate(586,704)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" stroke-miterlimit="0" - ><polygon fill="none" points=" 0 0 121 0 136 15 121 15 121 0 136 15 136 47 0 47" clip-path="url(#clipPath3)" - /></g - ><g font-size="15px" transform="translate(586,704)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="'Ubuntu'" stroke="black" stroke-opacity="1" - ><path d="M9.1406 8.8574 L7.4375 8.8574 L6.9375 10.8105 L8.6562 10.8105 L9.1406 8.8574 ZM8.25 5.5293 L7.6406 7.9512 L9.3594 7.9512 L9.9688 5.5293 L10.9062 5.5293 L10.3125 7.9512 L12.1406 7.9512 L12.1406 8.8574 L10.0781 8.8574 L9.5938 10.8105 L11.4688 10.8105 L11.4688 11.7168 L9.375 11.7168 L8.7656 14.1387 L7.8281 14.1387 L8.4219 11.7168 L6.7031 11.7168 L6.1094 14.1387 L5.1562 14.1387 L5.7656 11.7168 L3.9219 11.7168 L3.9219 10.8105 L5.9844 10.8105 L6.4844 8.8574 L4.5938 8.8574 L4.5938 [...] - /><path d="M8.3125 22.7637 L8.3125 23.7949 Q7.8594 23.5605 7.3594 23.4512 Q6.875 23.3262 6.3438 23.3262 Q5.5469 23.3262 5.1406 23.5762 Q4.7344 23.8105 4.7344 24.3105 Q4.7344 24.6855 5.0156 24.9043 Q5.3125 25.1074 6.1875 25.2949 L6.5469 25.3887 Q7.7031 25.623 8.1875 26.0762 Q8.6719 26.5293 8.6719 27.3262 Q8.6719 28.248 7.9375 28.7793 Q7.2188 29.3105 5.9531 29.3105 Q5.4219 29.3105 4.8438 29.2012 Q4.2812 29.1074 3.6562 28.9043 L3.6562 27.7793 Q4.25 28.0918 4.8281 28.248 Q5.4062 28.404 [...] - /></g - ><g font-size="11px" transform="translate(609,539)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(609,539)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(507,570)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(507,570)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(507,416)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(507,416)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(404,600)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(404,600)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(404,442)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(404,442)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(404,375)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(404,375)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(282,646)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(282,646)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(282,375)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="263" y="0" clip-path="url(#clipPath6)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(282,375)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="263" y="0" clip-path="url(#clipPath6)" - /></g - ><g font-size="11px" transform="translate(154,457)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="64" y="0" clip-path="url(#clipPath7)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(154,457)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="64" y="0" clip-path="url(#clipPath7)" - /></g - ><g font-size="11px" transform="translate(158,457)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,457)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(154,129)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="222" y="0" clip-path="url(#clipPath8)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(154,129)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="222" y="0" clip-path="url(#clipPath8)" - /></g - ><g font-size="11px" transform="translate(158,288)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,288)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(158,252)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,252)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(158,216)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,216)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(158,186)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,186)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(158,150)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(158,150)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(46,88)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="596" y="0" clip-path="url(#clipPath9)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(46,88)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="596" y="0" clip-path="url(#clipPath9)" - /></g - ><g font-size="11px" transform="translate(50,483)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(50,483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(50,314)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(50,314)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(50,88)" fill-opacity="1" fill="rgb(255,255,204)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,204)" stroke-opacity="1" - ><rect x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" stroke="none" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(50,88)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0" - ><rect fill="none" x="0" width="8" height="19" y="0" clip-path="url(#clipPath5)" - /></g - ><g font-size="11px" transform="translate(565,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="4" xml:space="preserve" y="11" clip-path="url(#clipPath10)" stroke="none" - >NamingRuleSet</text - ></g - ><g font-size="11px" transform="translate(463,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="5" xml:space="preserve" y="11" clip-path="url(#clipPath10)" stroke="none" - >ContextRuleSet</text - ></g - ><g font-size="11px" transform="translate(360,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="24" xml:space="preserve" y="11" clip-path="url(#clipPath10)" stroke="none" - >Digester</text - ></g - ><g font-size="11px" transform="translate(215,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="7" xml:space="preserve" y="11" clip-path="url(#clipPath11)" stroke="none" - >StandardHostDeployer</text - ></g - ><g font-size="11px" transform="translate(110,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="17" xml:space="preserve" y="11" clip-path="url(#clipPath10)" stroke="none" - >HostConfig</text - ></g - ><g font-size="11px" transform="translate(2,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1" - ><text x="9" xml:space="preserve" y="11" clip-path="url(#clipPath10)" stroke="none" - >StandardHost</text - ></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(4,38)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath13)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath13)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath13)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath13)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath13)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(4,79)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath15)" x2="150" y1="50" - /><polygon fill="white" clip-path="url(#clipPath15)" points=" 150 50 138 44 138 56" stroke="none" - /><polygon fill="none" points=" 150 50 138 44 138 56" clip-path="url(#clipPath15)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,100)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath16)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath16)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath16)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath16)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath16)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,136)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath17)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath17)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath17)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath17)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath17)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,166)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath18)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath18)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath18)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath18)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath18)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,202)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath19)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath19)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath19)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath19)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath19)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,238)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath20)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath20)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath20)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath20)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath20)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(8,264)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="146" clip-path="url(#clipPath22)" x2="50" y1="50" - /><polygon fill="white" clip-path="url(#clipPath22)" points=" 50 50 62 56 62 44" stroke="none" - /><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath22)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(4,325)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath24)" x2="278" y1="50" - /><polygon fill="white" clip-path="url(#clipPath24)" points=" 278 50 266 44 266 56" stroke="none" - /><polygon fill="none" points=" 278 50 266 44 266 56" clip-path="url(#clipPath24)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,325)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath26)" x2="164" y1="50" - /><polygon fill="white" clip-path="url(#clipPath26)" points=" 164 50 152 44 152 56" stroke="none" - /><polygon fill="none" points=" 164 50 152 44 152 56" clip-path="url(#clipPath26)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,550)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath27)" x2="164" y1="50" - /><polygon fill="white" clip-path="url(#clipPath27)" points=" 164 50 152 44 152 56" stroke="none" - /><polygon fill="none" points=" 164 50 152 44 152 56" clip-path="url(#clipPath27)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,366)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath29)" x2="267" y1="50" - /><polygon fill="white" clip-path="url(#clipPath29)" points=" 267 50 255 44 255 56" stroke="none" - /><polygon fill="none" points=" 267 50 255 44 255 56" clip-path="url(#clipPath29)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,489)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath31)" x2="369" y1="50" - /><polygon fill="white" clip-path="url(#clipPath31)" points=" 369 50 357 44 357 56" stroke="none" - /><polygon fill="none" points=" 369 50 357 44 357 56" clip-path="url(#clipPath31)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,392)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath32)" x2="164" y1="50" - /><polygon fill="white" clip-path="url(#clipPath32)" points=" 164 50 152 44 152 56" stroke="none" - /><polygon fill="none" points=" 164 50 152 44 152 56" clip-path="url(#clipPath32)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(240,520)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath33)" x2="267" y1="50" - /><polygon fill="white" clip-path="url(#clipPath33)" points=" 267 50 255 44 255 56" stroke="none" - /><polygon fill="none" points=" 267 50 255 44 255 56" clip-path="url(#clipPath33)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(112,407)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath34)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath34)" x2="149" y1="50" - /><line y2="80" fill="none" x1="149" clip-path="url(#clipPath34)" x2="54" y1="80" - /><polygon fill="white" clip-path="url(#clipPath34)" points=" 54 80 66 86 66 74" stroke="none" - /><polygon fill="none" points=" 54 80 66 86 66 74" clip-path="url(#clipPath34)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(8,433)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="146" clip-path="url(#clipPath35)" x2="50" y1="50" - /><polygon fill="white" clip-path="url(#clipPath35)" points=" 50 50 62 56 62 44" stroke="none" - /><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath35)" - /></g - ><g stroke-linecap="butt" font-size="11px" transform="translate(4,596)" fill-opacity="1" fill="rgb(153,0,51)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(153,0,51)" stroke-opacity="1" - ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath36)" x2="278" y1="50" - /><polygon fill="white" clip-path="url(#clipPath36)" points=" 278 50 266 44 266 56" stroke="none" - /><polygon fill="none" points=" 278 50 266 44 266 56" clip-path="url(#clipPath36)" - /></g - ><g font-size="11px" transform="translate(93,632)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="150" height="14" y="0" clip-path="url(#clipPath37)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath37)" stroke="none" - >install() // same as above</text - ></g - ><g font-size="11px" transform="translate(80,469)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="52" height="14" y="0" clip-path="url(#clipPath38)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath38)" stroke="none" - >install()</text - ></g - ><g font-size="11px" transform="translate(168,443)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="83" height="14" y="0" clip-path="url(#clipPath39)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath39)" stroke="none" - >deployApps()</text - ></g - ><g font-size="11px" transform="translate(331,556)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="134" height="14" y="0" clip-path="url(#clipPath40)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath40)" stroke="none" - >add(NamingRuleSet())</text - ></g - ><g font-size="11px" transform="translate(299,428)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="126" height="14" y="0" clip-path="url(#clipPath41)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath41)" stroke="none" - >add(ContextRuleSet)</text - ></g - ><g font-size="11px" transform="translate(428,525)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="42" height="14" y="0" clip-path="url(#clipPath42)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath42)" stroke="none" - >new()</text - ></g - ><g font-size="11px" transform="translate(377,402)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="42" height="14" y="0" clip-path="url(#clipPath42)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath42)" stroke="none" - >new()</text - ></g - ><g font-size="11px" transform="translate(322,586)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="50" height="14" y="0" clip-path="url(#clipPath43)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath43)" stroke="none" - >parse()</text - ></g - ><g font-size="11px" transform="translate(320,361)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="54" height="14" y="0" clip-path="url(#clipPath44)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath44)" stroke="none" - >create()</text - ></g - ><g font-size="11px" transform="translate(142,361)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="52" height="14" y="0" clip-path="url(#clipPath38)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath38)" stroke="none" - >install()</text - ></g - ><g font-size="11px" transform="translate(80,300)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="52" height="14" y="0" clip-path="url(#clipPath38)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath38)" stroke="none" - >install()</text - ></g - ><g font-size="11px" transform="translate(170,279)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="119" height="14" y="0" clip-path="url(#clipPath45)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath45)" stroke="none" - >deployDescriptors()</text - ></g - ><g font-size="11px" transform="translate(168,243)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="114" height="14" y="0" clip-path="url(#clipPath46)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath46)" stroke="none" - >setXMLValidation()</text - ></g - ><g font-size="11px" transform="translate(168,207)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="105" height="14" y="0" clip-path="url(#clipPath47)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath47)" stroke="none" - >setUnpacksWar()</text - ></g - ><g font-size="11px" transform="translate(166,172)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="97" height="14" y="0" clip-path="url(#clipPath48)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath48)" stroke="none" - >setLiveDeploy()</text - ></g - ><g font-size="11px" transform="translate(165,137)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="98" height="14" y="0" clip-path="url(#clipPath49)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath49)" stroke="none" - >setDeployXML()</text - ></g - ><g font-size="11px" transform="translate(56,115)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="167" height="14" y="0" clip-path="url(#clipPath50)" stroke="none" - /><text fill="black" x="5" xml:space="preserve" y="11" clip-path="url(#clipPath50)" stroke="none" - >interested[i].lifecycleEvent()</text - ></g - ><g font-size="11px" transform="translate(66,75)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1" - ><rect x="0" width="195" height="14" y="0" clip-path="url(#clipPath51)" stroke="none" - /><text fill="black" x="4" xml:space="preserve" y="11" clip-path="url(#clipPath51)" stroke="none" - >fireLifecycleEvent(START_EVENT)</text - ></g - ><g font-size="10px" transform="rotate(-45) translate(-535.9334,0)" fill-opacity="1" fill="rgb(120,120,120)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" stroke="rgb(120,120,120)" stroke-opacity="1" - ></g - ></g -></svg -> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org