[jboss-svn-commits] JBL Code SVN: r23727 - in labs/jbossrules/trunk/drools-docs: docbook-xsl-drools and 105 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 5 15:27:34 EST 2008


Author: ellenzhao
Date: 2008-11-05 15:27:32 -0500 (Wed, 05 Nov 2008)
New Revision: 23727

Added:
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/pom.xml
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/common.xsl
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/eclipse.xsl
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/pdf.xsl
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-common.xsl
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-single.xsl
   labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml.xsl
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/Chapter-Spreadsheet.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Chapter-DepymentAndTest.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Deployment.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Testing.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/BankingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Chapter-Examples.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci3.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci4.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci5.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HonestPoliticianExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_DSL.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_Guided.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-website.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Config.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-BankingExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ConwaysGameOfLifeExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-FibonacciExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-GolfingExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HelloWorldExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HonestPoliticianExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-InsuranceExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-MannersExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-NumberGuessExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PetStoreExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PricingExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-QuickStart.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ShoppingExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-SodukiExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-StateExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-TroubleTicketExample.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ShoppingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku3.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku4.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku5.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku6.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku7.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku8.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_audit1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_initial.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/x1.html
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/Chapter-QuickStart.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Chapter-JSR94.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-How_To_Use.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Introduction.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-References.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Specification.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/Section-Performance.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Chapter-Rule_Engine.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rete_Algorithm.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rules.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Comments.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-DSL.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Function.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Package.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Query.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Rule.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-XML.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/index.html
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/Key.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/actions.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/consequence.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/excel.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/expanded.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/keywords.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/lists.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/multi_table.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/open_office.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/operator_completion.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/row_col.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/spanned_column.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_binding.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_param.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/wizard.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/BankingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci3.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci4.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci5.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HonestPoliticianExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_DSL.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_Guided.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-website.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Config.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ShoppingExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku3.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku4.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku5.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku6.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku7.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku8.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_agenda1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_audit1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_initial.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/agenda.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/all.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/audit.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug-overview.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debugAsDrools.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug_rules_configuration.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/dsl_editor.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/editor1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/globals.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/guidededitor1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/mapping_editor.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_rule.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/outline.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/thereteview.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/wizards.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/workingMemory.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-JSR94/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Agenda.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaEventListener.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaFilter.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Chaining.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/EventManager.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/JavaDialectConfiguration.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/MVELDialectConfiguration.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilder.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilderConfiguration.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBase.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseConfiguration.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseFactory.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleFlowEventListener.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatefulSession.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSession.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSessionResult.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Truth_Maintenance_System.drl.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemory.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemoryEventListener.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/arch_overview.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlowSimple.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.vsd
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/ruleflow_nodes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.png
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/Chapter-Debugging.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/Chapter-Eclipse.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/Chapter-RuleFlow.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/Chapter-GettingStarted.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/Chapter-HumanTasks.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/Chapter-Introduction.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/index.html
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/audit.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-1.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2a.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2b.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-3a.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-4.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/process-instances.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/CDSSExample.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/NotificationPalette.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/BPMN.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/RuleFlow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/preferences.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/EventProcess.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/FaultProcess.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/NewRF.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFComplex.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFConstraintEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFEditConstraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFGroupProperties.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNameGroups.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNewWizard.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFSplitType.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlow.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlowSimple.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/ruleflow_nodes.png
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/initial.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard1.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard2.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-HumanTasks/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Introduction/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/assignment.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/audit.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/constraints.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/dynamicLogging.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/loading.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/orderProcess.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/rulesAndProcesses.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/validation.bmp
   labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Chapter-Fusion.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Section-Fusion.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/index.html
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Chapter-Guvnor.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-AdminGuide.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Architecture.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-ExamplesAndTutorials.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Introduction.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-UserGuide.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/index.html
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminAnalyst.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminCats.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionEdit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissions.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionsList.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Architecture.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ArchitectureDiagram.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetChangeStatus.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetVersionHistory.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/BRMSFeatures.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatEdit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatZoom.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CategoryExplorer.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DRLRule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DSLRule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DecisionTable.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Deployment1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumConfig.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumDropDown.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Features.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Function.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedComplex.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedDSL.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedLHSConstraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Intro1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseFieldType.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseType.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelEdit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewMainScreen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewSnapshot.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageBuild.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageChangeStatus.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageConfig.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageExplorer.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageNewItemTooltip.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/QA.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Scenarios.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/SnapshotDeploy.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Snapshots.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/TestScenarioEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Thumbs.db
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDAVWindows.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT-config.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/analysis.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/rule_guis.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/running_execution_server.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Chapter-Install.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Checkout.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Eclipse.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Install.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Maven_build.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Setup.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Chapter-ReleaseNotes.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-Upgrade_tips.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-What_is_new.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/confirm.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/digital_sign.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import2.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import3.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import4.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import5.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import6.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import7.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import8.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import9.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin2.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin3.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin4.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin5.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin6.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin7.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin8.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/gef_update.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/help_menu.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/install_gef.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/licence.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual3.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual4.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse2.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install2.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install3.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install4.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/new_remote_site.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/restart.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_new_features.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_results.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout1.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout2.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout3.jpg
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites_existing.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Release_Notes/
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Release_Notes/ruleflowproperties.png
   labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/pom.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Chapter-Solver.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Local_Search_Solver.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Score_calculation.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_configuration.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_examples.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_introduction.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/index.html
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/master.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/curriculumcourse.jude
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examination.jude
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examinationDomainDiagram.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.dia
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotExamination.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotLessonSchedule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotNQueens.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotTravelingTournament.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.png
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/drools_logo.png
   labs/jbossrules/trunk/drools-docs/mindmap/
   labs/jbossrules/trunk/drools-docs/mindmap/drools.html
   labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/
   labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/flashobject.js
   labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/map.mm
   labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/visorFreemind.swf
   labs/jbossrules/trunk/drools-docs/mindmap/drools.mm
   labs/jbossrules/trunk/drools-docs/pom.xml
Log:


Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,79 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<artifactId>drools-docs</artifactId>
+		<groupId>org.drools</groupId>
+		<version>5.0.0.SNAPSHOT</version>
+	</parent>
+
+	<groupId>org.drools</groupId>
+	<artifactId>docbook-xsl-drools</artifactId>
+	<version>1.1.0</version>
+	<packaging>jar</packaging>
+
+	<name>Drools DocBook XSLT</name>
+	<description>Based on jbossorg-docbook-xslt 1.1.0</description>
+	<url>http://www.jboss.org</url>
+
+	<organization>
+		<name>JBoss.org</name>
+		<url>http://www.jboss.org</url>
+	</organization>
+
+	<scm>
+		<developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/trunk/docbook-support/jbossorg-docbook-xslt/</developerConnection>
+		<connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/trunk/docbook-support/jbossorg-docbook-xslt/</connection>
+	</scm>
+
+	<dependencies>
+		<dependency>
+			<groupId>net.sf.docbook</groupId>
+			<artifactId>docbook-xsl-ns</artifactId>
+			<version>1.74.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jboss.docs</groupId>
+			<artifactId>highlight</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<extensions>
+			<extension>
+				<groupId>org.apache.maven.wagon</groupId>
+				<artifactId>wagon-webdav</artifactId>
+				<version>1.0-beta-2</version>
+			</extension>
+		</extensions>
+	</build>
+
+	<distributionManagement>
+		<repository>
+			<!--
+				Copy the dist to the local checkout of the JBoss Repository at
+				${maven.repository.root}
+			-->
+			<!--
+				It is anticipated that ${maven.repository.root} is set in user's
+				settings.xml file
+			-->
+			<!--
+				TODO : Replace this with direct svn access once the svnkit providers
+				are available
+			-->
+			<id>repository.jboss.org</id>
+			<name>JBoss Repository</name>
+			<url>file://${maven.repository.root}</url>
+		</repository>
+		<snapshotRepository>
+			<id>snapshots.jboss.org</id>
+			<name>JBoss Snapshot Repository</name>
+			<url>dav:https://snapshots.jboss.org/maven2</url>
+		</snapshotRepository>
+	</distributionManagement>
+
+</project>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/common.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/common.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/common.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,206 @@
+<?xml version='1.0'?>
+
+<!--
+    Copyright 2008 JBoss, a division of Red Hat
+    License: GPL
+    Author: Pete Muir
+    Author: Mark Newton (mark.newton at jboss.org)
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <!-- We need to add this as it's needed later for a check -->
+  <xsl:param name="confidential" select="0"/>
+  
+  <!--  Enable extensions (needed for callouts) -->
+  <xsl:param name="use.extensions">1</xsl:param>
+ 
+  <!-- For backwards compatibility we want to use callouts specified using programlistingco elements -->
+  <xsl:param name="callouts.extension">1</xsl:param>
+ 
+  <!-- Use graphical callouts as they look nicer with highlighed code. -->
+  <xsl:param name="callout.graphics">1</xsl:param>
+  <xsl:param name="callout.graphics.number.limit">15</xsl:param>
+  <xsl:param name="callout.graphics.extension">.png</xsl:param>
+   
+  <xsl:param name="callout.graphics.path">
+    <xsl:if test="$img.src.path != ''">
+      <xsl:value-of select="$img.src.path"/>
+    </xsl:if>
+    <xsl:text>images/community/docbook/callouts/</xsl:text>
+  </xsl:param>
+      
+  <!-- Admonitions -->
+  <xsl:param name="admon.graphics" select="1"/>
+  <xsl:param name="admon.graphics.path">
+    <xsl:if test="$img.src.path != ''">
+      <xsl:value-of select="$img.src.path"/>
+    </xsl:if>
+    <xsl:text>images/community/docbook/</xsl:text>
+  </xsl:param>
+  
+  <!-- And disable these extensions -->
+  <xsl:param name="tablecolumns.extension">0</xsl:param>
+ 
+  <!-- TOC -->
+  <xsl:param name="section.autolabel" select="1"/>
+
+  <!-- Include the chapter no -->
+  <xsl:param name="section.label.includes.component.label" select="1" />
+
+  <xsl:param name="use.simplified.author.group" select="1"/>
+
+   <xsl:template name="person.name.list">
+      <xsl:param name="person.list" select="author|corpauthor|othercredit|editor" />
+      <xsl:param name="person.count" select="count($person.list)" />
+      <xsl:param name="person.type" select="'author'" />      
+      <xsl:param name="count" select="1" />
+
+      <xsl:choose>
+      <xsl:when test="$use.simplified.author.group = 1">
+      <xsl:choose>
+         <!-- If there are no names in the list then don't do anything -->
+         <xsl:when test="$count &gt; $person.count"></xsl:when>
+         <xsl:otherwise>
+         
+            <!-- Depending on the type of people in the list print out different prefixes -->
+            <xsl:choose>
+             <xsl:when test="$count = 1 and $person.type = 'author' or $person.type = 'corpauthor'">
+               <xsl:call-template name="gentext.by" />
+               <xsl:call-template name="gentext.space" />
+             </xsl:when>
+             <xsl:when test="$count = 1 and $person.type = 'editor'">
+               <xsl:call-template name="gentext.editors" />
+               <xsl:call-template name="gentext.space" />
+             </xsl:when>
+             <xsl:when test="$count = 1 and $person.type = 'othercredit'">
+               <xsl:call-template name="gentext.others" />
+               <xsl:call-template name="gentext.space" />
+             </xsl:when>
+            </xsl:choose>
+                        
+            <!-- Output each person's name -->
+            <xsl:call-template name="person.name">
+               <xsl:with-param name="node"
+                  select="$person.list[position()=$count]" />
+            </xsl:call-template>
+
+            <xsl:choose>
+               <!-- Put parathenses around short affiliation descriptions -->
+               <xsl:when
+                  test="$person.list[position()=$count]/affiliation/shortaffil">
+                  <xsl:call-template name="gentext.space" />
+                  <xsl:text>(</xsl:text>
+                  <xsl:value-of
+                     select="$person.list[position()=$count]/affiliation/shortaffil" />
+                  <xsl:text>)</xsl:text>
+               </xsl:when>
+            </xsl:choose>
+
+            <xsl:choose>
+               <!-- If only two names are present then insert 'and' between them -->
+               <xsl:when test="$person.count = 2 and $count = 1">
+                  <xsl:call-template name="gentext.template">
+                     <xsl:with-param name="context" select="'authorgroup'" />
+                     <xsl:with-param name="name" select="'sep2'" />
+                  </xsl:call-template>
+               </xsl:when>
+               <!-- If we get to the last name insert 'and' before it -->
+               <xsl:when
+                  test="$person.count &gt; 2 and $count+1 = $person.count">
+                  <xsl:call-template name="gentext.template">
+                     <xsl:with-param name="context" select="'authorgroup'" />
+                     <xsl:with-param name="name" select="'seplast'" />
+                  </xsl:call-template>
+               </xsl:when>
+               <!-- If we are in the middle of a list insert a comma between names -->
+               <xsl:when test="$count &lt; $person.count">
+                  <xsl:call-template name="gentext.template">
+                     <xsl:with-param name="context" select="'authorgroup'" />
+                     <xsl:with-param name="name" select="'sep'" />
+                  </xsl:call-template>
+               </xsl:when>
+            </xsl:choose>
+
+            <!-- Recursively call the template to process all the names in the list -->
+            <xsl:call-template name="person.name.list">
+               <xsl:with-param name="person.list" select="$person.list" />
+               <xsl:with-param name="person.count" select="$person.count" />
+               <xsl:with-param name="count" select="$count+1" />
+            </xsl:call-template>
+         </xsl:otherwise>
+      </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:apply-imports/>
+      </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+
+   <xsl:template name="gentext.editors">
+      <xsl:text>edited by</xsl:text>
+   </xsl:template>
+
+   <xsl:template name="gentext.others">
+      <xsl:text>and thanks to</xsl:text>
+   </xsl:template>
+
+<!-- Modify the default navigation wording -->
+<xsl:param name="local.l10n.xml" select="document('')" />
+<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+ <l:l10n language="en">
+  <l:gentext key="nav-home" text="Front page"/>
+ </l:l10n>
+</l:i18n>
+
+<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+ <l:l10n language="en">
+  <l:gentext key="nav-up" text="Top of page"/>
+ </l:l10n>
+</l:i18n>
+
+<!--
+Copied from fo/params.xsl
+-->
+<xsl:param name="l10n.gentext.default.language" select="'en'"/>
+
+<!-- This sets the filename based on the ID -->
+<xsl:param name="use.id.as.filename" select="'1'"/>
+
+<xsl:template match="command">
+  <xsl:call-template name="inline.monoseq"/>
+</xsl:template>
+
+<xsl:template match="application">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guibutton">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guiicon">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guilabel">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenu">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenuitem">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guisubmenu">
+  <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="filename">
+  <xsl:call-template name="inline.monoseq"/>
+</xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/common.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/eclipse.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/eclipse.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/eclipse.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,405 @@
+<?xml version='1.0'?>
+
+<!--
+    Copyright 2008 JBoss, a division of Red Hat
+    License: GPL
+    Author: Jeff Fearn <jfearn at redhat.com>
+    Author: Tammy Fox <tfox at redhat.com>
+    Author: Andy Fitzsimon <afitzsim at redhat.com>
+    Author: Mark Newton <mark.newton at jboss.org>
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <!-- We need to replicate the contents of eclipse/eclipse.xsl but import xhtml/chunk.xsl to generate valid XHTML -->
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/1.74.0/xhtml/chunk.xsl"/>
+
+<xsl:template match="/">
+  <xsl:choose>
+    <xsl:when test="$rootid != ''">
+      <xsl:choose>
+        <xsl:when test="count(key('id',$rootid)) = 0">
+          <xsl:message terminate="yes">
+            <xsl:text>ID '</xsl:text>
+            <xsl:value-of select="$rootid"/>
+            <xsl:text>' not found in document.</xsl:text>
+          </xsl:message>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:if test="$collect.xref.targets = 'yes' or
+                        $collect.xref.targets = 'only'">
+            <xsl:apply-templates select="key('id', $rootid)"
+                        mode="collect.targets"/>
+          </xsl:if>
+          <xsl:if test="$collect.xref.targets != 'only'">
+            <xsl:message>Formatting from <xsl:value-of 
+                            select="$rootid"/></xsl:message>
+            <xsl:apply-templates select="key('id',$rootid)"
+                        mode="process.root"/>
+            <xsl:call-template name="etoc"/>
+            <xsl:call-template name="plugin.xml"/>
+          </xsl:if>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="$collect.xref.targets = 'yes' or
+                    $collect.xref.targets = 'only'">
+        <xsl:apply-templates select="/" mode="collect.targets"/>
+      </xsl:if>
+      <xsl:if test="$collect.xref.targets != 'only'">
+        <xsl:apply-templates select="/" mode="process.root"/>
+        <xsl:call-template name="etoc"/>
+        <xsl:call-template name="plugin.xml"/>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+
+
+</xsl:template>
+
+<xsl:template name="etoc">
+  <xsl:call-template name="write.chunk">
+    <xsl:with-param name="filename">
+      <xsl:if test="$manifest.in.base.dir != 0">
+        <xsl:value-of select="$base.dir"/>
+      </xsl:if>
+      <xsl:value-of select="'toc.xml'"/>
+    </xsl:with-param>
+    <xsl:with-param name="method" select="'xml'"/>
+    <xsl:with-param name="encoding" select="'utf-8'"/>
+    <xsl:with-param name="indent" select="'yes'"/>
+    <xsl:with-param name="content">
+      <xsl:choose>
+
+        <xsl:when test="$rootid != ''">
+          <xsl:variable name="title">
+            <xsl:if test="$eclipse.autolabel=1">
+              <xsl:variable name="label.markup">
+                <xsl:apply-templates select="key('id',$rootid)" mode="label.markup"/>
+              </xsl:variable>
+              <xsl:if test="normalize-space($label.markup)">
+                <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
+              </xsl:if>
+            </xsl:if>
+            <xsl:apply-templates select="key('id',$rootid)" mode="title.markup"/>
+          </xsl:variable>
+          <xsl:variable name="href">
+            <xsl:call-template name="href.target.with.base.dir">
+              <xsl:with-param name="object" select="key('id',$rootid)"/>
+            </xsl:call-template>
+          </xsl:variable>
+          
+          <toc label="{$title}" topic="{$href}">
+            <xsl:apply-templates select="key('id',$rootid)/*" mode="etoc"/>
+          </toc>
+        </xsl:when>
+
+        <xsl:otherwise>
+          <xsl:variable name="title">
+            <xsl:if test="$eclipse.autolabel=1">
+              <xsl:variable name="label.markup">
+                <xsl:apply-templates select="/*" mode="label.markup"/>
+              </xsl:variable>
+              <xsl:if test="normalize-space($label.markup)">
+                <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
+              </xsl:if>
+            </xsl:if>
+            <xsl:apply-templates select="/*" mode="title.markup"/>
+          </xsl:variable>
+          <xsl:variable name="href">
+            <xsl:call-template name="href.target.with.base.dir">
+              <xsl:with-param name="object" select="/"/>
+            </xsl:call-template>
+          </xsl:variable>
+          
+          <toc label="{$title}" topic="{$href}">
+            <xsl:apply-templates select="/*/*" mode="etoc"/>
+          </toc>
+        </xsl:otherwise>
+
+      </xsl:choose>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="book|part|reference|preface|chapter|bibliography|appendix|article|glossary|section|sect1|sect2|sect3|sect4|sect5|refentry|colophon|bibliodiv|index" mode="etoc">
+  <xsl:variable name="title">
+    <xsl:if test="$eclipse.autolabel=1">
+      <xsl:variable name="label.markup">
+        <xsl:apply-templates select="." mode="label.markup"/>
+      </xsl:variable>
+      <xsl:if test="normalize-space($label.markup)">
+        <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
+      </xsl:if>
+    </xsl:if>
+    <xsl:apply-templates select="." mode="title.markup"/>
+  </xsl:variable>
+
+  <xsl:variable name="href">
+    <xsl:call-template name="href.target.with.base.dir">
+      <xsl:with-param name="context" select="/"/>        <!-- Generate links relative to the location of root file/toc.xml file -->
+    </xsl:call-template>
+  </xsl:variable>
+
+  <topic label="{$title}" href="{$href}">
+    <xsl:apply-templates select="part|reference|preface|chapter|bibliography|appendix|article|glossary|section|sect1|sect2|sect3|sect4|sect5|refentry|colophon|bibliodiv|index" mode="etoc"/>
+  </topic>
+
+</xsl:template>
+
+<xsl:template match="text()" mode="etoc"/>
+
+<xsl:template name="plugin.xml">
+  <xsl:call-template name="write.chunk">
+    <xsl:with-param name="filename">
+      <xsl:if test="$manifest.in.base.dir != 0">
+        <xsl:value-of select="$base.dir"/>
+      </xsl:if>
+      <xsl:value-of select="'plugin.xml'"/>
+    </xsl:with-param>
+    <xsl:with-param name="method" select="'xml'"/>
+    <xsl:with-param name="encoding" select="'utf-8'"/>
+    <xsl:with-param name="indent" select="'yes'"/>
+    <xsl:with-param name="content">
+      <plugin name="{$eclipse.plugin.name}"
+        id="{$eclipse.plugin.id}"
+        version="1.0"
+        provider-name="{$eclipse.plugin.provider}">
+
+        <extension point="org.eclipse.help.toc">
+          <toc file="toc.xml" primary="true"/>
+        </extension>
+          
+      </plugin>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+  <!-- Now we can carry on with our XSL customization layer -->
+  <xsl:include href="xhtml-common.xsl"/>
+  
+  <xsl:param name="eclipse.plugin.name">JBoss Community Help</xsl:param>
+  <xsl:param name="eclipse.plugin.id">org.jboss.help</xsl:param>
+  <xsl:param name="eclipse.plugin.provider">JBoss.org</xsl:param>
+
+  <!-- We don't want to display titles in the header navigation as there are already breadcrumbs -->
+  <xsl:param name="navig.showtitles" select="0"/>
+
+<!--
+From: xhtml/chunk-common.xsl
+Reason: need to add class attributes so we can style the pages using icons
+Version: 1.72.0
+-->
+<xsl:template name="header.navigation">
+  <xsl:param name="prev" select="/foo"/>
+  <xsl:param name="next" select="/foo"/>
+  <xsl:param name="nav.context"/>
+
+  <xsl:variable name="home" select="/*[1]"/>
+  <xsl:variable name="up" select="parent::*"/>
+
+  <xsl:variable name="row1" select="$navig.showtitles != 0"/>
+  <xsl:variable name="row2" select="count($prev) &gt; 0                                     or (count($up) &gt; 0                                          and generate-id($up) != generate-id($home)                                         and $navig.showtitles != 0)                                     or count($next) &gt; 0"/>
+
+  <xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
+    <div class="navheader">
+      <xsl:if test="$row1 or $row2">
+        <table width="100%" summary="Navigation header">
+          <xsl:if test="$row1">
+            <tr>
+              <th colspan="3" align="center">
+                <xsl:apply-templates select="." mode="object.title.markup"/>
+              </th>
+            </tr>
+          </xsl:if>
+
+          <xsl:if test="$row2">
+            <tr>
+              <td width="20%" align="left" class="previous">
+                <xsl:if test="count($prev)&gt;0">
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$prev"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                </xsl:if>
+                <xsl:text>&#160;</xsl:text>
+              </td>
+              <td width="60%" align="center">
+                <xsl:choose>
+                  <xsl:when test="count($up) &gt; 0                                   and generate-id($up) != generate-id($home)                                   and $navig.showtitles != 0">
+                    <xsl:apply-templates select="$up" mode="object.title.markup"/>
+                  </xsl:when>
+                  <xsl:otherwise>&#160;</xsl:otherwise>
+                </xsl:choose>
+              </td>
+              <td width="20%" align="right" class="next">
+                <xsl:text>&#160;</xsl:text>
+                <xsl:if test="count($next)&gt;0">
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$next"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                </xsl:if>
+              </td>
+            </tr>
+          </xsl:if>
+        </table>
+      </xsl:if>
+      <xsl:if test="$header.rule != 0">
+        <hr/>
+      </xsl:if>
+    </div>
+  </xsl:if>
+</xsl:template>
+
+<!--
+From: xhtml/chunk-common.xsl
+Reason: need to add class attributes so we can style the page using icons. Also changed the footer table to one row
+        so that the 'Top of page' and 'Front page' links are next to each other and correctly spaced.
+Version: 1.72.0
+-->
+<xsl:template name="footer.navigation">
+  <xsl:param name="prev" select="/foo"/>
+  <xsl:param name="next" select="/foo"/>
+  <xsl:param name="nav.context"/>
+
+  <xsl:variable name="home" select="/*[1]"/>
+  <xsl:variable name="up" select="parent::*"/>
+
+  <xsl:variable name="row1" select="count($prev) &gt; 0                                     or count($up) &gt; 0                                     or count($next) &gt; 0"/>
+
+  <xsl:variable name="row2" select="($prev and $navig.showtitles != 0)                                     or (generate-id($home) != generate-id(.)                                         or $nav.context = 'toc')                                     or ($chunk.tocs.and.lots != 0                                         and $nav.context != 'toc')                                     or ($next and $navig.showtitles != 0)"/>
+
+  <xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
+    <div class="navfooter">
+      <xsl:if test="$footer.rule != 0">
+        <hr/>
+      </xsl:if>
+
+      <xsl:if test="$row1 or $row2">
+        <table width="100%" summary="Navigation footer">
+          <xsl:if test="$row1">
+            <tr>
+              <td width="25%" align="left" class="previous">
+                <xsl:if test="count($prev)&gt;0">
+                  <a accesskey="p">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$prev"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'prev'"/>
+                    </xsl:call-template>
+                  </a>
+                </xsl:if>
+                <xsl:text>&#160;</xsl:text>
+              </td>
+              <td width="25%" align="right" class="up">
+                <xsl:choose>
+                  <xsl:when test="count($up)&gt;0                                   and generate-id($up) != generate-id($home)">
+                    <a accesskey="u">
+                      <xsl:attribute name="href">
+                        <xsl:text>#</xsl:text>
+                        <!--<xsl:call-template name="href.target">
+                          <xsl:with-param name="object" select="$up"/>
+                        </xsl:call-template>-->
+                      </xsl:attribute>
+                      <xsl:call-template name="navig.content">
+                        <xsl:with-param name="direction" select="'up'"/>
+                      </xsl:call-template>
+                    </a>
+                  </xsl:when>
+                  <xsl:otherwise>&#160;</xsl:otherwise>
+                </xsl:choose>
+              </td>
+              <td width="25%" align="left" class="home">
+                <xsl:choose>
+                  <xsl:when test="$home != . or $nav.context = 'toc'">
+                    <a accesskey="h">
+                      <xsl:attribute name="href">
+                        <xsl:call-template name="href.target">
+                          <xsl:with-param name="object" select="$home"/>
+                        </xsl:call-template>
+                      </xsl:attribute>
+                      <xsl:call-template name="navig.content">
+                        <xsl:with-param name="direction" select="'home'"/>
+                      </xsl:call-template>
+                    </a>
+                    <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+                      <xsl:text>&#160;|&#160;</xsl:text>
+                    </xsl:if>
+                  </xsl:when>
+                  <xsl:otherwise>&#160;</xsl:otherwise>
+                </xsl:choose>
+
+                <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+                  <a accesskey="t">
+                    <xsl:attribute name="href">
+                      <xsl:apply-templates select="/*[1]" mode="recursive-chunk-filename">
+                        <xsl:with-param name="recursive" select="true()"/>
+                      </xsl:apply-templates>
+                      <xsl:text>-toc</xsl:text>
+                      <xsl:value-of select="$html.ext"/>
+                    </xsl:attribute>
+                    <xsl:call-template name="gentext">
+                      <xsl:with-param name="key" select="'nav-toc'"/>
+                    </xsl:call-template>
+                  </a>
+                </xsl:if>
+              </td>
+              <td width="25%" align="right" class="next">
+                <xsl:text>&#160;</xsl:text>
+                <xsl:if test="count($next)&gt;0">
+                  <a accesskey="n">
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$next"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:call-template name="navig.content">
+                      <xsl:with-param name="direction" select="'next'"/>
+                    </xsl:call-template>
+                  </a>
+                </xsl:if>
+              </td>
+            </tr>
+          </xsl:if>
+
+          <xsl:if test="$row2">
+            <tr>
+              <td align="left" valign="top">
+                <xsl:if test="$navig.showtitles != 0">
+                  <xsl:apply-templates select="$prev" mode="object.title.markup"/>
+                </xsl:if>
+                <xsl:text>&#160;</xsl:text>
+              </td>
+
+              <td align="right" valign="top">
+                <xsl:text>&#160;</xsl:text>
+                <xsl:if test="$navig.showtitles != 0">
+                  <xsl:apply-templates select="$next" mode="object.title.markup"/>
+                </xsl:if>
+              </td>
+            </tr>
+          </xsl:if>
+        </table>
+      </xsl:if>
+    </div>
+  </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/eclipse.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/pdf.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/pdf.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/pdf.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,1590 @@
+<?xml version='1.0'?>
+ 
+<!--
+	Copyright 2007 Red Hat, Inc.
+	License: GPL
+	Author: Jeff Fearn <jfearn at redhat.com>
+	Author: Tammy Fox <tfox at redhat.com>
+	Author: Andy Fitzsimon <afitzsim at redhat.com>
+	Author: Mark Newton <mark.newton at jboss.org>
+	Author: Pete Muir
+-->
+
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
+<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
+ ]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+		        version="1.0"
+		        xmlns="http://www.w3.org/TR/xhtml1/transitional"
+		        xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                xmlns:jbh="java:org.jboss.highlight.renderer.FORenderer"
+		        exclude-result-prefixes="jbh">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/1.74.0/fo/docbook.xsl"/>
+
+<xsl:import href="common.xsl" />
+
+<xsl:param name="alignment">justify</xsl:param>
+<xsl:param name="fop.extensions" select="1"/>
+<xsl:param name="fop1.extensions" select="0"/>
+<xsl:param name="img.src.path"/>
+<xsl:param name="qandadiv.autolabel" select="0"/>
+
+<xsl:param name="hyphenation-character">-</xsl:param>
+<!--xsl:param name="hyphenate.verbatim" select="0"/-->
+<xsl:param name="hyphenate">true</xsl:param>
+<!--xsl:param name="ulink.hyphenate" select="1"/-->
+
+<xsl:param name="line-height" select="1.5"/>
+
+   <!-- Callouts -->
+   <!-- Place callout bullets at this column in programlisting.-->
+   <xsl:param name="callout.defaultcolumn">80</xsl:param>
+   <xsl:param name="callout.icon.size">10pt</xsl:param>
+
+  <!-- Admonitions -->
+  <xsl:param name="admon.graphics.extension" select="'.svg'"/>
+
+<xsl:attribute-set name="admonition.title.properties">
+  <xsl:attribute name="font-size">13pt</xsl:attribute>
+  <xsl:attribute name="color">
+  <xsl:choose>
+    <xsl:when test="self::note">#4C5253</xsl:when>
+    <xsl:when test="self::caution">#533500</xsl:when>
+    <xsl:when test="self::important">white</xsl:when>
+    <xsl:when test="self::warning">white</xsl:when>
+    <xsl:when test="self::tip">white</xsl:when>
+    <xsl:otherwise>white</xsl:otherwise>
+  </xsl:choose>
+        </xsl:attribute>
+
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+
+</xsl:attribute-set>
+
+<xsl:attribute-set name="graphical.admonition.properties">
+
+  <xsl:attribute name="color">
+  <xsl:choose>
+    <xsl:when test="self::note">#4C5253</xsl:when>
+    <xsl:when test="self::caution">#533500</xsl:when>
+    <xsl:when test="self::important">white</xsl:when>
+    <xsl:when test="self::warning">white</xsl:when>
+    <xsl:when test="self::tip">white</xsl:when>
+    <xsl:otherwise>white</xsl:otherwise>
+  </xsl:choose>
+        </xsl:attribute>
+  <xsl:attribute name="background-color">
+      <xsl:choose>
+    <xsl:when test="self::note">#B5BCBD</xsl:when>
+    <xsl:when test="self::caution">#E3A835</xsl:when>
+    <xsl:when test="self::important">#4A5D75</xsl:when>
+    <xsl:when test="self::warning">#7B1E1E</xsl:when>
+    <xsl:when test="self::tip">#7E917F</xsl:when>
+    <xsl:otherwise>#404040</xsl:otherwise>
+      </xsl:choose>
+        </xsl:attribute>
+
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">1em</xsl:attribute>
+  <xsl:attribute name="padding-bottom">12pt</xsl:attribute>
+  <xsl:attribute name="padding-top">12pt</xsl:attribute>
+  <xsl:attribute name="padding-right">12pt</xsl:attribute>
+  <xsl:attribute name="padding-left">12pt</xsl:attribute>
+  <xsl:attribute name="margin-left">
+    <xsl:value-of select="$title.margin.left"/>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+   <xsl:param name="programlisting.font" select="'verdana,helvetica,sans-serif'" />
+   <xsl:param name="programlisting.font.size" select="'100%'" />
+   
+   <!-- Change to monospace font for programlisting, needed to workaround crappy callouts -->
+   <!-- <xsl:param name="programlisting.font" select="$monospace.font.family" /> -->
+   <!-- Make the font for programlisting slightly smaller -->
+   <!-- <xsl:param name="programlisting.font.size" select="'75%'" /> -->
+
+  <!-- Make the section depth in the TOC 2, same as html -->
+  <xsl:param name="toc.section.depth">2</xsl:param>
+
+   <!-- Now, set enable scalefit for large images -->
+   <xsl:param name="graphicsize.extension" select="'1'" />
+   <xsl:param name="default.image.width">17.4cm</xsl:param>
+   
+<!-- 
+From: fo/callout.xsl
+Version: 1.73.2
+Reason: This includes the callout.icon.size attribute for SVGs, we also add padding to the graphics
+        (We can probably get rid of this if we upgrade to DocBook Stylesheets 1.73.2)
+ -->
+ <xsl:template name="callout-bug">
+  <xsl:param name="conum" select='1'/>
+
+  <xsl:choose>
+    <!-- Draw callouts as images -->
+    <xsl:when test="$callout.graphics != '0'
+                    and $conum &lt;= $callout.graphics.number.limit">
+      <xsl:variable name="filename"
+                    select="concat($callout.graphics.path, $conum,
+                                   $callout.graphics.extension)"/>
+
+      <fo:external-graphic content-width="{$callout.icon.size}"
+                           width="{$callout.icon.size}" padding="0.0em" margin="0.0em">
+        <xsl:attribute name="src">
+          <xsl:choose>
+            <xsl:when test="$passivetex.extensions != 0
+                            or $fop.extensions != 0
+                            or $arbortext.extensions != 0">
+              <xsl:value-of select="$filename"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:text>url(</xsl:text>
+              <xsl:value-of select="$filename"/>
+              <xsl:text>)</xsl:text>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:attribute>
+      </fo:external-graphic>
+    </xsl:when>
+
+    <xsl:when test="$callout.unicode != 0
+                    and $conum &lt;= $callout.unicode.number.limit">
+      <xsl:variable name="comarkup">
+        <xsl:choose>
+          <xsl:when test="$callout.unicode.start.character = 10102">
+            <xsl:choose>
+              <xsl:when test="$conum = 1">&#10102;</xsl:when>
+              <xsl:when test="$conum = 2">&#10103;</xsl:when>
+              <xsl:when test="$conum = 3">&#10104;</xsl:when>
+              <xsl:when test="$conum = 4">&#10105;</xsl:when>
+              <xsl:when test="$conum = 5">&#10106;</xsl:when>
+              <xsl:when test="$conum = 6">&#10107;</xsl:when>
+              <xsl:when test="$conum = 7">&#10108;</xsl:when>
+              <xsl:when test="$conum = 8">&#10109;</xsl:when>
+              <xsl:when test="$conum = 9">&#10110;</xsl:when>
+              <xsl:when test="$conum = 10">&#10111;</xsl:when>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:message>
+              <xsl:text>Don't know how to generate Unicode callouts </xsl:text>
+              <xsl:text>when $callout.unicode.start.character is </xsl:text>
+              <xsl:value-of select="$callout.unicode.start.character"/>
+            </xsl:message>
+            <fo:inline background-color="#404040"
+                       color="white"
+                       padding-top="0.1em"
+                       padding-bottom="0.1em"
+                       padding-start="0.2em"
+                       padding-end="0.2em"
+                       baseline-shift="0.1em"
+                       font-family="{$body.fontset}"
+                       font-weight="bold"
+                       font-size="75%">
+              <xsl:value-of select="$conum"/>
+            </fo:inline>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+
+      <xsl:choose>
+        <xsl:when test="$callout.unicode.font != ''">
+          <fo:inline font-family="{$callout.unicode.font}">
+            <xsl:copy-of select="$comarkup"/>
+          </fo:inline>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:copy-of select="$comarkup"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+
+    <!-- Most safe: draw a dark gray square with a white number inside -->
+    <xsl:otherwise>
+      <fo:inline background-color="#404040"
+                 color="white"
+                 padding-top="0.1em"
+                 padding-bottom="0.1em"
+                 padding-start="0.2em"
+                 padding-end="0.2em"
+                 baseline-shift="0.1em"
+                 font-family="{$body.fontset}"
+                 font-weight="bold"
+                 font-size="75%">
+        <xsl:value-of select="$conum"/>
+      </fo:inline>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>   
+
+<xsl:attribute-set name="xref.properties">
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+  <xsl:attribute name="color">
+	<xsl:choose>
+		<xsl:when test="ancestor::note or ancestor::caution or ancestor::important or ancestor::warning or ancestor::tip">
+			<xsl:text>#aee6ff</xsl:text>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:text>#0066cc</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="monospace.properties">
+	<xsl:attribute name="font-size">9pt</xsl:attribute>
+	<xsl:attribute name="font-family">
+		<xsl:value-of select="$monospace.font.family"/>
+	</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="monospace.verbatim.properties" use-attribute-sets="verbatim.properties monospace.properties">
+	<xsl:attribute name="text-align">start</xsl:attribute>
+	<xsl:attribute name="wrap-option">wrap</xsl:attribute>
+	<xsl:attribute name="hyphenation-character">&#x25BA;</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:param name="shade.verbatim" select="1"/>
+<xsl:attribute-set name="shade.verbatim.style">
+  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
+  <xsl:attribute name="background-color">
+	<xsl:choose>
+		<xsl:when test="ancestor::note"> <xsl:text>#B5BCBD</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::caution"> <xsl:text>#E3A835</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::important"> <xsl:text>#4A5D75</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::warning"> <xsl:text>#7B1E1E</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::tip"> <xsl:text>#7E917F</xsl:text> </xsl:when>
+		<xsl:otherwise>
+			<xsl:text>black</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+  </xsl:attribute>
+  <xsl:attribute name="color">
+	<xsl:choose>
+		<xsl:when test="ancestor::note"> <xsl:text>#4C5253</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::caution"> <xsl:text>#533500</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::important"> <xsl:text>white</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::warning"> <xsl:text>white</xsl:text> </xsl:when>
+		<xsl:when test="ancestor::tip"> <xsl:text>white</xsl:text> </xsl:when>
+		<xsl:otherwise>
+			<xsl:text>red</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+  </xsl:attribute>
+	<xsl:attribute name="padding-left">12pt</xsl:attribute>
+	<xsl:attribute name="padding-right">12pt</xsl:attribute>
+	<xsl:attribute name="padding-top">6pt</xsl:attribute>
+	<xsl:attribute name="padding-bottom">6pt</xsl:attribute>
+	<xsl:attribute name="margin-left">
+		<xsl:value-of select="$title.margin.left"/>
+	</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="verbatim.properties">
+  <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
+  <xsl:attribute name="white-space-collapse">false</xsl:attribute>
+  <xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
+  <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute>
+  <xsl:attribute name="text-align">start</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:param name="generate.toc">
+set toc
+book toc
+article toc
+</xsl:param>
+
+   <!--###################################################
+      Custom TOC (bold chapter titles)
+      ################################################### -->
+
+   <!-- Improve the TOC. -->
+   <xsl:template name="toc.line">
+      <xsl:variable name="id">
+         <xsl:call-template name="object.id" />
+      </xsl:variable>
+
+      <xsl:variable name="label">
+         <xsl:apply-templates select="." mode="label.markup" />
+      </xsl:variable>
+
+      <fo:block text-align-last="justify" end-indent="{$toc.indent.width}pt"
+         last-line-end-indent="-{$toc.indent.width}pt">
+         <fo:inline keep-with-next.within-line="always">
+            <fo:basic-link internal-destination="{$id}">
+
+               <!-- Chapter titles should be bold. -->
+               <xsl:choose>
+                  <xsl:when test="local-name(.) = 'chapter'">
+                     <xsl:attribute name="font-weight">bold</xsl:attribute>
+                  </xsl:when>
+               </xsl:choose>
+
+               <xsl:if test="$label != ''">
+                  <xsl:copy-of select="$label" />
+                  <xsl:value-of select="$autotoc.label.separator" />
+               </xsl:if>
+               <xsl:apply-templates select="." mode="titleabbrev.markup" />
+            </fo:basic-link>
+         </fo:inline>
+         <fo:inline keep-together.within-line="always">
+            <xsl:text> </xsl:text>
+            <fo:leader leader-pattern="dots" leader-pattern-width="3pt"
+               leader-alignment="reference-area"
+               keep-with-next.within-line="always" />
+            <xsl:text> </xsl:text>
+            <fo:basic-link internal-destination="{$id}">
+               <fo:page-number-citation ref-id="{$id}" />
+            </fo:basic-link>
+         </fo:inline>
+      </fo:block>
+   </xsl:template>
+
+<!-- Format Variable Lists as Blocks (prevents horizontal overflow). -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- The horrible list spacing problems, this is much better. -->
+<xsl:attribute-set name="list.block.spacing">
+	<xsl:attribute name="space-before.optimum">2em</xsl:attribute>
+	<xsl:attribute name="space-before.minimum">1em</xsl:attribute>
+	<xsl:attribute name="space-before.maximum">3em</xsl:attribute>
+	<xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+	<xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+	<xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- Some padding inside tables -->
+<xsl:attribute-set name="table.cell.padding">
+<xsl:attribute name="padding-left">4pt</xsl:attribute>
+<xsl:attribute name="padding-right">4pt</xsl:attribute>
+<xsl:attribute name="padding-top">2pt</xsl:attribute>
+<xsl:attribute name="padding-bottom">2pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- Only hairlines as frame and cell borders in tables -->
+<xsl:param name="table.frame.border.thickness">0.3pt</xsl:param>
+<xsl:param name="table.cell.border.thickness">0.15pt</xsl:param>
+<xsl:param name="table.cell.border.color">#5c5c4f</xsl:param>
+<xsl:param name="table.frame.border.color">#5c5c4f</xsl:param>
+<xsl:param name="table.cell.border.right.color">white</xsl:param>
+<xsl:param name="table.cell.border.left.color">white</xsl:param>
+<xsl:param name="table.frame.border.right.color">white</xsl:param>
+<xsl:param name="table.frame.border.left.color">white</xsl:param>
+<!-- Paper type, no headers on blank pages, no double sided printing -->
+<xsl:param name="paper.type" select="'A4'"/>
+<xsl:param name="double.sided">1</xsl:param>
+<xsl:param name="headers.on.blank.pages">1</xsl:param>
+<xsl:param name="footers.on.blank.pages">1</xsl:param>
+<!--xsl:param name="header.column.widths" select="'1 4 1'"/-->
+<xsl:param name="header.column.widths" select="'1 0 1'"/>
+<xsl:param name="footer.column.widths" select="'1 1 1'"/>
+<xsl:param name="header.rule" select="1"/>
+
+<!-- Space between paper border and content (chaotic stuff, don't touch) -->
+<xsl:param name="page.margin.top">15mm</xsl:param>
+<xsl:param name="region.before.extent">10mm</xsl:param>
+<xsl:param name="body.margin.top">15mm</xsl:param>
+
+<xsl:param name="body.margin.bottom">15mm</xsl:param>
+<xsl:param name="region.after.extent">10mm</xsl:param>
+<xsl:param name="page.margin.bottom">15mm</xsl:param>
+
+<xsl:param name="page.margin.outer">30mm</xsl:param>
+<xsl:param name="page.margin.inner">30mm</xsl:param>
+
+<!-- No intendation of Titles -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<xsl:param name="title.color">#4a5d75</xsl:param>
+<xsl:param name="chapter.title.color" select="$title.color" />
+<xsl:param name="section.title.color" select="$title.color" />
+
+<xsl:attribute-set name="section.title.level1.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master * 1.6"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="section.title.level2.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master * 1.4"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="section.title.level3.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master * 1.3"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="section.title.level4.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master * 1.2"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="section.title.level5.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master * 1.1"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="section.title.level6.properties">
+	<xsl:attribute name="color"><xsl:value-of select="$section.title.color"/></xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:value-of select="$body.font.master"/>
+		<xsl:text>pt</xsl:text>
+	</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.properties">
+	<xsl:attribute name="font-family">
+		<xsl:value-of select="$title.font.family"/>
+	</xsl:attribute>
+	<xsl:attribute name="font-weight">bold</xsl:attribute>
+	<!-- font size is calculated dynamically by section.heading template -->
+	<xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+	<xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+	<xsl:attribute name="space-before.optimum">1.0em</xsl:attribute>
+	<xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+	<xsl:attribute name="text-align">left</xsl:attribute>
+	<xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"/></xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:param name="titlepage.color" select="$title.color"/>
+
+<xsl:attribute-set name="book.titlepage.recto.style">
+	<xsl:attribute name="font-family">
+		<xsl:value-of select="$title.fontset"/>
+	</xsl:attribute>
+	<xsl:attribute name="color"><xsl:value-of select="$titlepage.color"/></xsl:attribute>
+	<xsl:attribute name="font-weight">bold</xsl:attribute>
+	<xsl:attribute name="font-size">12pt</xsl:attribute>
+	<xsl:attribute name="text-align">center</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="component.title.properties">
+	<xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+	<xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
+	<xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
+	<xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
+	<xsl:attribute name="hyphenate">false</xsl:attribute>
+	<xsl:attribute name="color">
+		<xsl:choose>
+			<xsl:when test="not(parent::chapter | parent::article | parent::appendix)"><xsl:value-of select="$title.color"/></xsl:when>
+		</xsl:choose>
+	</xsl:attribute>
+	<xsl:attribute name="text-align">
+		<xsl:choose>
+			<xsl:when test="((parent::article | parent::articleinfo) and not(ancestor::book) and not(self::bibliography))				 or (parent::slides | parent::slidesinfo)">center</xsl:when>
+			<xsl:otherwise>left</xsl:otherwise>
+		</xsl:choose>
+	</xsl:attribute>
+	<xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"/></xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="chapter.titlepage.recto.style">
+	<xsl:attribute name="color"><xsl:value-of select="$chapter.title.color"/></xsl:attribute>
+	<xsl:attribute name="background-color">white</xsl:attribute>
+	<xsl:attribute name="font-size">
+		<xsl:choose>
+			<xsl:when test="$l10n.gentext.language = 'ja-JP'">
+				<xsl:value-of select="$body.font.master * 1.7"/>
+				<xsl:text>pt</xsl:text>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:text>24pt</xsl:text>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:attribute>
+	<xsl:attribute name="font-weight">bold</xsl:attribute>
+	<xsl:attribute name="text-align">left</xsl:attribute>
+	<!--xsl:attribute name="wrap-option">no-wrap</xsl:attribute-->
+	<xsl:attribute name="padding-left">1em</xsl:attribute>
+	<xsl:attribute name="padding-right">1em</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="preface.titlepage.recto.style">
+	<xsl:attribute name="font-family">
+		<xsl:value-of select="$title.fontset"/>
+	</xsl:attribute>
+	<xsl:attribute name="color">#4a5d75</xsl:attribute>
+	<xsl:attribute name="font-size">12pt</xsl:attribute>
+	<xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="part.titlepage.recto.style">
+  <xsl:attribute name="color"><xsl:value-of select="$title.color"/></xsl:attribute>
+  <xsl:attribute name="text-align">center</xsl:attribute>
+</xsl:attribute-set>
+
+
+<!--
+From: fo/table.xsl
+Reason: Table Header format
+Version:1.72
+-->
+<xsl:template name="table.cell.block.properties">
+  <!-- highlight this entry? -->
+  <xsl:if test="ancestor::thead or ancestor::tfoot">
+    <xsl:attribute name="font-weight">bold</xsl:attribute>
+	<xsl:attribute name="background-color">#4a5d75</xsl:attribute>
+	<xsl:attribute name="color">white</xsl:attribute>
+  </xsl:if>
+</xsl:template>
+
+<!--
+From: fo/table.xsl
+Reason: Table Header format
+Version:1.72
+-->
+<!-- customize this template to add row properties -->
+<xsl:template name="table.row.properties">
+  <xsl:variable name="bgcolor">
+    <xsl:call-template name="dbfo-attribute">
+      <xsl:with-param name="pis" select="processing-instruction('dbfo')"/>
+      <xsl:with-param name="attribute" select="'bgcolor'"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:if test="$bgcolor != ''">
+    <xsl:attribute name="background-color">
+      <xsl:value-of select="$bgcolor"/>
+    </xsl:attribute>
+  </xsl:if>
+  <xsl:if test="ancestor::thead or ancestor::tfoot">
+	<xsl:attribute name="background-color">#4a5d75</xsl:attribute>
+  </xsl:if>
+</xsl:template>
+
+<!--
+From: fo/titlepage.templates.xsl
+Reason: Switch to using chapter.titlepage.recto.style
+Version:1.72
+-->
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:call-template name="component.title.nomarkup">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<!--
+From: fo/titlepage.templates.xsl
+Reason: Remove font size and weight overrides
+Version:1.72
+-->
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:value-of select="."/>
+</fo:block>
+</xsl:template>
+
+<!--
+From: fo/titlepage.templates.xsl
+Reason: Remove font family, size and weight overrides
+Version:1.72
+-->
+<xsl:template name="preface.titlepage.recto">
+	<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}">
+<xsl:call-template name="component.title.nomarkup">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+	<xsl:choose>
+		<xsl:when test="prefaceinfo/subtitle">
+			<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+		</xsl:when>
+		<xsl:when test="docinfo/subtitle">
+			<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+		</xsl:when>
+		<xsl:when test="info/subtitle">
+			<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+		</xsl:when>
+		<xsl:when test="subtitle">
+			<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+		</xsl:when>
+	</xsl:choose>
+
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+	<xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+
+<xsl:template name="pickfont-sans">
+	<xsl:variable name="font">
+		<xsl:choose>
+			<xsl:when test="$l10n.gentext.language = 'ja-JP'">
+				<xsl:text>KochiMincho,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ko-KR'">
+				<xsl:text>BaekmukBatang,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-CN'">
+				<xsl:text>ARPLKaitiMGB,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'bn-IN'">
+				<xsl:text>LohitBengali,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ta-IN'">
+				<xsl:text>LohitTamil,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'pa-IN'">
+				<xsl:text>LohitPunjabi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'hi-IN'">
+				<xsl:text>LohitHindi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'gu-IN'">
+				<xsl:text>LohitGujarati,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-TW'">
+				<xsl:text>ARPLMingti2LBig5,</xsl:text>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:variable>
+	<xsl:choose>
+		<xsl:when test="$fop1.extensions != 0">
+		  <xsl:copy-of select="$font"/><xsl:text>DejaVuLGCSans,sans-serif</xsl:text>
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:copy-of select="$font"/><xsl:text>sans-serif</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+<xsl:template name="pickfont-serif">
+	<xsl:variable name="font">
+		<xsl:choose>
+			<xsl:when test="$l10n.gentext.language = 'ja-JP'">
+				<xsl:text>KochiMincho,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ko-KR'">
+				<xsl:text>BaekmukBatang,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-CN'">
+				<xsl:text>ARPLKaitiMGB,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'bn-IN'">
+				<xsl:text>LohitBengali,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ta-IN'">
+				<xsl:text>LohitTamil,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'pa-IN'">
+				<xsl:text>LohitPunjabi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'hi-IN'">
+				<xsl:text>LohitHindi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'gu-IN'">
+				<xsl:text>LohitGujarati,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-TW'">
+				<xsl:text>ARPLMingti2LBig5,</xsl:text>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:variable>
+	<xsl:choose>
+		<xsl:when test="$fop1.extensions != 0">
+		  <xsl:copy-of select="$font"/><xsl:text>DejaVuLGCSans,serif</xsl:text>
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:copy-of select="$font"/><xsl:text>serif</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+<xsl:template name="pickfont-mono">
+	<xsl:variable name="font">
+		<xsl:choose>
+			<xsl:when test="$l10n.gentext.language = 'ja-JP'">
+				<xsl:text>KochiMincho,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ko-KR'">
+				<xsl:text>BaekmukBatang,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-CN'">
+				<xsl:text>ARPLKaitiMGB,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'bn-IN'">
+				<xsl:text>LohitBengali,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'ta-IN'">
+				<xsl:text>LohitTamil,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'pa-IN'">
+				<xsl:text>LohitPunjabi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'hi-IN'">
+				<xsl:text>LohitHindi,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'gu-IN'">
+				<xsl:text>LohitGujarati,</xsl:text>
+			</xsl:when>
+			<xsl:when test="$l10n.gentext.language = 'zh-TW'">
+				<xsl:text>ARPLMingti2LBig5,</xsl:text>
+			</xsl:when>
+		</xsl:choose>
+	</xsl:variable>
+	<xsl:choose>
+		<xsl:when test="$fop1.extensions != 0">
+		  <xsl:copy-of select="$font"/><xsl:text>DejaVuLGCSans,monospace</xsl:text>
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:copy-of select="$font"/><xsl:text>monospace</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+<!--xsl:param name="symbol.font.family">
+	<xsl:choose>
+		<xsl:when test="$l10n.gentext.language = 'ja-JP'">
+			<xsl:text>Symbol,ZapfDingbats</xsl:text>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:text>Symbol,ZapfDingbats</xsl:text>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:param-->
+
+<xsl:param name="title.font.family">
+	<xsl:call-template name="pickfont-sans"/>
+</xsl:param>
+
+<xsl:param name="body.font.family">
+	<xsl:call-template name="pickfont-sans"/>
+</xsl:param>
+
+<xsl:param name="monospace.font.family">
+	<xsl:call-template name="pickfont-mono"/>
+</xsl:param>
+
+<xsl:param name="sans.font.family">
+	<xsl:call-template name="pickfont-sans"/>
+</xsl:param>
+
+<!--xsl:param name="callout.unicode.font">
+	<xsl:call-template name="pickfont-sans"/>
+</xsl:param-->
+
+<!--
+From: fo/verbatim.xsl
+Reason: Left align address
+Version: 1.72
+-->
+
+<xsl:template match="address">
+	<xsl:param name="suppress-numbers" select="'0'"/>
+
+	<xsl:variable name="content">
+		<xsl:choose>
+			<xsl:when test="$suppress-numbers = '0'
+											and @linenumbering = 'numbered'
+											and $use.extensions != '0'
+											and $linenumbering.extension != '0'">
+				<xsl:call-template name="number.rtf.lines">
+					<xsl:with-param name="rtf">
+						<xsl:apply-templates/>
+					</xsl:with-param>
+				</xsl:call-template>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<fo:block wrap-option='no-wrap'
+						white-space-collapse='false'
+			white-space-treatment='preserve'
+						linefeed-treatment="preserve"
+						text-align="start"
+						xsl:use-attribute-sets="verbatim.properties">
+		<xsl:copy-of select="$content"/>
+	</fo:block>
+</xsl:template>
+
+<xsl:template name="component.title.nomarkup">
+  <xsl:param name="node" select="."/>
+
+  <xsl:variable name="id">
+    <xsl:call-template name="object.id">
+      <xsl:with-param name="object" select="$node"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="title">
+    <xsl:apply-templates select="$node" mode="object.title.markup">
+      <xsl:with-param name="allow-anchors" select="1"/>
+    </xsl:apply-templates>
+  </xsl:variable>
+  <xsl:copy-of select="$title"/>
+</xsl:template>
+
+<!--
+From: fo/pagesetup.xsl
+Reason: Custom Header
+Version: 1.72
+-->
+<xsl:template name="header.content">
+  <xsl:param name="pageclass" select="''"/>
+  <xsl:param name="sequence" select="''"/>
+  <xsl:param name="position" select="''"/>
+  <xsl:param name="gentext-key" select="''"/>
+	<xsl:param name="title-limit" select="'30'"/>
+<!--
+  <fo:block>
+    <xsl:value-of select="$pageclass"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$sequence"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$position"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$gentext-key"/>
+  </fo:block>
+body, blank, left, chapter
+-->
+    <!-- sequence can be odd, even, first, blank -->
+    <!-- position can be left, center, right -->
+    <xsl:choose>
+      <!--xsl:when test="($sequence='blank' and $position='left' and $gentext-key='chapter')">
+			<xsl:variable name="text">
+				<xsl:call-template name="component.title.nomarkup"/>
+			</xsl:variable>
+	      <fo:inline keep-together.within-line="always" font-weight="bold">
+  			  <xsl:choose>
+		  		<xsl:when test="string-length($text) &gt; '33'">
+					<xsl:value-of select="concat(substring($text, 0, $title-limit), '...')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$text"/>
+				</xsl:otherwise>
+			  </xsl:choose>
+		  </fo:inline>
+      </xsl:when-->
+	  <xsl:when test="$confidential = 1 and (($sequence='odd' and $position='left') or ($sequence='even' and $position='right'))">
+	      <fo:inline keep-together.within-line="always" font-weight="bold">
+			<xsl:text>RED HAT CONFIDENTIAL</xsl:text>
+		  </fo:inline>
+      </xsl:when>
+	  <xsl:when test="$sequence = 'blank'">
+        <!-- nothing -->
+      </xsl:when>
+ 	  <!-- Extracting 'Chapter' + Chapter Number from the full Chapter title, with a dirty, dirty hack -->
+  		<xsl:when test="($sequence='first' and $position='left' and $gentext-key='chapter')">
+		<xsl:variable name="text">
+			<xsl:call-template name="component.title.nomarkup"/>
+		</xsl:variable>
+		<xsl:variable name="chapt">
+			<xsl:value-of select="substring-before($text, '&#xA0;')"/>
+		</xsl:variable>
+		<xsl:variable name="remainder">
+			<xsl:value-of select="substring-after($text, '&#xA0;')"/>
+		</xsl:variable>
+		<xsl:variable name="chapt-num">
+			<xsl:value-of select="substring-before($remainder, '&#xA0;')"/>
+		</xsl:variable>
+		<xsl:variable name="text1">
+			<xsl:value-of select="concat($chapt, '&#xA0;', $chapt-num)"/>
+		</xsl:variable>
+        <fo:inline keep-together.within-line="always" font-weight="bold">
+ 		  <xsl:value-of select="$text1"/>
+		</fo:inline>
+      </xsl:when>
+     <!--xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"-->
+      <xsl:when test="($sequence='even' and $position='left')">
+        <!--xsl:if test="$pageclass != 'titlepage'"-->
+			<xsl:variable name="text">
+				<xsl:call-template name="component.title.nomarkup"/>
+			</xsl:variable>
+	      <fo:inline keep-together.within-line="always" font-weight="bold">
+  			  <xsl:choose>
+		  		<xsl:when test="string-length($text) &gt; '33'">
+					<xsl:value-of select="concat(substring($text, 0, $title-limit), '...')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$text"/>
+				</xsl:otherwise>
+			  </xsl:choose>
+		  </fo:inline>
+        <!--xsl:if-->
+      </xsl:when>
+      <xsl:when test="($sequence='odd' and $position='right')">
+        <!--xsl:if test="$pageclass != 'titlepage'"-->
+	      <fo:inline keep-together.within-line="always"><fo:retrieve-marker retrieve-class-name="section.head.marker" retrieve-position="first-including-carryover" retrieve-boundary="page-sequence"/></fo:inline>
+        <!--/xsl:if-->
+      </xsl:when>
+	  <xsl:when test="$position='left'">
+        <!-- Same for odd, even, empty, and blank sequences -->
+        <xsl:call-template name="draft.text"/>
+      </xsl:when>
+      <xsl:when test="$position='center'">
+        <!-- nothing for empty and blank sequences -->
+      </xsl:when>
+      <xsl:when test="$position='right'">
+        <!-- Same for odd, even, empty, and blank sequences -->
+        <xsl:call-template name="draft.text"/>
+      </xsl:when>
+      <xsl:when test="$sequence = 'first'">
+        <!-- nothing for first pages -->
+      </xsl:when>
+      <xsl:when test="$sequence = 'blank'">
+        <!-- nothing for blank pages -->
+      </xsl:when>
+    </xsl:choose>
+</xsl:template>
+
+<!--
+From: fo/pagesetup.xsl
+Reason: Override colour
+Version: 1.72
+-->
+<xsl:template name="head.sep.rule">
+	<xsl:param name="pageclass"/>
+	<xsl:param name="sequence"/>
+	<xsl:param name="gentext-key"/>
+
+	<xsl:if test="$header.rule != 0">
+		<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
+		<xsl:attribute name="border-bottom-style">solid</xsl:attribute>
+		<xsl:attribute name="border-bottom-color">#4a5d75</xsl:attribute>
+	</xsl:if>
+</xsl:template>
+
+<!--
+From: fo/pagesetup.xsl
+Reason: Override colour
+Version: 1.72
+-->
+<xsl:template name="foot.sep.rule">
+	<xsl:param name="pageclass"/>
+	<xsl:param name="sequence"/>
+	<xsl:param name="gentext-key"/>
+
+	<xsl:if test="$footer.rule != 0">
+		<xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
+		<xsl:attribute name="border-top-style">solid</xsl:attribute>
+		<xsl:attribute name="border-top-color">#4a5d75</xsl:attribute>
+	</xsl:if>
+</xsl:template>
+
+<xsl:param name="footnote.font.size">
+	<xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text>
+</xsl:param>
+<xsl:param name="footnote.number.format" select="'1'"/>
+<xsl:param name="footnote.number.symbols" select="''"/>
+<xsl:attribute-set name="footnote.mark.properties">
+	<xsl:attribute name="font-size">75%</xsl:attribute>
+	<xsl:attribute name="font-weight">normal</xsl:attribute>
+	<xsl:attribute name="font-style">normal</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="footnote.properties">
+	<xsl:attribute name="padding-top">48pt</xsl:attribute>
+	<xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"/></xsl:attribute>
+	<xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"/></xsl:attribute>
+	<xsl:attribute name="font-weight">normal</xsl:attribute>
+	<xsl:attribute name="font-style">normal</xsl:attribute>
+	<xsl:attribute name="text-align"><xsl:value-of select="$alignment"/></xsl:attribute>
+	<xsl:attribute name="start-indent">0pt</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="footnote.sep.leader.properties">
+	<xsl:attribute name="color">black</xsl:attribute>
+	<xsl:attribute name="leader-pattern">rule</xsl:attribute>
+	<xsl:attribute name="leader-length">1in</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:template match="author" mode="tablerow.titlepage.mode">
+  <fo:table-row>
+    <fo:table-cell>
+	  <fo:block>
+        <xsl:call-template name="gentext">
+          <xsl:with-param name="key" select="'Author'"/>
+        </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:call-template name="person.name">
+          <xsl:with-param name="node" select="."/>
+        </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:apply-templates select="email"/>
+	  </fo:block>
+    </fo:table-cell>
+  </fo:table-row>
+</xsl:template>
+
+<xsl:template match="author" mode="titlepage.mode">
+  <fo:block>
+    <xsl:call-template name="person.name">
+         <xsl:with-param name="node" select="."/>
+    </xsl:call-template>
+  </fo:block>
+</xsl:template>
+
+<xsl:param name="editedby.enabled">0</xsl:param>
+
+<xsl:template match="editor" mode="tablerow.titlepage.mode">
+  <fo:table-row>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:call-template name="gentext">
+	      <xsl:with-param name="key" select="'Editor'"/>
+	    </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+        <xsl:call-template name="person.name">
+          <xsl:with-param name="node" select="."/>
+        </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:apply-templates select="email"/>
+	  </fo:block>
+    </fo:table-cell>
+  </fo:table-row>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="tablerow.titlepage.mode">
+  <fo:table-row>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:call-template name="gentext">
+	      <xsl:with-param name="key" select="'translator'"/>
+	    </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+        <xsl:call-template name="person.name">
+          <xsl:with-param name="node" select="."/>
+        </xsl:call-template>
+	  </fo:block>
+    </fo:table-cell>
+    <fo:table-cell>
+	  <fo:block>
+	    <xsl:apply-templates select="email"/>
+	  </fo:block>
+    </fo:table-cell>
+  </fo:table-row>
+ </xsl:template>
+
+<!--
+From: fo/titlepage.xsl
+Reason: 
+Version:1.72
+-->
+<!-- Omitted to get JBossOrg style working - TODO
+<xsl:template name="verso.authorgroup">
+  <fo:table table-layout="fixed" width="100%">
+    <fo:table-column column-number="1" column-width="proportional-column-width(1)"/>
+    <fo:table-column column-number="2" column-width="proportional-column-width(1)"/>
+    <fo:table-column column-number="3" column-width="proportional-column-width(1)"/>
+    <fo:table-body>
+      <xsl:apply-templates select="author" mode="tablerow.titlepage.mode"/>
+      <xsl:apply-templates select="editor" mode="tablerow.titlepage.mode"/>
+      <xsl:apply-templates select="othercredit" mode="tablerow.titlepage.mode"/>
+    </fo:table-body>
+  </fo:table>
+</xsl:template> -->
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="34pt" space-before="30pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="issuenum" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="16pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+  <fo:block xsl:use-attribute-sets="book.titlepage.recto.style" font-size="14pt" space-before="15.552pt">
+    <xsl:call-template name="person.name">
+         <xsl:with-param name="node" select="."/>
+    </xsl:call-template>
+  </fo:block>
+</xsl:template>
+
+<!-- <xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/issuenum"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/issuenum"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="issuenum"/>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+
+  <fo:block xsl:use-attribute-sets="book.titlepage.recto.style" color="black">
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/invpartnumber"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/invpartnumber"/>
+  </fo:block>
+  <fo:block xsl:use-attribute-sets="book.titlepage.recto.style" color="black">
+    <xsl:call-template name="gentext">
+      <xsl:with-param name="key" select="'isbn'"/>
+	</xsl:call-template>
+	<xsl:text>: </xsl:text>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/isbn"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/isbn"/>
+  </fo:block>
+  <fo:block xsl:use-attribute-sets="book.titlepage.recto.style" color="black"> 
+    <xsl:call-template name="gentext">
+      <xsl:with-param name="key" select="'pubdate'"/>
+	</xsl:call-template>
+	<xsl:text>: </xsl:text>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+    <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  </fo:block>
+</xsl:template> -->
+
+   <!-- Use our own slightly simpler title page (just show title, version, authors) -->
+   <xsl:template name="book.titlepage.recto">
+      <xsl:choose>
+         <xsl:when test="bookinfo/title">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="bookinfo/title" />
+         </xsl:when>
+         <xsl:when test="info/title">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="info/title" />
+         </xsl:when>
+         <xsl:when test="title">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="title" />
+         </xsl:when>
+      </xsl:choose>
+
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+         select="bookinfo/issuenum" />
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+         select="info/issuenum" />
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+         select="issuenum" />
+
+      <xsl:choose>
+         <xsl:when test="bookinfo/subtitle">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="bookinfo/subtitle" />
+         </xsl:when>
+         <xsl:when test="info/subtitle">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="info/subtitle" />
+         </xsl:when>
+         <xsl:when test="subtitle">
+            <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+               select="subtitle" />
+         </xsl:when>
+      </xsl:choose>
+
+      <fo:block xsl:use-attribute-sets="book.titlepage.recto.style"
+         font-size="14pt" space-before="15.552pt">
+         <xsl:apply-templates mode="book.titlepage.recto.auto.mode"
+            select="bookinfo/releaseinfo" />
+      </fo:block>
+
+      <fo:block text-align="center" space-before="15.552pt">
+         <xsl:call-template name="person.name.list">
+            <xsl:with-param name="person.list" select="bookinfo/authorgroup/author|bookinfo/authorgroup/corpauthor" />
+            <xsl:with-param name="person.type" select="'author'"/>
+         </xsl:call-template>
+      </fo:block>
+
+      <fo:block text-align="center" space-before="15.552pt">
+         <xsl:call-template name="person.name.list">
+            <xsl:with-param name="person.list" select="bookinfo/authorgroup/editor" />
+            <xsl:with-param name="person.type" select="'editor'"/>
+         </xsl:call-template>
+      </fo:block>
+
+      <fo:block text-align="center" space-before="15.552pt">
+         <xsl:call-template name="person.name.list">
+            <xsl:with-param name="person.list" select="bookinfo/authorgroup/othercredit" />
+            <xsl:with-param name="person.type" select="'othercredit'"/>
+         </xsl:call-template>
+      </fo:block>
+
+   </xsl:template>
+
+<!-- <xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/abstract">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+    </xsl:when>
+    <xsl:when test="info/abstract">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template> -->
+
+   <xsl:template name="book.titlepage.verso"></xsl:template>
+
+
+<!-- <xsl:template name="book.titlepage3.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose> 
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/publisher"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/publisher"/>
+</xsl:template> -->
+
+   <xsl:template name="book.titlepage3.recto">
+
+   </xsl:template>
+   
+   <!-- Make examples, tables etc. break across pages -->
+   <xsl:attribute-set name="formal.object.properties">
+      <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
+   </xsl:attribute-set>
+
+   <!-- Correct placement of titles for figures and examples. -->
+   <xsl:param name="formal.title.placement">
+      figure after example before equation before table before procedure before
+   </xsl:param>
+
+   <!-- Prevent blank pages in output -->
+   <xsl:template name="book.titlepage.before.verso"></xsl:template>
+   <xsl:template name="book.titlepage.separator"></xsl:template>
+   
+<!-- <xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template> -->
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<!-- <xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template> -->
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:call-template name="book.titlepage.before.recto"/>
+    <fo:block><xsl:call-template name="book.titlepage.recto"/></fo:block>
+    <xsl:call-template name="book.titlepage.separator"/>
+    <fo:block><xsl:call-template name="book.titlepage.verso"/></fo:block>
+    <xsl:call-template name="book.titlepage.separator"/>
+    <fo:block><xsl:call-template name="book.titlepage3.recto"/></fo:block>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<!--
+From: fo/qandaset.xsl
+Reason: Id in list-item-label causes fop crash
+Version:1.72
+-->
+
+<xsl:template match="question">
+  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+  <xsl:variable name="entry.id">
+    <xsl:call-template name="object.id">
+      <xsl:with-param name="object" select="parent::*"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="deflabel">
+    <xsl:choose>
+      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
+                              /@defaultlabel"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$qanda.defaultlabel"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
+    <fo:list-item-label end-indent="label-end()">
+      <xsl:choose>
+        <xsl:when test="$deflabel = 'none'">
+          <fo:block/>
+        </xsl:when>
+        <xsl:otherwise>
+          <fo:block>
+            <xsl:apply-templates select="." mode="label.markup"/>
+            <xsl:if test="$deflabel = 'number' and not(label)">
+              <xsl:apply-templates select="." mode="intralabel.punctuation"/>
+            </xsl:if>
+          </fo:block>
+        </xsl:otherwise>
+      </xsl:choose>
+    </fo:list-item-label>
+    <fo:list-item-body start-indent="body-start()">
+      <xsl:choose>
+        <xsl:when test="$deflabel = 'none'">
+          <fo:block font-weight="bold">
+            <xsl:apply-templates select="*[local-name(.)!='label']"/>
+          </fo:block>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates select="*[local-name(.)!='label']"/>
+        </xsl:otherwise>
+      </xsl:choose>
+      <!-- Uncomment this line to get revhistory output in the question -->
+      <!-- <xsl:apply-templates select="preceding-sibling::revhistory"/> -->
+    </fo:list-item-body>
+  </fo:list-item>
+</xsl:template>
+
+<!--
+From: fo/qandaset.xsl
+Reason: Id in list-item-label causes fop crash
+Version:1.72
+-->
+<xsl:template match="answer">
+  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+  <xsl:variable name="entry.id">
+    <xsl:call-template name="object.id">
+      <xsl:with-param name="object" select="parent::*"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="deflabel">
+    <xsl:choose>
+      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
+                              /@defaultlabel"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$qanda.defaultlabel"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <fo:list-item xsl:use-attribute-sets="list.item.spacing">
+    <fo:list-item-label end-indent="label-end()">
+      <xsl:choose>
+        <xsl:when test="$deflabel = 'none'">
+          <fo:block/>
+        </xsl:when>
+        <xsl:otherwise>
+          <fo:block>
+            <xsl:variable name="answer.label">
+              <xsl:apply-templates select="." mode="label.markup"/>
+            </xsl:variable>
+            <xsl:copy-of select="$answer.label"/>
+          </fo:block>
+        </xsl:otherwise>
+      </xsl:choose>
+    </fo:list-item-label>
+    <fo:list-item-body start-indent="body-start()">
+      <xsl:apply-templates select="*[local-name(.)!='label']"/>
+    </fo:list-item-body>
+  </fo:list-item>
+</xsl:template>
+
+   
+  <xsl:template match="programlisting|programlisting[@role='XML']|programlisting[@role='JAVA']|programlisting[@role='XHTML']|programlisting[@role='JSP']|programlisting[@role='CSS']">
+    
+    <xsl:variable name="role">
+      <xsl:value-of select="s:toUpperCase(string(@role))" xmlns:s="java:java.lang.String"/>
+    </xsl:variable>
+
+    <xsl:variable name="hilighter" select="jbh:new()"/>
+    <xsl:variable name="parsable" select="jbh:isParsable($role)"/>
+    
+    <fo:block background-color="#F5F5F5"
+              border-style="solid"
+              border-width=".3mm"
+              border-color="#CCCCCC"
+              font-family="{$programlisting.font}"
+              font-size="{$programlisting.font.size}"
+              space-before="12pt"
+              space-after="12pt"
+              linefeed-treatment="preserve"
+              white-space-collapse="false"
+              white-space-treatment="preserve"
+              padding-bottom="12pt"
+              padding-top="12pt"
+              padding-right="12pt"
+              padding-left="12pt">
+
+    <xsl:choose>
+      <xsl:when test="$parsable = 'true'">
+        <xsl:for-each select="node()">
+          <xsl:choose>
+            <xsl:when test="self::text()">
+              <xsl:variable name="child.content" select="."/>
+      
+              <xsl:variable name="caller" select="jbh:parseText($hilighter, $role, string($child.content), 'UTF-8')"/>
+              <xsl:variable name="noOfTokens" select="jbh:getNoOfTokens($caller)"/>
+
+              <xsl:call-template name="iterator">
+                <xsl:with-param name="caller" select="$caller"/>
+                <xsl:with-param name="noOfTokens" select="$noOfTokens"/>
+              </xsl:call-template>
+            </xsl:when>
+            <xsl:otherwise>
+              <fo:inline>
+              <xsl:call-template name="anchor"/>
+              <xsl:apply-templates select="." mode="callout-bug"/>
+              </fo:inline>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+
+    </fo:block>
+  </xsl:template>
+
+
+  <xsl:template name="iterator">
+    <xsl:param name="caller"/>
+    <xsl:param name="noOfTokens"/>
+    <xsl:param name="i" select="0"/>
+
+    <xsl:variable name="style" select="jbh:getStyle($caller, $i)"/>
+    <xsl:variable name="token" select="jbh:getToken($caller, $i)"/>
+
+    <xsl:choose>
+      <xsl:when test="$style = 'java_keyword'"> <fo:inline color="#7F1B55" font-weight="bold"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_plain'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_type'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_separator'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_literal'"> <fo:inline color="#2A00FF"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_comment'"> <fo:inline color="#3F7F5F"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_javadoc_comment'"> <fo:inline color="#3F5FBF" font-style="italic"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_operator'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'java_javadoc_tag'"> <fo:inline color="#7F9FBF" font-weight="bold" font-style="italic"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_plain'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_char_data'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_tag_symbols'"> <fo:inline color="#008080"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_comment'"> <fo:inline color="#3F5FBF"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_attribute_value'"> <fo:inline color="#2A00FF"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_attribute_name'"> <fo:inline color="#7F007F" font-weight="bold"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_processing_instruction'"> <fo:inline color="#000000" font-weight="bold" font-style="italic"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_tag_name'"> <fo:inline color="#3F7F7F"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_rife_tag'"> <fo:inline color="#000000"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:when test="$style = 'xml_rife_name'"> <fo:inline color="#008CCA"> <xsl:value-of select="$token"/> </fo:inline></xsl:when>
+      <xsl:otherwise> <fo:inline color="black"> <xsl:value-of select="$token"/> </fo:inline></xsl:otherwise>
+    </xsl:choose>
+
+    <xsl:if test="$i &lt; $noOfTokens - 1">
+      <xsl:call-template name="iterator">
+        <xsl:with-param name="caller" select="$caller"/>
+        <xsl:with-param name="noOfTokens" select="$noOfTokens"/>
+        <xsl:with-param name="i" select="$i + 1"/>
+      </xsl:call-template>  
+    </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/pdf.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-common.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-common.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-common.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,571 @@
+<?xml version='1.0'?>
+
+<!--
+    Copyright 2007 Red Hat, Inc.
+    License: GPL
+    Author: Jeff Fearn <jfearn at redhat.com>
+    Author: Tammy Fox <tfox at redhat.com>
+    Author: Andy Fitzsimon <afitzsim at redhat.com>
+    Author: Mark Newton <mark.newton at jboss.org>
+    Author: Pete Muir    
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+				version="1.0"
+                xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory"
+                exclude-result-prefixes="#default">
+
+   <xsl:import href="common.xsl" />
+  
+  <!-- Ignore image scaling in html version -->
+  <xsl:param name="ignore.image.scaling" select="1"/>
+  
+  <xsl:param name="generate.legalnotice.link" select="1"/>
+  <xsl:param name="generate.revhistory.link" select="0"/>
+  
+  <!-- This is needed to generate the correct xhtml-strict DOCTYPE on the front page.
+      We can't use indentation as the algorithm inserts linebreaks into the markup
+      created for callouts. This means that callouts appear on different lines than
+      the code they are supposed to refer to. -->
+  <xsl:output method="xml"
+              encoding="UTF-8"
+              indent="no"
+              doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+              doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+              standalone="no"/>
+
+  <xsl:param name="siteHref" select="'http://www.jboss.org'"/>
+  <xsl:param name="docHref" select="'http://docs.jboss.org/'"/>
+  <xsl:param name="siteLinkText" select="'JBoss.org'"/>
+  <xsl:param name="docLinkText" select="'Community Documentation'"/>
+
+   <xsl:param name="graphicsize.extension">0</xsl:param>
+   
+   <!-- Placement of titles -->
+   <xsl:param name="formal.title.placement">
+      figure after example before equation before table before procedure before
+   </xsl:param>
+   
+   <!-- Callouts -->
+   <!-- Place callout marks at this column in annotated areas. The algorithm using this number doesn't
+        know about highlighted code with extra span elements so we need to pad each line at the start
+        with an XML comment and a line break. The callout marks must then be placed immediately afterwards.
+        This ensures that the callouts appear on the same line as the code it relates to and we can position
+        them using CSS so that they all appear in a column on the right. -->
+   <xsl:param name="callout.defaultcolumn">15</xsl:param>
+   <xsl:param name="callout.icon.size">17px</xsl:param>
+      
+  <!-- Admonitions -->
+  <xsl:param name="admon.style" select="''"/>
+
+  <!-- Set chunk.section.depth to 0 to just chunk chapters. -->
+  <xsl:param name="chunk.section.depth" select="0"/>
+  <xsl:param name="chunk.first.sections" select="1"/>
+  <xsl:param name="chunk.toc" select="''"/>
+  <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD XHTML 1.0 Strict//EN'"/>
+  <xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'"/>
+  <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
+
+  <!-- We must turn off indenting as the algorithm inserts linebreaks into the callout markup that is added by the
+      code highlighting routine. This causes the callouts to appear on different lines from the code they relate to. -->
+  <xsl:param name="chunker.output.indent" select="'no'"/>
+
+  <xsl:param name="html.stylesheet" select="'css/jbossorg.css'"/>
+  <xsl:param name="html.stylesheet.type" select="'text/css'"/>
+  <xsl:param name="html.cleanup" select="1"/>
+  <xsl:param name="html.ext" select="'.html'"/>
+
+
+  <xsl:template match="authorgroup" mode="titlepage.mode">
+   <xsl:choose>
+   <xsl:when test="$use.simplified.author.group = 1">
+      <div class="authorgroup">
+         <div class="authors">
+            <xsl:call-template name="person.name.list">
+               <xsl:with-param name="person.list" select="./author|./corpauthor" />
+               <xsl:with-param name="person.type" select="'author'"/>
+            </xsl:call-template>
+         </div>
+
+         <div class="editors">
+            <xsl:call-template name="person.name.list">
+               <xsl:with-param name="person.list" select="./editor" />
+               <xsl:with-param name="person.type" select="'editor'"/>
+            </xsl:call-template>
+         </div>
+
+         <div class="others">
+            <xsl:call-template name="person.name.list">
+               <xsl:with-param name="person.list" select="./othercredit" />
+               <xsl:with-param name="person.type" select="'othercredit'"/>
+            </xsl:call-template>
+         </div>
+      </div>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:apply-imports/>
+      </xsl:otherwise>
+      </xsl:choose>
+      
+   </xsl:template>     
+
+<!-- 
+From: fo/callout.xsl
+Version: 1.73.2
+Reason: This includes the callout.icon.size attribute for SVGs
+        (We can probably get rid of this if we upgrade to DocBook Stylesheets 1.73.2)
+ -->
+ <xsl:template name="callout-bug">
+  <xsl:param name="conum" select="1"/>
+
+  <xsl:choose>
+    <xsl:when test="$callout.graphics != 0                     and $conum &lt;= $callout.graphics.number.limit">
+      <img src="{$callout.graphics.path}{$conum}{$callout.graphics.extension}" alt="{$conum}" border="0" height="{$callout.icon.size}" width="{$callout.icon.size}"/>
+    </xsl:when>
+    <xsl:when test="$callout.unicode != 0                     and $conum &lt;= $callout.unicode.number.limit">
+      <xsl:choose>
+        <xsl:when test="$callout.unicode.start.character = 10102">
+          <xsl:choose>
+            <xsl:when test="$conum = 1">&#10102;</xsl:when>
+            <xsl:when test="$conum = 2">&#10103;</xsl:when>
+            <xsl:when test="$conum = 3">&#10104;</xsl:when>
+            <xsl:when test="$conum = 4">&#10105;</xsl:when>
+            <xsl:when test="$conum = 5">&#10106;</xsl:when>
+            <xsl:when test="$conum = 6">&#10107;</xsl:when>
+            <xsl:when test="$conum = 7">&#10108;</xsl:when>
+            <xsl:when test="$conum = 8">&#10109;</xsl:when>
+            <xsl:when test="$conum = 9">&#10110;</xsl:when>
+            <xsl:when test="$conum = 10">&#10111;</xsl:when>
+          </xsl:choose>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:message>
+            <xsl:text>Don't know how to generate Unicode callouts </xsl:text>
+            <xsl:text>when $callout.unicode.start.character is </xsl:text>
+            <xsl:value-of select="$callout.unicode.start.character"/>
+          </xsl:message>
+          <xsl:text>(</xsl:text>
+          <xsl:value-of select="$conum"/>
+          <xsl:text>)</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:text>(</xsl:text>
+      <xsl:value-of select="$conum"/>
+      <xsl:text>)</xsl:text>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- TOC -->
+<xsl:param name="generate.toc">
+set toc
+book toc
+article toc
+chapter toc
+qandadiv toc
+qandaset toc
+sect1 nop
+sect2 nop
+sect3 nop
+sect4 nop
+sect5 nop
+section toc
+part toc
+</xsl:param>
+
+<xsl:param name="suppress.navigation" select="0"/>
+<xsl:param name="suppress.header.navigation" select="0"/>
+<xsl:param name="suppress.footer.navigation" select="0"/>
+
+<xsl:param name="header.rule" select="0"/>
+<xsl:param name="footer.rule" select="0"/>
+<xsl:param name="css.decoration" select="0"/>
+<xsl:param name="ulink.target"/>
+<xsl:param name="table.cell.border.style"/>
+
+<!-- BUGBUG TODO 
+
+	There is a bug where inserting elements in to the body level
+	of xhtml will add xmlns="" to the tag. This is invalid xhtml.
+	To overcome this I added:
+		xmlns="http://www.w3.org/1999/xhtml"
+	to the outer most tag. This gets stripped by the parser, resulting
+	in valid xhtml ... go figure.
+  
+    This sounds like the system used by the stylesheets to process
+    DocBook 5 docs by stripping out the XML namespace before processing
+    the node set as normal: http://lists.oasis-open.org/archives/docbook-apps/200701/msg00184.html
+-->
+
+<!--
+From: xhtml/admon.xsl
+Reason: remove tables
+Version: 1.72.0
+-->
+<xsl:template name="graphical.admonition">
+	<xsl:variable name="admon.type">
+		<xsl:choose>
+			<xsl:when test="local-name(.)='note'">Note</xsl:when>
+			<xsl:when test="local-name(.)='warning'">Warning</xsl:when>
+			<xsl:when test="local-name(.)='caution'">Caution</xsl:when>
+			<xsl:when test="local-name(.)='tip'">Tip</xsl:when>
+			<xsl:when test="local-name(.)='important'">Important</xsl:when>
+			<xsl:otherwise>Note</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+	<xsl:variable name="alt">
+		<xsl:call-template name="gentext">
+			<xsl:with-param name="key" select="$admon.type"/>
+		</xsl:call-template>
+	</xsl:variable>
+
+	<div xmlns="http://www.w3.org/1999/xhtml">
+	 	 <xsl:apply-templates select="." mode="class.attribute"/>
+		<xsl:if test="$admon.style != ''">
+			<xsl:attribute name="style">
+				<xsl:value-of select="$admon.style"/>
+			</xsl:attribute>
+		</xsl:if>
+
+		<xsl:call-template name="anchor"/>
+			<xsl:if test="$admon.textlabel != 0 or title">
+				<h2>
+					<xsl:apply-templates select="." mode="object.title.markup"/>
+				</h2>
+			</xsl:if>
+		<xsl:apply-templates/>
+	</div>
+</xsl:template>
+
+<!--
+From: xhtml/lists.xsl
+Reason: Remove invalid type attribute from ol
+Version: 1.72.0
+-->
+<xsl:template match="substeps">
+	<xsl:variable name="numeration">
+		<xsl:call-template name="procedure.step.numeration"/>
+	</xsl:variable>
+	<xsl:call-template name="anchor"/>
+	<ol xmlns="http://www.w3.org/1999/xhtml" class="{$numeration}">
+		<xsl:apply-templates/>
+	</ol>
+</xsl:template>
+
+<!--
+From: xhtml/lists.xsl
+Reason: Remove invalid type, start & compact attributes from ol
+Version: 1.72.0
+-->
+<xsl:template match="orderedlist">
+	<div xmlns="http://www.w3.org/1999/xhtml">
+		<xsl:apply-templates select="." mode="class.attribute"/>
+		<xsl:call-template name="anchor"/>
+		<xsl:if test="title">
+			<xsl:call-template name="formal.object.heading"/>
+		</xsl:if>
+<!-- Preserve order of PIs and comments -->
+		<xsl:apply-templates select="*[not(self::listitem or self::title or self::titleabbrev)]	|comment()[not(preceding-sibling::listitem)]	|processing-instruction()[not(preceding-sibling::listitem)]"/>
+		<ol>
+			<xsl:apply-templates select="listitem |comment()[preceding-sibling::listitem] |processing-instruction()[preceding-sibling::listitem]"/>
+		</ol>
+	</div>
+</xsl:template>
+
+<!--
+From: xhtml/lists.xsl
+Reason: Remove invalid type, start & compact attributes from ol
+Version: 1.72.0
+-->
+<xsl:template match="procedure">
+	<xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement), concat(local-name(.), ' '))"/>
+
+	<xsl:variable name="placement">
+		<xsl:choose>
+			<xsl:when test="contains($param.placement, ' ')">
+				<xsl:value-of select="substring-before($param.placement, ' ')"/>
+			</xsl:when>
+			<xsl:when test="$param.placement = ''">before</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="$param.placement"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+<!-- Preserve order of PIs and comments -->
+	<xsl:variable name="preamble" select="*[not(self::step or self::title or self::titleabbrev)] |comment()[not(preceding-sibling::step)]	|processing-instruction()[not(preceding-sibling::step)]"/>
+	<div xmlns="http://www.w3.org/1999/xhtml">
+		<xsl:apply-templates select="." mode="class.attribute"/>
+		<xsl:call-template name="anchor">
+			<xsl:with-param name="conditional">
+				<xsl:choose>
+					<xsl:when test="title">0</xsl:when>
+					<xsl:otherwise>1</xsl:otherwise>
+				</xsl:choose>
+			</xsl:with-param>
+		</xsl:call-template>
+		<xsl:if test="title and $placement = 'before'">
+			<xsl:call-template name="formal.object.heading"/>
+		</xsl:if>
+		<xsl:apply-templates select="$preamble"/>
+		<xsl:choose>
+			<xsl:when test="count(step) = 1">
+				<ul>
+					<xsl:apply-templates select="step |comment()[preceding-sibling::step] |processing-instruction()[preceding-sibling::step]"/>
+				</ul>
+			</xsl:when>
+			<xsl:otherwise>
+				<ol>
+					<xsl:attribute name="class">
+						<xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/>
+					</xsl:attribute>
+					<xsl:apply-templates select="step |comment()[preceding-sibling::step] |processing-instruction()[preceding-sibling::step]"/>
+				</ol>
+			</xsl:otherwise>
+		</xsl:choose>
+		<xsl:if test="title and $placement != 'before'">
+			<xsl:call-template name="formal.object.heading"/>
+		</xsl:if>
+	</div>
+</xsl:template>
+
+<!--
+From: xhtml/graphics.xsl
+Reason:  Remove html markup (align)
+Version: 1.72.0
+-->
+<xsl:template name="longdesc.link">
+	<xsl:param name="longdesc.uri" select="''"/>
+
+	<xsl:variable name="this.uri">
+	<xsl:call-template name="make-relative-filename">
+		<xsl:with-param name="base.dir" select="$base.dir"/>
+			<xsl:with-param name="base.name">
+				<xsl:call-template name="href.target.uri"/>
+			</xsl:with-param>
+		</xsl:call-template>
+	</xsl:variable>
+	<xsl:variable name="href.to">
+		<xsl:call-template name="trim.common.uri.paths">
+			<xsl:with-param name="uriA" select="$longdesc.uri"/>
+			<xsl:with-param name="uriB" select="$this.uri"/>
+			<xsl:with-param name="return" select="'A'"/>
+		</xsl:call-template>
+	</xsl:variable>
+	<div xmlns="http://www.w3.org/1999/xhtml" class="longdesc-link">
+		<br/>
+		<span class="longdesc-link">
+			<xsl:text>[</xsl:text>
+			<a href="{$href.to}">D</a>
+			<xsl:text>]</xsl:text>
+		</span>
+	</div>
+</xsl:template>
+
+<!--
+From: xhtml/docbook.xsl
+Reason: Remove inline style for draft mode
+Version: 1.72.0
+-->
+<xsl:template name="head.content">
+	<xsl:param name="node" select="."/>
+	<xsl:param name="title">
+		<xsl:apply-templates select="$node" mode="object.title.markup.textonly"/>
+	</xsl:param>
+
+	<title xmlns="http://www.w3.org/1999/xhtml" >
+		<xsl:copy-of select="$title"/>
+	</title>
+
+	<xsl:if test="$html.stylesheet != ''">
+		<xsl:call-template name="output.html.stylesheets">
+			<xsl:with-param name="stylesheets" select="normalize-space($html.stylesheet)"/>
+		</xsl:call-template>
+	</xsl:if>
+
+	<xsl:if test="$link.mailto.url != ''">
+		<link rev="made" href="{$link.mailto.url}"/>
+	</xsl:if>
+
+	<xsl:if test="$html.base != ''">
+		<base href="{$html.base}"/>
+	</xsl:if>
+
+	<meta xmlns="http://www.w3.org/1999/xhtml" name="generator" content="DocBook {$DistroTitle} V{$VERSION}"/>
+
+	<xsl:if test="$generate.meta.abstract != 0">
+		<xsl:variable name="info" select="(articleinfo |bookinfo |prefaceinfo |chapterinfo |appendixinfo |sectioninfo |sect1info |sect2info |sect3info |sect4info |sect5info |referenceinfo |refentryinfo |partinfo |info |docinfo)[1]"/>
+		<xsl:if test="$info and $info/abstract">
+			<meta xmlns="http://www.w3.org/1999/xhtml" name="description">
+				<xsl:attribute name="content">
+					<xsl:for-each select="$info/abstract[1]/*">
+						<xsl:value-of select="normalize-space(.)"/>
+						<xsl:if test="position() &lt; last()">
+							<xsl:text> </xsl:text>
+						</xsl:if>
+					</xsl:for-each>
+				</xsl:attribute>
+			</meta>
+		</xsl:if>
+	</xsl:if>
+
+	<xsl:apply-templates select="." mode="head.keywords.content"/>
+</xsl:template>
+
+<!--
+From: xhtml/docbook.xsl
+Reason: Add css class for draft mode
+Version: 1.72.0
+-->
+<xsl:template name="body.attributes">
+	<xsl:if test="($draft.mode = 'yes' or ($draft.mode = 'maybe' and ancestor-or-self::*[@status][1]/@status = 'draft'))">
+		<xsl:attribute name="class">
+			<xsl:value-of select="ancestor-or-self::*[@status][1]/@status"/>
+		</xsl:attribute>
+	</xsl:if>
+</xsl:template>
+
+<!--
+From: xhtml/docbook.xsl
+Reason: Add confidential to footer
+Version: 1.72.0
+-->
+<xsl:template name="user.footer.content">
+	<xsl:param name="node" select="."/>
+	<xsl:if test="$confidential = '1'">
+		<h1 xmlns="http://www.w3.org/1999/xhtml" class="confidential">
+			<xsl:text>Red Hat Confidential!</xsl:text>
+		</h1>
+	</xsl:if>
+</xsl:template>
+
+<!--
+From: xhtml/block.xsl
+Reason:  default class (otherwise) to formalpara
+Version: 1.72.0
+-->
+<xsl:template match="formalpara">
+	<xsl:call-template name="paragraph">
+		<xsl:with-param name="class">
+			<xsl:choose>
+				<xsl:when test="@role and $para.propagates.style != 0">
+					<xsl:value-of select="@role"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:text>formalpara</xsl:text>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:with-param>
+		<xsl:with-param name="content">
+			<xsl:call-template name="anchor"/>
+			<xsl:apply-templates/>
+		</xsl:with-param>
+	</xsl:call-template>
+</xsl:template>
+
+<!--
+From: xhtml/block.xsl
+Reason:  h5 instead of <b>, remove default title end punctuation
+Version: 1.72.0
+-->
+<xsl:template match="formalpara/title|formalpara/info/title">
+	<xsl:variable name="titleStr">
+			<xsl:apply-templates/>
+	</xsl:variable>
+	<h5 xmlns="http://www.w3.org/1999/xhtml" class="formalpara">
+		<xsl:copy-of select="$titleStr"/>
+	</h5>
+</xsl:template>
+
+<!--
+From: xhtml/footnote.xsl
+Reason: remove inline css from hr
+Version: 1.72.0
+-->
+<xsl:template name="process.footnotes">
+  <xsl:variable name="footnotes" select=".//footnote"/>
+  <xsl:variable name="table.footnotes" select=".//tgroup//footnote"/>
+
+  <!-- Only bother to do this if there's at least one non-table footnote -->
+  <xsl:if test="count($footnotes)&gt;count($table.footnotes)">
+    <div class="footnotes">
+      <br/>
+      <hr/>
+      <xsl:apply-templates select="$footnotes" mode="process.footnote.mode"/>
+    </div>
+  </xsl:if>
+
+  <xsl:if test="$annotation.support != 0 and //annotation">
+    <div class="annotation-list">
+      <div class="annotation-nocss">
+  <p>The following annotations are from this essay. You are seeing
+  them here because your browser doesn&#8217;t support the user-interface
+  techniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>
+      </div>
+
+      <xsl:apply-templates select="//annotation" mode="annotation-popup"/>
+    </div>
+  </xsl:if>
+</xsl:template>
+
+  <xsl:template match="programlisting[@role='XML']|programlisting[@role='JAVA']|programlisting[@role='XHTML']|programlisting[@role='JSP']|programlisting[@role='CSS']">
+    
+    <xsl:variable name="role">
+      <xsl:value-of select="s:toUpperCase(string(@role))" xmlns:s="java:java.lang.String"/>
+    </xsl:variable>
+    
+    <xsl:variable name="factory" select="rf:instance()"/>
+    <xsl:variable name="hiliter" select="rf:getRenderer($factory, string($role))"/>
+
+    <pre class="{$role}">
+    <xsl:choose>
+      <xsl:when test="$hiliter">
+            <xsl:for-each select="node()">
+              <xsl:choose>
+                <xsl:when test="self::text()">
+                  <xsl:variable name="child.content" select="."/>
+          
+                  <xsl:value-of select="jhr:highlight($hiliter, $role, string($child.content), 'UTF-8', true())"
+            xmlns:jhr="com.uwyn.jhighlight.renderer.Renderer" disable-output-escaping="yes"/>
+          </xsl:when>
+                <xsl:otherwise>
+                  <!-- Support a single linkend in HTML -->
+                  <xsl:variable name="targets" select="key('id', @linkends)"/>
+                  <xsl:variable name="target" select="$targets[1]"/>
+                  <xsl:choose>
+                  <xsl:when test="$target">
+                  <a>
+                    <xsl:if test="@id or @xml:id">
+                      <xsl:attribute name="id">
+                        <xsl:value-of select="(@id|@xml:id)[1]"/>
+                      </xsl:attribute>
+                    </xsl:if>
+                    <xsl:attribute name="href">
+                      <xsl:call-template name="href.target">
+                        <xsl:with-param name="object" select="$target"/>
+                      </xsl:call-template>
+                    </xsl:attribute>
+                    <xsl:apply-templates select="." mode="callout-bug"/>
+                  </a>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:call-template name="anchor"/>
+                    <xsl:apply-templates select="." mode="callout-bug"/>
+                  </xsl:otherwise>
+                  </xsl:choose>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:for-each>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:apply-templates/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </pre>
+    
+  </xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-common.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-single.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-single.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-single.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,99 @@
+<?xml version='1.0'?>
+
+<!--
+    Copyright 2008 JBoss, a division of Red Hat
+    License: GPL
+    Author: Jeff Fearn <jfearn at redhat.com>
+    Author: Tammy Fox <tfox at redhat.com>
+    Author: Andy Fitzsimon <afitzsim at redhat.com>
+    Author: Mark Newton <mark.newton at jboss.org>
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/1.74.0/xhtml/docbook.xsl"/>
+
+  <xsl:include href="xhtml-common.xsl"/>
+
+<!--
+From: xhtml/titlepage-templates.xsl
+Reason: Needed to add JBoss.org and Community Documentation graphics to header
+Version: 1.72.0
+-->
+<xsl:template name="book.titlepage.recto">
+				<p xmlns="http://www.w3.org/1999/xhtml">
+					<xsl:attribute name="id">
+						<xsl:text>title</xsl:text>
+					</xsl:attribute>
+					<a>
+						<xsl:attribute name="href">
+							<xsl:value-of select="$siteHref" />
+						</xsl:attribute>
+						<xsl:attribute name="class">
+							<xsl:text>site_href</xsl:text>
+						</xsl:attribute>
+						<strong>
+						        <xsl:value-of select="$siteLinkText"/>	
+						</strong>
+					</a>
+					<a>
+						<xsl:attribute name="href">
+							<xsl:value-of select="$docHref" />
+						</xsl:attribute>
+						<xsl:attribute name="class">
+							<xsl:text>doc_href</xsl:text>
+						</xsl:attribute>
+						<strong>
+						        <xsl:value-of select="$docLinkText"/>	
+						</strong>
+					</a>
+				</p>
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml-single.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml.xsl
===================================================================
--- labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml.xsl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml.xsl	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,217 @@
+<?xml version='1.0'?>
+
+<!--
+    Copyright 2008 JBoss, a division of Red Hat
+    License: GPL
+    Author: Jeff Fearn <jfearn at redhat.com>
+    Author: Tammy Fox <tfox at redhat.com>
+    Author: Andy Fitzsimon <afitzsim at redhat.com>
+    Author: Mark Newton <mark.newton at jboss.org>
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+  
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/1.74.0/xhtml/chunk.xsl"/>
+
+  <xsl:include href="xhtml-common.xsl"/>
+
+<!--
+From: xhtml/chunk-common.xsl
+Reason: remove tables, truncate link text
+Version:
+-->
+<xsl:template name="header.navigation">
+	<xsl:param name="prev" select="/foo"/>
+	<xsl:param name="next" select="/foo"/>
+	<xsl:param name="nav.context"/>
+	<xsl:variable name="home" select="/*[1]"/>
+	<xsl:variable name="up" select="parent::*"/>
+	<xsl:variable name="row1" select="$navig.showtitles != 0"/>
+	<xsl:variable name="row2" select="count($prev) &gt; 0 or (count($up) &gt; 0 and generate-id($up) != generate-id($home) and $navig.showtitles != 0) or count($next) &gt; 0"/>
+	<xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
+		<xsl:if test="$row1 or $row2">
+			<xsl:if test="$row1">
+				<p xmlns="http://www.w3.org/1999/xhtml">
+					<xsl:attribute name="id">
+						<xsl:text>title</xsl:text>
+					</xsl:attribute>
+					<a>
+						<xsl:attribute name="href">
+							<xsl:value-of select="$siteHref" />
+						</xsl:attribute>
+						<xsl:attribute name="class">
+							<xsl:text>site_href</xsl:text>
+						</xsl:attribute>
+						<strong>
+						        <xsl:value-of select="$siteLinkText"/>	
+						</strong>
+					</a>
+					<a>
+						<xsl:attribute name="href">
+							<xsl:value-of select="$docHref" />
+						</xsl:attribute>
+						<xsl:attribute name="class">
+							<xsl:text>doc_href</xsl:text>
+						</xsl:attribute>
+						<strong>
+						        <xsl:value-of select="$docLinkText"/>	
+						</strong>
+					</a>
+				</p>
+			</xsl:if>
+			<xsl:if test="$row2">
+				<ul class="docnav" xmlns="http://www.w3.org/1999/xhtml">
+					<li class="previous">
+						<xsl:if test="count($prev)&gt;0">
+							<a accesskey="p">
+								<xsl:attribute name="href">
+									<xsl:call-template name="href.target">
+										<xsl:with-param name="object" select="$prev"/>
+									</xsl:call-template>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'prev'"/>
+									</xsl:call-template>
+								</strong>
+							</a>
+						</xsl:if>
+					</li>
+					<li class="next">
+						<xsl:if test="count($next)&gt;0">
+							<a accesskey="n">
+								<xsl:attribute name="href">
+									<xsl:call-template name="href.target">
+										<xsl:with-param name="object" select="$next"/>
+									</xsl:call-template>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'next'"/>
+									</xsl:call-template>
+								</strong>
+							</a>
+						</xsl:if>
+					</li>
+				</ul>
+			</xsl:if>
+		</xsl:if>
+		<xsl:if test="$header.rule != 0">
+			<hr/>
+		</xsl:if>
+	</xsl:if>
+</xsl:template>
+
+<!--
+From: xhtml/chunk-common.xsl
+Reason: remove tables, truncate link text
+Version:
+-->
+<xsl:template name="footer.navigation">
+	<xsl:param name="prev" select="/foo"/>
+	<xsl:param name="next" select="/foo"/>
+	<xsl:param name="nav.context"/>
+	<xsl:param name="title-limit" select="'50'"/>
+	<xsl:variable name="home" select="/*[1]"/>
+	<xsl:variable name="up" select="parent::*"/>
+	<xsl:variable name="row1" select="count($prev) &gt; 0 or count($up) &gt; 0 or count($next) &gt; 0"/>
+	<xsl:variable name="row2" select="($prev and $navig.showtitles != 0) or (generate-id($home) != generate-id(.) or $nav.context = 'toc') or ($chunk.tocs.and.lots != 0 and $nav.context != 'toc') or ($next and $navig.showtitles != 0)"/>
+
+	<xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
+		<xsl:if test="$footer.rule != 0">
+			<hr/>
+		</xsl:if>
+		<xsl:if test="$row1 or $row2">
+			<ul class="docnav" xmlns="http://www.w3.org/1999/xhtml">
+				<xsl:if test="$row1">
+					<li class="previous">
+						<xsl:if test="count($prev) &gt; 0">
+							<a accesskey="p">
+								<xsl:attribute name="href">
+									<xsl:call-template name="href.target">
+										<xsl:with-param name="object" select="$prev"/>
+									</xsl:call-template>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'prev'"/>
+									</xsl:call-template>
+								</strong>
+								<xsl:variable name="text">
+									<xsl:apply-templates select="$prev" mode="object.title.markup"/>
+								</xsl:variable>
+								<xsl:choose>
+									<xsl:when test="string-length($text) &gt; $title-limit">
+										<xsl:value-of select="concat(substring($text, 0, $title-limit), '...')"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$text"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</a>
+						</xsl:if>
+					</li>
+					<xsl:if test="count($up) &gt; 0">
+						<li class="up">
+							<a accesskey="u">
+								<xsl:attribute name="href">
+									<xsl:text>#</xsl:text>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'up'"/>
+									</xsl:call-template>
+								</strong>
+							</a>
+						</li>
+					</xsl:if>
+					<xsl:if test="$home != . or $nav.context = 'toc'">
+						<li class="home">
+							<a accesskey="h">
+								<xsl:attribute name="href">
+									<xsl:call-template name="href.target">
+										<xsl:with-param name="object" select="$home"/>
+									</xsl:call-template>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'home'"/>
+									</xsl:call-template>
+								</strong>
+							</a>
+						</li>
+					</xsl:if>
+					<xsl:if test="count($next)&gt;0">
+						<li class="next">
+							<a accesskey="n">
+								<xsl:attribute name="href">
+									<xsl:call-template name="href.target">
+										<xsl:with-param name="object" select="$next"/>
+									</xsl:call-template>
+								</xsl:attribute>
+								<strong>
+									<xsl:call-template name="navig.content">
+										<xsl:with-param name="direction" select="'next'"/>
+									</xsl:call-template>
+								</strong>
+								<xsl:variable name="text">
+									<xsl:apply-templates select="$next" mode="object.title.markup"/>
+								</xsl:variable>
+								<xsl:choose>
+									<xsl:when test="string-length($text) &gt; $title-limit">
+										<xsl:value-of select="concat(substring($text, 0, $title-limit),'...')"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="$text"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</a>
+						</li>
+					</xsl:if>
+				</xsl:if>
+			</ul>
+		</xsl:if>
+	</xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>


Property changes on: labs/jbossrules/trunk/drools-docs/docbook-xsl-drools/src/main/resources/org/jboss/xhtml.xsl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<artifactId>drools-docs</artifactId>
+		<groupId>org.drools</groupId>
+		<version>5.0.0.SNAPSHOT</version>
+	</parent>
+
+	<artifactId>drools-docs-expert</artifactId>
+	<packaging>jdocbook</packaging>
+	<name>Drools :: Documentation :: Drools :: Expert</name>
+	<description>Drools Expert Documentation</description>
+
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/Chapter-Spreadsheet.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/Chapter-Spreadsheet.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/Chapter-Spreadsheet.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,684 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xml:base="./">
+	<title>Decision tables in spreadsheets</title>
+
+	<para>
+		Decision tables are a "precise yet compact" (ref. Wikipedia) way of
+		representing conditional logic, and are well suited to
+		<emphasis>business</emphasis>
+		level
+		rules.
+	</para>
+
+	<para>Drools supports managing rules in a Spreadsheet format.
+		Formats
+		supported are Excel, and CSV. Meaning that a variety of spreadsheet
+		programs (such as Microsoft Excel, OpenOffice.org Calc amongst others) can be
+		utalized. It
+		is expected that web based decision table editors will be included in a
+		near
+		future release.</para>
+
+	<para>Decision tables are an old concept (in software terms)
+		but have proven
+		useful over the years. Very briefly speaking, in Drools decision tables are
+		a way to generate rules driven from the data entered into a
+		spreadsheet. All
+		the usual features of a spreadsheet for data capture and manipulation can
+		be
+		taken advantage of.</para>
+
+	<section>
+		<title>When to use Decision tables</title>
+
+		<para>Decision tables my want to be considered as a course of
+			action if rules exist that can
+			be expressed as rule templates + data. In each row of a decision table,
+			data is collected that is combined with the templates to generate a
+			rule.</para>
+
+		<para>
+			Many businesses already use spreadsheets for managing data,
+			calculations etc. If you are happy to continue this way, you can also
+			manage your business rules this way. This also assumes you are happy
+			to
+			manage packages of rules in .xls or .csv files. Decision tables are not
+			recommenced for rules that do not follow a set of templates, or where
+			there are a small number of rules (or if there is a dislike towards
+			software like excel or open office). They are ideal in the sense that
+			there can be control over what
+			<emphasis>parameters</emphasis>
+			of rules can be edited, without exposing the
+			rules directly.
+		</para>
+
+		<para>Decision tables also provide a degree of insulation from
+			the
+			underlying object model.</para>
+	</section>
+
+	<section>
+		<title>Overview</title>
+
+		<para>Here are some examples of real world decision tables
+			(slightly
+			edited to protect the innocent).</para>
+
+		<screenshot>
+			<screeninfo>Using excel to edit a decision table</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/excel.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+
+		<screenshot>
+			<screeninfo>Can have multiple actions for a rule row</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/actions.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+
+		<screenshot>
+			<screeninfo>Using OpenOffice</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/open_office.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+
+		<para>In the above examples, the technical aspects of the decision
+			table
+			have been collapsed away (standard spreadsheet feature).</para>
+
+		<para>The rules start from row 17 (each row results in a rule). The
+			conditions are in column C, D, E etc.. (off screen are the actions).
+			The value in the cells are quite simple, and have meaning
+			when looking at the headers in Row 16. Column B is just a description. It
+			is conventional to use color to make it obvious what the different
+			areas
+			of the table mean.</para>
+
+		<note>
+			<para>Note that although the decision tables look like they
+				process top
+				down, this is not necessarily the case. Idealy, if the rules are able to
+				be authored in such a way as order does not matter (simply as it
+				makes
+				maintenance easier, as rows will not need to be shifted around all the time).
+			</para>
+		</note>
+		<para>
+			As each row is a rule, the same principles apply. As the rule engine
+			processes the facts, any rules that match may fire (some people are
+			confused by this. It is possible to clear the agenda when a rule
+			fires
+			and simulate a very simple decision table where the first match exists).
+			Also note that you can have multiple tables on the one spreadsheet
+			(so
+			rules can be grouped where they share common templates, yet at the end of
+			the day they are all combined into a one rule package). Decision
+			tables
+			are essentially a tool to generate DRL rules automatically.</para>
+
+
+		<screenshot>
+			<screeninfo>A real world example using multiple tables for grouping
+				like
+				rules</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/multi_table.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+	</section>
+
+	<section>
+		<title>How decision tables work</title>
+
+		<para>The key point to keep in mind is that in a decision table,
+			each row
+			is a rule, and each column in that row is either a condition or action
+			for
+			that rule.</para>
+
+		<screenshot>
+			<screeninfo>Rows and columns</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/row_col.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+
+		<para>
+			The spreadsheet looks for the
+			<firstterm>RuleTable</firstterm>
+			keyword to indicate the
+			start of a rule table (both the starting row and column). Other keywords
+			are also used to define other package level attributes (covered
+			later). It
+			is important to keep the keywords in the one column. By convention the
+			second column ("B") is used for this, but it can be any column
+			(convention
+			is to leave a margin on the left for notes). In the following diagram,
+			C
+			is actually the column where it starts. Everything to the left of this
+			is
+			ignored.
+		</para>
+
+		<para>If we expand the hidden sections, it starts to make more sense
+			how
+			it works; note the keywords in column C.</para>
+
+		<screenshot>
+			<screeninfo>Expanded for rule templates</screeninfo>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Decision_Tables/expanded.png" />
+				</imageobject>
+			</mediaobject>
+		</screenshot>
+
+		<para>
+			Now the hidden magic which makes it work can be seen. The RuleSet
+			keyword indicates the name to be used in the
+			<emphasis>rule package</emphasis>
+			that all the
+			rules will come under (the name is optional, it will have a default but
+			it MUST have the
+			<emphasis>RuleSet</emphasis>
+			keyword) in the cell immediately to the right.
+		</para>
+		<para>
+			The other keywords visible in Column C are: Import, Sequential which
+			will
+			be covered later. The RuleTable keyword is important as it indicates
+			that
+			a chunk of rules will follow, based on some rule templates. After the
+			RuleTable keyword there is a name - this name is used to prefix the
+			generated rules names (the row numbers are appended to create unique
+			rule
+			names). The column of RuleTable indicates the column in which the rules
+			start (columns to the left are ignored).</para>
+		<note>
+			<para>
+				In general the keywords make up name/value pairs.
+	</para>
+		</note>
+
+		<para>Referring to row 14 (the row immediately after
+			RuleTable): the
+			keywords CONDITION and ACTION indicate that the data in the columns below
+			are for either the LHS or the RHS parts of a rule. There are other
+			attributes on the rule which can also be optionally set this way.
+		</para>
+
+		<para>
+			Row 15 contains declarations of
+			<firstterm>ObjectTypes</firstterm>
+			; the content in this
+			row is optional (if this option is not in use, a blank row must be left,
+			however this option is usually found to be quite useful). When using
+			this row, the values in the
+			cells below (row 16) become constraints on that object type. In the above
+			case, it will generate: Person(age=="42") etc (where 42 comes from
+			row
+			18). In the above example, the "==" is implicit (if just a field
+			name is given it will assume that it is to look for exact matches).
+		</para>
+		<note>
+			<para>
+				An ObjectType declaration can span columns (via merged cells), meaning
+				that all columns below the merged range will be combined
+				into the one set of constraints.</para>
+		</note>
+
+		<para>Row 16 contains the rule templates themselves. They can
+			use the "$para" place holder to indicate where data from the cells below
+			will be populated ($param can be sued or $1, $2 etc to indicate
+			parameters from a comma separated list in a cell below). Row 17 is
+			ignored
+			as it is textual descriptions of the rule template.</para>
+
+		<para>Row 18 to 19 shows data, which will be combined
+			(interpolated) with
+			the templates in row 15, to generate rules. If a cell contains no data,
+			then its template is ignored (eg it means that condition, or action,
+			does
+			not apply for that rule-row). Rule rows are read until there is a BLANK
+			row. Multiple RuleTables can exsist in a sheet. Row 20 contains
+			another
+			keyword, and a value. The row positions of keywords like this do not
+			matter (most people put them at the top) but their column should be the
+			same one where the RuleTable or RuleSet keywords should appear (in
+			this
+			case column C has been chosen to be significant, but column A
+			could be used instead).</para>
+
+		<para>In the above example, rules would be rendered like the
+			following (as
+			it uses the "ObjectType" row):</para>
+		<screen>//row 18
+			rule "Cheese_fans_18"
+			when
+			Person(age=="42")
+			Cheese(type=="stilton")
+			then
+			list.add("Old man stilton");
+			end
+</screen>
+		<note>
+			<para>
+				The [age=="42"] and [type=="stilton"] are
+				interpreted as single constraints to be added to the respective ObjectType
+				in the cell above (if the cells above were spanned, then there could
+				be
+				multiple constraints on one "column".</para>
+		</note>
+	</section>
+
+	<section>
+		<title>Keywords and syntax</title>
+
+		<section>
+			<title>Syntax of templates</title>
+
+			<para>
+				The syntax of what goes in the templates is dependent on if it is
+				a CONDITION column or ACTION column. In most cases, it is identical
+				to
+				<emphasis>vanilla</emphasis>
+				DRL for the LHS or RHS respectively. This means in the LHS,
+				the constraint language must be used, and in the RHS it is a snippet of
+				code to be executed.
+			</para>
+
+			<para>
+				The
+				<code>$param</code>
+				place holder is used in templates to indicate where
+				data form the cell will be interpolated. You can also use
+				<code>$1</code>
+				to the
+				same effect. If the cell contains a comma separated list of values, $1
+				and $2 etc. may be used to indicate which positional parameter from
+				the
+				list of values in the cell will be used.
+			</para>
+			<example>
+				<para>
+					If the templates is [Foo(bar == $param)] and the cell is [ 42 ] then
+					the result will be [Foo(bar == 42)]
+					If the template is [Foo(bar &lt; $1, baz == $2)] and the cell is [42,42] then the result will be [Foo(bar &gt; 42, baz ==42)]
+</para>
+</example>
+
+      <para>For conditions: How snippets are rendered depends on if there is
+      anything in the row above (where ObjectType declarations may appear). If
+      there is, then the snippets are rendered as individual constraints on
+      that ObjectType. If there isn't, then they are just rendered as is (with
+      values substituted). If just a plain field is entered (as in the example
+      above) then it will assume this means equality. If another
+      operator is placed at the end of the snippet, then the values will put
+      interpolated at the end of the constraint, otherwise it will look for
+      <code>$param</code> as outlined previously.</para>
+
+      <para>For consequences: How snippets are rendered also depends on if
+      there is anything in the row immediately above it. If there is nothing
+      there, the output is simple the interpolated snippets. If there is
+      something there (which would typically be a bound variable or a global
+      like in the example above) then it will append it as a method call on
+      that object (refer to the above example).</para>
+
+      <para>This may be easiest to understand with some examples below.
+      <screenshot>
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/spanned_column.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot> The above shows how the Person ObjectType declaration
+      spans 2 columns in the spreadsheet, thus both constraints will appear as
+      Person(age == ... , type == ...). As before, as only the field names are
+      present in the snippet, they imply an equality test. <screenshot>
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/with_param.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot> The above condition example shows how you use
+      interpolation to place the values in the snippet (in this case it would
+      result in Person(age == "42")).<screenshot>
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/operator_completion.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot> The above condition example show that if you put an
+      operator on the end by itself, the values will be placed after the
+      operator automatically. <screenshot>
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/with_binding.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot> A binding can be put in before the column
+      (the constraints will be added from the cells below). Anything can be placed in the ObjectType row (eg it could be a pre condition for the
+      columns in the spreadsheet columns that follow).<screenshot>
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/consequence.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot> This shows how the consequence could be done the by
+      simple interpolation (just leave the cell above blank, the same applies
+      to condition columns). With this style anything can be placed in
+      the consequence (not just one method call).</para>
+    </section>
+
+    <section>
+      <title>Keywords</title>
+
+      <para>The following table describes the keywords that are pertinent to
+      the rule table structure.</para>
+
+      <table>
+        <title>Keywords</title>
+
+        <tgroup cols="3">
+          <thead>
+            <row>
+              <entry>Keyword</entry>
+
+              <entry>Description</entry>
+
+              <entry>Inclusion Status</entry>
+            </row>
+          </thead>
+
+          <tbody>
+            <row>
+              <entry>RuleSet</entry>
+
+              <entry>The cell to the right of this contains the ruleset
+              name</entry>
+
+              <entry>One only (if left out, it will default)</entry>
+            </row>
+
+            <row>
+              <entry>Sequential</entry>
+
+              <entry>The cell to the right of this can be true or false. If
+              true, then salience is used to ensure that rules fire from the
+              top down</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>Import</entry>
+
+              <entry>The cell to the right contains a comma separated list of
+              Java classes to import</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>RuleTable</entry>
+
+              <entry>A cell starting with RuleTable indicates the start of a
+              definition of a rule table. The actual rule table starts the
+              next row down. The rule table is read left-to-right, and
+              top-down, until there is one BLANK ROW.</entry>
+
+              <entry>at least one. if there are more, then they are all added
+              to the one ruleset</entry>
+            </row>
+
+            <row>
+              <entry>CONDITION</entry>
+
+              <entry>Indicates that this column will be for rule
+              conditions</entry>
+
+              <entry>At least one per rule table</entry>
+            </row>
+
+            <row>
+              <entry>ACTION</entry>
+
+              <entry>Indicates that this column will be for rule
+              consequences</entry>
+
+              <entry>At least one per rule table</entry>
+            </row>
+
+            <row>
+              <entry>PRIORITY</entry>
+
+              <entry>Indicates that this columns values will set the
+              'salience' values for the rule row. Over-rides the 'Sequential'
+              flag.</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>DURATION</entry>
+
+              <entry>Indicates that this columns values will set the duration
+              values for the rule row.</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>NAME</entry>
+
+              <entry>Indicates that this columns values will set the name for
+              the rule generated from that row</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>Functions</entry>
+
+              <entry>The cell immediately to the right can contain functions
+              which can be used in the rule snippets. Drools supports
+              functions defined in the DRL, allowing logic to be embedded in
+              the rule, and changed without hard coding, use with care. Same
+              syntax as regular DRL.</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>Variables</entry>
+
+              <entry>The cell immediately to the right can contain global
+              declarations which Drools supports. This is a type, followed by a
+              variable name. (if multiple variables are needed, comma separate
+              them).</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>No-loop or Unloop</entry>
+
+              <entry>Placed in the header of a table, no-loop or unloop will both complete the same function of not allowing a rule (row) to loop. For this option to function correctly, there must be a value (true or false) in the cell for the option to take effect. If the cell is left blank then this option will not be set for the row.</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>XOR-GROUP</entry>
+
+              <entry>Cell values in this column mean that the rule-row belongs
+              to the given XOR/activation group . An Activation group means
+              that only one rule in the named group will fire (ie the first
+              one to fire cancels the other rules activations).</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
+              <entry>Worksheet</entry>
+
+              <entry>By default, the first worksheet is only looked at for
+              decision tables.</entry>
+
+              <entry>N/A</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      <screenshot>
+        <screeninfo>Example usage of keywords for imports, functions
+        etc.</screeninfo>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Decision_Tables/Key.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+
+      <screenshot>
+        <screeninfo>Example usage of keywords for imports, functions
+        etc.</screeninfo>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Decision_Tables/keywords.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+    </section>
+  </section>
+
+  <section>
+    <title>Creating and integrating Spreadsheet based Decision Tables</title>
+
+    <para>The API to use spreadsheet based decision tables is in the
+    drools-decisiontables module. There is really only one class to look at:
+    SpreadsheetCompiler. This class will take spreadsheets in various formats,
+    and generate rules in DRL (which you can then use in the normal way). The SpreadsheetComiler can just be used to generate
+    partial rule files if it is wished, and assemble it into a complete rule package after the
+    fact (this allows the seperation of technical and non-technical aspects of
+    the rules if needed).</para>
+
+    <para>To get started, a sample spreadsheet can be used as base. Alternatively, if the plug-in is being used (Rule Workbench IDE), the
+    wizard can generate a spreadsheet from a template (to edit it an xls compatible spreadsheet editor will need to be used). <screenshot>
+        <screeninfo>Wizard in the IDE</screeninfo>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Decision_Tables/wizard.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot></para>
+  </section>
+
+  <section>
+    <title>Managing business rules in decision tables.</title>
+
+    <section>
+      <title>Workflow and collaboration.</title>
+
+      <para>Spreadsheets are well established business tools (in use for over
+      25 years). Decision tables lend themselves to close collaboration
+      between IT and domain experts, while making the business rules clear to
+      business analysts, it is an ideal separation of concerns.</para>
+
+      <para>Typically, the whole process of authoring rules (coming up with a
+      new decision table) would be something like:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>Business analyst takes a template decision table (from a
+          repository, or from IT)</para>
+        </listitem>
+
+        <listitem>
+          <para>Decision table business language descriptions are entered in
+          the table(s)</para>
+        </listitem>
+
+        <listitem>
+          <para>Decision table rules (rows) are entered (roughly)</para>
+        </listitem>
+
+        <listitem>
+          <para>Decision table is handed to a technical resource, who maps the
+          business language (descriptions) to scripts (this may involve
+          software development of course, if it is a new application or data
+          model)</para>
+        </listitem>
+
+        <listitem>
+          <para>Technical person hands back and reviews the modifications with
+          the business analyst.</para>
+        </listitem>
+
+        <listitem>
+          <para>The business analyst can continue editing the rule rows as
+          needed (moving columns around is also fine etc).</para>
+        </listitem>
+
+        <listitem>
+          <para>In parallel, the technical person can develop test cases for
+          the rules (liaising with business analysts) as these test cases can
+          be used to verify rules and rule changes once the system is
+          running.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>Using spreadsheet features</title>
+
+      <para>Features of applications like Excel can be used to provide
+      assistance in entering data into spreadsheets, such as validating
+      fields. Lists that are stored in other worksheets can bse used to provide
+      valid lists of values for cells, like in the following diagram.
+      <screenshot>
+          <screeninfo>Wizard in the IDE</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Decision_Tables/lists.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Some applications provide a limited ability to keep a history of
+      changes, but it is recommended that an alternative means of revision
+      control is also used. When changes are being made to rules over time,
+      older versions are archived (many solutions exist for this which are
+      also open source, such as Subversion).
+      http://www.drools.org/Business+rules+in+decision+tables+explained</para>
+    </section>
+  </section>
+  
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Decision_Tables/Chapter-Spreadsheet.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Chapter-DepymentAndTest.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Chapter-DepymentAndTest.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Chapter-DepymentAndTest.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" >
+      <title>Deployment and Testing</title>
+
+      <xi:include href="Section-Deployment.xml" />
+
+      <xi:include href="Section-Testing.xml" />
+</chapter>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Chapter-DepymentAndTest.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Deployment.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Deployment.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Deployment.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Deployment options</title>
+
+  <para>Once you have rules integrated in your application (or ideally before)
+  you will need to plan how to deploy rules along with your application.
+  Typically rules are used to allow changes to application business logic
+  without re-deploying the whole application. This means that the rules must
+  be provided to the application as data, not as part of the application (eg
+  embedded in the classpath).</para>
+
+  <para>The recommended way of deploying depends on how you are managing your
+  rules. If you are using the BRMS, you should use the RuleAgent (the detailed
+  documentation for this is in the chapter on the BRMS). You can still use the
+  RuleAgent even without the BRMS, in which case you will need to use ant (the drools-ant task or
+  something custom) to create serialized "Package" objects of your rules.</para>
+
+  <para>As every organization is subtly different, and different deployment
+  patterns will be needed. Many organizations have (or should have)
+  configuration management processes for changes to production systems. It is
+  best to think of rules as "data" rather then software in that regard.
+  However, as rules can contain a considerable amount of powerful logic,
+  proper procedures should be used in testing and verifying rule changes, and
+  approving changes before exposing them to the world. If you need to "roll
+  your own" deployment, or have specific deployment needs, the information is
+  provided in this chapter for your reference, but for the most part, people
+  should be able to deploy either as the agent, or in the classpath.</para>
+
+  <section>
+    <title>Deployment using the RuleAgent</title>
+
+    <para>The easiest and most automated way to deploy rules is to use the
+    RuleAgent. This is described in detail in the BRMS user guide. In short,
+    the rule agent requires that you build binary packages of rules outside of
+    "your" application (ie the application that is using rules).</para>
+
+    <para>The upside of this is that your application only needs to include
+    drools-core.jar - no other dependencies (of course you need the classes
+    that form the model that the rules use as well !). It also means the agent
+    can be configured to automatically monitor for rule changes - directly to
+    the BRMS, or from a file/directory.</para>
+
+    <para>To use the rule agent in your application use the following
+    code:</para>
+
+    <programlisting>RuleAgent agent = RuleAgent.newRuleAgent("/MyRules.properties");     
+RuleBase rb = agent.getRuleBase(); 
+rb.newStatefulSession.... 
+//now assert your facts into the session and away you go !
+</programlisting>
+
+    <para>The MyRules.properties is a configuration file which (in the above
+    case) should be on the root of your classpath:</para>
+
+    <programlisting>##
+## RuleAgent configuration file example
+##
+
+
+
+dir=/my/dir
+url=http://some.url/here http://some.url/here
+localCacheDir=/foo/bar/cache
+poll=30
+
+
+name=MyConfig</programlisting>
+
+    <para>In the above config, the agent will look for binary package files in
+    /my/dir, and also at the specified URLs. It will pick up any changes for
+    these packages and apply them to the rulebase.</para>
+
+    <para>If you are using the BRMS, you can use the url feature. You can use
+    "file" or "dir" if the packages need to be manually migrated to your
+    production servers.</para>
+  </section>
+
+  <section>
+    <title>Deployment using drl source</title>
+
+    <para>In some cases people may wish to deploy drl source. In that case all
+    the drools-compiler dependencies will need to be on the classpath for your
+    application. You can then load drl from file, classpath, or a database
+    (for example) and compile as needed. The trick, as always, is knowing when
+    rules change (this is also called "in process" deployment as described
+    below).</para>
+  </section>
+
+  <section>
+    <title>Deploying rules in your classpath</title>
+
+    <para>If you have rules which do not change separate to your application,
+    you can put packaged into your classpath. This can be done either as
+    source (in which case the drl can be compiled, and the rulebase cached the
+    first time it is needed) or else you can pre-compile packages, and just
+    include the binary packages in the classpath.</para>
+
+    <para>Keep in mind with this approach to make a rule change, you will both
+    need to deploy your app (and if its a server - restart the
+    application).</para>
+  </section>
+
+  <section>
+    <title>Deployable objects, RuleBase, Package etc.</title>
+
+    <para>In the simplest possible scenario, you would compile and construct a
+    rulebase inside your application (from drl source), and then cache that
+    rulebase. That rulebase can be shared across threads, spawning new working
+    memories to process transactions (working memories are then discarded).
+    This is essentially the stateless mode. To update the rulebase, a new
+    rulebase is loaded, and then swapped out with the cached rulebase (any
+    existing threads that happen to be using the old rulebase will continue to
+    use it until they are finished, in which case it will eventually be
+    garbage collected).</para>
+
+    <para>There are many more sophisticated approaches to the above - Drools
+    rule engine is very dynamic, meaning pretty much all the components can be
+    swapped out on the fly (rules, packages) even when there are *existing*
+    working memories in use. For instance rules can be retracted from a
+    rulebase which has many in-use working memories - the RETE network will
+    then be adjusted to remove that rule without having to assert all the
+    facts again. Long running working memories are useful for complex
+    applications where the rule engine builds up knowledge over time to assist
+    with decision making for instance - it is in these cases that the
+    dynamic-ness of the engine can really shine.</para>
+
+    <section>
+      <title>DRL and PackageDescr</title>
+
+      <para>One option is to deploy the rules in source form. This leaves the
+      runtime engine (which must include the compiler components) to compile
+      the rules, and build the rule base. A similar approach is to deploy the
+      "PackageDescr" object, which means that the rules are pre-parsed (for
+      syntactic errors) but not compiled into the binary form. Use the
+      PackageBuilder class to achieve this. You can of course use the XML form
+      for the rules if needed.</para>
+
+      <programlisting>PackageDescr, PackageBuilder, RuleBaseLoader</programlisting>
+    </section>
+
+    <section>
+      <title>Package</title>
+
+      <para>This option is the most flexible. In this case, Packages are built
+      from DRL source using PackageBuilder - but it is the binary Package
+      objects that are actually deployed. Packages can be merged together.
+      That means a package containing perhaps a single new rule, or a change
+      to an existing rule, can be built on its own, and then merged in with an
+      existing package in an existing RuleBase. The rulebase can then notify
+      existing working memories that a new rule exists (as the RuleBase keeps
+      "weak" links back to the Working Memory instances that it spawned). The
+      rulebase keeps a list of Packages, and to merge into a package, you will
+      need to know which package you need to merge into (as obviously, only
+      rules from the same package name can be merged together).</para>
+
+      <para>Package objects themselves are serializable, hence they can be
+      sent over a network, or bound to JNDI, Session etc.</para>
+
+      <programlisting>PackageBuilder, RuleBase, org.drools.rule.Package</programlisting>
+    </section>
+
+    <section>
+      <title>RuleBase</title>
+
+      <para>Compiled Packages are added to rulebases. RuleBases are
+      serializable, so they can be a binary deployment unit themselves. This
+      can be a useful option for when rulebases are updated as a whole - for
+      short lived working memories. If existing working memories need to have
+      rules changed on the fly, then it is best to deploy Package objects.
+      Also beware that rulebases take more processing effort to serialize (may
+      be an issue for some large rulebases).</para>
+
+      <programlisting>RuleBase, RuleBaseLoader</programlisting>
+    </section>
+
+    <section>
+      <title>Serializing</title>
+
+      <para>Practically all of the rulebase related objects in Drools are
+      serializable. For a working memory to be serializable, all of your
+      objects must of course be serializable. So it is always possible to
+      deploy remotely, and "bind" rule assets to JNDI as a means of using them
+      in a container environment.</para>
+    </section>
+
+    <para>Please note that when using package builder, you may want to check
+    the hasError() flag before continuing deploying your rules (if there are
+    errors, you can get them from the package builder - rather then letting it
+    fail later on when you try to deploy).</para>
+  </section>
+
+  <section>
+    <title>Deployment patterns</title>
+
+    <section>
+      <title>In process rule building</title>
+
+      <para>In this case, rules are provided to the runtime system in source
+      form. The runtime system contains the drools-compiler component to build
+      the rules. This is the simplest approach.</para>
+    </section>
+
+    <section>
+      <title>Out of process rule building</title>
+
+      <para>In this case, rules are built into their binary process outside of
+      the runtime system (for example in a deployment server). The chief
+      advantage of deploying from an outside process is that the runtime
+      system can have minimal dependencies (just one jar). It also means that
+      any errors to do with compiling are well contained and and known before
+      deployment to the running system is attempted.</para>
+
+      <para>Use the PackageBuilder class out of process, and then use
+      getPackage() to get the Package object. You can then (for example)
+      serialize the Package object to a file (using standard Java
+      serialization). The runtime system, which only needs drools-core, can
+      then load the file using
+      RuleBaseFactory.newRuleBase().addPackage(deserialized package
+      object).</para>
+    </section>
+
+    <section>
+      <title>Some deployment scenarios</title>
+
+      <para>This section contains some suggested deployment scenarios, of
+      course you can use a variety of technologies as alternatives to the ones
+      in the diagram.</para>
+
+      <section>
+        <title>Pull style</title>
+
+        <para>This pattern is what is used by the RuleAgent, by
+        default.</para>
+
+        <para>In this scenario, rules are pulled from the rule repository into
+        the runtime system. The repository can be as simple as a file system,
+        or a database. The trigger to pull the rules could be a timed task (to
+        check for changes) or a request to the runtime system (perhaps via a
+        JMX interface). This is possibly the more common scenario.</para>
+      </section>
+
+      <screenshot>
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Deployment/DeploymentPatterns1.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+
+      <section>
+        <title>Push style</title>
+
+        <para>In this scenario, the rule deployment process/repository
+        "pushes" rules into the runtime system (either in source or binary
+        form, as described above). This gives more control as to when the new
+        rules take effect.</para>
+      </section>
+
+      <screenshot>
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Deployment/DeploymentPatterns2.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+    </section>
+  </section>
+
+  <section>
+    <title>Web Services</title>
+
+    <para>A possible deployment pattern for rules are to expose the rules as a
+    web service. There a many ways to achieve this, but possibly the simplest
+    way at present do achieve it is to use an interface-first process: Define
+    the "facts" classes/templates that the rules will use in terms of XML
+    Schema - and then use binding technologies to generate binding objects for
+    the rules to actually operate against. A reverse possibility is to use a
+    XSD/WSDL generator to generate XML bindings for classes that are hand
+    built (which the rules work against). It is expected in a future version
+    there will be an automated tool to expose rules as web services (and
+    possibly use XSDs as facts for the rules to operate on).</para>
+  </section>
+
+  <section>
+    <title>Future considerations</title>
+
+    <para>A future release of Drools will contain a rule repository (server)
+    component that will directly support the above patterns, and more.</para>
+  </section>
+  
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Deployment.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Testing.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Testing.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Testing.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Testing</title>
+
+  <para>In recent years, practices such as Test Driven Development have become
+  increasingly mainstream, as the value and quality that these techniques
+  bring to software development has been realized. In a sense, rules are code
+  (although at a high level), and a lot of the same principles apply.</para>
+
+  <para>You can provide tests as a means to specify rule behavior before
+  rules are even written. Further to this, tests are even more important in
+  environments where rules change frequently. Tests can provide a baseline of
+  confidence that the rule changes are consistent with what is specified in
+  the tests. Of course, the rules may change in such a way as the tests are
+  now wrong (or perhaps new tests need to be written to cover the new rule
+  behavior). As in TDD practices, tests should be run often, and in a rule
+  driven environment, this means that they should be run every time the rules
+  change (even though the software may be static).</para>
+
+  <section>
+    <title>Testing frameworks</title>
+
+    <para>For developers, clearly JUnit (or TestNG) are popular tools for
+    testing code, and these can also apply to rules. Keep in mind that rule
+    changes may happen out of sync with code changes, so you should be
+    prepared to keep these unit tests up to date with rules (may not be
+    possible in all environments). Also, the best idea is to target testing
+    some core features of the rule sets that are not as likely to change over
+    time.</para>
+
+    <para>Obviously, for rule tests, other non source code driven frameworks
+    would be preferable to test rules in some environments. The following
+    section outlines a rule testing component add on.</para>
+  </section>
+
+  <section>
+    <title>FIT for Rules - a rule testing framework</title>
+
+    <para>As a separate add-on, there is a testing framework available that is
+    built on FIT (Framework for Integrated Testing). This allows rule test
+    suites (functional) to be capture in Word documents, or Excel spreadsheets
+    (in fact any tool that can save as HTML). It utilizes a tabular layout to
+    capture input data, and make assertions over the rules of a rulesets
+    execution for the given facts. As the tests are stored in documents, the
+    scenarios and requirements can be (optionally) kept in the same
+    documents, providing a single point of truth for rule behavior.</para>
+
+    <para>Also, as the test documents are not code, they can be updated
+    frequently, and kept with the rules, used to validate rule changes etc. As
+    the input format is fairly simple to people familiar with the domain of
+    the rules, it also facilitates "scenario testing" where different
+    scenarios can be tried out with the rules - all external to the
+    application that the rules are used in. These scenarios can then be kept
+    as tests to increase confidence that a rule change is consistent with the
+    users understanding.</para>
+
+    <para>This testing framework is built on FIT and JSR-94, and is kept as a
+    separate project to JBoss Rules. Due to it being built on FIT, it requires
+    a different license (but is still open source). You can download and read
+    more about this tool from this web page: <ulink
+        url="http://fit-for-rules.sourceforge.net/">
+        <citetitle>Fit for rules</citetitle>
+      </ulink> http://fit-for-rules.sourceforge.net/</para>
+
+    <para>The following screen captures show the fit for rules framework in
+    action.</para>
+
+    <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Deployment/Testing1.png" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>Using Fit for rules, you capture test data, pass it to the rule
+    engine and then verify the results (with documentation woven in with the
+    test). It is expected that in future, the Drools Server tools will provide
+    a similar integrated framework for testing (green means good ! red means a
+    failure - with the expected values placed in the cell). Refer to
+    http://fit.c2.com for more information on the FIT framework itself.</para>
+
+    <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Deployment/Testing2.png" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>More information and downloads from <ulink
+        url="http://fit-for-rules.sourceforge.net/">
+        <citetitle>Here</citetitle>
+      </ulink></para>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Deployment/Section-Testing.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Chapter-Examples.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Chapter-Examples.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Chapter-Examples.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
+	<title>Examples</title>
+	<section>
+
+		<title>Getting the examples</title>
+
+		<para>Make sure the Drools Eclipse plugin is installed, which
+			needs GEF dependency installed first. Then download and extract the
+			drools-examples zip file, which includes an already created Eclipse
+			project. Import that project into a new Eclipse workspace. The rules
+			all have example classes that execute the rules. If you want to try
+			the examples in another project (or another IDE) then you will need
+			to setup the dependencies by hand of course. Many, but not all of the
+			examples are documented below, enjoy :)</para>
+	</section>
+
+	<xi:include href="Section-HelloWorldExample.xml" />
+
+	<xi:include href="Section-StateExample.xml" />
+
+	<xi:include href="Section-FibonacciExample.xml" />
+
+	<xi:include href="Section-BankingExample.xml" />
+
+	<xi:include href="Section-PricingExample.xml" />
+
+	<xi:include href="Section-PetStoreExample.xml" />
+
+	<xi:include href="Section-HonestPoliticianExample.xml" />
+
+	<xi:include href="Section-SodukiExample.xml" />
+
+	<xi:include href="Section-NumberGuessExample.xml" />
+
+	<xi:include href="Section-MannersExample.xml" />
+
+	<xi:include href="Section-ConwaysGameOfLifeExample.xml" />
+
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Chapter-Examples.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci3.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci3.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci4.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci4.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci5.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci5.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_DSL.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_DSL.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_Guided.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/BRMS_Guided.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-website.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/InsuranceExample/insurance-website.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/guests_at_table.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/make_path.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,559 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 manners_activity_diagram.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="7.89733in" height="6.9885in" viewBox="0 0 568.608 503.172" xml:space="preserve" color-interpolation-filters="sRGB" class="st14" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st2 {fill:#000000;font-family:Arial;font-size:1.00001em}
+		.st3 {font-size:1em}
+		.st4 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st7 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#000000;stroke:none;stroke-width:1}
+		.st9 {marker-end:url(#mrkr3-71);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.48}
+		.st10 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.10810806741051}
+		.st11 {fill:none}
+		.st12 {stroke:#000000;stroke-dasharray:5.04,3.6;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st13 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st14 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend3">
+			<path d="M 2 1 L 0 0 L 2 -1 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr3-71" class="st10" v:arrowType="3" v:arrowSize="4" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend3" transform="scale(-9.2500034821895,-9.2500034821895) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Swimlanes" v:index="0" v:snap="false" v:glue="false"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(454.263,-0.720106)">
+			<title content="structured text">Swimlane.41</title>
+			<desc content="structured text">PRINT RESULTS</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({3D0B90F0-7997-4048-B958-E2D430F8F96C})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="9.36" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PRINT RESULTS</text>		</g>
+		<g id="shape2-4" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(340.877,-0.720106)">
+			<title content="structured text">Swimlane.40</title>
+			<desc content="structured text">CHECK DONE</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B70CD6A2-C8F2-41E7-8A0B-4364B926C213})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="16.69" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CHECK DONE</text>		</g>
+		<g id="shape3-7" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(227.492,-0.720106)">
+			<title content="structured text">Swimlane.39</title>
+			<desc content="structured text">MAK PATH</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({2BDF3D67-E7C5-4A9B-A36F-B092FDAD9B83})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="22.02" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>MAK<tspan class="st3" v:langID="2057">E</tspan> PATH</text>		</g>
+		<g id="shape4-11" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(114.106,-0.720106)">
+			<title content="structured text">Swimlane.38</title>
+			<desc content="structured text">ASSIGN SEATS</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({5FE20143-2F05-4843-84D8-69654A33246B})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="12.68" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ASSIGN SEATS</text>		</g>
+		<g id="shape5-14" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(0.72,-0.720106)">
+			<title content="structured text">Swimlane</title>
+			<desc content="structured text">START UP</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({75512333-30FD-445E-A107-21F276DEBAB2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="27.03" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>START UP</text>		</g>
+		<g id="group6-17" transform="translate(21.6928,-370.641)" v:mID="6" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({DB57AEDC-DB06-4A74-9314-493961D4DB78})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State</title>
+			<g id="shape7-18" v:mID="7" v:groupContext="shape" transform="translate(-3.59712E-013,-0.002)">
+				<title content="structured text">Sheet.7</title>
+				<path d="M9 503.17 L62.44 503.17 A9 9 -180 0 0 71.44 494.17 L71.44 486.66 A9 9 -180 0 0 62.44 477.66 L9 477.66 A9         9 -180 0 0 -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape8-20" v:mID="8" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape9-22" v:mID="9" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Assign First Seat</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="35.7202" cy="490.572" width="71.45" height="25.2"/>
+				<rect x="0" y="477.972" width="71.4403" height="25.2" class="st5"/>
+				<text x="5.49" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Assign First Seat</text>			</g>
+		</g>
+		<g id="shape10-25" v:mID="10" v:groupContext="shape" transform="translate(48.909,-459.93)">
+			<title content="structured text">Initial State</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(42):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({D3A1415C-7F84-4D75-B77E-54E0988D4921})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOptions" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents the point at which a newly created object starts. )"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 494.67 A8.505 8.505 0 0 1 17.01 494.67 A8.505 8.505 0 0 1 0 494.67 Z" class="st7"/>
+		</g>
+		<g id="group11-27" transform="translate(128.279,-370.641)" v:mID="11" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({E425FBE2-6092-4F19-BCF9-83EBE6D8AA54})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.7</title>
+			<g id="shape12-28" v:mID="12" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.12</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape13-30" v:mID="13" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape14-32" v:mID="14" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Assign Seat</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="5.65" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Assign Seat</text>			</g>
+		</g>
+		<g id="group15-35" transform="translate(268.817,-278.515)" v:mID="15" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({78CF0676-A242-4FF4-9B81-3A830037047F})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.11</title>
+			<g id="shape16-36" v:mID="16" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.16</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape17-38" v:mID="17" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape18-40" v:mID="18" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Make Path</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="7.88" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Make Path</text>			</g>
+		</g>
+		<g id="group19-43" transform="translate(268.817,-190.641)" v:mID="19" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({657E0538-CBB4-4B62-B170-CA54F78F0FC3})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.15</title>
+			<g id="shape20-44" v:mID="20" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.20</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape21-46" v:mID="21" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape22-48" v:mID="22" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Path Done</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="8.1" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Path Done</text>			</g>
+		</g>
+		<g id="group23-51" transform="translate(357.885,-114.106)" v:mID="23" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({0CB21845-E36D-4CDF-B78A-00B75363D7E2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.19</title>
+			<g id="shape24-52" v:mID="24" v:groupContext="shape" transform="translate(3.83693E-013,-0.002)">
+				<title content="structured text">Sheet.24</title>
+				<path d="M9 503.17 L68.67 503.17 A9 9 -180 0 0 77.67 494.17 L77.67 486.66 A9 9 -180 0 0 68.67 477.66 L9 477.66 A9         9 -180 0 0 0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape25-54" v:mID="25" v:groupContext="shape" transform="translate(-3.8769E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape26-56" v:mID="26" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Are We Done Yet?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="38.8371" cy="490.572" width="77.68" height="25.2"/>
+				<rect x="0" y="477.972" width="77.6742" height="25.2" class="st5"/>
+				<text x="5.5" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Are We Done Yet?</text>			</g>
+		</g>
+		<g id="group27-59" transform="translate(499.433,-14.8903)" v:mID="27" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(43):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B1433F32-F2A4-439C-B8CC-D61EC899F625})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOptions" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents the final occurrence of an event at the enclosing state or the completion of activity in the enclosing state.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:prompt="" v:val="VT0(3):26"/>
+			</v:userDefs>
+			<title content="structured text">Final State</title>
+			<g id="shape28-60" v:mID="28" v:groupContext="shape" transform="translate(1.7,-1.7)">
+				<title content="structured text">Sheet.28</title>
+				<path d="M0 496.37 A6.805 6.805 0 1 1 13.61 496.37 A6.805 6.805 0 1 1 -0 496.37 Z" class="st8"/>
+			</g>
+			<g id="shape29-62" v:mID="29" v:groupContext="shape" transform="translate(1.7,-1.7)">
+				<title content="structured text">Sheet.29</title>
+				<path d="M0 496.37 A6.805 6.805 0 1 1 13.61 496.37 A6.805 6.805 0 1 1 -0 496.37 Z" class="st1"/>
+			</g>
+			<g id="shape30-64" v:mID="30" v:groupContext="shape">
+				<title content="structured text">Sheet.30</title>
+				<path d="M0 494.67 A8.505 8.505 0 0 1 17.01 494.67 A8.505 8.505 0 1 1 -0 494.67 Z" class="st1"/>
+			</g>
+		</g>
+		<g id="shape31-66" v:mID="31" v:groupContext="shape" transform="translate(93.1331,-383.393)">
+			<title content="structured text">Transition</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B3C07C44-3D10-4AD1-A487-A918B63E7036})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L35.15 503.17" class="st9"/>
+		</g>
+		<g id="shape32-72" v:mID="32" v:groupContext="shape" transform="translate(155.279,-291.273)">
+			<title content="structured text">Transition.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({4F3E71C3-C7E3-4C97-BCE4-9EE74B61A90E})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 423.8 L0 503.17 L113.54 503.17" class="st9"/>
+		</g>
+		<g id="shape33-77" v:mID="33" v:groupContext="shape" transform="translate(295.82,-216.157)">
+			<title content="structured text">Transition.27</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({504935DB-8552-4C36-BB2A-679D59656DF9})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 440.81 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape34-82" v:mID="34" v:groupContext="shape" transform="translate(322.817,-203.393)">
+			<title content="structured text">Transition.23</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({57E139FF-A173-426F-820B-4F7C9BFEC138})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L63.98 503.17" class="st9"/>
+		</g>
+		<g id="shape35-87" v:mID="35" v:groupContext="shape" transform="translate(507.94,-31.8981)">
+			<title content="structured text">Transition.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({5FECE46A-D06F-418F-981D-461303A12B44})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 420.96 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape36-92" v:mID="36" v:groupContext="shape" transform="translate(182.277,-298.36)">
+			<title content="structured text">Transition.29</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({2C74DA93-74E8-41A5-92D8-33F11DFE1CC4})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M216.64 503.17 L216.64 418.13 L0 418.13" class="st9"/>
+		</g>
+		<g id="shape37-97" v:mID="37" v:groupContext="shape" transform="translate(57.4163,-396.155)">
+			<title content="structured text">Transition.30</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({184492BD-048C-4EF2-8A9B-8858BE1127F1})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 439.39 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape38-102" v:mID="38" v:groupContext="shape" transform="translate(386.801,-193.478)">
+			<title content="structured text">Decision</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(62):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({92B419EA-931A-4897-B261-6E85B2B91766})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Expresses a decision when guard conditions are used to indicate different possible transitions that are Boolean dependent.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M9.92 483.33 L19.84 493.25 L9.92 503.17 L0 493.25 L9.92 483.33 Z" class="st4"/>
+		</g>
+		<g id="shape39-104" v:mID="39" v:groupContext="shape" transform="translate(396.726,-139.618)">
+			<title content="structured text">Transition.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({0C0D162D-C8BA-4916-9E41-0251B2A289C3})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 449.31 L0 503.17" class="st9"/>
+		</g>
+		<g id="group40-109" transform="translate(406.645,-203.395)" v:mID="40" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(45):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({9E3814E0-25B1-43C1-A187-E4B1218E0059})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to place a comment on a diagram. )"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">Note</title>
+			<g id="shape41-110" v:mID="41" v:groupContext="shape">
+				<title content="structured text">Sheet.41</title>
+				<path d="M109.98 472.41 L0 503.17 L109.98 472.41 Z" class="st11"/>
+				<path d="M109.98 472.41 L0 503.17" class="st12"/>
+			</g>
+			<g id="shape42-113" v:mID="42" v:groupContext="shape" transform="translate(66.5014,-12.76)">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Has the last seat been assigned?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="43.4786" cy="485.174" width="86.96" height="36"/>
+				<path d="M86.96 477.97 L77.96 467.17 L77.96 477.97 L86.96 477.97 Z M0 503.17 L86.96 503.17 L86.96 477.97 L77.96 477.97         L77.96 467.17 L0 467.17 L0 503.17 Z" class="st13"/>
+				<text x="4" y="477.97" class="st6" v:langID="1033"><v:paragraph/><v:tabList/>Has the last seat<v:newlineChar/><v:newlineChar/><tspan x="4" dy="2.4em" class="st3">been assigned</tspan>?</text>			</g>
+		</g>
+		<g id="shape43-117" v:mID="43" v:groupContext="shape" transform="translate(241.247,-162.295)">
+			<title content="structured text">Transition.36</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({4CA9F553-D55B-452E-AC25-34A2387F9FF8})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M54.57 474.82 L54.57 503.17 L0 503.17 L0 462.07 L27.57 462.07" class="st9"/>
+		</g>
+		<g id="group44-122" transform="translate(479.775,-114.106)" v:mID="44" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({45A56721-BBBC-4499-92F5-D1460BF36DFC})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.42</title>
+			<g id="shape45-123" v:mID="45" v:groupContext="shape" transform="translate(2.79776E-013,-0.002)">
+				<title content="structured text">Sheet.45</title>
+				<path d="M9 503.17 L47.32 503.17 A9 9 -180 0 0 56.32 494.17 L56.32 486.66 A9 9 -180 0 0 47.32 477.66 L9 477.66 A9         9 -180 0 0 -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape46-125" v:mID="46" v:groupContext="shape" transform="translate(-2.79776E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape47-127" v:mID="47" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Print Results</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="28.1617" cy="490.572" width="56.33" height="25.2"/>
+				<rect x="0" y="477.972" width="56.3234" height="25.2" class="st5"/>
+				<text x="5.5" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Print Results</text>			</g>
+		</g>
+		<g id="shape48-130" v:mID="48" v:groupContext="shape" transform="translate(435.56,-126.857)">
+			<title content="structured text">Transition.46</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({1E830686-D9A6-494E-BFB9-A2EC4ECC87E5})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L44.22 503.17" class="st9"/>
+		</g>
+		<g id="shape49-135" v:mID="49" v:groupContext="shape" transform="translate(507.939,-126.865)">
+			<title content="structured text">Transition.47</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({522F1FDF-7CC6-4604-AE43-C0C5FBC68F58})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M28.16 503.17 L48.37 503.17 L48.37 464.91 L0 464.91 L0 490.42" class="st9"/>
+		</g>
+		<g id="group50-140" transform="translate(371.917,-272.846)" v:mID="50" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({279920C9-96D3-48C9-B5C7-9BD96A5EA82B})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.48</title>
+			<g id="shape51-141" v:mID="51" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.51</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape52-143" v:mID="52" v:groupContext="shape" transform="translate(-2.67786E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape53-145" v:mID="53" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Continue?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="8.76" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Continue?</text>			</g>
+		</g>
+		<g id="shape54-148" v:mID="54" v:groupContext="shape" transform="translate(396.723,-213.32)">
+			<title content="structured text">Transition.52</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({9C4F3353-5467-4385-8431-508C3C950FD2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L2.19 443.64" class="st9"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Config.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Config.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/PricingExample/DT_Table2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-BankingExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-BankingExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-BankingExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,598 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Banking Tutorial</title>
+
+		<screen><emphasis role="bold">Name:</emphasis> BankingTutorial
+<emphasis role="bold">Main class:</emphasis> org.drools.tutorials.banking.*
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> org.drools.tutorials.banking.*
+<emphasis role="bold">Objective:</emphasis> tutorial that builds up knowledge of pattern matching, basic sorting and calculation rules.</screen>
+
+		<para>This tutorial will demonstrate the process of developing a complete personal banking application that will handle credits, debits, currencies and that will use a set of design patterns that have been created for the process. In order to make the examples documented here clear and modular, I will try and steer away from re-visiting existing code to add new functionality, and will instead extend and inject where appropriate.</para>
+
+		<para>The RuleRunner class is a simple harness to execute one or more drls against a set of data. It compiles the Packages and creates the RuleBase for each execution, this allows us to easy execute each scenario and see the outputs. In reality this is not a good solution for a production system where the RuleBase should be built just once and cached, but for the purposes of this tutorial it shall suffice.</para>
+
+		<example>
+			<title>Banking Tutorial : RuleRunner</title>
+
+			<programlisting>public class RuleRunner {
+
+    public RuleRunner() {
+    }
+
+    public void runRules(String[] rules,
+                         Object[] facts) throws Exception {
+
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        PackageBuilder builder = new PackageBuilder();
+
+        for ( int i = 0; i &lt; rules.length; i++ ) {
+            String ruleFile = rules[i];
+            System.out.println( "Loading file: " + ruleFile );            
+            builder.addPackageFromDrl(new InputStreamReader( RuleRunner.class.getResourceAsStream( ruleFile ) ) );
+        }
+
+        Package pkg = builder.getPackage();
+        ruleBase.addPackage( pkg );
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        for ( int i = 0; i &lt; facts.length; i++ ) {
+            Object fact = facts[i];
+            System.out.println( "Inserting fact: " + fact );
+            workingMemory.insert( fact );
+        }
+
+        workingMemory.fireAllRules();
+    }
+}</programlisting>
+		</example>
+
+		<para>This is our first Example1.java class it loads and executes a single drl file "Example.drl" but inserts no data.</para>
+
+		<example>
+			<title>Banking Tutorial : Java Example1</title>
+
+			<programlisting>public class Example1 {
+    public static void main(String[] args) throws Exception {
+        new RuleRunner().runRules( new String[] { "Example1.drl" },
+                                   new Object[0] );
+    }
+}</programlisting>
+		</example>
+
+		<para>And this is the first simple rule to execute. It has a single "eval" condition that will alway be true, thus this rul will always match and fire.</para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example1</title>
+
+			<programlisting>rule "Rule 01"   
+    when
+        eval (1==1)
+    then
+        System.out.println("Rule 01 Works");
+endh</programlisting>
+		</example>
+
+		<para>The output for the rule is below, the rule matches and executes the single print statement.</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example1</title>
+
+			<programlisting>Loading file: Example1.drl
+Rule 01 Works</programlisting>
+		</example>
+
+		<para>The next step is to assert some simple facts and print them out. </para>
+
+		<example>
+			<title>Banking Tutorial : Java Example2</title>
+
+			<programlisting>public class Example2 {
+    public static void main(String[] args) throws Exception {
+        Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4), wrap(1), wrap(5)};
+        new RuleRunner().runRules( new String[] { "Example2.drl" },
+                                   numbers );
+    }
+    
+    private static Integer wrap(int i) {
+        return new Integer(i);
+    }
+}</programlisting>
+		</example>
+
+		<para>This doesn’t use any specific facts but instead asserts a set of java.lang.Integer’s. This is not considered "best practice" as a number of a collection is not a fact, it is not a thing. A Bank acount has a number, its balance, thus the Account is the fact; but to get started asserting Integers shall suffice for demonstration purposes as the complexity is built up.</para>
+
+		<para>Now we will create a simple rule to print out these numbers.</para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example2</title>
+
+			<programlisting>rule "Rule 02"   
+    when
+        Number( $intValue : intValue )
+    then
+        System.out.println("Number found with value: " + $intValue); 
+end</programlisting>
+		</example>
+
+		<para>Once again, this rule does nothing special. It identifies any facts that are Numbers and prints out the values. Notice the user of interfaces here, we inserted Integers but the pattern matching engine is able to match the interfaces and super classes of the asserted objects.</para>
+
+		<para>The output shows the drl being loaded, the facts inserted and then the matched and fired rules. We can see that each inserted number is matched and fired and thus printed.</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example2</title>
+
+			<programlisting>Loading file: Example2.drl
+Inserting fact: 3
+Inserting fact: 1
+Inserting fact: 4
+Inserting fact: 1
+Inserting fact: 5
+Number found with value: 5
+Number found with value: 1
+Number found with value: 4
+Number found with value: 1
+Number found with value: 3
+</programlisting>
+		</example>
+
+		<para>here are probably a hundred and one better ways to sort numbers; but we will need to apply some cashflows in date order when we start looking at banking rules so let’s look at a simple rule based example.</para>
+
+		<example>
+			<title>Banking Tutorial : Java Example3</title>
+
+			<programlisting>public class Example3 {
+    public static void main(String[] args) throws Exception {
+        Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4), wrap(1), wrap(5)};
+        new RuleRunner().runRules( new String[] { "Example3.drl" },
+                                   numbers );
+    }
+    
+    private static Integer wrap(int i) {
+        return new Integer(i);
+    }
+}</programlisting>
+		</example>
+
+		<para>Again we insert our Integers as before, this time the rule is slightly different:</para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example3</title>
+
+			<programlisting>rule "Rule 03"   
+    when
+        $number : Number( )
+        not Number( intValue &lt; $number.intValue )
+    then
+        System.out.println("Number found with value: " + $number.intValue() ); 
+        retract( $number );
+end</programlisting>
+		</example>
+
+		<para>The first line of the rules identifies a Number and extracts the value. The second line ensures that there does not exist a smaller number than the one found. By executing this rule, we might expect to find only one number - the smallest in the set. However, the retraction of the number after it has been printed, means that the smallest number has been removed, revealing the next smallest number, and so on. </para>
+
+		<para>So, the output we generate is, notice the numbers are now sorted numerically.</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example3</title>
+
+			<programlisting>Loading file: Example3.drl
+Inserting fact: 3
+Inserting fact: 1
+Inserting fact: 4
+Inserting fact: 1
+Inserting fact: 5
+Number found with value: 1
+Number found with value: 1
+Number found with value: 3
+Number found with value: 4
+Number found with value: 5
+</programlisting>
+		</example>
+
+		<para>Now we want to start moving towards our personal accounting rules. The first step is to create a Cashflow POJO.</para>
+
+		<example>
+			<title>Banking Tutoria : Class Cashflow</title>
+
+			<programlisting>public class Cashflow {
+    private Date   date;
+    private double amount;
+
+    public Cashflow() {
+    }
+
+    public Cashflow(Date date,
+                    double amount) {
+        this.date = date;
+        this.amount = amount;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(double amount) {
+        this.amount = amount;
+    }
+
+    public String toString() {
+        return "Cashflow[date=" + date + ",amount=" + amount + "]";
+    }
+}</programlisting>
+		</example>
+
+		<para>The Cashflow has two simple attributes, a date and an amount. I have added a toString method to print it and overloaded the constructor to set the values. The Example4 java code inserts 5 Cashflow objecst with varying dates and amounts.</para>
+
+		<example>
+			<title>Banking Tutorial : Java Example4</title>
+
+			<programlisting>public class Example4 {    
+    public static void main(String[] args) throws Exception {
+        Object[] cashflows = {
+            new Cashflow(new SimpleDate("01/01/2007"), 300.00),
+            new Cashflow(new SimpleDate("05/01/2007"), 100.00),
+            new Cashflow(new SimpleDate("11/01/2007"), 500.00),
+            new Cashflow(new SimpleDate("07/01/2007"), 800.00),
+            new Cashflow(new SimpleDate("02/01/2007"), 400.00),
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example4.drl" },
+                                   cashflows );
+    }
+}</programlisting>
+		</example>
+
+		<para>SimpleDate is a simple class that extends Date and takes a String as input. It allows for pre-formatted Data classes, for convienience. The code is listed below</para>
+
+		<example>
+			<title>Banking Tutorial : Java SimpleDate</title>
+
+			<programlisting>public class SimpleDate extends Date {
+    private static final SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
+    
+    public SimpleDate(String datestr) throws Exception {             
+        setTime(format.parse(datestr).getTime());
+    }
+}</programlisting>
+		</example>
+
+		<para>Now, let’s look at rule04.drl to see how we print the sorted Cashflows:</para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example4</title>
+
+			<programlisting>rule "Rule 04"   
+    when
+        $cashflow : Cashflow( $date : date, $amount : amount )
+        not Cashflow( date &lt; $date)
+    then
+        System.out.println("Cashflow: "+$date+" :: "+$amount);  
+        retract($cashflow);
+end</programlisting>
+		</example>
+
+		<para>Here, we identify a Cashflow and extract the date and the amount. In the second line of the rules we ensure that there is not a Cashflow with an earlier date than the one found. In the consequences, we print the Cashflow that satisfies the rules and then retract it, making way for the next earliest Cashflow. So, the output we generate is:</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example4</title>
+
+			<programlisting>Loading file: Example4.drl
+Inserting fact: Cashflow[date=Mon Jan 01 00:00:00 GMT 2007,amount=300.0]
+Inserting fact: Cashflow[date=Fri Jan 05 00:00:00 GMT 2007,amount=100.0]
+Inserting fact: Cashflow[date=Thu Jan 11 00:00:00 GMT 2007,amount=500.0]
+Inserting fact: Cashflow[date=Sun Jan 07 00:00:00 GMT 2007,amount=800.0]
+Inserting fact: Cashflow[date=Tue Jan 02 00:00:00 GMT 2007,amount=400.0]
+Cashflow: Mon Jan 01 00:00:00 GMT 2007 :: 300.0
+Cashflow: Tue Jan 02 00:00:00 GMT 2007 :: 400.0
+Cashflow: Fri Jan 05 00:00:00 GMT 2007 :: 100.0
+Cashflow: Sun Jan 07 00:00:00 GMT 2007 :: 800.0
+Cashflow: Thu Jan 11 00:00:00 GMT 2007 :: 500.0
+</programlisting>
+		</example>
+
+		<para>Here we extend our Cashflow to give a TypedCashflow which can be CREDIT or DEBIT. Ideally, we would just add this to the Cashflow type, but so that we can keep all the examples simple, we will go with the extensions.</para>
+
+		<example>
+			<title>Banking Tutoria : Class TypedCashflow</title>
+
+			<programlisting>public class TypedCashflow extends Cashflow {
+    public static final int CREDIT = 0;
+    public static final int DEBIT  = 1;
+
+    private int             type;
+
+    public TypedCashflow() {
+    }
+
+    public TypedCashflow(Date date,
+                         int type,
+                         double amount) {
+        super( date,
+               amount );
+        this.type = type;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public String toString() {
+        return "TypedCashflow[date=" + getDate() + ",type=" + (type == CREDIT ? "Credit" : "Debit") + ",amount=" + getAmount() + "]";
+    }
+}</programlisting>
+		</example>
+
+		<para>There are lots of ways to improve this code, but for the sake of the example this will do.</para>
+
+		<para>Nows lets create the Example5 runner.</para>
+
+		<example>
+			<title>Banking Tutorial : Java Example5</title>
+
+			<programlisting>public class Example5 {    
+    public static void main(String[] args) throws Exception {      
+        Object[] cashflows = {
+            new TypedCashflow(new SimpleDate("01/01/2007"),    
+                              TypedCashflow.CREDIT, 300.00),
+            new TypedCashflow(new SimpleDate("05/01/2007"),
+                              TypedCashflow.CREDIT, 100.00),
+            new TypedCashflow(new SimpleDate("11/01/2007"),
+                              TypedCashflow.CREDIT, 500.00),
+            new TypedCashflow(new SimpleDate("07/01/2007"),
+                              TypedCashflow.DEBIT, 800.00),
+            new TypedCashflow(new SimpleDate("02/01/2007"),
+                              TypedCashflow.DEBIT, 400.00),
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example5.drl" },
+                                   cashflows );
+    }
+}</programlisting>
+		</example>
+
+		<para>Here, we simply create a set of Cashflows which are either CREDIT or DEBIT Cashflows and supply them and rule05.drl to the RuleEngine. </para>
+
+		<para>Now, let’s look at rule0 Example5.drl to see how we print the sorted Cashflows:</para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example5</title>
+
+			<programlisting>rule "Rule 05"  
+    when
+        $cashflow : TypedCashflow( $date : date,
+                                   $amount : amount,
+                                   type == TypedCashflow.CREDIT )
+        not TypedCashflow( date &lt; $date,
+                           type == TypedCashflow.CREDIT )
+    then
+        System.out.println("Credit: "+$date+" :: "+$amount);   
+        retract($cashflow);
+end</programlisting>
+		</example>
+
+		<para>Here, we identify a Cashflow with a type of CREDIT and extract the date and the amount. In the second line of the rules we ensure that there is not a Cashflow of type CREDIT with an earlier date than the one found. In the consequences, we print the Cashflow that satisfies the rules and then retract it, making way for the next earliest Cashflow of type CREDIT.</para>
+
+		<para>So, the output we generate is</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example5</title>
+
+			<screen>Loading file: Example5.drl
+Inserting fact: TypedCashflow[date=Mon Jan 01 00:00:00 GMT 2007,type=Credit,amount=300.0]
+Inserting fact: TypedCashflow[date=Fri Jan 05 00:00:00 GMT 2007,type=Credit,amount=100.0]
+Inserting fact: TypedCashflow[date=Thu Jan 11 00:00:00 GMT 2007,type=Credit,amount=500.0]
+Inserting fact: TypedCashflow[date=Sun Jan 07 00:00:00 GMT 2007,type=Debit,amount=800.0]
+Inserting fact: TypedCashflow[date=Tue Jan 02 00:00:00 GMT 2007,type=Debit,amount=400.0]
+Credit: Mon Jan 01 00:00:00 GMT 2007 :: 300.0
+Credit: Fri Jan 05 00:00:00 GMT 2007 :: 100.0
+Credit: Thu Jan 11 00:00:00 GMT 2007 :: 500.0
+</screen>
+		</example>
+
+		<para>Here we are going to process both CREDITs and DEBITs on 2 bank accounts to calculate the account balance. In order to do this, I am going to create two separate Account Objects and inject them into the Cashflows before passing them to the Rule Engine. The reason for this is to provide easy access to the correct Bank Accounts without having to resort to Helper classes. Let’s take a look at the Account class first. This is a simple POJO with an account number and balance:</para>
+
+		<example>
+			<title>Banking Tutoria : Class Account</title>
+
+			<programlisting>public class Account {
+    private long   accountNo;
+    private double balance = 0;
+
+    public Account() {
+    }
+
+    public Account(long accountNo) {
+        this.accountNo = accountNo;
+    }
+
+    public long getAccountNo() {
+        return accountNo;
+    }
+
+    public void setAccountNo(long accountNo) {
+        this.accountNo = accountNo;
+    }
+
+    public double getBalance() {
+        return balance;
+    }
+
+    public void setBalance(double balance) {
+        this.balance = balance;
+    }
+
+    public String toString() {
+        return "Account[" + "accountNo=" + accountNo + ",balance=" + balance + "]";
+    }
+}</programlisting>
+		</example>
+
+		<para>Now let’s extend our TypedCashflow to give AllocatedCashflow (allocated to an account).</para>
+
+		<example>
+			<title>Banking Tutoria : Class AllocatedCashflow</title>
+
+			<programlisting>public class AllocatedCashflow extends TypedCashflow {
+    private Account account;
+
+    public AllocatedCashflow() {
+    }
+
+    public AllocatedCashflow(Account account,
+                             Date date,
+                             int type,
+                             double amount) {
+        super( date,
+               type,
+               amount );
+        this.account = account;
+    }
+
+    public Account getAccount() {
+        return account;
+    }
+
+    public void setAccount(Account account) {
+        this.account = account;
+    }
+
+    public String toString() {
+        return "AllocatedCashflow[" + "account=" + account + ",date=" + getDate() + 
+                                  ",type=" + (getType() == CREDIT ? "Credit" : "Debit") + 
+                                  ",amount=" + getAmount() + "]";
+    }
+}</programlisting>
+		</example>
+
+		<para>Now, let’s java code for Example5 execution. Here we create two Account objects and inject one into each cashflow as appropriate. For simplicity I have simply included them in the constructor.</para>
+
+		<example>
+			<title>Banking Tutorial : Java Example5</title>
+
+			<programlisting>public class Example6 {    
+    public static void main(String[] args) throws Exception {      
+        Account acc1 = new Account(1);
+        Account acc2 = new Account(2);
+           
+        Object[] cashflows = {
+            new AllocatedCashflow(acc1,new SimpleDate("01/01/2007"),
+                                  TypedCashflow.CREDIT, 300.00),
+            new AllocatedCashflow(acc1,new SimpleDate("05/02/2007"),
+                                  TypedCashflow.CREDIT, 100.00),
+            new AllocatedCashflow(acc2,new SimpleDate("11/03/2007"),
+                                  TypedCashflow.CREDIT, 500.00),
+            new AllocatedCashflow(acc1,new SimpleDate("07/02/2007"),
+                                  TypedCashflow.DEBIT,  800.00),
+            new AllocatedCashflow(acc2,new SimpleDate("02/03/2007"),
+                                  TypedCashflow.DEBIT,  400.00),
+            new AllocatedCashflow(acc1,new SimpleDate("01/04/2007"),    
+                                  TypedCashflow.CREDIT, 200.00),
+            new AllocatedCashflow(acc1,new SimpleDate("05/04/2007"),
+                                  TypedCashflow.CREDIT, 300.00),
+            new AllocatedCashflow(acc2,new SimpleDate("11/05/2007"),
+                                  TypedCashflow.CREDIT, 700.00),
+            new AllocatedCashflow(acc1,new SimpleDate("07/05/2007"),
+                                  TypedCashflow.DEBIT,  900.00),
+            new AllocatedCashflow(acc2,new SimpleDate("02/05/2007"),
+                                  TypedCashflow.DEBIT,  100.00)           
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example6.drl" },
+                                   cashflows );
+    }
+}</programlisting>
+		</example>
+
+		<para>Now, let’s look at rule Example06.drl to see how we apply each cashflow in date order and calculate and print the balance. </para>
+
+		<example>
+			<title>Banking Tutorial : Rule Example6</title>
+
+			<programlisting>rule "Rule 06 - Credit"  
+    when
+        $cashflow : AllocatedCashflow( $account : account,
+                                       $date : date, $amount : amount,
+                                        type==TypedCashflow.CREDIT )
+        not AllocatedCashflow( account == $account, date &lt; $date)
+    then
+        System.out.println("Credit: " + $date + " :: " + $amount);     
+        $account.setBalance($account.getBalance()+$amount);
+        System.out.println("Account: " + $account.getAccountNo() +
+                           " - new balance: " + $account.getBalance());          
+        retract($cashflow);
+end
+
+rule "Rule 06 - Debit"  
+    when
+        $cashflow : AllocatedCashflow( $account : account,
+                            $date : date, $amount : amount,
+                            type==TypedCashflow.DEBIT )
+        not AllocatedCashflow( account == $account, date &lt; $date)
+    then
+        System.out.println("Debit: " + $date + " :: " + $amount);      
+        $account.setBalance($account.getBalance() - $amount);
+        System.out.println("Account: " + $account.getAccountNo() +
+                           " - new balance: " + $account.getBalance());           
+        retract($cashflow);
+end</programlisting>
+		</example>
+
+		<para>Here, we have separate rules for CREDITs and DEBITs, however we do not specify a type when checking for earlier cashflows. This is so that all cashflows are applied in date order regardless of which type of cashflow type they are. In the rule section we identify the correct account to work with and in the consequences we update it with the cashflow amount.</para>
+
+		<example>
+			<title>Banking Tutorial : Output Example6</title>
+
+			<programlisting>Loading file: Example6.drl
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Mon Jan 01 00:00:00 GMT 2007,type=Credit,amount=300.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Mon Feb 05 00:00:00 GMT 2007,type=Credit,amount=100.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=2,balance=0.0],date=Sun Mar 11 00:00:00 GMT 2007,type=Credit,amount=500.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Wed Feb 07 00:00:00 GMT 2007,type=Debit,amount=800.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=2,balance=0.0],date=Fri Mar 02 00:00:00 GMT 2007,type=Debit,amount=400.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Sun Apr 01 00:00:00 BST 2007,type=Credit,amount=200.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Thu Apr 05 00:00:00 BST 2007,type=Credit,amount=300.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=2,balance=0.0],date=Fri May 11 00:00:00 BST 2007,type=Credit,amount=700.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=1,balance=0.0],date=Mon May 07 00:00:00 BST 2007,type=Debit,amount=900.0]
+Inserting fact: AllocatedCashflow[account=Account[accountNo=2,balance=0.0],date=Wed May 02 00:00:00 BST 2007,type=Debit,amount=100.0]
+Debit: Fri Mar 02 00:00:00 GMT 2007 :: 400.0
+Account: 2 - new balance: -400.0
+Credit: Sun Mar 11 00:00:00 GMT 2007 :: 500.0
+Account: 2 - new balance: 100.0
+Debit: Wed May 02 00:00:00 BST 2007 :: 100.0
+Account: 2 - new balance: 0.0
+Credit: Fri May 11 00:00:00 BST 2007 :: 700.0
+Account: 2 - new balance: 700.0
+Credit: Mon Jan 01 00:00:00 GMT 2007 :: 300.0
+Account: 1 - new balance: 300.0
+Credit: Mon Feb 05 00:00:00 GMT 2007 :: 100.0
+Account: 1 - new balance: 400.0
+Debit: Wed Feb 07 00:00:00 GMT 2007 :: 800.0
+Account: 1 - new balance: -400.0
+Credit: Sun Apr 01 00:00:00 BST 2007 :: 200.0
+Account: 1 - new balance: -200.0
+Credit: Thu Apr 05 00:00:00 BST 2007 :: 300.0
+Account: 1 - new balance: 100.0
+Debit: Mon May 07 00:00:00 BST 2007 :: 900.0
+Account: 1 - new balance: -800.0
+</programlisting>
+		</example>
+		
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-BankingExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ConwaysGameOfLifeExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ConwaysGameOfLifeExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ConwaysGameOfLifeExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+    <title>Conways Game Of Life Example</title>
+
+    <programlisting><emphasis role="bold">Name:</emphasis> Conways Game Of Life
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.conway.ConwayAgendaGroupRun org.drools.examples.conway.ConwayRuleFlowGroupRun
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> conway-ruleflow.drl conway-agendagroup.drl
+<emphasis role="bold">Objective:</emphasis> Demonstrates 'accumulate', 'collect' and 'from'</programlisting>
+
+    <para>Conway's Game Of Life, <ulink
+    url="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">http://en.wikipedia.org/wiki/Conway's_Game_of_Life</ulink>
+    <ulink
+    url="http://www.math.com/students/wonders/life/life.html">http://www.math.com/students/wonders/life/life.html</ulink>,
+    is a famous cellular automaton conceived in the early 1970's by
+    mathematician John Conway. While the system is well known as "Conway's
+    Game Of Life", it really isn't a game at all. Conway's system is more like
+    a life simulation. Don't be intimidated. The system is terribly simple and
+    terribly interesting. Math and Computer Science students alike have
+    marvelled over Conway's system for more than 30 years now. The application
+    represented here is a Swing based implementation of Conway's Game of Life.
+    The rules that govern the system are implemented as business rules using
+    Drools. This document will explain the rules that drive the simulation and
+    discuss the Drools specific parts of the implementation.</para>
+
+    <para>We'll first introduce the grid view, shown below, to help
+    visualisation of the problem; this is where the life simuation takes
+    place. Initially the grid is empty, meaning that there are no live cells
+    in the system; ech cell can be considered "LIVE" or "DEAD", live cells
+    have a green ball in them. Pre-selected patterns of live cells can be
+    selected from the "Pattern" drop down or cells can be doubled-clicked to
+    toggle them between LIVE and DEAD. It's important to understand that each
+    cell is related to it's neighbour cells, which is a core part of the
+    game's rules and will be explained in a moment. Neighbors include not only
+    cells to the left, right, top and bottom but also cells that are connected
+    diagonally. Each cell has a total of 8 neighbors except the 4 corner cells
+    and all of the other cells along the 4 edges. Corner cells have 3
+    neighbors and other edge cells have 5 neighbors.</para>
+
+    <figure>
+      <title>Conways Example : Starting a new game</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata fileref="images/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>So what are the basic rules that govern this game? Each generation,
+    i.e. completion iteration and evalution of all cells, the system evolves
+    and cells may be born or killed, there are a very simple set of rules that
+    govern what the next generation will look like.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>If a live cell has fewer than 2 live neighbors, it dies of
+        loneliness</para>
+      </listitem>
+
+      <listitem>
+        <para>If a live cell has more than 3 live neighbors, it dies from
+        overcrowding</para>
+      </listitem>
+
+      <listitem>
+        <para>If a dead cell has exactly 3 live neighbors, it comes to
+        life</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>That is all there is to it. Any cell that doesn't meet any of those
+    criteria is left as is for the next generation. With those simple rules in
+    mind, go back and play with the system a little bit more and step through
+    some generations one at a time and notice these rules taking their
+    effect.</para>
+
+    <para>The screnshot below shows an example generation, with a number of
+    live cells. Don't worry about matching the exact patterns represented in
+    the screen shot. Just get some groups of cells added to the grid. Once you
+    have groups of live cells in the grid, or select a pre-designed pattern,
+    click the "Next Generation" button and notice what happens. Some of the
+    live cells are killed (the green ball disappears) and some dead cells come
+    to life (a green ball appears). Cycle through several generations and see
+    if you notice any patterns. If you click on the "Start" button, the system
+    will evolve itself so you don't need to click the "Next Generation" button
+    over and over. Play with the system a little and then come back here for
+    more details of how the application works.</para>
+
+    <figure>
+      <title>Conways Example : A running game</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata fileref="images/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Now lets delve into the code, as this is an advanced example we'll
+    assume that by now you know your way around the Drools framework and able
+    to connect many of the dots, so we'll just focus at a hgh level
+    overview.The example has two ways to execute, one way uses AgendaGroups to
+    manage execution flow the other uses RuleFlowGroups to manage execution
+    flow - so it's a great way to see the differences. - that's
+    ConwayAgendaGroupRun and ConwayRuleFlowGroupRun respectively. For this
+    example I'll cover the ruleflow version, as its what most people will
+    use.</para>
+
+    <para>All the Cells are inserted into the session and the rules in the
+    ruleflow-group "register neighbor" are allowed to execute by the ruleflow
+    process. What this group of rules does is for each cell it registers the
+    north east, north, north west and west cells using a Neighbor relation
+    class, notice this relation is bi-drectional which is why we don't have to
+    do any rules for southern facing cells. Note that the constraints make
+    sure we stay one column back from the end and 1 row back from the top. By
+    the time all activations have fired for these rules all cells are related
+    to all their neighboring cells.</para>
+
+    <example>
+      <title>Conways Example : Register all Cell Neighbour relations</title>
+
+      <programlisting>rule "register north east"
+    ruleflow-group "register neighbor"
+when
+    CellGrid( $numberOfColumns : numberOfColumns )
+    $cell: Cell( $row : row &gt; 0, $col : col &lt; ( $numberOfColumns - 1 ) )            
+    $northEast : Cell( row  == ($row - 1), col == ( $col + 1 ) )    
+then                    
+    insert( new Neighbor( $cell, $northEast ) );
+    insert( new Neighbor( $northEast, $cell ) );        
+end
+
+rule "register north"
+    ruleflow-group "register neighbor"  
+when
+    $cell: Cell( $row : row &gt; 0, $col : col )   
+    $north : Cell( row  == ($row - 1), col == $col )    
+then        
+    insert( new Neighbor( $cell, $north ) );
+    insert( new Neighbor( $north, $cell ) );        
+end
+
+rule "register north west"
+    ruleflow-group "register neighbor"
+when
+    $cell: Cell( $row : row &gt; 0, $col : col &gt; 0 )           
+    $northWest : Cell( row  == ($row - 1), col == ( $col - 1 ) )                        
+then        
+    insert( new Neighbor( $cell, $northWest ) );
+    insert( new Neighbor( $northWest, $cell ) );        
+end
+
+rule "register west"
+    ruleflow-group "register neighbor"
+when
+    $cell: Cell( $row : row &gt;= 0, $col : col &gt; 0 )          
+    $west : Cell( row  == $row, col == ( $col - 1 ) )                       
+then        
+    insert( new Neighbor( $cell, $west ) );
+    insert( new Neighbor( $west, $cell ) );         
+end</programlisting>
+    </example>
+
+    <para>Once all the cells are inserted some java code applies the pattern
+    to the grid setting certain cells to Live. Then when the user clicks
+    "start" or "next generation" it executes the "Generation" ruleflow. This
+    ruleflow is responsible for the management of all changes of cells in each
+    generation cycle.</para>
+
+    <figure>
+      <title>Conways Example : ruleflow "Generation"</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata fileref="images/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The ruleflow process first enters the "evaluate" group, this means
+    any active rule in that group can fire. The rules in this group apply the
+    main game of life rules discussed in the beginning of the example, where
+    it determines what cells will be killed and which ones given life. We use
+    the "phase" attribute to drives the reasoning of the Cell by specific
+    groups of rules; typical the phase is tied to a RuleFlowGroup. in the
+    ruleflow process definition. Notice that it doesn't actually change the
+    state of any Cells at this point; this is because it's evaluating the Grid
+    in turn and it must complete the full evaluation until those changes can
+    be applied. To achieve this it sets the cell to a "phase" which is either
+    Phase.KILL or Phase.BIRTH, which is used later to control actions applied
+    to the Cell and when.</para>
+
+    <example>
+      <title>Conways Example : Evaluate Cells with state changes</title>
+
+      <programlisting>rule "Kill The Lonely"
+    ruleflow-group "evaluate"
+    no-loop
+when
+#   A live cell has fewer than 2 live neighbors
+    theCell: Cell(liveNeighbors &lt; 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+    theCell.setPhase(Phase.KILL);
+    update( theCell );
+end
+
+rule "Kill The Overcrowded"
+    ruleflow-group "evaluate"
+    no-loop
+when
+#   A live cell has more than 3 live neighbors
+    theCell: Cell(liveNeighbors &gt; 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
+then
+    theCell.setPhase(Phase.KILL);
+    update( theCell );
+end
+
+rule "Give Birth"
+    ruleflow-group "evaluate"
+    no-loop
+when
+#   A dead cell has 3 live neighbors
+    theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
+then
+    theCell.setPhase(Phase.BIRTH);
+    update( theCell );
+end
+</programlisting>
+    </example>
+
+    <para>Once all Cells in the grid have been evaluated we first clear any
+    calculation activations, that occured from any previous data changes, via
+    the "reset calculate" rule, which clears any activations in the
+    "calculate" group. We then enter a split which allows any activations in
+    the "kill" groups and "birth" groups to fire, these rules are responsible
+    for applying the state change.</para>
+
+    <example>
+      <title>Conways Example : Apply the state changes</title>
+
+      <programlisting>rule "reset calculate"
+    ruleflow-group "reset calculate"
+when
+then
+    WorkingMemory wm = drools.getWorkingMemory();
+    wm.clearRuleFlowGroup( "calculate" );
+end
+
+rule "kill"
+    ruleflow-group "kill"
+    no-loop
+when
+    theCell: Cell(phase == Phase.KILL)
+then
+    theCell.setCellState(CellState.DEAD);
+    theCell.setPhase(Phase.DONE);   
+    update( theCell );
+end 
+ 
+rule "birth"
+    ruleflow-group "birth"
+    no-loop
+when
+    theCell: Cell(phase == Phase.BIRTH)
+then
+    theCell.setCellState(CellState.LIVE);
+    theCell.setPhase(Phase.DONE);
+    update( theCell );  
+end </programlisting>
+    </example>
+
+    <para>At this stage a number of Cells have been modified with the state
+    changed to either LIVE or DEAD, this is where we get to see the power of
+    the Neighbour cell and relational programming. When a cell becomes LIVE or
+    DEAD we use the Neigbor relation drive the iteration over all surrounding
+    Cells increasing or decreasing the LIVE neighbour count, any cell who has
+    their count changed is also set to to the EVALUATE phase, to make sure
+    they are reasoned over duing the evaluate stage of the ruleflow process.
+    Notice that we don't have to do any iteration ourselves, by simpy applying
+    the relations in the rules we can get the rule engine to do all the hard
+    work for us in a minimal amount of code - very nice :) Once the live count
+    for all Cells has been determiend and set the ruleflow process comes to
+    and end; the user can either tell it to evaluate another generation, of if
+    "start" was clicked the engine will start the ruleflow process
+    again.</para>
+
+    <example>
+      <title>Conways Example : Evaluate Cells with state changes</title>
+
+      <programlisting>rule "Calculate Live"
+    ruleflow-group "calculate"
+    lock-on-active  
+when
+    theCell: Cell(cellState == CellState.LIVE)
+    Neighbor(cell == theCell, $neighbor : neighbor) 
+then
+    $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
+    $neighbor.setPhase( Phase.EVALUATE );   
+    update( $neighbor );
+end 
+
+rule "Calculate Dead"
+    ruleflow-group "calculate"
+    lock-on-active  
+when
+    theCell: Cell(cellState == CellState.DEAD)
+    Neighbor(cell == theCell, $neighbor : neighbor )
+then
+    $neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
+    $neighbor.setPhase( Phase.EVALUATE );
+    update( $neighbor );    
+end </programlisting>
+    </example>
+  </section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ConwaysGameOfLifeExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-FibonacciExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-FibonacciExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-FibonacciExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Fibonacci Example</title>
+
+		<screen><emphasis role="bold">Name:</emphasis> Fibonacci 
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.FibonacciExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> Fibonacci.drl
+<emphasis role="bold">Objective:</emphasis> Demonsrates Recursion, 'not' CEs and Cross Product Matching</screen>
+
+		<para>The Fibonacci Numbers, <ulink url="http://en.wikipedia.org/wiki/Fibonacci_number">http://en.wikipedia.org/wiki/Fibonacci_number</ulink>, invented by Leonardo of Pisa, <ulink url="http://en.wikipedia.org/wiki/Fibonacci">http://en.wikipedia.org/wiki/Fibonacci</ulink>, are obtained by starting with 0 and 1, and then produce the next Fibonacci number by adding the two previous Fibonacci numbers. The first Fibonacci numbers for n = 0, 1,... are: * 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946... The Fibonacci Example demonstrates recursion and conflict resolution with Salience values.</para>
+
+		<para>A single fact Class is used in this example, Fibonacci. It has two fields, sequence and value. The sequence field is used to indicate the position of the object in the Fibonacci number sequence and the value field shows the value of that Fibonacci object for that sequence position.</para>
+
+		<example>
+			<title>Fibonacci Class</title>
+
+			<programlisting>public static class Fibonacci {
+    private int  sequence;
+    private long value;
+
+    ... setters and getters go here...
+}</programlisting>
+		</example>
+
+		<para>Execute the example:</para>
+
+		<orderedlist>
+			<listitem>
+				<para>Open the class <classname>org.drools.examples.FibonacciExample</classname> in your Eclipse IDE</para>
+			</listitem>
+
+			<listitem>
+				<para>Right-click the class an select "Run as..." -&gt; "Java application"</para>
+			</listitem>
+		</orderedlist>
+		
+		<para>And Eclipse shows the following output in its console, "...snip..." shows repeated bits removed to save space:</para>
+
+		<example>
+			<title>Fibonacci Example Console Output</title>
+
+			<programlisting>recurse for 50
+recurse for 49
+recurse for 48
+recurse for 47
+...snip...
+recurse for 5
+recurse for 4
+recurse for 3
+recurse for 2
+1 == 1
+2 == 1
+3 == 2
+4 == 3
+5 == 5
+6 == 8
+...snip...
+47 == 2971215073
+48 == 4807526976
+49 == 7778742049
+50 == 12586269025
+</programlisting>
+		</example>
+
+		<para>To kick this off from java we only insert a single Fibonacci object, with a sequence of 50, a recurse rule is then used to insert the other 49 Fibonacci objects. This example doesn't use PropertyChangeSupport and uses the MVEL dialect, this means we can use the <emphasis role="bold">modify</emphasis> keyword, which allows a block setter action which also notifies the engine of changes.</para>
+
+		<example>
+			<title>Fibonacci Example Execution</title>
+
+			<programlisting>session.insert( new Fibonacci( 50 ) );
+session.fireAllRules();</programlisting>
+		</example>
+
+		<para>The recurse rule is very simple, it matches each asserted Fibonacci object with a value of -1, it then creates and asserts a new Fibonacci object with a sequence of one less than the currently matched object. Each time a Fibonacci object is added, as long as one with a "sequence == 1" does not exist, the rule re-matches again and fires; causing the recursion. The 'not' conditional element is used to stop the rule matching once we have all 50 Fibonacci objects in memory. The rule also has a salience value, this is because we need to have all 50 Fibonacci objects asserted before we execute the Bootstrap rule.</para>
+
+		<example>
+			<title>Fibonacci Example : Rule "Recurse"</title>
+
+			<programlisting>rule Recurse
+    salience 10
+    when
+        f : Fibonacci ( value == -1 )
+        not ( Fibonacci ( sequence == 1 ) )
+    then
+        insert( new Fibonacci( f.sequence - 1 ) );
+        System.out.println( "recurse for " + f.sequence );
+end</programlisting>
+		</example>
+
+		<para>The audit view shows the original assertion of the Fibonacci object with a sequence of 50, this was done from Java land. From there the audit view shows the continual recursion of the rule, each asserted Fibonacci causes the "Recurse" rule to become activate again, which then fires.</para>
+
+		<figure>
+			<title>Fibonacci Example "Recurse" Audit View 1</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Examples/FibonacciExample/fibonacci1.png" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+
+		<para>When a Fibonacci with a sequence of 2 is asserted the "Bootstrap" rule is matched and activated along with the "Recurse" rule.</para>
+
+		<example>
+			<title>Fibonacci Example : Rule "Bootstrap"</title>
+
+			<programlisting>rule Bootstrap
+    when
+        f : Fibonacci( sequence == 1 || == 2, value == -1 ) // this is a multi-restriction || on a single field
+    then 
+        modify ( f ){ value = 1 };
+        System.out.println( f.sequence + " == " + f.value );
+end</programlisting>
+		</example>
+
+		<para>At this point the Agenda looks like the figure shown below. However the "Bootstrap" rule does not fire as the "Recurse" rule has a higher salience.</para>
+
+		<figure>
+			<title>Fibonacci Example "Recurse" Agenda View 1</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+
+		<para>When a Fibonacci with a sequence of 1 is asserted the "Bootstrap" rule is matched again, causing two activations for this rule; note that the "Recurse" rule does not match and activate because the 'not conditional element stops the rule matching when a Fibonacci with a sequence of 1 exists.</para>
+
+		<figure>
+			<title>Fibonacci Example "Recurse" Agenda View 2</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+
+		<para>Once we have two Fibonacci objects both with values not equal to -1 the "calculate" rule is able to match; remember it was the "Bootstrap" rule that set the Fibonacci's with sequences 1 and 2 to values of 1. At this point we have 50 Fibonacci objects in the Working Memory and we some how need to select the correct ones to calculate each of their values in turn. With three Fibonacci patterns in a rule with no field constriants to correctly constrain the available cross products we have 50x50x50 possible permutations, thats 125K possible rule firings. The "Calculate" rule uses the field constraints to correctly constraint the thee Fibonacci patterns and in the correct order; this technique is called "cross product matching". The first pattern finds any Fibonacci with a value != -1 and binds both the pattern and the field. The second Fibonacci does too but it adds an additional field constraint to make sure that its sequence is one greater than the Fibonacci bound to f!
 1. When this rule first fires we know that only sequences 1 and 2 have values of 1 and the two constraints ensure that f1 references sequence 1 and f2 references sequence2. The final pattern finds the Fibonacci of a value == -1 with a sequence one greater than f2. At this point we have three Fibonacci objects correctly selected from the available cross products and we can do the maths calculating the value for Fibonacci sequence = 3.</para>
+
+		<example>
+			<title>Fibonacci Example : Rule "Calculate"</title>
+
+			<programlisting>rule Calculate
+    when
+        f1 : Fibonacci( s1 : sequence, value != -1 ) // here we bind sequence
+        f2 : Fibonacci( sequence == (s1 + 1 ), value != -1 ) // here we don't, just to demonstrate the different way bindings can be used
+        f3 : Fibonacci( s3 : sequence == (f2.sequence + 1 ), value == -1 )              
+    then    
+        modify ( f3 ) { value = f1.value + f2.value };
+        System.out.println( s3 + " == " + f3.value ); // see how you can access pattern and field  bindings
+end 
+</programlisting>
+		</example>
+
+		<para>The MVEL modify keyword updated the value of the Fibonacci object bound to f3, this means we have a new Fibonacci object with a value != -1, this allows the "Calculate" rule to rematch and calculate the next Fibonacci number. The Audit view below shows the how the firing of the last "Bootstrap" modifies the Fibonacci object enabling the "Calculate" rule to match, which then modifies another Fibonacci object allowing the "Calculate" rule to rematch. This continues till the value is set for all Fibonacci objects.</para>
+
+		<figure>
+			<title>Fibonacci Example "Bootstrap" Audit View 1</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="images/Chapter-Examples/FibonacciExample/fibonacci4.png" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-FibonacciExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-GolfingExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-GolfingExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-GolfingExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Golfing Example</title>
+
+		<screen><emphasis role="bold">Name:</emphasis> Golfing
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.GolfingExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> golf.drl
+<emphasis role="bold">Objective:</emphasis> Configuration example that finds the solution from a large number of available cross products
+</screen>
+
+		<para>The golf example solves a "riddle" style problem that is simple enough to state in sentences, but for which a conventional algorithmic solition is not obvious. It does this by searching for a suitable combination from a "space" of possible solutions.</para>
+		
+		<section>
+			<title>The riddle</title>
+
+			<para>The problem is written as a riddle:</para>
+
+			<orderedlist>
+				<listitem>
+					<para>A foursome of golfers is standing at a tee, in a line from left to right.</para>
+				</listitem>
+
+				<listitem>
+					<para>Each golfer wears different colored pants; one is wearing red pants.</para>
+				</listitem>
+
+				<listitem>
+					<para>The golfer to Fred�s immediate right is wearing blue pants.</para>
+				</listitem>
+
+				<listitem>
+					<para>Joe is second in line.</para>
+				</listitem>
+
+				<listitem>
+					<para>Bob is wearing plaid pants.</para>
+				</listitem>
+
+				<listitem>
+					<para>Tom isn't in position one or four, and he isn't wearing the hideous orange pants.</para>
+				</listitem>
+			</orderedlist>
+
+			<para>The immediate thing about this riddle, is that a solution is not obvious (of course ! it wouldn't be a riddle otherwise !). It also isn't obvious how to write an algorithm to solve it (if it is for you - then you can take a break now, go have a coffee or someting to reward your uber intellect).</para>
+
+			<para>Instead of thinking about how to solve it, we can be lazy and use rules instead. So we don't attempt to solve it, we just state the problem in rules, and let the engine derive the solution.</para>
+		</section>
+		
+		<section>
+			<title>Launching the example</title>
+
+			<para>The supporting code is in the GolfingExample.java class. There is an inner class "Golfer" which represents a golf player, it has their name, position (1 to 4 meaning left to right), and their pants color, as simple properties.</para>
+
+			<screen>String[] names = new String[] { "Fred", "Joe", "Bob", "Tom" };
+String[] colors = new String[] { "red", "blue", "plaid", "orange" };
+int[] positions = new int[] { 1, 2, 3, 4 };
+        
+for ( int n = 0; n &lt; names.length; n++ ) {
+    for ( int c = 0; c &lt; colors.length; c++ ) {
+        for ( int p = 0; p &lt; positions.length; p++ ) {
+            session.insert( new Golfer( names[n], colors[c], positions[p]) );
+        }                
+    }            
+}      </screen>
+
+			<para>The above listing shows the interesting part of the supporting code. Note that we have arrays representing each name, color, and position. We then go through a nested loop inserting instances of Golfer - so in the working memory we will have all combinations of name, color and position. It is then the job of the rules to find the appropriate one.</para>
+
+			<para>Launching the code as a java application should yield the following output:</para>
+
+			<programlisting>Fred 1 orange
+Joe 2 blue
+Bob 4 plaid
+Tom 3 red     </programlisting>
+
+			<para>This shows that the rule(s) have found a suitable solution.</para>
+		</section>
+
+		<section>
+			<title>The matching rule</title>
+
+			<para>The solution in rules is quite simple, it is a single rule which expresses the constraints as stated in the riddle. Effectively, we can interpret the riddle as a series of constraints on our object model. Given that we have enough "combinations" in the working memory, all we have to do is express the constraints in a rule and the engine will match it with a solution (we don't really care how it does it, as long as it works !).</para>
+
+			<para>There is one rule in the solution, in golf.drl, called "find solution". The rule is made up of 5 patterns, with constraints that map to items in the riddle.</para>
+
+			<programlisting>$fred : Golfer( name == "Fred" )      </programlisting>
+
+			<para>In the above pattern, we are simply matching a Golfer who is called fred, and binding it to a variable called $fred. All that we know is that there is a golfer called fred.</para>
+
+			<programlisting>$joe : Golfer( name == "Joe",
+               position == 2,
+               position != $fred.position,
+               color != $fred.color )      </programlisting>
+
+			<para>The next pattern says that we have a golfer named Joe, in position 2 ("second in line"). Now, we also know that he must NOT be in the same position as fred (of course !) and have different color pants. So far, nothing that amazing.</para>
+
+			<programlisting>$bob : Golfer( name == "Bob",
+               position != $fred.position,
+               position != $joe.position,
+               color == "plaid",
+               color != $fred.color,
+               color != $joe.color )      </programlisting>
+
+			<para>Refering to the above, we also know there is a golfer called Bob, who wears plaid pants - once again that all we know about him. but of course, we add in the constraints that he must be in a different position to fred, joe, and also have different colored pants.</para>
+
+			<programlisting>$tom : Golfer( name == "Tom",
+               position != 1,
+               position != 4,
+               position != $fred.position,
+               position != $joe.position,
+               position != $bob.position,
+               color != "orange,               
+               color != $fred.color,
+               color != $joe.color,
+               color != $bob.color )      </programlisting>
+
+			<para>(referring to the above) We also know that there is a guy called Tom, who doesn't wear the Orange pants, AND he is not in position 1, or 4. Of course we also add in the other constraints (he must be in a different position to the others so far, and have a different color).</para>
+
+			<programlisting>Golfer( position == ( $fred.position + 1 ),
+        color == "blue",
+        this in ( $joe, $bob, $tom ) )      </programlisting>
+
+			<para>Finally, we know that the golfer on the right of Fred (position + 1), is in blue pants. We also add in the constraint that he must be either Joe, Bob or Tom (as Fred can't be beside himself, well he can I guess, but not in the sense we mean here !) - note the use of "this" to refer to the current pattern, we don't really care who "this" is, just who they are not. Maybe if Fred was really really happy they this wouldn't work, but lets assume otherwise for now.</para>
+
+			<para>Thats it ! We have expressed the rule as constraints that map to the ones expressed in the riddle, yet we haven't had to solve the riddle, the engine does that for us.</para>
+		</section>
+
+		<section>
+			<title>Conclusion</title>
+
+			<para>This simple example shows how you can express a problem declaratively, and let the engine solve the problem for you, by making use of combinations. This is an often useful technique, as it allows you to express rules as a statement of the problem you are trying to solve.</para>
+
+			<para>Of course, care must be taken. Using combinatorics like this can cause performance problems when there are large numbers of facts (eg in this case, if there were a larger number of golfers, or colors/positions etc - possibilities). When the fact count grows, the combinations the engine has to deal with can explode exponentially, making this not very efficient. However, in cases where the rules are perhaps complex, the problem is hard, but the fact numbers are relatively low, this approach can be very very useful and help you solve problems that would otherwise be very hard.</para>
+		</section>
+
+	<section>
+		<title>Trouble Ticket</title>
+
+		<para>The trouble ticket example shows how to use the duration attribute for temporal rules, and also includes an alternative version using a dsl.</para>
+
+		<programlisting><emphasis role="bold">Name:</emphasis> TroubleTicket
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.TroubleTicketExample, org.drools.examples.TroubleTicketExampleWithDSL
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> TroubleTicket.drl, TroubleTicketWithDSL.dslr
+<emphasis role="bold">Objective:</emphasis> Show temporal rules in action
+</programlisting>
+
+		<para>The trouble ticket example is based around the idea of raising a "ticket" (ie an issue) with a vendor (these are the vendors rules). Each customer has a subscription class assigned to it (eg Gold, Silver etc) and their class determines how the ticket is treated with respect to time, and escalating the issue. The normal drl version will be discussed here, but logically the DSL version is the same (it just uses a DSL defined language instead of the normal DRL).</para>
+
+		<para>We have 2 types of facts, Customer and Ticket. A Ticket belongs to one and only one customer. A Customer has a name and a "subscription" type (Gold, Silver or Platinum). A ticket also has a "status" - which determines (obviously) what state it is in. The state may be set externally, or by the rules engine (eg it starts out "New", and then the system user determines that it is "Done" at some later point). The rules exist to ensure that the tickets are escalated appropriately based on the customer subscription class.</para>
+
+		<para>Customers can choose Silver, Gold, or Platinum (in order of increasing responsiveness). Platinum subscriptions also come with a set of steak knives, and a personal butler to lodge the ticket for you (but obviously it costs more).</para>
+	</section>
+	
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-GolfingExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HelloWorldExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HelloWorldExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HelloWorldExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Hello World</title>
+
+  <screen><emphasis role="bold">Name:</emphasis> Hello World
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.HelloWorldExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> HelloWorld.drl
+<emphasis role="bold">Objective:</emphasis> demonstrate basic rules in use</screen>
+
+  <para>The "Hello World" example shows a simple example of rules usage, and
+  both the MVEL and Java dialects.</para>
+
+  <para>In this example it will be shown how to build rulebases and sessions
+  and how to add audit logging and debug outputs, this information is ommitted
+  from other examples as it's all very similar. PackageBuilder is used to turn
+  a drl source file into Package objects which the RuleBase can consume,
+  addPackageFromDrl takes a Reader interface as the parameter. Reader can be
+  used to retrieve a source drl file from various locations, in this case the
+  drl file is being retrieved from the classpath as an InputStream which we
+  turn into a Reader by wrapping it with InputStreamReader; but it could come
+  the disk or a url. The use of the Reader interface means that Drools does
+  not have to care. In this case we only add a single drl source file, but
+  multiple drl files can be added and all are merged into a single Package.
+  All drl files added to the PackageBuilder must declare themselves in the
+  same package namespace, if you wish to build a Package in a different
+  namespace a new instance of PackageBuilder must be created; multiple
+  packages of differerent namespaces can be added to the same RuleBase. When
+  all the drl files have been added we should check the builder for errors;
+  while the RuleBase will validate the packge it will only have access to the
+  error information as a String, so if you wish to debug the error information
+  you should do it on the builder instance. Once we know the builder is error
+  free get the Package, instantiate a RuleBase from the RuleBaseFactory and
+  add the package.</para>
+
+  <example>
+    <title>HelloWorld example: Creating the RuleBase and Session</title>
+
+    <programlisting>//read in the source
+Reader source = new InputStreamReader( HelloWorldExample.class.getResourceAsStream( "HelloWorld.drl" ) );
+
+PackageBuilder builder = new PackageBuilder();
+
+//this will parse and compile in one step
+builder.addPackageFromDrl( source );
+
+// Check the builder for errors
+if ( builder.hasErrors() ) {
+    System.out.println( builder.getErrors().toString() );
+    throw new RuntimeException( "Unable to compile \"HelloWorld.drl\".");
+}
+
+//get the compiled package (which is serializable)
+Package pkg = builder.getPackage();
+
+//add the package to a rulebase (deploy the rule package).
+RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ruleBase.addPackage( pkg );
+
+StatefulSession session = ruleBase.newStatefulSession();</programlisting>
+  </example>
+
+  <para>Drools has an event model that exposes much of what's happening
+  internally, two default debug listeners are supplied
+  DebugAgendaEventListener and DebugWorkingMemoryEventListener which print out
+  debug event information to the err console, adding listeners to a session is
+  trivial and shown below. The WorkingMemoryFileLogger provides execution
+  auditing which can be viewed in a graphical viewer; it's actually a
+  specialised implementation built on the agenda and working memory listeners,
+  when the engine has finished executing logger.writeToDisk() must be
+  called.</para>
+
+  <para>Most of the examples use the Audit logging features of Drools to
+  record execution flow for later inspection.</para>
+
+  <example>
+    <title>HelloWorld example: Event logging and Auditing</title>
+
+    <programlisting>// setup the debug listeners
+session.addEventListener( new DebugAgendaEventListener() );
+session.addEventListener( new DebugWorkingMemoryEventListener() );
+        
+// setup the audit logging
+WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+logger.setFileName( "log/helloworld" );     </programlisting>
+  </example>
+
+  <para>The single class used in this example is very simple, it has two
+  fields: the message, which is a String and the status which can be either
+  the int HELLO or the int GOODBYE.</para>
+
+  <example>
+    <title>HelloWorld example: Message Class</title>
+
+    <programlisting>public static class Message {
+    public static final int HELLO   = 0;
+    public static final int GOODBYE = 1;
+
+    private String          message;
+    private int             status; 
+    ...
+}</programlisting>
+  </example>
+
+  <para>A single Message object is created with the message "Hello World" and
+  status HELLO and then inserted into the engine, at which point
+  fireAllRules() is executed. Remember all the network evaluation is done
+  during the insert time, by the time the program execution reaches the
+  fireAllRules() method it already knows which rules are fully matches and
+  able to fire.</para>
+
+  <example>
+    <title>HelloWorld example: Execution</title>
+
+    <programlisting>Message message = new Message();
+message.setMessage( "Hello World" );
+message.setStatus( Message.HELLO );
+session.insert( message );
+        
+session.fireAllRules();
+        
+logger.writeToDisk();
+      
+session.dispose();    </programlisting>
+  </example>
+
+  <para>To execute the example from Java.</para>
+
+  <orderedlist>
+    <listitem>
+      <para>Open the class org.drools.examples.FibonacciExample in your
+      Eclipse IDE</para>
+    </listitem>
+
+    <listitem>
+      <para>Right-click the class an select "Run as..." -&gt; "Java
+      application"</para>
+    </listitem>
+  </orderedlist>
+
+  <para>If we put a breakpoint on the fireAllRules() method and select the
+  session variable we can see that the "Hello World" view is already activated
+  and on the Agenda, showing that all the pattern matching work was already
+  done during the insert.</para>
+
+  <figure>
+    <title>Hello World : fireAllRules Agenda View</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>The may application print outs go to to System.out while the debug
+  listener print outs go to System.err.</para>
+
+  <example>
+    <title>HelloWorld example: Console.out</title>
+
+    <programlisting>Hello World
+Goodbye cruel world</programlisting>
+  </example>
+
+  <example>
+    <title>HelloWorld example: Console.err</title>
+
+    <programlisting>==&gt;[ActivationCreated(0): rule=Hello World; 
+                          tuple=[fid:1:1:org.drools.examples.HelloWorldExample$Message at 17cec96]]
+[ObjectInserted: handle=[fid:1:1:org.drools.examples.HelloWorldExample$Message at 17cec96]; 
+                 object=org.drools.examples.HelloWorldExample$Message at 17cec96]
+[BeforeActivationFired: rule=Hello World; 
+                        tuple=[fid:1:1:org.drools.examples.HelloWorldExample$Message at 17cec96]]
+==&gt;[ActivationCreated(4): rule=Good Bye; 
+                          tuple=[fid:1:2:org.drools.examples.HelloWorldExample$Message at 17cec96]]
+[ObjectUpdated: handle=[fid:1:2:org.drools.examples.HelloWorldExample$Message at 17cec96]; 
+                old_object=org.drools.examples.HelloWorldExample$Message at 17cec96; 
+                new_object=org.drools.examples.HelloWorldExample$Message at 17cec96]
+[AfterActivationFired(0): rule=Hello World]
+[BeforeActivationFired: rule=Good Bye; 
+                        tuple=[fid:1:2:org.drools.examples.HelloWorldExample$Message at 17cec96]]
+[AfterActivationFired(4): rule=Good Bye]  </programlisting>
+  </example>
+
+  <para>The <emphasis role="bold">LHS (when)</emphasis> section of the rule
+  states that it will be activated for each <emphasis>Message</emphasis>
+  object inserted into the working memory whose <emphasis>status</emphasis> is
+  <emphasis>Message.HELLO</emphasis>. Besides that, two variable binds are
+  created: "<emphasis>message</emphasis>" variable is bound to the
+  <emphasis>message</emphasis> attribute and "<emphasis>m</emphasis>" variable
+  is bound to the <emphasis>object matched pattern</emphasis> itself.</para>
+
+  <para>The <emphasis role="bold">RHS (consequence, then)</emphasis> section
+  of the rule is written using the MVEL expression language, as declared by
+  the rule's attribute <emphasis>dialect</emphasis>. After printing the
+  content of the <emphasis>message</emphasis> bound variable to the default
+  console, the rule changes the values of the <emphasis>message</emphasis> and
+  <emphasis>status</emphasis> attributes of the <emphasis>m</emphasis> bound
+  variable; using MVEL's 'modify' keyword which allows you to apply a block of
+  setters in one statement, with the engine being automatically notified of
+  the changes at the end of the block.</para>
+
+  <example>
+    <title>HelloWorld example: rule "Hello World"</title>
+
+    <programlisting>rule "Hello World"
+      dialect "mvel"
+  when
+      m : Message( status == Message.HELLO, message : message )
+  then
+      System.out.println( message ); 
+      modify ( m ) { message = "Goodbyte cruel world",
+                     status = Message.GOODBYE };
+end</programlisting>
+  </example>
+
+  <para>We can add a break point into the DRL for when modify is called during
+  the execution of the "Hello World" consequence and inspect the Agenda view
+  again. Notice this time we "Debug As" a "Drools application" and not a "Java
+  application".</para>
+
+  <orderedlist>
+    <listitem>
+      <para>Open the class org.drools.examples.FibonacciExample in your
+      Eclipse IDE</para>
+    </listitem>
+
+    <listitem>
+      <para>Right-click the class an select "Debug as..." -&gt; "Drools
+      application"</para>
+    </listitem>
+  </orderedlist>
+
+  <para>Now we can see that the other rule "Good Bye" which uses the java
+  dialect is activated and placed on the agenda.</para>
+
+  <figure>
+    <title>Hello World : rule "Hello World" Agenda View</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>The "Good Bye" rule is similar to the "Hello World" rule but matches
+  Message objects whose status is Message.GOODBYE instead, printing its
+  message to the default console, it specifies the "java" dialect.</para>
+
+  <example>
+    <title>HelloWorld example: rule "Good Bye"</title>
+
+    <programlisting>rule "Good Bye"
+      dialect "java"
+  when
+      Message( status == Message.GOODBYE, message : message )
+  then
+      System.out.println( message ); 
+end</programlisting>
+  </example>
+
+  <para>If you remember at the start of this example in the java code we
+  created a WorkingMemoryFileLogger and called logger.writeToDisk() at the
+  end, this created an audit log file that can be shown in the Audit view. We
+  use the audit view in many of the examples to try and understand the example
+  execution flow. In the view below we can see the object is inserted which
+  creates an activation for the "Hello World" rule, the activation is then
+  executed which updated the Message object causing the "Good Bye" rule to
+  activate, the "Good Bye" rule then also executes. When an event in the Audit
+  view is select it highlights the origin event in green, so below the
+  Activation created event is highlighted in greed as the origin of the
+  Activation executed event.</para>
+
+  <figure>
+    <title>Hello World : Audit View</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HelloWorldExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HonestPoliticianExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HonestPoliticianExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HonestPoliticianExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Honest Politician Example</title>
+
+		<para>The honest politician example demonstrates truth maintenance with logical assertions, the basic premise is that an object can only exist while a statement is true. A rule's consequence can logical insert an object with the insertLogical method, this means the object will only remain in the working memory as long as the rule that logically inserted it remains true, when the rule is no longer true the object is automatically retracted.</para>
+
+    <para>In this example there is Politician class with a name and a boolean
+    value for honest state, four politicians with honest state set to true are
+    inserted.</para>
+
+    <para><example>
+        <title>Politician Class</title>
+
+        <programlisting>public class Politician {
+    private String name;
+    private boolean honest;
+    ...
+}</programlisting>
+      </example><example>
+        <title>Honest Politician Example Execution</title>
+
+        <programlisting>Politician blair  = new Politician("blair", true);
+Politician bush  = new Politician("bush", true);
+Politician chirac  = new Politician("chirac", true);
+Politician schroder   = new Politician("schroder", true);
+        
+session.insert( blair );
+session.insert( bush );
+session.insert( chirac );
+session.insert( schroder );
+
+session.fireAllRules();</programlisting>
+      </example>The console out shows that while there is atleast one honest
+    polician democracy lives, however as each politician is in turn corrupted
+    by an evil corporation, when all politicians are dishonest democracy is
+    dead.<example>
+        <title>Honest Politician Example Console Output</title>
+
+        <programlisting>Hurrah!!! Democracy Lives
+I'm an evil corporation and I have corrupted schroder
+I'm an evil corporation and I have corrupted chirac
+I'm an evil corporation and I have corrupted bush
+I'm an evil corporation and I have corrupted blair
+We are all Doomed!!! Democracy is Dead
+</programlisting>
+      </example>As soon as there is one more more honest politcians in the
+    working memory a new Hope object is logically asserted, this object will
+    only exist while there is at least one or more honest politicians, the
+    moment all politicians are dishonest then the Hope object will be
+    automatically retracted. This rule is given a salience of 10 to make sure
+    it fires before any other rules, as at this stage the "Hope is Dead" rule
+    is actually true.</para>
+
+    <example>
+      <title>Honest Politician Example : Rule "We have an honest
+      politician"</title>
+
+      <programlisting>rule "We have an honest Politician"
+    salience 10
+    when
+        exists( Politician( honest == true ) )
+    then
+        insertLogical( new Hope() );
+end</programlisting>
+    </example>
+
+    <para>As soon as a Hope object exists the "Hope Lives" rule matches, and
+    fires, it has a salience of 10 so that it takes priority over "Corrupt the
+    Honest".</para>
+
+    <example>
+      <title>Honest Politician Example : Rule "Hope Lives"</title>
+
+      <programlisting>rule "Hope Lives"
+    salience 10
+    when
+        exists( Hope() )
+    then
+        System.out.println("Hurrah!!! Democracy Lives");
+end</programlisting>
+    </example>
+
+    <para>Now that hope exists and we have, at the start, four honest
+    politicians we have 4 activations for this rule all in conflict. This rule
+    iterates over those rules firing each one in turn, corrupting each
+    politician so that they are no longer honest. When all four politicians
+    have been corrupted we have no politicians with the property "honest ==
+    true" thus the rule "We hvae an honest Politician" is no longer true and
+    the object it logical inserts "new Hope()" is automatically
+    retracted.</para>
+
+    <example>
+      <title>Honest Politician Example : Rule "Corrupt the Honest"</title>
+
+      <programlisting>rule "Corrupt the Honest"
+    when
+        politician : Politician( honest == true )   
+        exists( Hope() )
+    then
+        System.out.println( "I'm an evil corporation and I have corrupted " + politician.getName() );
+        modify ( politician ) { honest = false };
+end</programlisting>
+    </example>
+
+    <para>With Hope being automatically retracted, via the truth maintenance
+    system, then Hope no longer exists in the system and this rule will match
+    and fire.</para>
+
+    <example>
+      <title>Honest Politician Example : Rule "Hope is Dead"</title>
+
+      <programlisting>rule "Hope is Dead"
+    when
+        not( Hope() )
+    then
+        System.out.println( "We are all Doomed!!! Democracy is Dead" );
+end</programlisting>
+    </example>
+
+    <para>lets take a look the audit trail for this application:</para>
+
+    <figure>
+      <title>Honest Politician Example Audit View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The moment we insert the first politician we have two activations,
+    the "We have an honest Politician" is activated only once for the first
+    inserted politician because it uses an existential 'exists' conditional
+    element which only matches. the rule "Hope is Dead" is also activated at
+    this stage, because as of yet we have not inserted the Hope object. "We
+    have an honest Politician" fires first, as it has a higher salience over
+    "Hope is Dead" which inserts the Hope object, that action is highlighted
+    green above. The insertion of the Hope object activates "Hope Lives" and
+    de-activates "Hope is Dead", it also actives "Corrupt the Honest" for each
+    inserted honested politician. "Rule Hope Lives" executes printing
+    "Hurrah!!! Democracy Lives". Then for each politician the rule "Corrupt
+    the Honest" fires printing "I'm an evil corporation and I have corrupted
+    X", where X is the name of the politician, and modifies the politicians
+    honest value to false. When the last honest polician is corrupted Hope is
+    automatically retracted, by the truth maintenance system, as shown by the
+    blue highlighted area. The green highlighted area shows the origin of the
+    currently selected blue highlighted area. Once Hope is retracted "Hope is
+    dead" activates and fires printing "We are all Doomed!!! Democracy is
+    Dead".</para>
+
+  </section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-HonestPoliticianExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-InsuranceExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-InsuranceExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-InsuranceExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Insurance Company Risk Factor and Policy price (using BRMS)</title>
+
+		<screen><emphasis role="bold">Name:</emphasis> drools-insurance 
+<emphasis role="bold">Type:</emphasis> java web application
+<emphasis role="bold">Rules file:</emphasis> exported repository from brms, repository_export.xml
+<emphasis role="bold">Objective:</emphasis> Demonstrates how to use, organize, deploy and execute a rulebase from BRMS</screen>
+
+		<section>
+			<title>BRMS editors</title>
+
+			<para>The BRMS has many GUI editors, and textual editors. This discusses a few example rules using some of the GUI features:</para>
+
+			<figure>
+				<title>Guided editor</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="images/Chapter-Examples/InsuranceExample/BRMS_Guided.png" format="PNG" scalefit="2" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>The above example shows the guided editor in action. This is a slightly more complex example, as a few bound variables are used. We are binding "$driver" to the Driver fact, and also binding driverId to the id field of the driver (which is then used in the SupplementalInfo fact - to join the driverId with the actual driver id). Note the use of the ruleflow-group to specify what step of the processing this rule applies to.</para>
+
+			<figure>
+				<title>DSL Editor</title>
+				
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="images/Chapter-Examples/InsuranceExample/BRMS_DSL.png" format="PNG" scalefit="2" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>The above shows the editor using a DSL. In this case the "guided editor" was used - this is not a text area, but only provides text boxes to "fill in the blanks" as specified in the DSL configuration. Note you can also use text based DSLs where there is not this restriction.</para>
+		</section>
+
+		<section>
+			<title>Introduction</title>
+
+			<para>Insurance, in law and economics, is a form of risk management primarily used to hedge against the risk of a contingent loss. Insurance is defined as the equitable transfer of the risk of a loss, from one entity to another, in exchange for a premium. Insurer, in economics, is the company that sells the insurance. Insurance rate is a factor used to determine the amount, called the premium, to be charged for a certain amount of insurance coverage. Risk management, the practice of appraising and controlling risk, has evolved as a discrete field of study and practice.</para>
+		</section>
+
+		<section>
+			<title>The insurance logic</title>
+
+			<para>If you have a poor driving record, you may need to look into high risk auto insurance. Accidents increase these rates as well. If you have a low experience for example less than 3 years as a licensed driver, insurance companies believe that the chances that you will be involved in a traffic accident are higher than someone more expert.</para>
+
+			<para>Who you are also plays a factor. Men are considered more of a risk than women. Teens are considered more of a risk than adults as well if you have some younger driver in family like your 20 years old son.</para>
+		
+			<screen>rule "Young male single driver"
+ruleflow-group "risk assessment"
+when
+ $driver : Driver( genre == Driver.MALE, age &lt; 25, maritalState == Driver.SINGLE )
+then 
+ $driver.updateInsuranceFactor(1.6);
+end
+
+rule "no expert driver"
+ruleflow-group "risk assessment"
+when
+ $driver : Driver ( licenceYears &lt; 3 )
+then
+ $driver.updateInsuranceFactor(1.2);
+end
+</screen>
+
+			<para>Extra coverage over glasses, additional car and accessories, like your expansive "pimped" sound system will increase your insurance final price, not the risk factor. </para>
+		
+			<screen>ruleflow-group "insurancecalcule"
+salience 20
+when
+ not Rejection()
+ $driver : Driver ( driverID : id )
+ $access : AccessoriesCoverage ( driverId == driverID)
+ $policy : Policy( approved == true )
+then
+ $policy.setInsurancePrice( $policy.getInsurancePrice() + 
+  ($access.getAlarmSystemValue() * 0.10) + 
+  ($access.getArmorValue() * 0.20) +
+  ($access.getSoundSystemValue() * 0.30 ));
+</screen>
+
+			<para>This example uses the previously explained <emphasis role="bold">RuleFlow</emphasis> feature, the following diagram gives you an overview of the insurance factor and calculate logic: As you can see, we first calculate the insurance factor, if the driver matches with some rejection condition we don't execute the group that contains the Policy price calculus, just returning and not approved policy </para>
+
+			<screen>ruleflow-group "insurancecalcule"
+salience 10
+when
+ not Rejection()
+ $driver : Driver(ifactor : insuranceFactor)
+ $policy : Policy( approved == true, bp : basePrice, ip : insurancePrice )
+then
+ $policy.setInsurancePrice((bp * ifactor) + ip);
+</screen>
+
+
+			<figure>
+				<title>The insurance rule flow</title>
+	
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="images/Chapter-Examples/InsuranceExample/insurance-ruleflow.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+		</section>
+
+		<section>
+			<title>Downloading and installing the BRMS</title>
+	
+			<itemizedlist>
+				<listitem>
+					<para>Download the latest version of BRMS from http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules</para>
+				</listitem>
+	
+				<listitem>
+					<para>Deploy BRMS WAR file into JBoss4.2 AS or JBossWeb, other containers can be used as well possibly with some tweaking of dependencies (check this url if you using a different application server http://wiki.jboss.org/wiki/Wiki.jsp?page=JBRMSjsfdependencies).</para>
+				</listitem>
+	
+				<listitem>
+					<para>Check you can access and run the BRMS.</para>
+				</listitem>
+	
+				<listitem>
+					<para>Check out the demo project from the Drools subversion repository http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-examples/drools-insurance/</para>
+				</listitem>
+	
+				<listitem>
+					<para>Import the demo business rules insurance repository file into BRMS, the compressed can be found at "files" folder in the demo project. To do this, open the "files" directory, unzip the file there locally, and then go to the "Admin" section and "Manage import/export" of the BRMS, select the file, and press "Import" - follow instructions.</para>
+				</listitem>
+	
+				<listitem>
+					<para>Navigate through the BRMS web application to see how things are placed and organized and try to create some rules.</para>
+				</listitem>
+	
+				<listitem>
+					<para>Go to the "Packages" feature and build the package (you should see no errors).</para>
+				</listitem>
+	
+				<listitem>
+					<para>Now go to the "Deployment" feature, when you click on the package, it will show you one snapshot (which was part of the import, you can create more if you like from the previous step).</para>
+				</listitem>
+			</itemizedlist>
+		</section>
+	
+		<section>
+			<title>Deploying the insurance example in your application server</title>
+	
+			<itemizedlist>
+				<listitem>
+					<para>Go into your downloaded project and execute <programlisting>mvn clean package</programlisting></para>
+				</listitem>
+	
+				<listitem>
+					<para>You should see the RuleAgent downloadomg the pre-compiled package from brms, if something goes wrong and all tests fails, check if the BRMS is up and running and try rebuild the package snapshot.</para>
+					
+				<screen>Running org.acme.insurance.test.DriverTest
+RuleAgent(insuranceconfig) INFO (Wed Sep 18 14:11:44 BRT 2007): Configuring with newInstance=true, secondsToRefresh=30
+RuleAgent(insuranceconfig) INFO (Wed Sep 18 14:11:44 BRT 2007): Configuring package provider : URLScanner monitoring URLs:  
+                          http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance.base/InsuranceDemo
+
+RuleAgent(insuranceconfig) INFO (Wed Sep 18 14:11:45 BRT 2007): Applying changes to the rulebase.
+RuleAgent(insuranceconfig) INFO (Wed Sep 18 14:11:45 BRT 2007): Creating a new rulebase as per settings.
+RuleAgent(insuranceconfig) INFO (Wed Sep 18 14:11:45 BRT 2007): Adding package called org.acme.insurance.base
+
+... snip ...
+
+Insurance calculate
+Insurance Calcule: 0.0
+Driver wants non related expenses coverage: 1.05
+Driver wants glass coverage: 1.1025
+Driver wants extra assistence: 1.1576250000000001Driver wants an extra Car: 1.2155062500000002
+Driver Single Young Male Driver factor: 1.9448100000000004
+New Licenced driver 2.333772
+approve: 0.0
+Policy aproved focusing insurance calcule agenda-group
+Insurance calculate
+Insurance Calcule: 0.0
+Night Vehicle Place: 1.44
+Day Vehicle Place: 1.656
+approve: 0.0
+Policy aproved focusing insurance calcule agenda-group
+Insurance calculate
+Insurance extra itens percent: 545.0
+Insurance Calcule: 545.0
+Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
+
+Results :
+Tests run: 16, Failures: 0, Errors: 0, Skipped: 0
+</screen>
+				</listitem>
+			</itemizedlist>
+		</section>
+
+		<section>
+			<title>Running the example from the web page</title>
+	
+			<para>After running and packing you are able to deploy the war into your application server, just following the previous instructions for BRMS, then point your browser to the example url, that should be something like this http://localhost:8080/drools-insurance. Just play around the example and change some values and press the execute button, after the rules fired the result will be displayed in the bottom of the page.</para>
+	
+			<figure>
+				<title>The insurance web page</title>
+	
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="images/Chapter-Examples/InsuranceExample/insurance-website.png" format="PNG" scalefit="2" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+		</section>
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-InsuranceExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-MannersExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-MannersExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-MannersExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,612 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+    <title>Miss Manners and Benchmarking</title>
+
+    <programlisting><emphasis role="bold">Name:</emphasis> Miss Manners
+<emphasis role="bold">Main class:</emphasis> org.drools.benchmark.manners.MannersBenchmark
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> manners.drl
+<emphasis role="bold">Objective:</emphasis> Advanced walkthrough on the Manners benchmark, covers Depth conflict resolution in depth.</programlisting>
+
+    <section>
+      <title>Introduction</title>
+
+      <para>Miss Manners is throwing a party and being the good host she wants
+      to arrange good seating. Her initial design arranges everyone in male
+      female pairs, but then she worries about people have things to talk
+      about; what is a good host to do? So she decides to note the hobby of
+      each guest so she can then arrange guests in not only male and female
+      pairs but also ensure that a guest has someone to talk about a common
+      hobby, from either their left or right side.</para>
+
+      <figure>
+        <title>Miss Manners' Guests</title>
+
+        <mediaobject>
+
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Examples/MannersExample/guests_at_table.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <section>
+        <title>BenchMarking</title>
+
+        <para>5 benchmarks were established in the 1991 paper "Effects of
+        Database Size on Rule System Performance: Five Case Studies" by Brant,
+        Timothy Grose, Bernie Lofaso, &amp; Daniel P. Miranker.</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Manners</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Uses a depth-first search approach to determine the
+                seating arrangements of boy/girl and one common hobby for
+                dinner guests</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>Waltz</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>line labeling for simple scenes by constraint
+                propagation</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>WaltzDB</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>More general version of Walts to be able to adapt to a
+                database of facts</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>ARP</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Route planner for a robotic air vehicle using the A*
+                search algorithm</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>Weavera</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>VLSI router for channels and boxes using a black-board
+                technique</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </itemizedlist>
+
+        <para>Manners has become the de facto rule engine benchmark; however
+        it's behavior is now well known and many engines optimize for this
+        thus negating its usefulness as a benchmark which is why Waltz is
+        becoming more favorable. These 5 benchmarks are also published at the
+        University of Texas <ulink
+        url="http://www.cs.utexas.edu/ftp/pub/ops5-benchmark-suite/">http://www.cs.utexas.edu/ftp/pub/ops5-benchmark-suite/</ulink>.</para>
+      </section>
+
+      <section>
+        <title>Miss Manners Execution Flow</title>
+
+        <para>After the first Seating arrangement has been assigned a
+        depth-first recursion occurs which repeatedly assigns correct Seating
+        arrangements until the last seat is assigned. Manners uses a Context
+        instance to control execution flow; the activity diagram is
+        partitioned to show the relation of the rule execution to the current
+        Context state.</para>
+
+        <figure>
+          <title>Manners Activity Diagram</title>
+
+          <mediaobject>
+
+            <imageobject>
+		    <imagedata align="center" fileref="images/Chapter-Examples/MannersExample/manners_activity_diagram.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+      </section>
+
+      <section>
+        <title>The Data and Results</title>
+
+        <para>Before going deeper into the rules lets first take a look at the
+        asserted data and the resulting Seating arrangement. The data is a
+        simple set of 5 guests who should be arranged in male/female pairs
+        with common hobbies.</para>
+
+        <para><emphasis role="bold">The Data</emphasis></para>
+
+        <para>Each line of the results list is printed per execution of the
+        "Assign Seat" rule. They key bit to notice is that each line has pid
+        one greater than the last, the significance of this will be explained
+        in t he "Assign Seating" rule description. The 'l' and the 'r' refer
+        to the left and right, 's' is sean and 'n' is the guest name. In my
+        actual implementation I used longer notation, 'leftGuestName', but
+        this is not practice in a printed article. I found the notation of
+        left and right preferable to the original OPS5 '1' and '2</para>
+
+        <literallayout>(guest (name n1) (sex m) (hobby  h1)  )
+(guest (name n2) (sex f) (hobby  h1)  )
+(guest (name n2) (sex f) (hobby  h3)  )
+(guest (name n3) (sex m) (hobby  h3)  )
+(guest (name n4) (sex m) (hobby  h1)  )
+(guest (name n4) (sex f) (hobby  h2)  )
+(guest (name n4) (sex f) (hobby  h3)  )
+(guest (name n5) (sex f) (hobby  h2)  )
+(guest (name n5) (sex f) (hobby  h1)  )
+(last_seat (seat 5)  )</literallayout>
+
+        <para><emphasis role="bold">The Results</emphasis></para>
+
+        <literallayout>[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5] 
+[Seating id=2, pid=1, done=false, ls=1, ln=n5, rs=2, rn=n4] 
+[Seating id=3, pid=2, done=false, ls=2, ln=n4, rs=3, rn=n3] 
+[Seating id=4, pid=3, done=false, ls=3, rn=n3, rs=4, rn=n2] 
+[Seating id=5, pid=4, done=false, ls=4, ln=n2, rs=5, rn=n1]</literallayout>
+      </section>
+    </section>
+
+    <section>
+      <title>Indepth look</title>
+
+      <section>
+        <title>Cheating</title>
+
+        <para>Manners has been around a long time and is a contrived benchmark
+        meant to exercise the cross product joins and agenda, many people not
+        understanding this tweak the example to achieve better performance,
+        making their use of the Manners benchmark pointless. Known cheats to
+        Miss Manners are:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Using arrays for a guests hobbies, instead of asserting each
+            one as a single fact. This massively reduces the cross
+            products.</para>
+          </listitem>
+
+          <listitem>
+            <para>The altering of the sequence of data can also reducing the
+            amount of matching increase execution speed</para>
+          </listitem>
+
+          <listitem>
+            <para>Changing NOT CE (conditional element) such that the test
+            algorithm only uses the "first-best-match". Basically, changing
+            the test algorithm to backward chaining. the results are only
+            comparable to other backward chaining rule engines or ports of
+            Manners.</para>
+          </listitem>
+
+          <listitem>
+            <para>Removing the context so the rule engine matches the guests
+            and seats pre-maturely. A proper port will prevent facts from
+            matching using the context start.</para>
+          </listitem>
+
+          <listitem>
+            <para>Any change which prevents the rule engine from performing
+            combinatorial pattern matching</para>
+          </listitem>
+
+          <listitem>
+            <para>If no facts are retracted in the reasoning cycle, as a
+            result of NOT CE, the port is incorrect.</para>
+          </listitem>
+        </itemizedlist>
+      </section>
+
+      <section>
+        <title>Conflict Resolution</title>
+
+        <para>Manners benchmark was written for OPS5 which has two conflict
+        resolution strategies, LEX and MEA; LEX is a chain of several
+        strategies including Salience, Recency, Complexity. The Recency part
+        of the strategy drives the depth first (LIFO) firing order. The Clips
+        manual documents the recency strategy as:</para>
+
+        <blockquote>
+          <attribution>Clips Reference Manual</attribution>
+
+          <para>Every fact and instance is marked internally with a "time tag"
+          to indicate its relative recency with respect to every other fact
+          and instance in the system. The pattern entities associated with
+          each rule activation are sorted in descending order for determining
+          placement. An activation with a more recent pattern entities is
+          placed before activations with less recent pattern entities. To
+          determine the placement order of two activations, compare the sorted
+          time tags of the two activations one by one starting with the
+          largest time tags. The comparison should continue until one
+          activation’s time tag is greater than the other activation’s
+          corresponding time tag. The activation with the greater time tag is
+          placed before the other activation on the agenda. If one activation
+          has more pattern entities than the other activation and the compared
+          time tags are all identical, then the activation with more time tags
+          is placed before the other activation on the agenda.</para>
+        </blockquote>
+
+        <para>However Jess and Clips both use the Depth strategy, which is
+        simpler and lighter, which Drools also adopted. The Clips manual
+        documents the Depth strategy as:</para>
+
+        <blockquote>
+          <attribution>Clips Reference Manual</attribution>
+
+          <para>Newly activated rules are placed above all rules of the same
+          salience. For example, given that fact-a activates rule-1 and rule-2
+          and fact-b activates rule-3 and rule-4, then if fact-a is asserted
+          before fact-b, rule-3 and rule-4 will be above rule-1 and rule-2 on
+          the agenda. However, the position of rule-1 relative to rule-2 and
+          rule-3 relative to rule-4 will be arbitrary.</para>
+        </blockquote>
+
+        <para>The initial Drools implementation for the Depth strategy would
+        not work for manners without the use of salience on the "make_path"
+        rule, the Clips support team had this to say:</para>
+
+        <blockquote>
+          <attribution>Clips Support Forum</attribution>
+
+          <para>The default conflict resolution strategy for CLIPS, depth, is
+          different than the default conflict resolution strategy used by
+          OPS5. Therefore if you directly translate an OPS5 program to CLIPS,
+          but use the default depth conflict resolution strategy, you're only
+          likely to get the correct behavior by coincidence. The lex and mea
+          conflict resolution strategies are provided in CLIPS to allow you to
+          quickly convert and correctly run an OPS5 program in CLIPS</para>
+        </blockquote>
+
+        <para>Investigation into the Clips code reveals there is undocumented
+        functionality in the Depth strategy. There is an accumulated time tag
+        used in this strategy; it's not an extensively fact by fact comparison
+        as in the recency strategy, it simply adds the total of all the time
+        tags for each activation and compares.</para>
+      </section>
+
+      <section>
+        <title>Assign First Seat</title>
+
+        <para>Once the context is changed to START_UP Activations are created
+        for all asserted Guests; because all Activations are created as the
+        result of a single Working Memory action, they all have the same
+        Activation time tag. The last asserted Guest would have a higher fact
+        time tag and its Activation would fire, becuase it has the highest
+        accumulated fact time tag. The execution order in this rule has little
+        importance, but has a big impact in the rule "Assign Seat". The
+        Activation fires and asserts the first Seating arrangement, a Path and
+        then sets the Context's state to create Activation for "Assign
+        Seat".</para>
+
+        <programlisting>rule assignFirstSeat
+    when
+        context : Context( state == Context.START_UP )
+        guest : Guest()
+        count : Count()
+    then
+        String guestName = guest.getName();        
+
+        insert( new Seating( count.getValue(), 1, true, 1, guestName, 1, guestName) );        
+        insert( new Path( count.getValue(), 1, guestName ) );        
+
+        count.setValue(  count.getValue() + 1 );        
+        update( count );
+        context.setState( Context.ASSIGN_SEATS );       
+        update( context );
+end</programlisting>
+      </section>
+
+      <section>
+        <title>Assign Seat</title>
+
+        <para>This rule determines each of the Seating arrangements. The Rule
+        creates cross product solutions for ALL asserted Seating arrangements
+        against ALL the asserted guests; accept against itself or any already
+        assigned Chosen solutions.</para>
+
+        <programlisting>rule findSeating
+   when 
+       context : Context( state == Context.ASSIGN_SEATS )
+       $s      : Seating( pathDone == true )
+       $g1     : Guest( name == $s.rightGuestName )
+       $g2     : Guest( sex != $g1.sex, hobby == $g1.hobby )
+       count   : Count()
+       not ( Path( id == $s.id, guestName == $g2.name) )
+       not ( Chosen( id == $s.id, guestName == $g2.name, hobby == $g1.hobby) )
+   then
+       int rightSeat = $s.getRightSeat();
+       int seatId = $s.getId();
+       int countValue = count.getValue();
+       
+       insert( new Seating( countValue, seatId, false, rightSeat, $s.getRightGuestName(), rightSeat + 1, $g2.getName() ) );                                
+       insert( new Path( countValue, rightSeat + 1, $g2.getName() ) );       
+       insert( new Chosen( seatId, $g2.getName(), $g1.getHobby() ) );
+
+       count.setValue(  countValue + 1 );
+       update( count );       
+       context.setState( Context.MAKE_PATH );
+       update( context );
+end</programlisting>
+
+        <para>However, as can be seen from the printed results shown earlier,
+        it is essential that only the Seating with the highest pid cross
+        product be chosen – yet how can this be possible if we have
+        Activations, of the same time tag, for nearly all existing Seating and
+        Guests. For example on the third iteration of "Assing Seat" these are
+        the produced Activations, remember this is from a very small data set
+        and with larger data sets there would be many more possible Activated
+        Seating solutions, with multiple solutions per pid:</para>
+
+        <literallayout>=&gt;[ActivationCreated(35): rule=findSeating 
+[fid:19:33]:[Seating id=3, pid=2, done=true, ls=2, ln=n4, rs=3, rn=n3] 
+[fid:4:4]:[Guest name=n3, sex=m, hobbies=h3] 
+[fid:3:3]:[Guest name=n2, sex=f, hobbies=h3]
+
+=&gt;[ActivationCreated(35): rule=findSeating 
+[fid:15:23]:[Seating id=2, pid=1, done=true, ls=1, ln=n5, rs=2, rn=n4] 
+[fid:5:5]:[Guest name=n4, sex=m, hobbies=h1] 
+[fid:2:2]:[Guest name=n2, sex=f, hobbies=h1] 
+
+=&gt;[ActivationCreated(35): rule=findSeating 
+[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5] 
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1] 
+[fid:1:1]:[Guest name=n1, sex=m, hobbies=h1]</literallayout>
+
+        <para>The creation of all these redundant Activations might seem
+        pointless, but it must be remembered that Manners is not about good
+        rule design; it's purposefully designed as a bad ruleset to fully
+        stress test the cross product matching process and the agenda, which
+        this clearly does. Notice that each Activation has the same time tag
+        of 35, as they were all activated by the change in Context to
+        ASSIGN_SEATS. With OPS5 and LEX it would correctly fire the Activation
+        with the last asserted Seating. With Depth the accumulated fact time
+        tag ensures the Activation with the last asserted Seating
+        fires.</para>
+      </section>
+
+      <section>
+        <title>Make Path and Path Done</title>
+
+        <para>"Make Path" must always fires before "Path Done". A Path is
+        asserted for each Seating arrangement up to the last asserted Seating.
+        Notice that "Path Done" is a subset of "Make Path", so how do we
+        ensure that "Make Path" fires first?</para>
+
+        <programlisting>rule makePath
+    when 
+        Context( state == Context.MAKE_PATH )
+        Seating( seatingId:id, seatingPid:pid, pathDone == false )
+        Path( id == seatingPid, pathGuestName:guestName, pathSeat:seat )
+        not Path( id == seatingId, guestName == pathGuestName )
+    then
+        insert( new Path( seatingId, pathSeat, pathGuestName ) );
+end</programlisting>
+
+        <programlisting>rule pathDone
+    when
+        context : Context( state == Context.MAKE_PATH ) 
+        seating : Seating( pathDone == false ) 
+    then
+        seating.setPathDone( true ); 
+        update( seating );
+        
+        context.setState( Context.CHECK_DONE ); 
+        update( context );
+end</programlisting>
+
+        <figure>
+          <title>Rete Diagram</title>
+
+          <mediaobject>
+
+            <imageobject>
+		    <imagedata align="center" fileref="images/Chapter-Examples/MannersExample/make_path.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>Both rules end up on the Agenda in conflict and with identical
+        activation time tags, however the accumulate fact time tag is greater
+        for "Make Path" so it gets priority.</para>
+      </section>
+
+      <section>
+        <title>Continue and Are We Done</title>
+
+        <para>"Are We Done" only activates when the last seat is assigned, at
+        which point both rules will be activated. For the same reason that
+        "Make Path" always wins over "Path Done" "Are We Done" will take
+        priority over "Continue".</para>
+
+        <programlisting>rule areWeDone
+    when
+        context : Context( state == Context.CHECK_DONE ) 
+        LastSeat( lastSeat: seat )
+        Seating( rightSeat == lastSeat ) 
+    then
+        context.setState(Context.PRINT_RESULTS ); 
+        update( context );
+end
+</programlisting>
+
+        <programlisting>rule continue
+    when
+        context : Context( state == Context.CHECK_DONE ) 
+    then
+        context.setState( Context.ASSIGN_SEATS ); 
+        update( context );
+end
+</programlisting>
+      </section>
+    </section>
+
+    <section>
+      <title>Output Summary</title>
+
+      <literallayout><emphasis role="bold">Assign First seat</emphasis>
+=&gt;[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5]
+=&gt;[fid:14:14]:[Path id=1, seat=1, guest=n5]
+
+==&gt;[ActivationCreated(16): rule=findSeating
+[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5]
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1]
+[fid:1:1]:[Guest name=n1, sex=m, hobbies=h1]
+
+==&gt;[ActivationCreated(16): rule=findSeating
+[fid:13:13]:[Seating id=1 , pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5]
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1]
+[fid:5:5]:[Guest name=n4, sex=m, hobbies=h1]*
+
+<emphasis role="bold">Assign Seating</emphasis>
+=&gt;[fid:15:17] :[Seating id=2 , pid=1 , done=false, ls=1, lg=n5, rs=2, rn=n4]
+=&gt;[fid:16:18]:[Path id=2, seat=2, guest=n4]
+=&gt;[fid:17:19]:[Chosen id=1, name=n4, hobbies=h1]
+
+=&gt;[ActivationCreated(21): rule=makePath 
+[fid:15:17] : [Seating id=2, pid=1, done=false, ls=1, ln=n5, rs=2, rn=n4]
+[fid:14:14] : [Path id=1, seat=1, guest=n5]*
+
+==&gt;[ActivationCreated(21): rule=pathDone
+[Seating id=2, pid=1, done=false, ls=1, ln=n5, rs=2, rn=n4]*
+
+<emphasis role="bold">Make Path</emphasis>
+=&gt;[fid:18:22:[Path id=2, seat=1, guest=n5]]
+
+<emphasis role="bold">Path Done</emphasis>
+
+<emphasis role="bold">Continue Process</emphasis>
+=&gt;[ActivationCreated(25): rule=findSeating
+[fid:15:23]:[Seating id=2, pid=1, done=true, ls=1, ln=n5, rs=2, rn=n4]
+[fid:7:7]:[Guest name=n4, sex=f, hobbies=h3]
+[fid:4:4] : [Guest name=n3, sex=m, hobbies=h3]*
+
+=&gt;[ActivationCreated(25): rule=findSeating
+[fid:15:23]:[Seating id=2, pid=1, done=true, ls=1, ln=n5, rs=2, rn=n4]
+[fid:5:5]:[Guest name=n4, sex=m, hobbies=h1]
+[fid:2:2]:[Guest name=n2, sex=f, hobbies=h1], [fid:12:20] : [Count value=3]
+
+=&gt;[ActivationCreated(25): rule=findSeating
+[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5]
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1]
+[fid:1:1]:[Guest name=n1, sex=m, hobbies=h1]
+
+<emphasis role="bold">Assign Seating</emphasis>
+=&gt;[fid:19:26]:[Seating id=3, pid=2, done=false, ls=2, lnn4, rs=3, rn=n3]]
+=&gt;[fid:20:27]:[Path id=3, seat=3, guest=n3]]
+=&gt;[fid:21:28]:[Chosen id=2, name=n3, hobbies=h3}]
+
+=&gt;[ActivationCreated(30): rule=makePath
+[fid:19:26]:[Seating id=3, pid=2, done=false, ls=2, ln=n4, rs=3, rn=n3]
+[fid:18:22]:[Path id=2, seat=1, guest=n5]*
+
+=&gt;[ActivationCreated(30): rule=makePath 
+[fid:19:26]:[Seating id=3, pid=2, done=false, ls=2, ln=n4, rs=3, rn=n3]
+[fid:16:18]:[Path id=2, seat=2, guest=n4]*
+
+=&gt;[ActivationCreated(30): rule=done 
+[fid:19:26]:[Seating id=3, pid=2, done=false, ls=2, ln=n4, rs=3, rn=n3]*
+
+<emphasis role="bold">Make Path</emphasis>
+=&gt;[fid:22:31]:[Path id=3, seat=1, guest=n5]
+
+<emphasis role="bold">Make Path </emphasis>
+=&gt;[fid:23:32] [Path id=3, seat=2, guest=n4]
+
+<emphasis role="bold">Path Done</emphasis>
+
+<emphasis role="bold">Continue Processing</emphasis>
+=&gt;[ActivationCreated(35): rule=findSeating
+[fid:19:33]:[Seating id=3, pid=2, done=true, ls=2, ln=n4, rs=3, rn=n3]
+[fid:4:4]:[Guest name=n3, sex=m, hobbies=h3]
+[fid:3:3]:[Guest name=n2, sex=f, hobbies=h3], [fid:12:29]*
+
+=&gt;[ActivationCreated(35): rule=findSeating 
+[fid:15:23]:[Seating id=2, pid=1, done=true, ls=1, ln=n5, rs=2, rn=n4] 
+[fid:5:5]:[Guest name=n4, sex=m, hobbies=h1]
+[fid:2:2]:[Guest name=n2, sex=f, hobbies=h1]
+
+=&gt;[ActivationCreated(35): rule=findSeating 
+[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5] 
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1], [fid:1:1] : [Guest name=n1, sex=m, hobbies=h1]
+
+<emphasis role="bold">Assign Seating</emphasis>
+=&gt;[fid:24:36]:[Seating id=4, pid=3, done=false, ls=3, ln=n3, rs=4, rn=n2]]
+=&gt;[fid:25:37]:[Path id=4, seat=4, guest=n2]]
+=&gt;[fid:26:38]:[Chosen id=3, name=n2, hobbies=h3]
+
+==&gt;[ActivationCreated(40): rule=makePath 
+[fid:24:36]:[Seating id=4, pid=3, done=false, ls=3, ln=n3, rs=4, rn=n2]
+[fid:23:32]:[Path id=3, seat=2, guest=n4]*
+
+==&gt;[ActivationCreated(40): rule=makePath 
+[fid:24:36]:[Seating id=4, pid=3, done=false, ls=3, ln=n3, rs=4, rn=n2] 
+[fid:20:27]:[Path id=3, seat=3, guest=n3]*
+
+=&gt;[ActivationCreated(40): rule=makePath 
+[fid:24:36]:[Seating id=4, pid=3, done=false, ls=3, ln=n3, rs=4, rn=n2]
+[fid:22:31]:[Path id=3, seat=1, guest=n5]*
+
+=&gt;[ActivationCreated(40): rule=done 
+[fid:24:36]:[Seating id=4, pid=3, done=false, ls=3, ln=n3, rs=4, rn=n2]*
+
+<emphasis role="bold">Make Path </emphasis>
+=&gt;fid:27:41:[Path id=4, seat=2, guest=n4]
+
+<emphasis role="bold">Make Path</emphasis>
+=&gt;fid:28:42]:[Path id=4, seat=1, guest=n5]]
+
+<emphasis role="bold">Make Path</emphasis>
+=&gt;fid:29:43]:[Path id=4, seat=3, guest=n3]]
+
+<emphasis role="bold">Path Done</emphasis>
+
+<emphasis role="bold">Continue  Processing</emphasis>
+=&gt;[ActivationCreated(46): rule=findSeating 
+[fid:15:23]:[Seating id=2, pid=1, done=true, ls=1, ln=n5, rs=2, rn=n4] 
+[fid:5:5]:[Guest name=n4, sex=m, hobbies=h1], [fid:2:2]
+[Guest name=n2, sex=f, hobbies=h1]
+
+=&gt;[ActivationCreated(46): rule=findSeating 
+[fid:24:44]:[Seating id=4, pid=3, done=true, ls=3, ln=n3, rs=4, rn=n2]
+[fid:2:2]:[Guest name=n2, sex=f, hobbies=h1]
+[fid:1:1]:[Guest name=n1, sex=m, hobbies=h1]*
+
+=&gt;[ActivationCreated(46): rule=findSeating 
+[fid:13:13]:[Seating id=1, pid=0, done=true, ls=1, ln=n5, rs=1, rn=n5]
+[fid:9:9]:[Guest name=n5, sex=f, hobbies=h1]
+[fid:1:1]:[Guest name=n1, sex=m, hobbies=h1]
+
+<emphasis role="bold">Assign Seating</emphasis>
+=&gt;[fid:30:47]:[Seating id=5, pid=4, done=false, ls=4, ln=n2, rs=5, rn=n1]
+=&gt;[fid:31:48]:[Path id=5, seat=5, guest=n1]
+=&gt;[fid:32:49]:[Chosen id=4, name=n1, hobbies=h1]
+</literallayout>
+    </section>
+  </section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-MannersExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-NumberGuessExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-NumberGuessExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-NumberGuessExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+      <title>Number Guess</title>
+
+      <programlisting><emphasis role="bold">Name:</emphasis> Number Guess 
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.NumberGuessExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> NumberGuess.drl
+<emphasis role="bold">Objective:</emphasis> Demonstrate use of Rule Flow to organise Rules
+</programlisting>
+
+      <para>The "Number Guess" example shows the use of RuleFlow, a way of
+      controlling the order in which rules are fired. It uses widely
+      understood workflow diagrams to make clear the order that groups of
+      rules will be executed.</para>
+
+      <example>
+        <title>Creating the Number Guess RuleBase - extract 1 from
+        NumberGuessExample.java main() method</title>
+
+        <programlisting>final PackageBuilder builder = new PackageBuilder();
+
+builder.addPackageFromDrl( new InputStreamReader( 
+         ShoppingExample.class.getResourceAsStream( "NumberGuess.drl" ) ) );
+builder.addRuleFlow( new InputStreamReader( 
+         ShoppingExample.class.getResourceAsStream( "NumberGuess.rfm" ) ) );
+
+final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ruleBase.addPackage( builder.getPackage() );
+
+</programlisting>
+      </example>
+
+      <para>The creation of the package, and the loading of the rules (using
+      the addPackageFromDrl() method ) is the same as the previous examples.
+      There is a additional line to add the RuleFlow (NumberGuess.rfm) as you
+      have the option of specifying different ruleflows for the same RuleBase.
+      Otherwise the RuleBase is created in the same manner as before.</para>
+
+      <example>
+        <title>Starting the RuleFlow - extract 2 from NumberGuessExample.java
+        main() method</title>
+
+        <programlisting>final StatefulSession session = ruleBase.newStatefulSession();
+
+session.insert( new GameRules( 100,  5 ) );
+session.insert( new RandomNumber() );
+session.insert( new Game() );
+
+session.startProcess( "Number Guess" );
+session.fireAllRules();
+
+session.dispose();
+
+</programlisting>
+      </example>
+
+      <para>Once we have a RuleBase we can use it to obtain a stateful
+      session. Into our session we insert our facts (standard Java Objects).
+      For simplicity in this sample, these classes are all contained within
+      our NumberGuessExample.java file. The GameRules class provides the
+      maximum range and the number of guesses allowed. The RandomNumber class
+      automatically generates a number between 0 and 100 and makes it
+      available to our rules after insertion (via the getValue() method). The
+      Game class keeps track of the guesses we have made before, and the
+      number of guesses we have made.</para>
+
+      <para>Note that before we call the standard fireAllRules() method, we
+      also start the process that we loaded earlier (via the startProcess()
+      method). We explain where to obtain the parameter we pass ("Number
+      Guess" - the id of the ruleflow) when we talk about the RuleFlow file
+      and the graphical RuleFlow editor below.</para>
+
+      <para>Before we finish we our Java code , we note that In 'real life' we
+      would examine the final state of the objects (e.g. how many guesses it
+      took, so that we could add it to a high score table). For this example
+      we are content to ensure the working memory session is cleared by
+      calling the dispose() method.</para>
+
+      <figure>
+        <title>RuleFlow for the NumberGuess Example</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>If you open the NumberGuess.rf file open in the Drools IDE (and
+      have the JBoss Rules extensions installed correctly in Eclipse) you
+      should see the above diagram, similar to a standard flowchart. Its icons
+      are similar (but not exactly the same) as the JBoss jBPM workflow
+      product. Should you wish to edit the diagram, a menu of available
+      components should be available to the left of the diagram in the IDE,
+      which is call the pallete. This diagram is saved in a (almost human)
+      readable xml format, using xstream.</para>
+
+      <para>If it is not already open, ensure the properties view is visible
+      in the IDE. It can opened by selecting Window -&gt; Show View -&gt;
+      Other and then select the Properties view. If you do this <emphasis
+      role="bold">before</emphasis> you select any item on the RuleFlow (or
+      click on blank space in the RuleFlow) you should be presented with the
+      following set of properties.</para>
+
+      <figure>
+        <title>Properties for the Number Guess RuleFlow</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Keep an eye on the properties view as we progress through the
+      example RuleFlow as it gives valuable information. In this case it
+      provides us with the ID of the RuleFlow process that we used in our
+      earlier code example when we called session.startprocess().</para>
+
+      <para>To give an overview of each of the node types (boxes) in the
+      NumberGuess RuleFlow.</para>
+
+      <para>
+        <itemizedlist>
+          <listitem>
+            <para>The Start and End nodes (green arrow and red box) are where
+            the RuleFlow starts and ends.</para>
+          </listitem>
+
+          <listitem>
+            <para>RuleFlowGroup (simple yellow box). These map to the
+            RuleFlowGroups in our rules (DRL) file that we will look at later.
+            For example when the flow reaches the 'Too High' RuleFlowGroup,
+            only those rules marked with an attribute of <emphasis
+            role="bold">ruleflow-group "Too High" </emphasis> can potentially
+            fire.</para>
+          </listitem>
+
+          <listitem>
+            <para>Action Nodes (yellow box with cog like icon). These can
+            perform standard Java method calls. Most action nodes in this
+            example call System.out.println to give an indication to the user
+            of what is going on.</para>
+          </listitem>
+
+          <listitem>
+            <para>Split and Join Nodes (Blue Ovals) such as "Guess Correct"
+            and "More Guesses Join" where the flow of control can split
+            (according to various conditions) and / or rejoin.</para>
+          </listitem>
+
+          <listitem>
+            <para>Arrows that indicate the flow between the various
+            nodes.</para>
+          </listitem>
+        </itemizedlist>
+      </para>
+
+      <para>These various nodes work together with the Rules to make the
+      Number Guess game work. For example, the "Guess" RuleFlowGroup allows
+      only the rule "Get user Guess" to fire (details below) as only that Rule
+      has a matching attribute of <emphasis role="bold">ruleflow-group
+      "Guess"</emphasis></para>
+
+      <example>
+        <title>A Rule that will fire only a specific point in the RuleFlow -
+        extract from NumberGuess.drl</title>
+
+        <programlisting>rule "Get user Guess"
+ ruleflow-group "Guess"
+ no-loop
+ when    
+     $r : RandomNumber()
+     rules : GameRules( allowed : allowedGuesses )
+     game : Game( guessCount &lt; allowed )
+     not ( Guess() )
+ then
+     System.out.println( "You have " + ( rules.allowedGuesses - game.guessCount ) 
+     + " out of " + rules.allowedGuesses + " guesses left.\nPlease enter your guess 
+     from 0 to " + rules.maxRange );
+        br = new BufferedReader( new InputStreamReader( System.in ) );
+        modify ( game ) { guessCount = game.guessCount + 1 }
+        i = br.readLine();        
+    insert( new Guess( i ) );
+end</programlisting>
+      </example>
+
+      <para>The rest of this rule is fairly standard : The <emphasis
+      role="bold">LHS (when)</emphasis> section of the rule states that it
+      will be activated for each <emphasis>RandomNumber</emphasis> object
+      inserted into the working memory where <emphasis>guessCount</emphasis>
+      is less than the <emphasis>allowedGuesses</emphasis> ( read from the
+      GameRules Class) and where the user has not guessed the correct
+      number.</para>
+
+      <para>The <emphasis role="bold">RHS (consequence, then)</emphasis>
+      prints a message to the user, then awaits user input from
+      <emphasis>System.in. </emphasis> After getting this input (as System.in
+      blocks until the &lt;return&gt; key is pressed) it updates/modifes the
+      guess count, the actual guess and makes both available in the working
+      memory.</para>
+
+      <para>The rest of the Rules file is fairly standard ; the package
+      declares the dialect is set to MVEL, various Java classes are imported.
+      In total, there are five rules in this file:</para>
+
+      <orderedlist>
+          <listitem>
+            <para>Get User Guess, the Rule we examined above.</para>
+          </listitem>
+
+          <listitem>
+            <para>A Rule to record the highest guess.</para>
+          </listitem>
+
+          <listitem>
+            <para>A Rule to record the lowest guess.</para>
+          </listitem>
+
+          <listitem>
+            <para>A Rule to inspect the guess and retract it from memory if
+            incorrect.</para>
+          </listitem>
+
+          <listitem>
+            <para>A Rule that notifies the user that all guesses have been
+            used up.</para>
+          </listitem>
+        </orderedlist>
+	
+	<para>One point of integration between the standard Rules and
+      the RuleFlow is via the 'ruleflow-group' attribute on the rules (as
+      dicussed above). A <emphasis role="bold">second point of integration
+      between the Rules File (drl) and the Rules Flow .rf files </emphasis>is
+      that the Split Nodes (the blue ovals) can use values in working memory
+      (as updated by the Rules) to decide which flow of action to take. To see
+      how this works click on the "Guess Correct Node" ; then within the
+      properties view, open the constraints editor (the button at the right
+      that appears once you click on the 'Constraints' property line). You
+      should see something similar to the Diagram below.</para>
+
+      <figure>
+        <title>Edit Constraints for the GuessCorrect Node</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Click on 'Edit' beside 'To node Too High' and you see a dialog
+      like the one below. The values in the 'Textual Editor' follow the
+      standard Rule Format (LHS) and can refer to objects in working memory.
+      The consequence (RHS) is that the flow of control follows this node
+      (i.e. To node Too high') if the LHS expression evaluates to true.</para>
+
+      <figure>
+        <title>Constraints Editor for the GuessCorrect Node / value too
+        high</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Since the NumberGuess.java example contains a main() method, it
+      can be run as a standard Java application (either from the command line
+      or via the IDE). A typical game might result in the interaction below
+      (the numbers in bold are typed in by the user).</para>
+
+      <example>
+        <title>Example Console output where the Number Guess Example beat the
+        human!</title>
+
+        <programlisting>You have 5 out of 5 guesses left.
+Please enter your guess from 0 to 100
+<emphasis role="bold">50</emphasis>
+Your guess was too high
+You have 4 out of 5 guesses left.
+Please enter your guess from 0 to 100
+<emphasis role="bold">25</emphasis>
+Your guess was too low
+You have 3 out of 5 guesses left.
+Please enter your guess from 0 to 100
+<emphasis role="bold">37</emphasis>
+Your guess was too low
+You have 2 out of 5 guesses left.
+Please enter your guess from 0 to 100
+<emphasis role="bold">44</emphasis>
+Your guess was too low
+You have 1 out of 5 guesses left.
+Please enter your guess from 0 to 100
+<emphasis role="bold">47</emphasis>
+Your guess was too low
+You have no more guesses
+The correct guess was 48 
+
+</programlisting>
+      </example>
+
+      <para>A summary of what is happening in this sample is:</para>
+
+
+        <orderedlist>
+          <listitem>
+            <para>Main() method of NumberGuessExample.java loads RuleBase,
+            gets a StatefulSession and inserts Game, GameRules and
+            RandomNumber (containing the target number) objects into it. This
+            method sets the process flow we are going to use, and fires all
+            rules. Control passes to the RuleFlow.</para>
+          </listitem>
+
+          <listitem>
+            <para>The NumberGuess.rf RuleFlow begins at the Start node.</para>
+          </listitem>
+
+          <listitem>
+            <para>Control passes (via the "more guesses" join node) to the
+            Guess Node..</para>
+          </listitem>
+
+          <listitem>
+            <para>At the Guess node, the appropriate RuleFlowGroup ("Get user
+            Guess") is enabled. In this case the Rule "Guess" (in the
+            NumberGuess.drl file) is triggered. This rule displays a message
+            to the user, takes the response, and puts it into memory. Flow
+            passes to the next Rule Flow Node.</para>
+          </listitem>
+
+          <listitem>
+            <para>At the next node , "Guess Correct", constraints inspect the
+            current session and decide which path we take next.</para>
+
+            <para>If the guess in step 4 was too high / too low flow procees
+            along a path which has (i) An action node with normal Java code
+            prints a too high / too low statement and (ii) a RuleFlowGroup
+            causes a highest guess / lowest guess Rule to be triggered in the
+            Rules file. Flow passes from these nodes to step 6.</para>
+
+            <para>If the guess in step 4 just right we proceed along the path
+            towards the end of the Rule Flow. Before we get there, an action
+            node with normal Java code prints a statement "you guessed
+            correctly". There is a join node here (just before the Rule Flow
+            End) so that our no-more-guesses path (step 7) can also terminate
+            the RuleFlow.</para>
+          </listitem>
+
+          <listitem>
+            <para>Control passes as per the RuleFlow via a join node, a guess
+            incorrect RuleFlowGroup (triggers a rule to retract a guess from
+            working memory) onto the "more guesses" decision node.</para>
+          </listitem>
+
+          <listitem>
+            <para>The "more guesses" decision node (right hand side of
+            ruleflow) uses constraints (again looking at values that the Rules
+            have put into the working memory) to decide if we have more
+            guesses and if so, goto step 3. If not we proceed to the end of
+            the workflow, via a RuleFlowGroup that triggers a rule stating
+            "you have no more guesses".</para>
+          </listitem>
+
+          <listitem>
+            <para>The Loop 3-7 continues until the number is guessed
+            correctly, or we run out of guesses.</para>
+          </listitem>
+        </orderedlist>
+
+    </section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-NumberGuessExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PetStoreExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PetStoreExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PetStoreExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+			<title>Pet Store Example</title>
+
+			<programlisting><emphasis role="bold">Name:</emphasis> Pet Store 
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.PetStore
+<emphasis role="bold">Type:</emphasis> Java application
+<emphasis role="bold">Rules file:</emphasis> PetStore.drl
+<emphasis role="bold">Objective:</emphasis> Demonstrate use of Agenda Groups, Global Variables and integration with a GUI (including callbacks from within the Rules)
+</programlisting>
+
+			<para>The Pet Store example shows how to integrate Rules with a GUI (in this case a Swing based Desktop application). Within the rules file, it shows how to use agenda groups and auto-focus to control which of a set of rules is allowed to fire at any given time. It also shows mixing of Java and MVEL dialects within the rules, the use of accumulate functions and calling of Java functions from within the ruleset.</para>
+
+			<para>Like the rest of the the samples, all the Java Code is contained in one file. The PetStore.java contains the following principal classes (in addition to several minor classes to handle Swing Events)</para>
+
+			<itemizedlist>
+				<listitem>
+					<para><emphasis role="italic"> Petstore</emphasis> - containing the main() method that we will look at shortly.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">PetStoreUI</emphasis> - responsible for creating and displaying the Swing based GUI. It contains several smaller classes , mainly for responding to various GUI events such as mouse and button clicks.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">TabelModel</emphasis> - for holding the table data. Think of it as a JavaBean that extends the Swing AbstractTableModel class.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">CheckoutCallback</emphasis> - Allows the GUI to interact with the Rules.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">Ordershow </emphasis> - the items that we wish to buy.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">Purchase</emphasis> - Details of the order and the products we are buying.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">Product</emphasis> - JavaBean holding details of the product available for purchase, and it's price.</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>Much of the Java code is either JavaBeans (simple enough to understand) or Swing based. We will touch on some Swing related points in the this tutorial , but a good place to get more Swing component information is <ulink url="???"><uri>http://java.sun.com/docs/books/tutorial/uiswing/</uri> available at the Sun Swing website.<citebiblioid /></ulink></para>
+
+			<para>There are two important Rules related pieces of Java code in <emphasis role="italic">Petstore.java</emphasis>.</para>
+
+			<example>
+				<title>Creating the PetStore RuleBase - extract from PetStore.java main() method</title>
+
+				<programlisting>PackageBuilder builder = new PackageBuilder();
+builder.addPackageFromDrl( new InputStreamReader( 
+PetStore.class.getResourceAsStream( "PetStore.drl" ) ) );
+RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ruleBase.addPackage( builder.getPackage() );
+
+//RuleB
+Vector stock = new Vector();
+stock.add( new Product( "Gold Fish",5 ) );
+stock.add( new Product( "Fish Tank", 25 ) );
+stock.add( new Product( "Fish Food", 2 ) );
+
+//The callback is responsible for populating working memory and
+// fireing all rules
+PetStoreUI ui = new PetStoreUI( stock, new CheckoutCallback( ruleBase ) );
+ui.createAndShowGUI();
+</programlisting>
+			</example>
+
+			<para>This code above loads the rules (drl) file from the classpath. Unlike other examples where the facts are asserted and fired straight away, this example defers this step to later. The way it does this is via the second last line where the PetStoreUI is created using a constructor the passes in the Vector called stock containing products, and an instance of the CheckoutCallback class containing the RuleBase that we have just loaded.</para>
+
+			<para>The actual Javacode that fires the rules is within the <emphasis role="italic">CheckoutCallBack.checkout()</emphasis> method. This is triggered (eventually) when the 'Checkout' button is pressed by the user.</para>
+
+			<example>
+				<title>Firing the Rules - extract from the CheckOutCallBack.checkout() method</title>
+
+				<programlisting>public String checkout(JFrame frame, List items) throws FactException {           
+    Order order = new Order();
+
+    //Iterate through list and add to cart
+    for ( int i = 0; i &lt; items.size(); i++ ) {
+        order.addItem( new Purchase( order, (Product) items.get( i ) ) );
+    }
+
+    //add the JFrame to the ApplicationData to allow for user interaction
+    WorkingMemory workingMemory = ruleBase.newStatefulSession();
+    workingMemory.setGlobal( "frame", frame );
+    workingMemory.setGlobal( "textArea",  this.output );
+
+    workingMemory.insert( new Product( "Gold Fish", 5 ) );
+    workingMemory.insert( new Product( "Fish Tank", 25 ) );
+    workingMemory.insert( new Product( "Fish Food",  2 ) );
+    workingMemory.insert( new Product( "Fish Food Sample", 0 ) );            
+           
+    workingMemory.insert( order );
+    workingMemory.fireAllRules();
+
+    //returns the state of the cart
+    return order.toString();
+}
+</programlisting>
+			</example>
+
+			<para>Two items get passed into this method; A handle to the JFrame Swing Component surrounding the output text frame (bottom of the GUI if / when you run the component). The second item is a list of order items; this comes from the TableModel the stores the information from the 'Table' area at the top right section of the GUI.</para>
+
+			<para>The <emphasis role="italic">for()</emphasis> loop transforms the list of order items coming from the GUI into the Order JavaBean (also contained in the PetStore.java file). Note that it would be possible to refer to the Swing dataset directly within the rules, but it is better coding practice to do it this way (using Simple Java Objects). It means that we are not tied to Swing if we wanted to transform the sample into a Web application.</para>
+
+			<para>It is important to note that <emphasis role="bold">all state in this example is stored in the Swing components, and that the rules are effectively stateless. </emphasis>Each time the 'Checkout' button is pressed, this code copies the contents of the Swing <emphasis>TableModel</emphasis> into the Session / Working Memory.</para>
+
+			<para>Within this code, there are nine calls to the working memory. The first of these creates a new workingMemory (statefulSession) from the Rulebase - remember that we passed in this Rulebase when we created the CheckoutCallBack class in the <emphasis role="italic">main()</emphasis> method. The next two calls pass in two objects that we will hold as Global variables in the rules - the Swing text area and Swing frame that we will use for writing messages later.</para>
+
+			<para>More inserts put information on products into the working memory, as well as the order list. The final call is the standard <emphasis role="italic">fireAllRules()</emphasis>. Next, we look at what this method causes to happen within the Rules file.</para>
+			
+			<example>
+				<title>Package, Imports , Globals and Dialect - extract (1) from PetStore.drl</title>
+
+				<programlisting>package org.drools.examples
+
+import org.drools.WorkingMemory
+import org.drools.examples.PetStore.Order
+import org.drools.examples.PetStore.Purchase
+import org.drools.examples.PetStore.Product
+import java.util.ArrayList
+import javax.swing.JOptionPane;
+
+import javax.swing.JFrame 
+        
+global JFrame frame 
+global javax.swing.JTextArea textArea
+ 
+dialect "mvel"
+</programlisting>
+			</example>
+    
+			<para>The first part of the <emphasis role="italic">PetStore.drl</emphasis> file contains the standard package and import statement to make various Java classes available to the rules. We've seen the dialect been defaulted to "mvel" before in other examples. What is new are the two globals <emphasis>frame and textArea. </emphasis>These hold references to the Swing JFrame and Textarea components that were previous passed by the Java code calling the <emphasis>setGlobal() </emphasis>method. Unlike normal variables in Rules , which expire as soon as the rule has fired, Global variables retain their value for the lifetime of the (Stateful in this case) Session.</para>
+
+			<para>The next extract (below) is from the <emphasis role="bold">end</emphasis> of the PetStore.drl file. It contains two functions that are referenced by the rules that we will look at shortly.</para>
+			
+			<example>
+				<title>Java Functions in the Rules - extract (2) from PetStore.drl</title>
+
+				<programlisting>function void doCheckout(JFrame frame, WorkingMemory workingMemory) {
+    Object[] options = {"Yes",
+                        "No"};
+                            
+    int n = JOptionPane.showOptionDialog(frame,
+                                         "Would you like to checkout?",
+                                         "",
+                                         JOptionPane.YES_NO_OPTION,
+                                         JOptionPane.QUESTION_MESSAGE,
+                                         null,
+                                         options,
+                                         options[0]);
+
+    if (n == 0) {
+        workingMemory.setFocus( "checkout" );
+    }   
+}
+
+function boolean requireTank(JFrame frame, WorkingMemory workingMemory, Order order, Product fishTank, int total) {
+    Object[] options = {"Yes",
+                        "No"};
+                            
+    int n = JOptionPane.showOptionDialog(frame,
+                                         "Would you like to buy a tank for your " + total + " fish?",
+                                         "Purchase Suggestion",
+                                         JOptionPane.YES_NO_OPTION,
+                                         JOptionPane.QUESTION_MESSAGE,
+                                         null,
+                                         options,
+                                         options[0]);
+                                             
+    System.out.print( "SUGGESTION: Would you like to buy a tank for your "
+                      + total + " fish? - " );
+
+    if (n == 0) {
+        Purchase purchase = new Purchase( order, fishTank );
+        workingMemory.insert( purchase );
+        order.addItem( purchase );
+        System.out.println( "Yes" );
+    } else {
+        System.out.println( "No" );
+    }      
+    return true;
+}
+</programlisting>
+			</example>
+  
+
+			<para>Having these functions in the rules file makes the PetStore sample more compact - in real life you probably have the functions in a file of their own (within the same rules package), or as a static method on a standard Java class (and import them using the <emphasis role="bold">import function my.package.Foo.hello </emphasis>syntax).</para>
+
+			<para>The above functions are</para>
+
+			<itemizedlist>
+				<listitem>
+					<para><emphasis role="italic">doCheckout()</emphasis> - Displays a dialog asking the user if they wish to checkout. If they do, focus is set to the <emphasis role="italic">checkOut</emphasis> agenda-group, allowing rules in that group to (potentially) fire.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="italic">requireTank()</emphasis> - Displays a dialog asking the user if they wish to buy a tank. If so, a new FishTank <emphasis role="italic">Product</emphasis> added to the orderlist in working memory.</para>
+				</listitem>
+			</itemizedlist>
+			
+			<para>We'll see later the rules that call these functions.The next set of examples are from the PetStore rules themselves. The first extract is the one that happens to fire first (partly because it has the <emphasis role="italic">auto-focus</emphasis> attibute set to true).</para>
+				
+			<example>
+				<title>Putting each (individual) item into working memory - extract (3) from PetStore.drl</title>
+
+				<programlisting>// insert each item in the shopping cart into the Working Memory 
+rule "Explode Cart"
+    agenda-group "init"
+    auto-focus true    
+    salience 10
+    dialect "java"
+when
+    $order : Order( grossTotal == -1 )
+    $item : Purchase() from $order.items
+then
+   insert( $item );
+   drools.setFocus( "show items" );
+   drools.setFocus( "evaluate" );
+end
+
+</programlisting>
+			</example>
+
+			<para>This rule matches against all orders that do not yet have an Order.grossTotal calculated . It loops for each purchase item in that order. Some of the <emphasis role="italic">Explode Cart</emphasis> Rule should be familiar ; the rule name, the salience (suggesting of the order that the rules should be fired in) and the dialect set to <emphasis role="italic">java</emphasis>. There are three new items:</para>
+
+			<itemizedlist>
+				<listitem>
+					<para role="bold"><emphasis role="bold">agenda-group "init" </emphasis>- the name of the agenda group. In this case, there is only one rule in the group. However, nothing in Java code / nor a rule sets the focus to this group , so it relies on the next attibute for it's chance to fire.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="bold">auto-focus true - </emphasis>This is the only rule in the sample, so when <emphasis role="italic">fireAllRules()</emphasis> is called from within the Java code, this rule is the first to get a chance to fire.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="bold">drools.setFocus() </emphasis>This sets the focus to the <emphasis role="italic">show items </emphasis>and <emphasis role="italic">evaluate</emphasis> agenda groups in turn , giving their rules a chance to fire. In practice , we loop through all items on the order, inserting them into memory, then firing the other rules after each insert.</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>The next two listings shows the rules within the <emphasis role="italic">show items </emphasis>and <emphasis role="italic">evaluate</emphasis> agenda groups. We look at them in the order that they are called.</para>
+				
+			<example>
+				<title>Show Items in the GUI extract (4) from PetStore.drl</title>
+
+				<programlisting>rule "Show Items"
+    agenda-group "show items"
+    dialect "mvel"
+when
+    $order : Order( )
+    $p : Purchase( order == $order )
+then
+   textArea.append( $p.product + "\n");
+end
+</programlisting>
+			</example>
+
+			<para>The <emphasis role="italic">show items</emphasis> agenda-group has only one rule, also called <emphasis role="italic">Show Items</emphasis> (note the difference in case). For each purchase on the order currently in the working memory (session) it logs details to the text area (at the bottom of the GUI). The <emphasis role="italic">textArea</emphasis> variable used to do this is one of the Global Variables we looked at earlier.</para>
+
+			<para>The <emphasis role="italic">evaluate</emphasis> Agenda group also gains focus from the <emphasis role="italic">explode cart </emphasis>rule above. This Agenda group has two rules (below) <emphasis role="italic">Free Fish Food Sample </emphasis> and <emphasis role="italic">Suggest Tank</emphasis>.</para>
+
+			<example>
+				<title>Evaluate Agenda Group extract (5) from PetStore.drl</title>
+
+				<programlisting>// Free Fish Food sample when we buy a Gold Fish if we haven't already  bought 
+// Fish Food and dont already have a Fish Food Sample
+rule "Free Fish Food Sample"
+    agenda-group "evaluate"
+    dialect "mvel"
+when
+    $order : Order()
+    not ( $p : Product( name == "Fish Food") &amp;&amp; Purchase( product == $p ) )
+    not ( $p : Product( name == "Fish Food Sample") &amp;&amp; Purchase( product == $p ) )
+    exists ( $p : Product( name == "Gold Fish") &amp;&amp; Purchase( product == $p ) )
+    $fishFoodSample : Product( name == "Fish Food Sample" );
+then
+    System.out.println( "Adding free Fish Food Sample to cart" );
+    purchase = new Purchase($order, $fishFoodSample);
+    insert( purchase );
+    $order.addItem( purchase ); 
+end
+
+// Suggest a tank if we have bought more than 5 gold fish and dont already have one
+rule "Suggest Tank"
+    agenda-group "evaluate"
+    dialect "java"
+when
+    $order : Order()
+    not ( $p : Product( name == "Fish Tank") &amp;&amp; Purchase( product == $p ) )
+    ArrayList( $total : size &gt; 5 ) from collect( Purchase( product.name == "Gold Fish" ) )
+    $fishTank : Product( name == "Fish Tank" )
+then
+    requireTank(frame, drools.getWorkingMemory(), $order, $fishTank, $total); 
+end
+</programlisting>
+			</example>
+      
+
+			<para>The <emphasis role="italic">Free Fish Food Sample</emphasis> rule will only fire if</para>
+
+			<itemizedlist>
+				<listitem>
+					<para>We <emphasis role="italic">don't </emphasis>already have any fish food.</para>
+				</listitem>
+
+				<listitem>
+					<para>We <emphasis role="italic">don't</emphasis> already have a free fish food sample.</para>
+				</listitem>
+
+				<listitem>
+					<para>We <emphasis role="italic">do</emphasis> have a Gold Fish in our order.</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>If the rule does fire, it creates a new product (Fish Food Sample), and adds it to the Order in working memory.</para>
+
+			<para>The <emphasis role="italic">Suggest Tank</emphasis> rule will only fire if</para>
+
+			<itemizedlist>
+				<listitem>
+					<para>We <emphasis role="italic">don't </emphasis>already have a Fish Tank in our order</para>
+				</listitem>
+
+				<listitem>
+					<para>If we <emphasis role="italic">can</emphasis> find more than 5 Gold Fish Products in our order.</para>
+				</listitem>
+			</itemizedlist>
+
+			<para>If the rule does fire, it calls the <emphasis role="italic">requireTank</emphasis>() function that we looked at earlier (showing a Dialog to the user, and adding a Tank to the order / working memory if confirmed). When calling the <emphasis role="italic">requireTank</emphasis>() function the rule passes the global <emphasis role="italic">frame</emphasis> variable so that the function has a handle to the Swing GUI.</para>
+
+			<para>The next rule we look at is <emphasis role="italic">do checkout.</emphasis></para>
+				
+			<example>
+				<title>Doing the Checkout - extract (6) from PetStore.drl</title>
+
+				<programlisting>rule "do checkout"
+    dialect "java"
+    when
+    then
+        doCheckout(frame, drools.getWorkingMemory());
+end</programlisting>
+			</example>
+
+			<para>The <emphasis role="italic">do checkout</emphasis> rule has <emphasis role="bold">no agenda-group set and no auto-focus attribute</emphasis>. As such, is is deemed part of the default (MAIN) agenda-group - the same as the other non PetStore examples where agenda groups are not used. This group gets focus by default when all the rules/agenda-groups that explicity had focus set to them have run their course.</para>
+
+			<para>There is no LHS to the rule, so the RHS will always call the <emphasis role="italic">doCheckout</emphasis>() function. When calling the <emphasis role="italic">doCheckout</emphasis>() function the rule passes the global <emphasis role="italic">frame</emphasis> variable so the function has a handle to the Swing GUI. As we saw earlier, the <emphasis role="italic">doCheckout</emphasis>() function shows a confirmation dialog to the user. If confirmed, the function sets the focus to the <emphasis role="italic">checkout</emphasis> agenda-group, allowing the next lot of rules to fire.</para>
+
+			<example>
+				<title>Checkout Rules- extract (7) from PetStore.drl</title>
+
+				<programlisting>rule "Gross Total"
+    agenda-group "checkout"
+    dialect "mvel"
+when
+   $order : Order( grossTotal == -1)
+   Number( total : doubleValue ) from accumulate( Purchase( $price : product.price ),
+                 sum( $price ) )
+then
+    modify( $order ) { grossTotal = total };
+    textArea.append( "\ngross total=" + total + "\n" );
+end
+
+rule "Apply 5% Discount"
+    agenda-group "checkout"
+dialect "mvel"
+when
+   $order : Order( grossTotal &gt;= 10 &amp;&amp; &lt; 20 )
+then
+   $order.discountedTotal = $order.grossTotal * 0.95;
+   textArea.append( "discountedTotal total=" + $order.discountedTotal + "\n" );
+end
+
+
+rule "Apply 10% Discount"
+    agenda-group "checkout"
+dialect "mvel"
+when
+   $order : Order( grossTotal &gt;= 20 )
+then
+   $order.discountedTotal = $order.grossTotal * 0.90;
+   textArea.append( "discountedTotal total=" + $order.discountedTotal + "\n" );
+end
+</programlisting>
+			</example>
+
+			<para>There are three rules in the <emphasis role="italic">checkout</emphasis> agenda-group</para>
+
+			<itemizedlist>
+				<listitem>
+					<para><emphasis role="bold">Gross Total </emphasis> - if we haven't already calculated the gross total, accumulates the product prices into a total, puts this total into working memory, and displays it via the Swing TextArea (using the <emphasis role="italic">textArea </emphasis>global variable yet again).</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="bold">Apply 5% Discount</emphasis> - if our gross total is between 10 and 20, then calculate the discounted total and add it to working memory / display in the text area.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="bold">Apply 10% Discount</emphasis> - if our gross total is equal to or greater than 20, calculate the discounted total and add it to working memory / display in the text area.</para>
+				</listitem>
+			</itemizedlist>
+			
+			<para>Now we've run through what happens in the code, lets have a look at what happens when we run the code for real. The <emphasis role="italic">PetStore.java </emphasis>example contains a <emphasis role="italic">main()</emphasis> method, so it can be run as a standard Java application (either from the command line or via the IDE). This assumes you have your classpath set correctly (see the start of the examples section for more information).</para>
+
+			<para>The first screen that we see is the Pet Store Demo. It has a List of available products (top left) , an empty list of selected products (top right), checkout and reset buttons (middle) and an empty system messages area (bottom).</para>
+
+			<figure>
+				<title>Figure 1 - PetStore Demo just after Launch</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PetstoreExample/1-PetStore-Start-Screen.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+			
+			<para>To get to this point, the following things have happened:</para>
+
+			<orderedlist>
+				<listitem>
+					<para>The <emphasis role="italic">main()</emphasis> method has run and loaded the RuleBase <emphasis role="bold">but not yet fired the rules</emphasis>. This is the only rules related code to run so far.</para>
+				</listitem>
+
+				<listitem>
+					<para>A new <emphasis role="italic">PetStoreUI</emphasis> class is created and given a handle to the RuleBase (for later use).</para>
+				</listitem>
+
+				<listitem>
+					<para>Various Swing Components do their stuff, and the above screen is shown and <emphasis role="bold">waits for user input</emphasis>.</para>
+				</listitem>
+			</orderedlist>
+			
+			<para>Clicking on various products from the list might give you a screen similar to the one below.</para>
+
+			<figure>
+				<title>Figure 2 - PetStore Demo with Products Selected</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PetstoreExample/2-stock-added-to-order-list.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+			
+			<para>Note that <emphasis role="bold">no rules code has been fired here</emphasis>. This is only swing code, listening for the mouse click event, and added the clicked product to the <emphasis>TableModel</emphasis> object for display in the top right hand section (as an aside , this is a classic use of the Model View Controller - MVC - design pattern).</para>
+
+			<para>It is only when we press the <emphasis role="bold">Checkout</emphasis> that we fire our business rules, in roughly the same order that we walked through the code earlier.</para>
+
+			<orderedlist>
+				<listitem>
+					<para>The <emphasis role="italic">CheckOutCallBack.checkout()</emphasis> method is called (eventually) by the Swing class waiting for the click on the checkout button. This inserts the data from the <emphasis>TableModel</emphasis> object (top right hand side of the GUI), and handles from the GUI into the session / working memory. It then fires the rules.</para>
+				</listitem>
+
+				<listitem>
+					<para>The <emphasis role="italic">Explode Cart</emphasis> rule is the first to fire, given that has <emphasis role="italic">auto-focus </emphasis>set to true. It loops through all the products in the cart, makes sure the products are in the working memory, then gives the <emphasis role="italic">Show Items</emphasis> and <emphasis role="italic">Evaluation</emphasis> agenda groups a chance to fire. The rules in these groups, add the contents of the cart to the text area (bottom), decide whether or not to give us free fish food and whether to ask if we want to buy a fish tank (Figure 3 below).</para>
+				</listitem>
+			</orderedlist>
+
+			<figure>
+				<title>Figure 3 - Do we want to buy a fish tank?</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PetstoreExample/3-purchase-suggestion.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<orderedlist>
+				<listitem>
+					<para>The <emphasis role="italic">Do Checkout</emphasis> rule is the next to fire as it (a) No other agenda group currently has focus and (b) it is part of the default (MAIN) agenda group. It always calls the<emphasis role="italic"> doCheckout() function </emphasis>which displays a 'Would you like to Checkout?' Dialog Box.</para>
+				</listitem>
+
+				<listitem>
+					<para>The <emphasis role="italic">doCheckout() function</emphasis> sets the focus to the <emphasis role="italic">checkout </emphasis>agenda-group, giving the rules in that group the option to fire.</para>
+				</listitem>
+
+				<listitem>
+					<para>The rules in the the <emphasis role="italic">checkout</emphasis> agenda-group, display the contents of the cart and apply the appropriate discount.</para>
+				</listitem>
+
+				<listitem>
+					<para><emphasis role="bold">Swing then waits for user input</emphasis> to either checkout more products (and to cause the rules to fire again) or to close the GUI - Figure 4 below.</para>
+				</listitem>
+			</orderedlist>
+
+			<figure>
+				<title>Figure 4 - Petstore Demo after all rules have fired.</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PetstoreExample/4-Petstore-final-screen.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Should we choose, we could add more System.out calls to demonstrate this flow of events. The current output of the console of the above sample is as per the listing below.</para>
+	
+			<example>
+				<title>Console (System.out) from running the PetStore GUI</title>
+
+				<programlisting>Adding free Fish Food Sample to cart 
+SUGGESTION: Would you like to buy a tank for your 6 fish? - Yes</programlisting>
+			</example>
+     
+
+			<!---<para>Todo : Add Audit and Agenda Views for this sample.</para>-->
+		</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PetStoreExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PricingExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PricingExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PricingExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+
+		<title>Pricing Rule Decision Table Example</title>
+
+		<para>The Pricing Rule decision table demonstrates the use of a decision table in a spreadsheet (XLS format) in calculating the retail cost of an insurance policy. The purpose of the set of rules provided is to calculate a base price, and an additional discount for a car driver applying for a specific policy. The drivers age, history and the policy type all contribute to what the basic premium is, and an additional chunk of rules deals with refining this with a subtractive percentage discount.</para>
+
+		<programlisting><emphasis role="bold">Name:</emphasis> Example Policy Pricing
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.PricingRuleDTExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> ExamplePolicyPricing.xls
+<emphasis role="bold">Objective:</emphasis> demonstrate spreadsheet based decision tables.    </programlisting>
+
+		<section>
+			<title>Executing the example</title>
+
+			<para>Open the PricingRuleDTExample.java and execute it as a Java application. It should produce the following console output:</para>
+
+			<programlisting>Cheapest possible
+BASE PRICE IS: 120
+DISCOUNT IS: 20     </programlisting>
+
+			<para>The code to the execute the example is very similar to the other examples. The rules are loaded, the facts inserted and a stateless session is used. What is different is how the rules are obtained:</para>
+
+			<programlisting>SpreadsheetCompiler compiler = new SpreadsheetCompiler();
+String drl = compiler.compile(getSpreadsheetStream(), InputType.XLS);
+</programlisting>
+
+			<para>Note the use of the SpreadsheetCompiler class. It is what takes the XLS (as a binary InputStream to the XLS file), and outputs ordinary DRL (which is then dealt with in the usual way). You can (if you like) also print out the DRL. If you use the BRMS, all this is of course taken care of for you.</para>
+
+			<para>There are 2 facts used in this example, Driver, and Policy. Both are used with their default values. The Driver is 30 years old, has had no prior claims and currently has a risk profile of LOW. The Policy being applied for is COMPREHENSIVE, and the policy has not yet been approved.</para>
+		</section>
+		
+		<section>
+			<title>The decision table</title>
+
+			<para>In this decision table, each row is a rule, and each column is a condition or an action.</para>
+
+			<figure>
+				<title>Decision table configuration</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PricingExample/DT_Config.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above, we have the RuleSet declaration, which provides the package name. There are also other optional items you can have here, such as Variables for global variables, and Imports for importing classes. In this case, the namespace of the rules is the same as the fact classes we are using, so we can omit it.</para>
+
+			<para>Moving further down, we can see the RuleTable declaration. The name after this (Pricing bracket) is used as the prefix for all the generated rules. Below that, we have CONDITION or ACTION - this indicates the purpose of the column (ie does it form part of the condition, or an action of a rule that will be generated).</para>
+
+			<para>You can see there is a Driver which is spanned across 3 cells, this means the template expressions below it apply to that fact. So we look at the drivers age range (which uses $1 and $2 with comma separated values), locationRiskProfile, and priorClaims in the respective columns. In the action columns, we are setting the policy base price, and then logging a message.</para>
+
+			<figure>
+				<title>Base price calculation</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PricingExample/DT_Table1.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above, we can see there are broad category brackets (indicated by the comment in the left most column). As we know the details of our driver and their policy, we can tell (with a bit of thought) that they should match row number 18, as they have no prior accidents, and are 30 years old. This gives us a base price of 120.</para>
+
+			<figure>
+				<title>Discount calculation</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/PricingExample/DT_Table2.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above, we are seeing if there is any discount we can give our driver. Based on the Age bracket, number of priot claims, and the policy type, a discount is provided. In our case, the drive is 3, with no priors, and they are applying for COMPREHENSIVE, this means we can give a discount of 20%. Note that this is actually a separate table, but in the same worksheet. This different templates apply.</para>
+
+			<para>It is important to note that decision tables generate rules, this means they aren't simply top down logic, but more a means to capture data that generate rules (this is a subtle difference that confuses some people). The evaluation of the rules is not "top down" necessarily, all the normal indexing and mechanics of the rule engine still apply.</para>
+		</section>
+	</section>	
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-PricingExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-QuickStart.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-QuickStart.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-QuickStart.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,769 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Introduction</title>
+
+  <para>
+    The IDE provides developers (and very technical users) with an environment to edit and test rules in various formats, and integrate it deeply with their applications. In cases where you prefer business rules and web tooling, you will want to look at the BRMS (but using the BRMS and the IDE together is not uncommon).</para>
+
+  <para>The Drools IDE is delivered as an eclipse plugin, which
+  allows you to author and manage rules from within Eclipse, as well as
+  integrate rules with your application. This is an optional tool, and not all
+  components are required to be used, you can use what components are relevant
+  to you. The Drools IDE is also a part of the Red Hat Developer Studio (formerly known as JBoss IDE).</para>
+
+  <para>This guide will cover some of the features of JBoss Drools, in as far
+  as the IDE touches on them (it is assumed that the reader has some
+  familiarity with rule engines, and Drools in particular. It is important to
+  note that none of the underlying features of the rule engine are dependent
+  on Eclipse, and integrators are free to use their tools of choice, as always
+  ! Plenty of people use IntelliJ with rules, for instance.</para>
+
+  <para>Note you can get the plug in either as a zip to download, or from an
+  update site (refer to the chapter on installation).</para>
+
+  <figure>
+    <title>Overview</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" fileref="images/Chapter-Examples/all.jpg" format="JPG" scalefit="1" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <section>
+    <title>Features outline</title>
+
+    <para>The rules IDE has the following features</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Textual/graphical rule editor</para>
+
+        <orderedlist>
+          <listitem>
+            <para>An editor that is aware of DRL syntax, and provides content
+            assistance (including an outline view)</para>
+          </listitem>
+	  <listitem>
+	    <para>An editor that is aware of DSL (domain specific langauge) extensions, and provides content assistance.</para>
+	  </listitem>
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+	<para>RuleFlow graphical editor</para>
+	<para>You can edit visual graphs which represent a process (a rule flow). The RuleFlow can then be applied to your rule package to have imperative control.</para>
+      </listitem>
+
+      <listitem>
+        <para>Wizards to accelerate and ...</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Help you quickly create a new "rules" project</para>
+          </listitem>
+
+          <listitem>
+            <para>Create a new rule resource</para>
+          </listitem>
+
+          <listitem>
+            <para>Create a new Domain Specific language</para>
+          </listitem>
+
+	  <listitem>
+	    <para>Create a new decision table, guided editor, ruleflow</para>
+	  </listitem>
+
+
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+        <para>A domain specific language editor</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Create and manage mappings from your users language to the
+            rule language</para>
+          </listitem>
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+        <para>Rule validation</para>
+
+        <orderedlist>
+          <listitem>
+            <para>As rules are entered, the rule is "built" in the background
+            and errors reported via the problem "view" where possible</para>
+          </listitem>
+        </orderedlist>
+      </listitem>
+    </orderedlist>
+
+    <para>You can see the above features make use of Eclipse infrastructure
+    and features. All of the power of eclipse is available.</para>
+  </section>
+
+  <section>
+    <title>Creating a Rule project</title>
+
+    <para>The aim of the new project wizard is to setup an executable scaffold
+    project to start using rules immediately. This will setup a basic
+    structure, classpath and sample rules and test case to get you
+    started.</para>
+
+    <figure>
+      <title>New rule project scaffolding</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/new_project1.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+      <para>When you choose to create a new "rule project" - you will get a choice to add some default artifacts to it (like rules, decision tables, ruleflows etc). These can serve as a starting point, and will give you something executable to play with (which you can then modify and mould to your needs). The simplest case (a hello world rule) is shown below. Feel free to experiment with the plugin at this point.</para>
+
+    <figure>
+      <title>New rule project result</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/new_project2.png" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The newly created project contains an example rule file (Sample.drl)
+    in the src/rules dir and an example java file (DroolsTest.java) that can
+    be used to execute the rules in a Drools engine in the folder src/java, in
+    the com.sample package. All the others jars that are necessary during
+    execution are also added to the classpath in a custom classpath container
+    called Drools Library. Rules do not have to be kept in "java"
+    projects at all, this is just a convenience for people who are already
+    using eclipse as their Java IDE.</para>
+
+    <para>Important note: The Drools plug in adds a "Drools Builder"
+    capability to your eclipse instance. This means you can enable a builder
+    on any project that will build and validate your rules when resources
+    change. This happens automatically with the Rule Project Wizard, but you
+    can also enable it manually on any project. One downside of this is if you
+    have rule files that have a large number of rules (&gt;500 rules per file)
+     it means that the background builder may be doing a lot of work to
+    build the rules on each change. An option here is to turn off the builder,
+    or put the large rules into .rule files, where you can still use the rule
+    editor, but it won't build them in the background - to fully validate the
+    rules you will need to run them in a unit test of course.</para>
+  </section>
+
+  <section>
+    <title>Creating a new rule and wizards</title>
+
+    <para>You can create a rule simple as an empty text ".drl" file, or use
+    the wizard to do so. The wizard menu can be invoked by Control+N, or
+    choosing it from the toolbar (there will be a menu with the JBoss Drools
+    icon).</para>
+
+    <figure>
+      <title>The wizard menu</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/wizards.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+	    </figure>
+
+    <para>The wizard will ask for some basic options for generating a rule
+    resource. These are just hints, you can change your mind later !. In terms
+    of location, typically you would create a top level /rules directory to
+    store your rules if you are creating a rule project, and store it in a
+    suitably named subdirectory. The package name is mandatory, and is similar
+    to a package name in java (ie. its a namespace that groups like rules
+    together).</para>
+
+    <figure>
+      <title>New rule wizard</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/new_rule.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>This result of this wizard is to generate a rule skeleton to work
+    from. As with all wizards, they are candy: you don't have to use them if
+    you don't want !</para>
+  </section>
+
+  <section>
+    <title>Textual rule editor</title>
+
+    <para>The rule editor is where rule managers and developers will be
+    spending most of their time. The rule editor follows the pattern of a
+    normal text editor in eclipse, with all the normal features of a text
+    editor. On top of this, the rule editor provides pop up content
+    assistance. You invoke popup content assistance the "normal" way by
+    pressing Control + Space at the same time.</para>
+
+    <figure>
+      <title>The rule editor in action</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/editor1.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The rule editor works on files that have a .drl (or .rule)
+    extension. Rules are generally grouped together as a "package" of rules
+    (like the old ruleset construct). It will also be possible to have rules
+    in individual files (grouped by being in the same package "namespace" if
+    you like). These DRL files are plain text files.</para>
+
+    <para>You can see from the example above that the package is using a
+    domain specific language (note the expander keyword, which tells the rule
+    compiler to look for a dsl file of that name, to resolve the rule
+    language). Even with the domain specific language (DSL) the rules are
+    still stored as plain text as you see on screen, which allows simpler
+    management of rules and versions (comparing versions of rules for
+    instance).</para>
+
+    <para>The editor has an outline view that is kept in sync with the
+    structure of the rules (updated on save). This provides a quick way of
+    navigating around rules by name, in a file which may have hundreds of
+    rules. The items are sorted alphabetically by default.</para>
+
+    <figure>
+      <title>The rule outline view</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/outline.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
+<section>
+  <title>Guided editor (rule GUI)</title>
+  <para>
+    A new feature of the Drools IDE (since version 4) is the guided editor for rules. This is similar to the web based editor that is available in the BRMS. This allows you to build rules in a GUI driven fashion, based on your object model. 
+  </para>
+
+    <figure>
+      <title>The guided editor</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Examples/guidededitor1.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>
+      To create a rule this way, use the wizard menu. It will create a instance of a .brl file and open an editor. The guided editor works based on a .package file in the same directory as the .brl file. In this "package" file - you have the package name and import statements - just like you would in the top of a normal DRL file. So the first time you create a brl rule - you will need to ppulate the package file with the fact classes you are interested in. Once you have this the guided editor will be able to prompt you with facts/fields and build rules graphically.
+    </para>
+
+    <para>
+      The guided editor works off the model classes (fact classes) that you configure. It then is able to "render" to DRL the rule that you have entered graphically. You can do this visually - and use it as a basis for learning DRL, or you can use it and build rules of the brl directly. To do this, you can either use the drools-ant module (it is an ant task that will build up all the rule assets in a folder as a rule package - so you can then deploy it as a binary file), OR you can use the following snippet of code to convert the brl to a drl rule:
+
+    </para>
+
+    <programlisting>BRXMLPersitence read = BRXMLPersitence.getInstance();
+BRDRLPersistence write = BRDRLPersistence.getInstance();
+String brl = ... read from the .brl file as needed...
+String outputDRL = write.marshall(read.unmarshal(brl));
+//then pass the outputDRL to the PackageBuilder as normal</programlisting>
+</section>
+
+  <section>
+    <title>Views</title>
+
+    <para>When debugging an application using a Drools engine, these views
+    can be used to check the state of the Drools engine itself: the Working
+    Memory View, the Agenda View the Global Data View. To be able to use
+    these views, create breakpoints in your code invoking the working memory.
+    For example, the line where you call workingMemory.fireAllRules() is a
+    good candidate. If the debugger halts at that joinpoint, you should select
+    the working memory variable in the debug variables view. The following
+    rules can then be used to show the details of the selected working
+    memory:</para>
+
+    <orderedlist>
+      <listitem>
+        <para>The Working Memory shows all elements in the working memory of
+        the Drools working memory.</para>
+      </listitem>
+
+      <listitem>
+        <para>The Agenda View shows all elements on the agenda. For each rule
+        on the agenda, the rule name and bound variables are shown.</para>
+      </listitem>
+
+      <listitem>
+        <para>The Global Data View shows all global data currently defined in
+        the Drools working memory.</para>
+      </listitem>
+    </orderedlist>
+
+    <para>The Audit view can be used to show audit logs that contain events
+    that were logged during the execution of a rules engine in a tree
+    view.</para>
+
+    <section>
+      <title>The Working Memory View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Examples/workingMemory.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Working Memory shows all elements in the working memory of the
+      Drools engine.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the elements in the working memory, or all their
+          details. Logical structures allow for example visualizing sets of
+          elements in a more obvious way.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Agenda View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Examples/agenda.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Agenda View shows all elements on the agenda. For each rule on
+      the agenda, the rule name and bound variables are shown.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the agenda item, or all their details. Logical
+          structures allow for example visualizing sets of elements in a more
+          obvious way. The logical structure of AgendaItems shows the rule
+          that is represented by the AgendaItem, and the values of all the
+          parameters used in the rule.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Global Data View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Examples/globals.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Global Data View shows all global data currently defined in
+      the Drools engine.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the elements in the working memory, or all their
+          details. Logical structures allow for example visualizing sets of
+          elements in a more obvious way.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Audit View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Examples/audit.jpg" scalefit="1" width="100%" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The audit view can be used to visualize an audit log that can be
+      created when executing the rules engine. To create an audit log, use the
+      following code:</para>
+
+      <programlisting>    WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+    // create a new Working Memory Logger, that logs to file.
+    WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(workingMemory);
+    // an event.log file is created in the log dir (which must exist)
+    // in the working directory
+    logger.setFileName("log/event");
+
+    workingMemory.assertObject( ... );
+    workingMemory.fireAllRules();
+
+    // stop logging
+    logger.writeToDisk();</programlisting>
+
+      <para>Open the log by clicking the Open Log action (first action in the
+      Audit View) and select the file. The Audit view now shows all events
+      that where logged during the executing of the rules. There are different
+      types of events (each with a different icon):</para>
+
+      <orderedlist>
+        <listitem>
+          <para>Object inserted (green square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Object updated (yellow square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Object removed (red square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation created (arrow to the right)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation cancelled (arrow to the left)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation executed (blue diamond)</para>
+        </listitem>
+ 
+        <listitem>
+          <para>Ruleflow started / ended (process icon)</para>
+        </listitem>
+ 
+        <listitem>
+          <para>Ruleflow-group activated / deactivated (process icon)</para>
+        </listitem>
+   
+        <listitem>
+          <para>Rule package added / removed (Drools icon)</para>
+        </listitem>
+
+        <listitem>
+          <para>Rule added / removed (Drools icon)</para>
+        </listitem>
+   </orderedlist>
+
+      <para>All these events show extra information concerning the event, like
+      the id and toString representation of the object in case of working
+      memory events (assert, modify and retract), the name of the rule and all
+      the variables bound in the activation in case of an activation event
+      (created, cancelled or executed). If an event occurs when executing an
+      activation, it is shown as a child of the activation executed event. For
+      some events, you can retrieve the "cause":</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The cause of an object modified or retracted event is the last
+          object event for that object. This is either the object asserted
+          event, or the last object modified event for that object.</para>
+        </listitem>
+
+        <listitem>
+          <para>The cause of an activation cancelled or executed event is the
+          corresponding activation created event.</para>
+        </listitem>
+      </orderedlist>
+
+      <para>When selecting an event, the cause of that event is shown in green
+      in the audit view (if visible of course). You can also right click the
+      action and select the "Show Cause" menu item. This will scroll you to
+      the cause of the selected event.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Domain Specific Languages</title>
+
+    <para>Domain Specific Languages (dsl) allow you to create a language that
+    allows your rules to look like, rules ! Most often the domain specific
+    language reads like natural language. Typically you would look at how a
+    business analyst would describe the rule, in their own words, and then map
+    this to your object model via rule constructs. A side benefit of this is
+    that it can provide an insulation layer between your domain objects, and
+    the rules themselves (as we know you like to refactor !). A domain
+    specific language will grow as the rules grow, and works best when there
+    are common terms used over an over, with different parameters.</para>
+
+    <para>To aid with this, the rule workbench provides an editor for domain
+    specific languages (they are stored in a plain text format, so you can
+    use any editor of your choice - it uses a slightly enhanced version of the
+    "Properties" file format, simply). The editor will be invoked on any files
+    with a .dsl extension (there is also a wizard to create a sample
+    DSL).</para>
+
+    <section>
+      <title>Editing languages</title>
+
+      <figure>
+        <title>The Domain Specific Language editor</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Examples/dsl_editor.jpg" format="JPG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The DSL editor provides a table view of Language Expression to
+      Rule Expression mapping. The Language expression is what is used in the
+      rules. This also feeds the content assistance for the rule editor, so
+      that it can suggest Language Expressions from the DSL configuration (the
+      rule editor loads up the DSL configuration when the rule resource is
+      loaded for editing). The Rule language mapping is the "code" for the
+      rules - which the language expression will be compiled to by the rule
+      engine compiler. For form of this Rule language depends if it is for a
+      condition or action part of a rule (it may be a snippet of java, for
+      instance). The "scope" item indicates where the expression is targeted:
+      is it for the "when" part of the rule (LHS)? the "then" part (RHS)? Or
+      anywhere?</para>
+
+      <para>By selecting a mapping item (a row in the table) you can see the
+      expression and mapping in the greyed out fields below. Double clicking
+      or pressing the edit button will open the edit dialog. You can remove
+      items, and add new ones (you should generally only remove when you know
+      that expression is no longer in use).</para>
+
+      <figure>
+        <title>Language Mapping editor dialog</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Examples/mapping_editor.jpg"
+                       format="JPG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>How it works: the "Language expression" is used to parse the rule
+      language, depending on what the "scope" is set to. When it is found in a
+      rule, the values that are market by the curly braces {value} are
+      extracted from the rule source. These values are then interpolated with
+      the "Rule mapping" expression, based on the names between the curly
+      braces. So in the example above, the natural language expression maps
+      to 2 constraints on a fact of type Person (ie the person object has the
+      age field as less than {age}, and the location value is the string of
+      {value}, where {age} and {value} are pulled out of the original rule
+      source. The Rule mapping may be a java expression (such as if the scope
+      was "then"). If you did not wish to use a language mapping for a
+      particular rule in a drl, prefix the expression with &gt; and the
+      compiler will not try to translate it according to the language
+      definition. Also note that domain specific languages are optional. When
+      the rule is compiled, the .dsl file will also need to be
+      available.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>The Rete View</title>
+
+    <para>The Rete Tree View shows you the current Rete Network for your drl
+    file. Just click on the tab "Rete Tree" below on the DRL Editor.
+    Afterwards you can generate the current Rete Network visualization. You
+    can push and pull the nodes to arrange your optimal network overview. If
+    you got hundreds of nodes, select some of them with a frame. Then you can
+    pull groups of them. You can zoom in and out, in case not all nodes are
+    shown in the current view. For this press the button "+" oder "-".</para>
+
+    <para>There is no export function, which creates a gif or jpeg picture, in
+    the current release. Please use ctrl + alt + print to create a copy of
+    your current eclipse window and cut it off.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Examples/thereteview.jpg" />
+      </imageobject>
+    </mediaobject>
+
+    <para>The graph is created with the Java Universal Network/Graph Framework
+    (<ulink url="http://jung.sourceforge.net/">JUNG</ulink>). The Rete View is
+    an advanced feature which takes full advantage of the Eclipse Graphical Editing Framework (GEF).</para>
+
+    <para>The Rete view works only in Drools Rule Projects, where the Drools
+    Builder is set in the project´s properties.</para>
+
+    <para>If you are using Drools in an other type of project, where you are
+    not having a Drools Rule Project with the appropriate Drools Builder, you
+    can create a little workaround:</para>
+
+    <para>Set up a little Drools Rule Project next to it, putting needed
+    libraries into it and the drls you want to inspect with the Rete View.
+    Just click on the right tab below in the DRL Editor, followed by a click
+    on "Generate Rete View".</para>
+  </section>
+
+  <section>
+    <title>Large drl files</title>
+
+    <para>Depending on the JDK you use, it may be necessary to increase the
+    permanent generation max size. Both SUN and IBM jdk have a permanent
+    generation, whereas BEA JRockit does not.</para>
+
+    <para>To increase the permanent generation, start eclipse with
+    -XX:MaxPermSize=###m</para>
+
+    <para>Example: c:\eclipse\eclipse.exe -XX:MaxPermSize=128m</para>
+
+    <para>Rulesets of 4,000 rules or greater should set the permanent
+    generation to atleast 128Mb.</para>
+
+    <para>(note that this may also apply to compiling large numbers of rules
+    in general - as there is generally one or more classes per rule).</para>
+
+    <para>As an alternative to the above, you may put rules in a file with the
+    ".rule" extension, and the background builder will not try to compile them
+    with each change, which may provide performance improvements if your IDE
+    becomes sluggish with very large numbers of rules.</para>
+  </section>
+
+
+    <section>
+
+      <title>Debugging rules</title>
+
+           <figure>
+          <title>Debugging</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-Examples/debug-overview.png" format="PNG"/>
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+     <para>You can debug rules during the execution of your Drools application.
+      You can add breakpoints in the consequences of your rules, and whenever
+      such a breakpoint is uncounted during the execution of the rules, the execution
+      is halted.  You can then inspect the variables known at that point and use any
+      of the default debugging actions to decide what should happen next (step over,
+      continue, etc.).  You can also use the debug views to inspect the content of the
+      working memory and agenda.</para>
+
+<section>
+     <title>Creating breakpoints</title>
+     <para>You can add/remove rule breakpoints in drl files in two ways, similar to adding
+     breakpoints to Java files:</para>
+      <orderedlist>
+        <listitem>
+          <para>Double-click the ruler of the DRL editor at the line where you want to
+          add a breakpoint.  Note that rule breakpoints can only be created in the
+          consequence of a rule.  Double-clicking on a line where no breakpoint is allowed
+          will do nothing.  A breakpoint can be removed by double-clicking the ruler once more.
+          </para>
+        </listitem>
+        <listitem>
+          <para>If you right-click the ruler, a popup menu will show up, containing the
+          "Toggle breakpoint" action.  Note that rule breakpoints can only be created in the
+          consequence of a rule.  The action is automatically disabled if no rule
+          breakpoint is allowed at that line.  Clicking the action will add a breakpoint at the
+          selected line, or remove it if there was one already.</para>
+        </listitem>
+     </orderedlist>
+     <para>The Debug Perspective contains a Breakpoints view which can be used to see
+     all defined breakpoints, get their properties, enable/disable or remove them, etc.</para>
+</section>
+<section>
+     <title>Debugging rules</title>
+     <para>Drools breakpoints are only enabled if you debug your application as
+      a Drools Application.  You can do this like this:</para>
+      
+         <figure>
+          <title>Debug as Drools Application</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-Examples/debugAsDrools.png" format="PNG" role="" />
+             </imageobject>
+           </mediaobject>
+        </figure>
+
+      <orderedlist>
+        <listitem>
+          <para>Select the main class of your application. Right click it and select the
+          "Debug As >" sub-menu and select Drools Application. Alternatively, you can also select
+          the "Debug ..." menu item to open a
+          new dialog for creating, managing and running debug configurations (see
+          screenshot below)</para>
+          <orderedlist>
+            <listitem>
+              <para>Select the "Drools Application" item in the left tree and click the "New
+          launch configuration" button (leftmost icon in the toolbar above the tree).  This
+          will create a new configuration and already fill in some of the properties
+          (like the project and main class) based on main class you selected in the beginning.
+          All properties shown here are the same as any standard Java program.</para>
+            </listitem>
+            <listitem>
+              <para>Change the name of your debug configuration to something meaningful.
+          You can just accept the defaults for all other properties.  For more information
+          about these properties, please check the eclipse jdt documentation.</para>
+            </listitem>
+            <listitem>
+              <para>Click the "Debug" button on the bottom to start debugging your application. You only have to define your debug configuration once.  The next time you try to run your Drools application, you don't have to create a new one but select the one you defined previously by selecting it in the tree on the left, as a sub-element of the "Drools Application"
+     tree node, and then click the Debug button.  The eclipse toolbar also contains shortcut
+     buttons to quickly re-execute the one of your previous configurations (at least when the
+     Java, Java Debug, or Drools perspective has been selected).
+              </para>
+            </listitem>
+          </orderedlist>
+        </listitem>
+     </orderedlist>
+
+          <figure>
+          <title>Debug as Drools Application Configuration</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-Examples/debug_rules_configuration.png" format="PNG" role="" />
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+     <para>After clicking the "Debug" button, the application starts executing and will halt if any
+     breakpoint is encountered.  This can be a Drools rule breakpoint, or any other standard
+     Java breakpoint.  Whenever a Drools rule breakpoint is encountered, the corresponding drl
+     file is opened and the active line is highlighted.  The Variables view also contains all rule
+     parameters and their value. You can then use the default Java debug actions
+     to decide what to do next (resume, terminate, step over, etc.).  The debug views can also
+     be used to determine the contents of the working memory and agenda at that time as well
+     (you don't have to select a working memory now, the current executing working memory
+     is automatically shown).
+     </para>
+
+          <figure>
+          <title>Debugging</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-Examples/debug.png" format="PNG"/>
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+   </section>
+    </section>
+
+
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-QuickStart.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ShoppingExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ShoppingExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ShoppingExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>Shopping Example</title>
+
+		<programlisting><emphasis role="bold">Name:</emphasis>Shopping Example
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.ShoppingExample
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> Shopping.drl
+<emphasis role="bold">Objective:</emphasis> demonstrate truth maintenance, accumulate
+</programlisting>
+
+		<para>The shopping example simulates a very simple shopping cart type application, where the idea is to track a users purchases in a stateful session, and apply discounts as appropriate.</para>
+		
+		<section>
+			<title>Running the example</title>
+
+			<para>The following is a listing of the interesting parts that are used to launch the example:</para>
+
+			<programlisting>Customer mark = new Customer( "mark",
+                              0 );
+session.insert( mark );
+Product shoes = new Product( "shoes",
+                             60 );
+session.insert( shoes );
+Product hat = new Product( "hat",
+                           60 );
+session.insert( hat );
+session.insert( new Purchase( mark,
+                              shoes ) );
+FactHandle hatPurchaseHandle = session.insert( new Purchase( mark,
+                                                             hat ) );
+session.fireAllRules();
+session.retract( hatPurchaseHandle );
+System.out.println( "Customer mark has returned the hat" );
+session.fireAllRules();      </programlisting>
+
+			<para>Refering the the above listing, we can see there is a Customer ("mark"), and there are 2 Products ("shoes" and "hat") which are available for Purchase. In this case, a Purchase combines a customer with a product (and a product has a price attribute).</para>
+
+			<para>Note that after we fireAllRules(), we then retract the purchase of a hat (but leave the purchase of shoes in). Running the example as a java application should see the following output:</para>
+
+			<programlisting>Customer mark just purchased hat
+Customer mark just purchased shoes
+Customer mark now has a shopping total of 120.0
+Customer mark now has a discount of 10
+Customer mark has returned the hat
+Customer mark now has a discount of 0      </programlisting>
+
+		</section>
+
+		<section>
+			<title>Discounts and purchases</title>
+
+			<para>We want to give discounts to customers who purchase stuff of enough value. This discount could also be removed should the customer decide not to purchase enough to fall within the threshold.</para>
+
+			<programlisting>rule "Purchase notification"
+    salience 10
+
+ when
+  $c : Customer()
+  $p : Purchase( customer == $c)	    
+ then
+     System.out.println( "Customer " + $c.name + " just purchased " + $p.product.name );
+end 
+
+rule "Discount removed notification"
+ when
+     $c : Customer()
+  not Discount( customer == $c )
+ then
+  $c.discount = 0 ;
+  System.out.println( "Customer " + $c.name + " now has a discount of " + $c.discount );
+end
+
+rule "Discount awarded notification"
+ when
+     $c : Customer()
+     $d : Discount( customer == $c )
+ then
+  System.out.println( "Customer " + $c.name + " now has a discount of " + $d.amount );
+end      </programlisting>
+
+			<para>The "Purchase notification" rule simply makes note of the purchase event for a given customer. The "Discount removed notification" rule removes the customer discount (by checking for the non existence of a discount for that customer). The "Discount awarded notification" simply makes not of the fact that the discount was applied.</para>
+		</section>
+		
+		<section>
+			<title>Calculating the discount</title>
+
+			<para>Calculating the discount is done with a single rule, using the higher order logic of "accumulate".</para>
+
+			<programlisting>rule "Apply 10% discount if total purcahses is over 100"
+ no-loop true
+ dialect "java"
+    when
+      $c : Customer()
+      $i : Double(doubleValue  &gt; 100) from accumulate ( Purchase( customer == $c, $price : product.price ), 
+                                                            sum( $price ) )
+    then
+      $c.setDiscount( 10 );
+      insertLogical( new Discount($c, 10) );
+      System.out.println( "Customer " + $c.getName() + " now has a shopping total of " + $i );
+end      </programlisting>
+
+			<para>An interesting part of this rule is the "accumulate": this is saying to accumulate a total (sum) of the $price of a product (product.price) for all Purchase facts that belong to the customer ($c). The result of this is a Double. The rule then checks to see if this total is greater then 100. If it is, it applies the discount (of 10), and then inserts a logical fact of the Discount object.</para>
+
+			<para>The purpose of the logical insertion of the Discount, is to automatically retract the Discount object should the total of the purchases not add up to &gt; 100 (when the LHS is no longer satisified, restract the resulting logical assertions - this is what is meant by "truth maintenance"). The act of inserting the Discount, causes the "Discount awarded notification" rule to activate. However, should the discount fact be retracted, the "Discount removed notification" will activate, resulting in the customers discount being wiped out. In the example you can see this happen, as after the first fireAllRules(), a purchase is retracted, causing the total to fall below 100, which means the conditions that satisfied the "Apply 10% discount..." rule no longer apply, hence the logical fact of "Discount" is automatically retracted.</para>
+		</section>
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-ShoppingExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-SodukiExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-SodukiExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-SodukiExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,463 @@
+<?xml version="1.0" encoding="UTF-8"?>
+  <section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+    <title>Sudoku Example</title>
+
+    <programlisting><emphasis role="bold">Name:</emphasis> Sudoku
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.sudoku.Main
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> sudokuSolver.drl, sudokuValidator.drl
+<emphasis role="bold">Objective:</emphasis> Demonstrates the solving of logic problems, and complex pattern matching.e
+</programlisting>
+
+    <para>This example demonstrates how Drools can be used to find a solution
+    in a large potential solution space based on a number of constraints. We
+    use the popular puzzle of Sudoku. This example also shows how Drools can
+    be integrated into a graphical interface and how callbacks can be used to
+    interact with a running Drools rules engine in order to update the
+    graphical interface based on changes in the working memory at
+    runtime.</para>
+
+    <section>
+      <title>Sudoku Overview</title>
+
+      <para>Sudoku is a logic-based number placement puzzle. The objective is
+      to fill a 9x9 grid so that each column, each row, and each of the nine
+      3x3 zones contains the digits from 1 to 9 once and only once.</para>
+
+      <para>The puzzle setter provides a partially completed grid and the
+      puzzle solver's task is to complete the grid with these
+      constraints.</para>
+
+      <para>The general strategy to solve the problem is to ensure that when
+      you insert a new number it should be unique in that particular
+      region(blocks) and also in that particular row and column.</para>
+
+      <para>See <programlisting>URL: http://en.wikipedia.org/wiki/Sudoku</programlisting>
+      for a more detailed description.</para>
+    </section>
+
+    <section>
+      <title>Running the Example</title>
+
+      <para>Download and install drools-examples as described above and then
+      execute java org.drools.examples.sudoku.Main (this example requires Java
+      5).</para>
+
+      <para>A window will be displayed with a relatively simple partially
+      filled grid. <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku1.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Click on the Solve button and the Drools-based engine will fill
+      out the remaining values. The console will display detailed information
+      of the rules which are executing to solve the puzzle in a human readable
+      form.</para>
+
+      <para><computeroutput>Rule #3 determined the value at (4,1) could not be
+      4 as this value already exists in the same column at (8,1) Rule #3
+      determined the value at (5,5) could not be 2 as this value already
+      exists in the same row at (5,6) Rule #7 determined (3,5) is 2 as this is
+      the only possible cell in the column that can have this value Rule #1
+      cleared the other PossibleCellValues for (3,5) as a ResolvedCellValue of
+      2 exists for this cell. Rule #1 cleared the other PossibleCellValues for
+      (3,5) as a ResolvedCellValue of 2 exists for this cell. ... Rule #3
+      determined the value at (1,1) could not be 1 as this value already
+      exists in the same zone at (2,1) Rule #6 determined (1,7) is 1 as this
+      is the only possible cell in the row that can have this value Rule #1
+      cleared the other PossibleCellValues for (1,7) as a ResolvedCellValue of
+      1 exists for this cell. Rule #6 determined (1,1) is 8 as this is the
+      only possible cell in the row that can have this value
+      </computeroutput></para>
+
+      <para>Once all of the activated rules for the solving logic have
+      executed, the engine executes a second rule base to check that the
+      solution is complete and valid. In this case it is, and the "Solve"
+      button is disabled and displays the text "Solved (1052ms)". <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku2.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>The example comes with a number of grids which can be loaded and
+      solved. Click on File-&gt;Samples-&gt;Medium to load a more challenging
+      grid. Note that the solve button is enabled when the new grid is loaded.
+      <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku3.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Click on the "Solve" button again to solve this new grid.
+      <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku4.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Now, let us load a Sudoku grid that is deliberately invalid. Click
+      on File-&gt;Samples-&gt;!DELIBERATELY BROKEN!. Note that this grid
+      starts with some issues, for example the value 5 appears twice in the
+      first row. <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku5.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Nevertheless, click on the "Solve" button to apply the solving
+      rules to this invalid Grid. Note that the "Solve" button is relabelled
+      to indicate that the resulting solution is invalid. <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku6.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>In addition, the validation rule set outputs all of the issues
+      which are discovered to the console. <programlisting>
+There are two cells on the same column with the same value at (6,0) and (4,0)
+There are two cells on the same column with the same value at (4,0) and (6,0)
+There are two cells on the same row with the same value at (2,4) and (2,2)
+There are two cells on the same row with the same value at (2,2) and (2,4)
+There are two cells on the same row with the same value at (6,3) and (6,8)
+There are two cells on the same row with the same value at (6,8) and (6,3)
+There are two cells on the same column with the same value at (7,4) and (0,4)
+There are two cells on the same column with the same value at (0,4) and (7,4)
+There are two cells on the same row with the same value at (0,8) and (0,0)
+There are two cells on the same row with the same value at (0,0) and (0,8)
+There are two cells on the same column with the same value at (1,2) and (3,2)
+There are two cells on the same column with the same value at (3,2) and (1,2)
+There are two cells in the same zone with the same value at (6,3) and (7,3)
+There are two cells in the same zone with the same value at (7,3) and (6,3)
+There are two cells on the same column with the same value at (7,3) and (6,3)
+There are two cells on the same column with the same value at (6,3) and (7,3)   
+      </programlisting></para>
+
+      <para>We will look at the solving rule set later in this section, but
+      for the moment we should note that some theoretically solvable solutions
+      can not be solved by the engine as it stands. Click on
+      File-&gt;Samples-&gt;Hard 3 to load a sparsely populated Grid.
+      <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku7.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Now click on the "Solve" button and note that the current rules
+      are unable to complete the grid, even though (if you are a Sudoku
+      afficiando) you may be able to see a way forward with the solution.
+      <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Examples/SodukiExample/sudoku8.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>At the present time, the solving functionality has been achieved
+      by the use of ten rules. This rule set could be extended to enable the
+      engine to tackle more complex logic for filling grids such as
+      this.</para>
+    </section>
+
+    <section>
+      <title>Java Source and Rules Overview</title>
+
+      <para>The Java source code can be found in the
+      /src/main/java/org/drools/examples/sudoku directory, with the two DRL
+      files defining the rules located in the
+      /src/main/rules/org/drools/examples/sudoku directory.</para>
+
+      <para>org.drools.examples.sudoku.swing contains a set of classes which
+      implement a framework for Sudoku puzzles. Note that this package does
+      not have any dependencies on the Drools libraries. SudokuGridModel
+      defines an interface which can be implemented to store a Sudoku puzzle
+      as a 9x9 grid of Integer values, some of which may be null, indicating
+      that the value for the cell has not yet been resolved. SudokuGridView is
+      a Swing component which can visualise any implementation of
+      SudokuGridModel. SudokuGridEvent and SudokuGridListener are used to
+      communicate state changes between the model and the view, events are
+      fired when a cell's value is resolved or changed. If you are familiar
+      with the model-view-controller patterns in other Swing components such
+      as JTable then this pattern should be familiar. SudokuGridSamples
+      provides a number of partially filled Sudoku puzzles for demo
+      purposes.</para>
+
+      <para>org.drools.examples.sudoku.rules contains an implementation of
+      SudokuGridModel which is based on Drools. Two POJOs are used, both of
+      which extend AbstractCellValue and represent a value for a specific cell
+      in the grid, including the row and column location of the cell, an index
+      of the 3x3 zone the cell is contained in and the value of the cell.
+      PossibleCellValue indicates that we do not currently know for sure what
+      the value in a cell is. There can be 2-9 PossibleCellValues for a given
+      cell. ResolvedCellValue indicates that we have determined what the value
+      for a cell must be. There can only be 1 ResolvedCellValue for a given
+      cell. DroolsSudokuGridModel implements SudokuGridModel and is
+      responsible for converting an initial two dimensional array of partially
+      specified cells into a set of CellValue POJOs, creating a working memory
+      based on solverSudoku.drl and inserting the CellValue POJOs into the
+      working memory. When the solve() method is called it calls
+      fireAllRules() on this working memory to try to solve the puzzle.
+      DroolsSudokuGridModel attaches a WorkingMemoryListener to the working
+      memory, which allows it to be called back on insert() and retract()
+      events as the puzzle is solved. When a new ResolvedCellValue is inserted
+      into the working memory, this call back allows the implementation to
+      fire a SudokuGridEvent to its SudokuGridListeners which can then update
+      themselves in realtime. Once all the rules fired by the solver working
+      memory have executed, DroolsSudokuGridModel runs a second set of rules,
+      based on validatorSudoku.drl which works with the same set of POJOs to
+      determine if the resulting grid is a valid and full solution.</para>
+
+      <para>org.drools.examples.sudoku.Main implements a Java application
+      which hooks the components desribed above together.</para>
+
+      <para>org.drools.examples.sudoku contains two DRL files.
+      solverSudoku.drl defines the rules which attempt to solve a Sudoku
+      puzzle and validator.drl defines the rules which determin whether the
+      current state of the working memory represents a valid solution. Both
+      use PossibleCellValue and ResolvedCellValue POJOs as their facts and
+      both output information to the console as their rules fire. In a
+      real-world situation we would insert() logging information and use the
+      WorkingMemoryListener to display this information to a user rather than
+      use the console in this fashion.</para>
+    </section>
+
+    <section>
+      <title>Sudoku Validator Rules (validatorSudoku.drl)</title>
+
+      <para>We start with the validator rules as this rule set is shorter and
+      simpler than the solver rule set.</para>
+
+      <para>The first rule simply checks that no PossibleCellValue objects
+      remain in the working memory. Once the puzzle is solved, only
+      ResolvedCellValue objects should be present, one for each cell.</para>
+
+      <para>The other three rules each match all of the ResolvedCellValue
+      objects and store them in thenew_remote_sitetes instance variable
+      $resolved. They then look respectively for ResolvedCellValues that
+      contain the same value and are located, respectively, in the same row,
+      column or 3x3 zone. If these rules are fired they add a message to a
+      global List of Strings describing the reason the solution is invalid.
+      DroolsSudokoGridModel injects this List before it runs the rule set and
+      checks whether it is empty or not having called fireAllRules(). If it is
+      not empty then it prints all the Strings in the list and sets a flag to
+      indicate that the Grid is not solved.</para>
+    </section>
+
+    <section>
+      <title>Sudoku Solving Rules (solverSudoku.drl)</title>
+
+      <para>Now let us look at the more complex rule set used to solve Sudoku
+      puzzles.</para>
+
+      <para>Rule #1 is basically a "book-keeping" rule. Several of the other
+      rules insert() ResolvedCellValues into the working memory at specific
+      rows and columns once they have determined that a given cell must have a
+      certain value. At this point, it is important to clear the working
+      memory of any inserted PossibleCellValues at the same row and column
+      with invalid values. This rule is therefore given a higher salience than
+      the remaining rules to ensure that as soon as the LHS is true,
+      activations for the rule move to the top of the agenda and are fired. In
+      turn this prevents the spurious firing of other rules due to the
+      combination of a ResolvedCellValue and one or more PossibleCellValues
+      being present in the same cell. This rule also calls update() on the
+      ResolvedCellValue, even though its value has not in fact been modified
+      to ensure that Drools fires an event to any WorkingMemoryListeners
+      attached to the working memory so that they can update themselves - in
+      this case so that the GUI can display the new state of the grid.</para>
+
+      <para>Rule #2 identifies cells in the grid which have only one possible
+      value. The first line of the when caluse matches all of the
+      PossibleCellValue objects in the working memory. The second line
+      demonstrates a use of the not keyword. This rule will only fire if no
+      other PossibleCellValue objects exist in the working memory at the same
+      row and column but with a different value. When the rule fires, the
+      single PossibleCellValue at the row and column is retracted from the
+      working memory and is replaced by a new ResolvedCellValue at the same
+      row and column with the same value.</para>
+
+      <para>Rule #3 removes PossibleCellValues with a given value from a row
+      when they have the same value as a ResolvedCellValue. In other words,
+      when a cell is filled out with a resolved value, we need to remove the
+      possibility of any other cell on the same row having this value. The
+      first line of the when clause matches all ResolvedCellValue objects in
+      the working memory. The second line matches PossibleCellValues which
+      have both the same row and the same value as these ResolvedCellValue
+      objects. If any are found, the rule activates and, when fired retracts
+      the PossibleCellValue which can no longer be a solution for that
+      cell.</para>
+
+      <para>Rules #4 and #5 act in the same way as Rule #3 but check for
+      redundant PossibleCellValues in a given column and a given zone of the
+      grid as a ResolvedCellValue respectively.</para>
+
+      <para>Rule #6 checks for the scenario where a possible cell value only
+      appears once in a given row. The first line of the LHS matches against
+      all PossibleCellValues in the working memory, storing the result in a
+      number of local variables. The second line checks that no other
+      PossibleCellValues with the same value exist on this row. The third to
+      fifth lines check that there is not a ResolvedCellValue with the same
+      value in the same zone, row or column so that this rule does not fire
+      prematurely. Interestingly we could remove lines 3-5 and give rules
+      #3,#4 and #5 a higher salience to make sure they always fired before
+      rules #6,#7 and #8. When the rule fires, we know that $possible must
+      represent the value for the cell so, as in Rule #2 we retract $possible
+      and replace it with the equivalent, new ResolvedCellValue.</para>
+
+      <para>Rules #7 and #8 act in the same way as Rule #2 but check for
+      single PossibleCellValues in a given column and a given zone of the grid
+      respectively.</para>
+
+      <para>Rule #9 represents the most complex currently implemented rule.
+      This rule implements the logic that, if we know that a pair of given
+      values can only occur in two cells on a specific row, (for example we
+      have determined the values of 4 and 6 can only appear in the first row
+      in cells 0,3 and 0,5) and this pair of cells can not hold other values
+      then, although we do not know which of the pair contains a four and
+      which contains a six we know that the 4 and the 6 must be in these two
+      cells and hence can remove the possibility of them occuring anywhere
+      else in the same row (phew!). TODO: more detail here and I think the
+      rule can be cleaned up in the DRL file before fully documenting
+      it.</para>
+
+      <para>Rules #10 and #11 act in the same way as Rule #9 but check for the
+      existance of only two possible values in a given column and zone
+      respectively.</para>
+
+      <para>To solve harder grids, the rule set would need to be extended
+      further with more complex rules that encapsulated more complex
+      reasoning.</para>
+    </section>
+
+    <section>
+      <title>Suggestions for Future Developments</title>
+
+      <para>There are a number of ways in which this example could be
+      developed. The reader is encouraged to consider these as
+      excercises.</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Agenda-group: agenda groups are a great declarative tool for
+          phased execution. In this example, it is easy to see we have 2
+          phases: "resolution" and "validation". Right now, they are executed
+          by creating two separate rule bases, each for one "job". I think it
+          would be better for us to define agenda-groups for all the rules,
+          spliting them in "resolution" rules and "validation" rules, all
+          loaded in a single rule base. The engine executes resolution and
+          right after that, executes validation.</para>
+        </listitem>
+
+        <listitem>
+          <para>Auto-focus: auto focus is a great way of handling exceptions
+          to the regular rules execution. In our case, if we detect an
+          inconsistency, either in the input data or in the resolution rules,
+          why should we spend time continuing the execution if it will be
+          invalid anyway? I think it is better to simply (and immediatly)
+          report the inconsistency as soon as it is found. To do that, since
+          we now have a single rulebase with all rules, we simply need to
+          define auto-focus attribute for all rules validating puzzle
+          consistency.</para>
+        </listitem>
+
+        <listitem>
+          <para>Logical insert: an inconsistency only exists while wrong data
+          is in the working memory. As so, we could state that the the
+          validation rules logically insert inconsistencies and as soon as the
+          offending data is retracted, the inconsistency no longer
+          exists.</para>
+        </listitem>
+
+        <listitem>
+          <para>session.iterateObjects(): although a valid use case having a
+          global list to add the found problems, I think it would be more
+          interesting to ask the stateful session by the desired list of
+          problems, using session.iterateObjects( new ClassObjectFilter(
+          Inconsistency.class ) ); Having the inconsistency class can also
+          allow us to paint in RED the offending cells in the GUI.</para>
+        </listitem>
+
+        <listitem>
+          <para>drools.halt(): even reporting the error as soon as it is
+          found, we need a way to tell the engine to stop evaluating rules. We
+          can do that creating a rule that in the presence of Inconsistencies,
+          calls drools.halt() to stop evaluation.</para>
+        </listitem>
+
+        <listitem>
+          <para>queries: looking at the method getPossibleCellValues(int row,
+          int col) in DroolsSudokuGridModel, we see it iterating over all
+          CellValues and looking for the few it wants. That, IMO, is a great
+          opportunity to teach drools queries. We just define a query to
+          return the objects we want and iterate over it. Clean and nice.
+          Other queries may be defined as needed.</para>
+        </listitem>
+
+        <listitem>
+          <para>session.iterateObjects(): although a valid use case having a
+          global list to add the found problems, I think it would be more
+          interesting to ask the stateful session by the desired list of
+          problems, using session.iterateObjects( new ClassObjectFilter(
+          Inconsistency.class ) ); Having the inconsistency class can also
+          allow us to paint in RED the offending cells in the GUI.</para>
+        </listitem>
+
+        <listitem>
+          <para>Globals as services: the main objective of this change is to
+          attend the next change I will propose, but it is nice by its own I
+          guess. :) In order to teach the use of "globals" as services, it
+          would be nice to setup a call back, so that each rule that finds the
+          ResolvedCellValue for a given cell can call, to notify and update
+          the corresponding cell in the GUI, providing immediate feedback for
+          the user. Also, the last found cell could have its number painted in
+          a different color to facilitate the identification of the rules
+          conclusions.</para>
+        </listitem>
+
+        <listitem>
+          <para>Step by step execution: now that we have immediate user
+          feedback, we can make use of the restricted run feature in drools.
+          I.e., we could add a button in the GUI, so that the user clicks and
+          causes the execution of a single rule, by calling fireAllRules( 1 ).
+          This way, the user can see, step by step, what the engine is
+          doing.</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-SodukiExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-StateExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-StateExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-StateExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+		<title>State Example</title>
+
+		<para>This example is actually implemented in three different versions to demonstrate different ways of implementing the same basic behavior: rules forward chaining, i.e., the ability the engine has to evaluate, activate and fire rules in sequence, based on changes on the facts in the working memory.</para>
+		
+		<section>
+			<title>Understanding the State Example</title>
+
+			<screen><emphasis role="bold">Name:</emphasis> State Example
+<emphasis role="bold">Main class:</emphasis> org.drools.examples.StateExampleUsingSalience
+<emphasis role="bold">Type:</emphasis> java application
+<emphasis role="bold">Rules file:</emphasis> StateExampleUsingSalience.drl
+<emphasis role="bold">Objective:</emphasis> Demonstrates basic rule use and Conflict Resolution for rule firing priority.</screen>
+
+			<para>Each State class has fields for its name and its current state (see org.drools.examples.State class). The two possible states for each objects are:</para>
+
+			<itemizedlist>
+				<listitem>
+					<para>NOTRUN</para>
+				</listitem>
+
+				<listitem>
+					<para>FINISHED</para>
+				</listitem>
+			</itemizedlist>
+
+			<example>
+				<title>State Class</title>
+
+				<programlisting>public class State {
+    public static final int       NOTRUN   = 0;
+    public static final int       FINISHED = 1;
+
+    private final PropertyChangeSupport changes  = new PropertyChangeSupport( this );
+
+    private String                name;
+    private int                   state;
+
+    ... setters and getters go here...
+}</programlisting>
+			</example>
+
+			<para>Ignore the PropertyChangeSupport for now, that will be explained later. In the example we create four State objects with names: A, B, C and D. Initially all are set to state NOTRUN, which is default for the used constructor. Each instance is asserted in turn into the session and then fireAllRules() is called.</para>
+
+			<example>
+				<title>Salience State Example Execution</title>
+
+				<programlisting>State a = new State( "A" );
+State b = new State( "B" );
+State c = new State( "C" );
+final State d = new State( "D" );
+
+// By setting dynamic to TRUE, Drools will use JavaBean
+// PropertyChangeListeners so you don't have to call update().
+boolean dynamic = true;
+
+session.insert( a,
+                dynamic );
+session.insert( b,
+                dynamic );
+session.insert( c,
+                dynamic );
+session.insert( d,
+                dynamic );
+
+session.fireAllRules();
+session.dispose(); // Stateful rule session must always be disposed when finished</programlisting>
+			</example>
+
+			<para>To execute the application:</para>
+
+			<orderedlist>
+				<listitem>
+					<para>Open the class org.drools.examples.StateExampleUsingSalience in your Eclipse IDE</para>
+				</listitem>
+
+				<listitem>
+					<para>Right-click the class an select "Run as..." -&gt; "Java application"</para>
+				</listitem>
+			</orderedlist>
+
+			<para>And you will see the following output in the Eclipse console output:</para>
+
+			<example>
+				<title>Salience State Example Console Output</title>
+
+				<programlisting>A finished
+B finished
+C finished
+D finished
+</programlisting>
+			</example>
+
+			<para>There are four rules in total, first a Bootstrap rule fires setting A to state FINISHED which then causes B to change to state FINISHED. C and D are both dependent on B - causing a conflict which is resolved by setting salience values. First lets look at how this was executed</para>
+
+			<para>The best way to understand what is happening is to use the "Audit Log" feature to graphically see the results of each operation. The Audit log was generated when the example was previously run. To view the Audit log in Eclipse:</para>
+
+			<orderedlist>
+				<listitem>
+					<para>If the "Audit View" is not visible, click on: "Window"-&gt;"Show View"-&gt;"Other..."-&gt;"Drools"-&gt;"Audit View"</para>
+				</listitem>
+
+				<listitem>
+					<para>In the "Audit View" click in the "Open Log" button and select the file "&lt;drools-examples-drl-dir&gt;/log/state.log"</para>
+				</listitem>
+			</orderedlist>
+
+			<para>After that, the "Audit view" will look like the following screenshot.</para>
+
+			<figure>
+				<title>Salience State Example Audit View</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/StateExample/state_example_audit1.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Reading the log in the "Audit View", top to down, we see every action and the corresponding changes in the working memory. This way we see that the assertion of the State "A" object with the "NOTRUN" state activates the "Bootstrap" rule, while the assertions of the other state objects have no immediate effect.</para>
+
+			<example>
+				<title>Salience State Example: Rule "Bootstrap"</title>
+
+				<programlisting>rule Bootstrap
+    when
+        a : State(name == "A", state == State.NOTRUN )
+    then
+        System.out.println(a.getName() + " finished" );
+        a.setState( State.FINISHED );
+end</programlisting>
+			</example>
+
+			<para>The execution of "Bootstrap" rule changes the state of "A" to "FINISHED", that in turn activates the "A to B" rule.</para>
+
+			<example>
+				<title>Salience State Example: Rule "A to B"</title>
+
+				<programlisting>rule "A to B"
+    when
+        State(name == "A", state == State.FINISHED )
+        b : State(name == "B", state == State.NOTRUN )
+    then
+        System.out.println(b.getName() + " finished" );
+        b.setState( State.FINISHED );
+end
+</programlisting>
+			</example>
+
+			<para>The execution of "A to B" rule changes the state of "B" to "FINISHED", which activates both rules "B to C" and "B to D", placing both Activations onto the Agenda. In this moment the two rules may fire and are said to be in conflict. The conflict resolution strategy allows the engine's Agenda to decide which rule to fire. As the "B to C" rule has a <emphasis role="bold">higher salience value</emphasis> (10 versus the default salience value of 0), it fires first, modifying the "C" object to state "FINISHED". The Audit view above shows the modification of the State object in the rule "A to B" which results in two highlighted activations being in conflict. The Agenda view can also be used to investigate the state of the Agenda, debug points can be placed in the rules themselves and the Agenda view opened; the screen shot below shows the break point in the rule "A to B" and the state of the Agenda with the two conflicting rules.</para>
+
+			<figure>
+				<title>State Example Agenda View</title>
+	
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/StateExample/state_example_agenda1.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+	
+			<example>
+				<title>Salience State Example: Rule "B to C"</title>
+	
+				<programlisting>rule "B to C"
+        salience 10
+    when
+        State(name == "B", state == State.FINISHED )
+        c : State(name == "C", state == State.NOTRUN )
+    then
+        System.out.println(c.getName() + " finished" );
+        c.setState( State.FINISHED );
+end
+</programlisting>
+			</example>
+
+			<para>The "B to D" rule fires last, modifying the "D" object to state "FINISHED".</para>
+	
+			<example>
+				<title>Salience State Example: Rule "B to D"</title>
+	
+				<programlisting>rule "B to D"
+    when
+        State(name == "B", state == State.FINISHED )
+        d : State(name == "D", state == State.NOTRUN )
+    then
+        System.out.println(d.getName() + " finished" );
+        d.setState( State.FINISHED );
+end</programlisting>
+			</example>
+	
+			<para>There are no more rules to execute and so the engine stops.</para>
+	
+			<para>Another notable concept in this example is the use of <emphasis role="bold">dynamic facts</emphasis>, which is the PropertyChangeListener part. As mentioned previously in the documentation, in order for the engine to see and react to fact's properties change, the application must tell the engine that changes occurred. This can be done explicitly in the rules, by calling the <emphasis role="bold">update()</emphasis> memory action, or implicitly by letting the engine know that the facts implement PropertyChangeSupport as defined by the <emphasis>Javabeans specification</emphasis>. This example demonstrates how to use PropertyChangeSupport to avoid the need for explicit update() calls in the rules. To make use of this feature, make sure your facts implement the PropertyChangeSupport as the org.drools.example.State class does and use the following code to insert the facts into the working memory:</para>
+	
+			<example>
+				<title>Inserting a Dynamic Fact</title>
+	
+				<programlisting>// By setting dynamic to TRUE, Drools will use JavaBean
+// PropertyChangeListeners so you don't have to call update().
+final boolean dynamic = true;
+
+session.insert( fact,
+                dynamic );
+</programlisting>
+			</example>
+	
+			<para>When using PropertyChangeListeners each setter must implement a little extra code to do the notification, here is the state setter for thte org.drools.examples.State class:</para>
+	
+			<example>
+				<title>Setter Example with PropertyChangeSupport</title>
+	
+				<programlisting>public void setState(final int newState) {
+    int oldState = this.state;
+    this.state = newState;
+    this.changes.firePropertyChange( "state",
+                                     oldState,
+                                     newState );
+}</programlisting>
+			</example>
+
+			<para>There are two other State examples: StateExampleUsingAgendGroup and StateExampleWithDynamicRules. Both execute from A to B to C to D, as just shown, the StateExampleUsingAgendGroup uses agenda-groups to control the rule conflict and which one fires first and StateExampleWithDynamicRules shows how an additional rule can be added to an already running WorkingMemory with all the existing data applying to it at runtime.</para>
+	
+			<para>Agenda groups are a way to partition the agenda into groups and controlling which groups can execute. All rules by default are in the "MAIN" agenda group, by simply using the "agenda-group" attribute you specify a different agenda group for the rule. A working memory initially only has focus on the "MAIN" agenda group, only when other groups are given the focus can their rules fire; this can be achieved by either using the method setFocus() or the rule attribute "auto-focus". "auto-focus" means that the rule automatically sets the focus to it's agenda group when the rule is matched and activated. It is this "auto-focus" that enables "B to C" to fire before "B to D".</para>
+	
+			<example>
+				<title>Agenda Group State Example: Rule "B to C"</title>
+	
+				<programlisting>rule "B to C"
+      agenda-group "B to C"
+      auto-focus true       
+  when
+      State(name == "B", state == State.FINISHED )      
+      c : State(name == "C", state == State.NOTRUN )
+  then
+      System.out.println(c.getName() + " finished" );
+      c.setState( State.FINISHED );
+      drools.setFocus( "B to D" );
+end</programlisting>
+			</example>
+
+			<para>The rule "B to C" calls "drools.setFocus( "B to D" );" which gives the agenda group "B to D" focus allowing its active rules to fire; which allows the rule "B to D" to fire.</para>
+
+			<example>
+				<title>Agenda Group State Example: Rule "B to D"</title>
+
+				<programlisting>rule "B to D"
+      agenda-group "B to D"
+  when
+      State(name == "B", state == State.FINISHED )      
+      d : State(name == "D", state == State.NOTRUN )
+  then
+      System.out.println(d.getName() + " finished" );
+      d.setState( State.FINISHED );
+end</programlisting>
+			</example>
+
+			<para>The example StateExampleWithDynamicRules adds another rule to the RuleBase after fireAllRules(), the rule it adds is just another State transition.</para>
+
+			<example>
+				<title>Dynamic State Example: Rule "D to E"</title>
+
+				<programlisting>rule "D to E"
+  when
+      State(name == "D", state == State.FINISHED )      
+      e : State(name == "E", state == State.NOTRUN )
+  then
+      System.out.println(e.getName() + " finished" );
+      e.setState( State.FINISHED );
+end</programlisting>
+			</example>
+
+			<para>It gives the following expected output:</para>
+
+			<example>
+				<title>Dynamic Sate Example Output</title>
+	
+				<programlisting>A finished
+B finished
+C finished
+D finished
+E finished
+</programlisting>
+			</example>
+			
+		</section>
+		
+	</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-StateExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-TroubleTicketExample.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-TroubleTicketExample.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-TroubleTicketExample.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <!-- Trouble Ticket example -->
+	<section xml:base="../">
+			<title>Executing the Example</title>
+
+			<para>The example creates 4 customers, with their name and subscription class, it then creates 4 tickets for each of the customers, note that the ticket takes the customer in the constructor (that sets up the object relationship. The tickets and the customers are then inserted. Notice that we keep a fact handle - which we will use to notify the engine that that specific ticket changed later on. The last line has the all important fireAllRules(), which tells the engine to take action on the data it has.</para>
+
+			<example>
+				<title>Trouble Ticket Example : Creating and Inserting Facts</title>
+
+				<programlisting>Customer a = new Customer( "A",
+                           "Gold" );
+Customer b = new Customer( "B",
+                           "Platinum" );
+Customer c = new Customer( "C",
+                           "Silver" );
+Customer d = new Customer( "D",
+                           "Silver" );
+
+Ticket t1 = new Ticket( a );
+Ticket t2 = new Ticket( b );
+Ticket t3 = new Ticket( c );
+Ticket t4 = new Ticket( d );
+
+session.insert( a );
+session.insert( b );
+session.insert( c );
+session.insert( d );
+
+session.insert( t1 );
+session.insert( t2 );
+FactHandle ft3 = session.insert( t3 );
+session.insert( t4 );
+
+session.fireAllRules();</programlisting>
+			</example>
+
+			<para>We have the "New Ticket" rule which has the highest priority (salience of 10 - the default is zero), The purpose of this is simply to log the fact that a new ticket has arrived in the system:</para>
+
+			<programlisting>rule "New Ticket"
+ salience 10
+ when
+  customer : Customer( )
+  ticket : Ticket( customer == customer, status == "New" )
+  then
+ System.out.println( "New : " + ticket );
+end    </programlisting>
+
+			<para>Note that we are "joining" the ticket fact with the customer fact. It's not really needed in this case, as we don't do anything (yet) with the customer fact. If you look in the TroubleTicketExample.java, you will also see that the facts are being inserted into the engine - note that we assert BOTH Customer and Ticket object (even though the ticket belongs to a customer - this allows the engine to join the objects together how it wants - this is what is meant by "relational" programming - we let the rule engine define what the relationships are. For instance, although the code is structured so that a ticket belongs to a customer, we may be interested in looking at tickets from different customers of the same type in the future).</para>
+
+			<para>If we run the rules, we should expect that the "New Ticket" rule will be activated for all tickets, so looking at the audit log view (by opening the file which was saved automatically when the rules were run):</para>
+
+			<figure>
+				<title>Audit view</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/TroubleTicketExample/tt_audit_view.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above audit log, we can see each customer asserted, but nothing happens. As soon as the first ticket gets asserted, it joins it with the customer, and creates some activations: one is the "new ticket" rule, the other is for the appropriate priority (which we will show below). Note that items in the above view do not mean the rule fired at that point.</para>
+
+			<para>Also, don't forget to use "fireAllRules()" - a common mistake ! (In this case we are using a statefull session, so this is necessary).</para>
+
+			<para>If we run the rules, we should expect that the "New Ticket" rule will be activated for all tickets, so looking at the audit log view (by opening the file which was saved automatically when the rules were run):</para>
+
+			<figure>
+				<title>Audit view</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/TroubleTicketExample/tt_audit_view.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above audit log, we can see each customer asserted, but nothing happens. As soon as the first ticket gets asserted, it joins it with the customer, and creates some activations: one is the "new ticket" rule, the other is for the appropriate priority (which we will show below). Note that items in the above view do not mean the rule fired at that point.</para>
+			
+		</section>
+		
+		<section>
+			<title>Platinum gets the best service</title>
+
+			<para>All the wonderful platinum customers have to get great service, so first thing to note is that as soon as a ticket arrives, we escalate if it is for a platinum customer:</para>
+
+			<programlisting>rule "Platinum Priority"
+ when
+  customer : Customer( subscription == "Platinum" )
+  ticket : Ticket( customer == customer, status == "New" )
+ then;
+  ticket.setStatus( "Escalate" );
+  update( ticket );
+end      </programlisting>
+
+			<para>Here we are joining Ticket to customer again (customer == customer), but we are also checking that the customer is "Platinum". When this is the case, we set the ticket status to "Escalate" and call update (which tells the engine that the ticket has changed).</para>
+			
+		</section>
+		
+		<section>
+			<title>Silver and Gold</title>
+
+			<para>For silver and gold class, its a similar story to platinum:</para>
+
+			<programlisting>rule "Silver Priority"
+ duration 3000
+ when
+  customer : Customer( subscription == "Silver" )
+  ticket : Ticket( customer == customer, status == "New" )
+ then
+  ticket.setStatus( "Escalate" );
+  update( ticket );
+end
+
+rule "Gold Priority"
+ duration 1000
+ when
+  customer : Customer( subscription == "Gold" )
+  ticket : Ticket( customer == customer, status == "New" )
+ then
+  ticket.setStatus( "Escalate" );
+  update( ticket );
+end   </programlisting>
+
+			<para>In this case, note the use of "duration XXX" - XXX is the number of milliseconds to wait to check that this rule holds true. Should it do so, after XXX milliseconds, then the action takes effect. So in the above case, after 3 seconds the "Silver" priority kicks in, but after 1 second "Gold" does. In both cases the tickets are escalated (just like with platinum. This is what we mean by temporal rules (rules that take effect over time).</para>
+
+		</section>
+		
+		<section>
+			<title>Escalating</title>
+
+			<para>The actual escalation of a ticket happens in a rule:</para>
+
+			<programlisting>rule "Escalate"
+ when
+  customer : Customer( )
+  ticket : Ticket( customer == customer, status == "Escalate" )
+ then
+  sendEscalationEmail( customer, ticket );
+end     </programlisting>
+
+			<para>In this case, the action is to call a function which sends an email (the function is defined down the bottom of the drl file). This rule reacts to the rules which update the ticket and set its status to escalate.</para>
+
+			<para>In the code that launches the example, we have a "sleep" to make sure all this happens (and print out the results). Note also that after the rules are fired, we modify the status of the Customer "C" to "Done" - and then tell the engine. This causes it to evaluate and fire the rule that looks for "tickets" that are "Done" (in which is just logs a message).</para>
+	
+		</section>
+		
+		<section>
+			<title>Running it</title>
+
+			<para>Running the example (by launching the TroubleTicket.java class as an application) should yield the output:</para>
+
+			<programlisting>New : [Ticket [Customer D : Silver] : New]
+New : [Ticket [Customer C : Silver] : New]
+New : [Ticket [Customer B : Platinum] : New]
+New : [Ticket [Customer A : Gold] : New]
+Email : [Ticket [Customer B : Platinum] : Escalate]
+[[ Sleeping 5 seconds ]]
+Email : [Ticket [Customer A : Gold] : Escalate]
+Done : [Ticket [Customer C : Silver] : Done]
+Email : [Ticket [Customer D : Silver] : Escalate]
+[[ awake ]]    </programlisting>
+
+			<figure>
+				<title>Audit log</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="images/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Referring to the above audit log, we can see the events as they happen. Once the rules start firing, the first items are the "Activation Executed" for the new tickets, as expected (they do nothing, just log the fact). Note the "Activation executed" item for the platinum ticket - that is the next one to go (remember it has the default salience, so it happens after the "New ticket" rule, but otherwise it is immediate - there is no "duration" delay for it). The platinum activation results in a Object modification (which is the escalation) - this in turn creates an activation record for the "escalate ticket" rule - which is what we wanted. Straight after that it executes the action to escalate the ticket.</para>
+
+			<para>The next event to occur is due to the:</para>
+			<programlisting>t3.setStatus( "Done" );
+
+session.update( ft3,
+                t3 );
+</programlisting> 
+			<para>in the code (outside of rules) - this simulates a customer service officer maarking a ticket as done (and of course, uses the fact handle we kept from before). This results in a cancelled activation (as we no longer have a New Silvert customer ticket - it is done) and a new activation to log the fact it was done.</para>
+
+			<para>In all the excitement, in parallel the engine has been watching the time pass, and it happens that the Gold tickets start to escalate, and then silver (as expected).</para>
+			
+		</section>
+
+	</section>  
+  


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/Section-TroubleTicketExample.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku3.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku3.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku4.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku4.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku5.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku5.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku6.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku6.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku7.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku7.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku8.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/SodukiExample/sudoku8.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_audit1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/StateExample/state_example_audit1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_initial.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/TroubleTicketExample/tt_initial.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/x1.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/x1.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/x1.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,827 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>Getting the examples</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+>&nbsp;</TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN1"
+>Getting the examples</A
+></H1
+>
+  
+
+  <P
+>Download the drools-examples zip; which is a self contained Eclipse
+  project. The example project in eclipse requires that you have the plugin
+  instilled: import the drools-examples project (it has an eclipse project
+  already setup). The rules all have example classes that execute the rules.
+  If you want to try the examples in another project (or another IDE) then you
+  will need to setup the dependencies by hand of course.</P
+>
+
+  <P
+>Future documentation will include walk throughs for each of the
+  examples.</P
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN5"
+>Sudoku Example</A
+></H2
+>
+  	
+  	
+  	<P
+>&#13;  	This example demonstrates how Drools can be used to find a solution in a 
+  	large potential solution space based on a number of constraints. We use
+  	the popular puzzle of Sudoku. This example also shows how Drools can be
+  	integrated into a graphical interface and how callbacks can be used to 
+  	interact with a running Drools rules engine in order to update the 
+  	graphical interface based on changes in the working memory at runtime.
+  	</P
+>
+
+  	<DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN8"
+>Sudoku Overview</A
+></H3
+>
+      
+      <P
+>&#13;      Sudoku is a logic-based number placement puzzle. The objective is to fill 
+      a 9x9 grid so that each column, each row, and each of the nine 3x3 zones 
+      contains the digits from 1 to 9 once and only once.
+      </P
+>
+      <P
+>&#13;      The puzzle setter provides a partially completed grid and the puzzle 
+      solver's task is to complete the grid with these constraints.
+      </P
+>
+      <P
+> 
+      The general strategy to solve the problem is to ensure that when you
+      insert a new number it 
+      should be unique in that particular region(blocks) and also in 
+      that particular row and column.
+      </P
+>
+      <P
+>&#13;      See <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="programlisting"
+>URL: http://en.wikipedia.org/wiki/Sudoku</PRE
+></TD
+></TR
+></TABLE
+>
+      for a more detailed description.
+      </P
+>
+  	</DIV
+>
+  	
+  	<DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN15"
+>Running the Example</A
+></H3
+>
+      
+      <P
+>&#13;      Download and install drools-example as described above and then execute
+      java org.drools.examples.sudoku.Main (this example requires Java 5).
+      </P
+>
+      <P
+>&#13;      A window will be displayed with a relatively simple partially filled 
+      grid.
+        
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku1.png">
+            </P
+></DIV
+>
+        
+      </P
+>
+      <P
+>&#13;      Click on the Solve button and the Drools-based engine will fill out
+      the remaining values. The console will display detailed information
+      of the rules which are executing to solve the puzzle in a human 
+      readable form.
+      </P
+>
+      <P
+>&#13;      <SAMP
+CLASS="computeroutput"
+>&#13;<FONT
+COLOR="RED"
+>Rule #3 determined the value at (4,1) could not be 4 as this value already exists in the same column at (8,1)</FONT
+>
+Rule #3 determined the value at (5,5) could not be 2 as this value already exists in the same row at (5,6)
+Rule #7 determined (3,5) is 2 as this is the only possible cell in the column that can have this value
+Rule #1 cleared the other PossibleCellValues for (3,5) as a ResolvedCellValue of 2 exists for this cell.
+Rule #1 cleared the other PossibleCellValues for (3,5) as a ResolvedCellValue of 2 exists for this cell.
+...      
+Rule #3 determined the value at (1,1) could not be 1 as this value already exists in the same zone at (2,1)
+Rule #6 determined (1,7) is 1 as this is the only possible cell in the row that can have this value
+Rule #1 cleared the other PossibleCellValues for (1,7) as a ResolvedCellValue of 1 exists for this cell.
+Rule #6 determined (1,1) is 8 as this is the only possible cell in the row that can have this value      
+      </SAMP
+>
+      </P
+>
+      <P
+>&#13;      Once all of the activated rules for the solving logic have executed, the engine
+      executes a second rule base to check that the solution is complete and valid. In this
+      case it is, and the "Solve" button is disabled and displays the text "Solved (1052ms)".
+        
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku2.png">
+            </P
+></DIV
+>
+        
+      </P
+>
+      <P
+>&#13;      The example comes with a number of grids which can be loaded and solved.
+      Click on File-&#62;Samples-&#62;Medium to load a more challenging grid. Note that
+      the solve button is enabled when the new grid is loaded.
+        
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku3.png">
+            </P
+></DIV
+>
+              
+      </P
+>
+      <P
+>&#13;      Click on the "Solve" button again to solve this new grid.
+        
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku4.png">
+            </P
+></DIV
+>
+          
+      </P
+>
+      <P
+>&#13;      Now, let us load a Sudoku grid that is deliberately invalid.
+      Click on File-&#62;Samples-&#62;!DELIBERATELY BROKEN!. Note that this
+      grid starts with some issues, for example the value 5 appears
+      twice in the first row.
+        
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku5.png">
+            </P
+></DIV
+>
+          
+      </P
+>
+      <P
+>&#13;      Nevertheless, click on the "Solve" button to apply the solving rules
+      to this invalid Grid. Note that the "Solve" button is relabelled 
+      to indicate that the resulting solution is invalid.
+       
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku6.png">
+            </P
+></DIV
+>
+          
+      </P
+>
+      <P
+>&#13;      In addition, the validation rule set outputs all of the issues which 
+      are discovered to the console.
+      <FONT
+COLOR="RED"
+>&#13;There are two cells on the same column with the same value at (6,0) and (4,0)
+There are two cells on the same column with the same value at (4,0) and (6,0)
+There are two cells on the same row with the same value at (2,4) and (2,2)
+There are two cells on the same row with the same value at (2,2) and (2,4)
+There are two cells on the same row with the same value at (6,3) and (6,8)
+There are two cells on the same row with the same value at (6,8) and (6,3)
+There are two cells on the same column with the same value at (7,4) and (0,4)
+There are two cells on the same column with the same value at (0,4) and (7,4)
+There are two cells on the same row with the same value at (0,8) and (0,0)
+There are two cells on the same row with the same value at (0,0) and (0,8)
+There are two cells on the same column with the same value at (1,2) and (3,2)
+There are two cells on the same column with the same value at (3,2) and (1,2)
+There are two cells in the same zone with the same value at (6,3) and (7,3)
+There are two cells in the same zone with the same value at (7,3) and (6,3)
+There are two cells on the same column with the same value at (7,3) and (6,3)
+There are two cells on the same column with the same value at (6,3) and (7,3)      
+      </FONT
+>      
+      </P
+>
+      <P
+>&#13;      We will look at the solving rule set later in this section, but for the 
+      moment we should note that some theoretically solvable solutions can 
+      not be solved by the engine as it stands.
+      Click on File-&#62;Samples-&#62;Hard 3 to load a sparsely populated Grid.
+       
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku7.png">
+            </P
+></DIV
+>
+                
+      </P
+>
+      <P
+>&#13;      Now click on the "Solve" button and note that the current rules are unable to 
+      complete the grid, even though (if you are a Sudoku afficiando) you may be able
+      to see a way forward with the solution.
+       
+          
+
+          <DIV
+CLASS="mediaobject"
+><P
+>&#13;              <IMG
+SRC="sudoku8.png">
+            </P
+></DIV
+>
+                 
+      </P
+>
+      <P
+>&#13;      At the present time, the solving functionality has been achieved by the use of ten rules.
+      This rule set could be extended to enable the engine to tackle more complex
+      logic for filling grids such as this.
+      </P
+>
+  	</DIV
+>
+ 
+    <DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN73"
+>Java Source and Rules Overview</A
+></H3
+>
+	    
+	    <P
+>&#13;	    The Java source code can be found in the /src/main/java/org/drools/examples/sudoku directory, with 
+	    the two DRL files defining the rules located in 
+	    the /src/main/rules/org/drools/examples/sudoku directory.
+	    </P
+>
+	    <P
+>&#13;	   	org.drools.examples.sudoku.swing contains a set of classes which implement a framework for 
+	   	Sudoku puzzles. Note that this package does not have any dependencies on the Drools 
+	   	libraries. SudokuGridModel defines an interface which can be implemented to store 
+	   	a Sudoku puzzle as a 9x9 grid of Integer values, some of which may be null, indicating 
+	   	that the value for the cell has not yet been resolved. SudokuGridView is a Swing 
+	   	component which can visualise any implementation of SudokuGridModel. SudokuGridEvent and
+	   	SudokuGridListener are used to communicate state changes between the model and the view, 
+	   	events are fired when a cell's value is resolved or changed. If you are familiar with the 
+	   	model-view-controller patterns in other Swing components such as JTable then this pattern
+	   	should be familiar. SudokuGridSamples provides a number of partially filled Sudoku 
+	   	puzzles for demo purposes.
+	    </P
+>
+	    <P
+>&#13;	    org.drools.examples.sudoku.rules contains an implementation of SudokuGridModel which is 
+	    based on Drools. Two POJOs are used, both of which extend AbstractCellValue and represent
+	    a value for a specific cell in the grid, including the row and column location of the cell, 
+	    an index of the 3x3 zone the cell is contained in and the value of the cell.
+	    PossibleCellValue indicates that we do not currently know for sure what the value in a 
+	    cell is. There can be 2-9 PossibleCellValues for a given cell. ResolvedCellValue 
+	    indicates that we have determined what the value for a cell must be. There can 
+	    only be 1 ResolvedCellValue for a given cell. DroolsSudokuGridModel implements 
+	    SudokuGridModel and is responsible for converting an initial two dimensional array of 
+	    partially specified cells into a set of CellValue POJOs, creating a working memory
+	    based on solverSudoku.drl and inserting the CellValue POJOs into the working memory.
+	    When the solve() method is called it calls fireAllRules() on this working memory to 
+	    try to solve the puzzle. DroolsSudokuGridModel attaches a WorkingMemoryListener 
+	    to the working memory, which allows it to be called back on insert() and retract() 
+	    events as the puzzle is solved. When a new ResolvedCellValue is inserted into the 
+	    working memory, this call back allows the implementation to fire a SudokuGridEvent to its
+	    SudokuGridListeners which can then update themselves in realtime. Once all the rules 
+	    fired by the solver working memory have executed, DroolsSudokuGridModel runs a second set of 
+	    rules, based on validatorSudoku.drl which works with the same set of POJOs to determine 
+	    if the resulting grid is a valid and full solution.
+	    </P
+>
+	    <P
+>&#13;	    org.drools.examples.sudoku.Main implements a Java application which hooks the components
+	    desribed above together.
+	    </P
+>
+	    <P
+>&#13;	    org.drools.examples.sudoku contains two DRL files. solverSudoku.drl defines the rules 
+	    which attempt to solve a Sudoku puzzle and validator.drl defines the rules which 
+	    determin whether the current state of the working memory represents a valid 
+	    solution. Both use PossibleCellValue and ResolvedCellValue POJOs as their facts and 
+	    both output information to the console as their rules fire. In a real-world situation 
+	    we would insert() logging information and use the WorkingMemoryListener to display 
+	    this information to a user rather than use the console in this fashion.
+	    </P
+>
+    </DIV
+>
+ 
+    <DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN80"
+>Sudoku Validator Rules (validatorSudoku.drl)</A
+></H3
+>
+      
+      <P
+>&#13;      We start with the validator rules as this rule set is shorter and simpler than the solver rule set.
+      </P
+>
+      <P
+>&#13;      The first rule simply checks that no PossibleCellValue objects remain in the working 
+      memory. Once the puzzle is solved, only ResolvedCellValue objects should be present, 
+      one for each cell.
+      </P
+>
+      <P
+>&#13;      The other three rules each match all of the ResolvedCellValue objects and store them in 
+      thenew_remote_sitetes instance variable $resolved. They then look respectively for ResolvedCellValues 
+      that contain the same value and are located, respectively, in the same row, column or 
+      3x3 zone. If these rules are fired they add a message to a global List of Strings describing the 
+      reason the solution is invalid. DroolsSudokoGridModel injects this List before it runs the
+      rule set and checks whether it is empty or not having called fireAllRules(). If it is not
+      empty then it prints all the Strings in the list and sets a flag to indicate
+      that the Grid is not solved.
+      </P
+>
+    </DIV
+>
+
+    <DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN85"
+>Sudoku Solving Rules (solverSudoku.drl)</A
+></H3
+>
+      
+      <P
+>&#13;      Now let us look at the more complex rule set used to solve Sudoku puzzles.
+      </P
+>
+      <P
+>&#13;      Rule #1 is basically a "book-keeping" rule. Several of the other rules insert() ResolvedCellValues
+      into the working memory at specific rows and columns once they have determined that a given cell
+      must have a certain value. At this point, it is important to clear the working memory of any 
+      inserted PossibleCellValues at the same row and column with invalid values. This rule is therefore
+      given a higher salience than the remaining rules to ensure that as soon as the LHS is true, activations 
+      for the rule move to the top of the agenda and a fired. In turn this prevents the spurious firing of
+      other rules due to the combination of a ResolvedCellValue and one or more PossibleCellValues being 
+      present in the same cell. This rule also calls update() on the ResolvedCellValue, even though its 
+      value has not in fact been modified to ensure that Drools fires an event to any WorkingMemoryListeners
+      attached to the working memory so that they can update themselves - in this case so that the GUI can 
+      display the new state of the grid.
+      </P
+>
+      <P
+>&#13;      Rule #2 identifies cells in the grid which have only one possible value. The first line of the when
+      caluse matches all 
+      of the PossibleCellValue objects in the working memory. The second line demonstrates a use of the 
+      not keyword. This rule will only fire if no other PossibleCellValue objects exist in the working 
+      memory at the same row and column but with a different value. When the rule fires, the 
+      single PossibleCellValue at the row and column is retracted from the working memory and 
+      is replaced by a new ResolvedCellValue at the same row and column with the same value.
+      </P
+>
+      <P
+>&#13;      Rule #3 removes PossibleCellValues with a given value from a row when they have the same value 
+      as a ResolvedCellValue. In other words, when a cell is filled out with a resolved value, we 
+      need to remove the possibility of any other cell on the same row having this value. The first 
+      line of the when clause matches all ResolvedCellValue objects in the working memory. The second 
+      line matches PossibleCellValues which have both the same row and the same value as these 
+      ResolvedCellValue objects. If any are found, the rule activates and, when fired retracts the 
+      PossibleCellValue which can no longer be a solution for that cell.
+      </P
+>
+      <P
+>&#13;      Rules #4 and #5 act in the same way as Rule #3 but check for redundant PossibleCellValues in a given 
+      column and a given zone of the grid as a ResolvedCellValue respectively.
+      </P
+>
+      <P
+>&#13;      Rule #6 checks for the scenario where a possible cell value only appears once in a given row. The first 
+      line of the LHS matches against all PossibleCellValues in the working memory, storing the result in 
+      a number of local variables. The second line checks that no other PossibleCellValues with the same 
+      value exist on this row. The third to fifth lines check that there is not a ResolvedCellValue with 
+      the same value in the same zone, row or column so that this rule does not fire prematurely. 
+      Interestingly we could remove lines 3-5 and give 
+      rules #3,#4 and #5 a higher salience to make sure they always fired before rules #6,#7 and #8. 
+      When the rule fires, we know that $possible must represent the value for the cell so, as in Rule #2
+      we retract $possible and replace it with the equivalent, new ResolvedCellValue.
+      </P
+>
+      <P
+>&#13;      Rules #7 and #8 act in the same way as Rule #2 but check for single PossibleCellValues in a given 
+      column and a given zone of the grid respectively.
+      </P
+>
+      <P
+>&#13;      Rule #9 represents the most complex currently implemented rule. This rule implements the logic 
+      that, if we know that a pair of given values can only occur in two cells on a specific row, (for example
+      we have determined the values of 4 and 6 can only appear in the first row in cells 0,3 and 0,5) and 
+      this pair of cells can not hold other values then, although we do not know which of the pair contains 
+      a four and which contains a six we know that the 4 and the 6 must be in these two cells and hence 
+      can remove the possibility of them occuring anywhere else in the same row (phew!).
+      TODO: more detail here and I think the rule can be cleaned up in the DRL file before fully 
+      documenting it.
+      </P
+>
+      <P
+>&#13;      Rules #10 and #11 act in the same way as Rule #9 but check for the existance of only two possible 
+      values in a given column and zone respectively.
+      </P
+>
+      <P
+>&#13;      To solve harder grids, the rule set would need to be extended further with more complex rules that 
+      encapsulated more complex reasoning.
+      </P
+>
+    </DIV
+>
+    
+    <DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN97"
+>Suggestions for Future Developments</A
+></H3
+>
+      
+      <P
+>&#13;      There are a number of ways in which this example could be developed. The reader is encouraged to 
+      consider these as excercises.
+      </P
+>
+      <P
+></P
+><UL
+><LI
+>&#13;          <P
+>&#13;Agenda-group: agenda groups are a great declarative tool for phased execution. In this
+example, it is easy to see we have 2 phases: "resolution" and "validation". Right now, they are
+executed by creating two separate rule bases, each for one "job". I think it would be better
+for us to define agenda-groups for all the rules, spliting them in "resolution" rules and
+"validation" rules, all loaded in a single rule base. The engine executes resolution and
+right after that, executes validation.           
+	      </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;Auto-focus: auto focus is a great way of handling exceptions to the regular rules execution.
+In our case, if we detect an inconsistency, either in the input data or in the resolution
+rules, why should we spend time continuing the execution if it will be invalid anyway? I
+think it is better to simply (and immediatly) report the inconsistency as soon as it is found.
+To do that, since we now have a single rulebase with all rules, we simply need to define
+auto-focus attribute for all rules validating puzzle consistency.         
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;Logical insert: an inconsistency only exists while wrong data is in the working memory.
+As so, we could state that the the validation rules logically insert inconsistencies and
+as soon as the offending data is retracted, the inconsistency no longer exists.       
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;session.iterateObjects(): although a valid use case having a global list to add the found
+problems, I think it would be more interesting to ask the stateful session by the desired
+list of problems, using session.iterateObjects( new ClassObjectFilter( Inconsistency.class ) );
+Having the inconsistency class can also allow us to paint in RED the offending cells in the
+GUI.     
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;drools.halt(): even reporting the error as soon as it is found, we need a way to
+tell the engine to stop evaluating rules. We can do that creating a rule that in the presence
+of Inconsistencies, calls drools.halt() to stop evaluation.
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;queries: looking at the method getPossibleCellValues(int row, int col) in
+DroolsSudokuGridModel, we see it iterating over all CellValues and looking for the few
+it wants. That, IMO, is a great opportunity to teach drools queries. We just define a query
+to return the objects we want and iterate over it. Clean and nice. Other queries may be
+defined as needed.  
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;session.iterateObjects(): although a valid use case having a global list to add the found
+problems, I think it would be more interesting to ask the stateful session by the desired
+list of problems, using session.iterateObjects( new ClassObjectFilter( Inconsistency.class ) );
+Having the inconsistency class can also allow us to paint in RED the offending cells in the
+GUI.     
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;Globals as services: the main objective of this change is to attend the next change I will
+propose, but it is nice by its own I guess. :) In order to teach the use of "globals" as services,
+it would be nice to setup a call back, so that each rule that finds the ResolvedCellValue for a
+given cell can call, to notify and update the corresponding cell in the GUI, providing immediate
+feedback for the user. Also, the last found cell could have its number painted in a different
+color to facilitate the identification of the rules conclusions.  
+	     </P
+>
+        </LI
+><LI
+>&#13;         <P
+>&#13;Step by step execution: now that we have immediate user feedback, we can make use of the
+restricted run feature in drools. I.e., we could add a button in the GUI, so that the user clicks
+and causes the execution of a single rule, by calling fireAllRules( 1 ). This way, the user
+can see, step by step, what the engine is doing. 
+	     </P
+>
+        </LI
+></UL
+>
+    </DIV
+>
+
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN119"
+>Hello World</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN122"
+>State Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN125"
+>Fibonacci Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN128"
+>Golfing Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN131"
+>Trouble Ticket</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN134"
+>Pricing Rule DT Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN137"
+>Shopping Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN140"
+>Honest Politician Example</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+
+  <DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN143"
+>Conways Game of Life</A
+></H2
+>
+    
+
+    <P
+></P
+>
+  </DIV
+>
+</DIV
+></BODY
+></HTML
+>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Examples/x1.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/Chapter-QuickStart.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/Chapter-QuickStart.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/Chapter-QuickStart.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,765 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+  xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+  xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xml:base="./">
+  <title>The (Eclipse based) Rule IDE</title>
+
+  <para>
+    The IDE provides developers (and very technical users) with an environment to edit and test rules in various formats, and integrate it deeply with their applications. In cases where you prefer business rules and web tooling, you will want to look at the BRMS (but using the BRMS and the IDE together is not uncommon).</para>
+
+  <para>The Drools IDE is delivered as an Eclipse plug-in, which
+  allows you to author and manage rules from within Eclipse, as well as
+  integrate rules with your application. This is an optional tool, and not all
+  components are required to be used, you can use what components are relevant
+  to you. The Drools IDE is also a part of the Red Hat Developer Studio (formerly known as JBoss IDE).</para>
+
+  <para>This guide will cover some of the features of JBoss Drools, in as far
+  as the IDE touches on them (it is assumed that the reader has some
+  familiarity with rule engines, and Drools in particular. It is important to
+  note that none of the underlying features of the rule engine are dependent
+  on Eclipse, and integrators are free to use their tools of choice, as always
+  ! Plenty of people use IntelliJ with rules, for instance.</para>
+
+  <para>Note you can get the plug-in either as a zip to download, or from an
+  update site (refer to the chapter on installation).</para>
+
+  <figure>
+    <title>Overview</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" fileref="images/Chapter-IDE/all.jpg" format="JPG" scalefit="1" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <section>
+    <title>Features outline</title>
+
+    <para>The rules IDE has the following features</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Textual/graphical rule editor</para>
+
+        <orderedlist>
+          <listitem>
+            <para>An editor that is aware of DRL syntax, and provides content
+            assistance (including an outline view)</para>
+          </listitem>
+	  <listitem>
+	    <para>An editor that is aware of DSL (domain specific langauge) extensions, and provides content assistance.</para>
+	  </listitem>
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+	<para>RuleFlow graphical editor</para>
+	<para>You can edit visual graphs which represent a process (a rule flow). The RuleFlow can then be applied to your rule package to have imperative control.</para>
+      </listitem>
+
+      <listitem>
+        <para>Wizards to accelerate and ...</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Help you quickly create a new "rules" project</para>
+          </listitem>
+
+          <listitem>
+            <para>Create a new rule resource</para>
+          </listitem>
+
+          <listitem>
+            <para>Create a new Domain Specific language</para>
+          </listitem>
+
+	  <listitem>
+	    <para>Create a new decision table, guided editor, ruleflow</para>
+	  </listitem>
+
+
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+        <para>A domain specific language editor</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Create and manage mappings from your users language to the
+            rule language</para>
+          </listitem>
+        </orderedlist>
+      </listitem>
+
+      <listitem>
+        <para>Rule validation</para>
+
+        <orderedlist>
+          <listitem>
+            <para>As rules are entered, the rule is "built" in the background
+            and errors reported via the problem "view" where possible</para>
+          </listitem>
+        </orderedlist>
+      </listitem>
+    </orderedlist>
+
+    <para>You can see the above features make use of Eclipse infrastructure
+    and features. All of the power of Eclipse is available.</para>
+  </section>
+
+  <section>
+    <title>Creating a Rule project</title>
+
+    <para>The aim of the new project wizard is to setup an executable scaffold
+    project to start using rules immediately. This will setup a basic
+    structure, classpath and sample rules and test case to get you
+    started.</para>
+
+    <figure>
+      <title>New rule project scaffolding</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/new_project1.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+      <para>When you choose to create a new "rule project" - you will get a choice to add some default artifacts to it (like rules, decision tables, ruleflows etc). These can serve as a starting point, and will give you something executable to play with (which you can then modify and mould to your needs). The simplest case (a hello world rule) is shown below. Feel free to experiment with the plug-in at this point.</para>
+
+    <figure>
+      <title>New rule project result</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/new_project2.png" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The newly created project contains an example rule file (Sample.drl)
+    in the src/rules dir and an example Java file (DroolsTest.Java) that can
+    be used to execute the rules in a Drools engine in the folder src/Java, in
+    the com.sample package. All the others jars that are necessary during
+    execution are also added to the classpath in a custom classpath container
+    called Drools Library. Rules do not have to be kept in "Java"
+    projects at all, this is just a convenience for people who are already
+    using Eclipse as their Java IDE.</para>
+
+    <para>Important note: The Drools plug-in adds a "Drools Builder"
+    capability to your Eclipse instance. This means you can enable a builder
+    on any project that will build and validate your rules when resources
+    change. This happens automatically with the Rule Project Wizard, but you
+    can also enable it manually on any project. One downside of this is if you
+    have rule files that have a large number of rules (&gt;500 rules per file)
+     it means that the background builder may be doing a lot of work to
+    build the rules on each change. An option here is to turn off the builder,
+    or put the large rules into .rule files, where you can still use the rule
+    editor, but it won't build them in the background - to fully validate the
+    rules you will need to run them in a unit test of course.</para>
+  </section>
+
+  <section>
+    <title>Creating a new rule and wizards</title>
+
+    <para>You can create a rule simple as an empty text ".drl" file, or use
+    the wizard to do so. The wizard menu can be invoked by Control+N, or
+    choosing it from the toolbar (there will be a menu with the JBoss Drools
+    icon).</para>
+
+    <figure>
+      <title>The wizard menu</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/wizards.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+	    </figure>
+
+    <para>The wizard will ask for some basic options for generating a rule
+    resource. These are just hints, you can change your mind later !. In terms
+    of location, typically you would create a top level /rules directory to
+    store your rules if you are creating a rule project, and store it in a
+    suitably named subdirectory. The package name is mandatory, and is similar
+    to a package name in Java (ie. its a namespace that groups like rules
+    together).</para>
+
+    <figure>
+      <title>New rule wizard</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/new_rule.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>This result of this wizard is to generate a rule skeleton to work
+    from. As with all wizards, they are candy: you don't have to use them if
+    you don't want !</para>
+  </section>
+
+  <section>
+    <title>Textual rule editor</title>
+
+    <para>The rule editor is where rule managers and developers will be
+    spending most of their time. The rule editor follows the pattern of a
+    normal text editor in Eclipse, with all the normal features of a text
+    editor. On top of this, the rule editor provides pop up content
+    assistance. You invoke popup content assistance the "normal" way by
+    pressing Control + Space at the same time.</para>
+
+    <figure>
+      <title>The rule editor in action</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/editor1.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The rule editor works on files that have a .drl (or .rule)
+    extension. Rules are generally grouped together as a "package" of rules
+    (like the old ruleset construct). It will also be possible to have rules
+    in individual files (grouped by being in the same package "namespace" if
+    you like). These DRL files are plain text files.</para>
+
+    <para>You can see from the example above that the package is using a
+    domain specific language (note the expander keyword, which tells the rule
+    compiler to look for a dsl file of that name, to resolve the rule
+    language). Even with the domain specific language (DSL) the rules are
+    still stored as plain text as you see on screen, which allows simpler
+    management of rules and versions (comparing versions of rules for
+    instance).</para>
+
+    <para>The editor has an outline view that is kept in sync with the
+    structure of the rules (updated on save). This provides a quick way of
+    navigating around rules by name, in a file which may have hundreds of
+    rules. The items are sorted alphabetically by default.</para>
+
+    <figure>
+      <title>The rule outline view</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/outline.jpg" format="JPG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
+<section>
+  <title>Guided editor (rule GUI)</title>
+  <para>
+    A new feature of the Drools IDE (since version 4) is the guided editor for rules. This is similar to the web based editor that is available in the BRMS. This allows you to build rules in a GUI driven fashion, based on your object model. 
+  </para>
+
+    <figure>
+      <title>The guided editor</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-IDE/guidededitor1.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>
+      To create a rule this way, use the wizard menu. It will create a instance of a .brl file and open an editor. The guided editor works based on a .package file in the same directory as the .brl file. In this "package" file - you have the package name and import statements - just like you would in the top of a normal DRL file. So the first time you create a brl rule - you will need to ppulate the package file with the fact classes you are interested in. Once you have this the guided editor will be able to prompt you with facts/fields and build rules graphically.
+    </para>
+
+    <para>
+      The guided editor works off the model classes (fact classes) that you configure. It then is able to "render" to DRL the rule that you have entered graphically. You can do this visually - and use it as a basis for learning DRL, or you can use it and build rules of the brl directly. To do this, you can either use the drools-ant module (it is an ant task that will build up all the rule assets in a folder as a rule package - so you can then deploy it as a binary file), OR you can use the following snippet of code to convert the brl to a drl rule:
+
+    </para>
+
+    <programlisting>BRXMLPersitence read = BRXMLPersitence.getInstance();
+BRDRLPersistence write = BRDRLPersistence.getInstance();
+String brl = ... read from the .brl file as needed...
+String outputDRL = write.marshall(read.unmarshal(brl));
+//then pass the outputDRL to the PackageBuilder as normal</programlisting>
+</section>
+
+  <section>
+    <title>Views</title>
+
+    <para>When debugging an application using a Drools engine, these views
+    can be used to check the state of the Drools engine itself: the Working
+    Memory View, the Agenda View the Global Data View. To be able to use
+    these views, create breakpoints in your code invoking the working memory.
+    For example, the line where you call workingMemory.fireAllRules() is a
+    good candidate. If the debugger halts at that joinpoint, you should select
+    the working memory variable in the debug variables view. The following
+    rules can then be used to show the details of the selected working
+    memory:</para>
+
+    <orderedlist>
+      <listitem>
+        <para>The Working Memory shows all elements in the working memory of
+        the Drools working memory.</para>
+      </listitem>
+
+      <listitem>
+        <para>The Agenda View shows all elements on the agenda. For each rule
+        on the agenda, the rule name and bound variables are shown.</para>
+      </listitem>
+
+      <listitem>
+        <para>The Global Data View shows all global data currently defined in
+        the Drools working memory.</para>
+      </listitem>
+    </orderedlist>
+
+    <para>The Audit view can be used to show audit logs that contain events
+    that were logged during the execution of a rules engine in a tree
+    view.</para>
+
+    <section>
+      <title>The Working Memory View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-IDE/workingMemory.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Working Memory shows all elements in the working memory of the
+      Drools engine.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the elements in the working memory, or all their
+          details. Logical structures allow for example visualizing sets of
+          elements in a more obvious way.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Agenda View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-IDE/agenda.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Agenda View shows all elements on the agenda. For each rule on
+      the agenda, the rule name and bound variables are shown.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the agenda item, or all their details. Logical
+          structures allow for example visualizing sets of elements in a more
+          obvious way. The logical structure of AgendaItems shows the rule
+          that is represented by the AgendaItem, and the values of all the
+          parameters used in the rule.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Global Data View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-IDE/globals.png" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The Global Data View shows all global data currently defined in
+      the Drools engine.</para>
+
+      <para>An action is added to the right of the view, to customize what is
+      shown:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The Show Logical Structure toggles showing the logical
+          structure of the elements in the working memory, or all their
+          details. Logical structures allow for example visualizing sets of
+          elements in a more obvious way.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Audit View</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-IDE/audit.jpg" scalefit="1" width="100%" />
+        </imageobject>
+      </mediaobject>
+
+      <para>The audit view can be used to visualize an audit log that can be
+      created when executing the rules engine. To create an audit log, use the
+      following code:</para>
+
+      <programlisting>    WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+    // create a new Working Memory Logger, that logs to file.
+    WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(workingMemory);
+    // an event.log file is created in the log dir (which must exist)
+    // in the working directory
+    logger.setFileName("log/event");
+
+    workingMemory.assertObject( ... );
+    workingMemory.fireAllRules();
+
+    // stop logging
+    logger.writeToDisk();</programlisting>
+
+      <para>Open the log by clicking the Open Log action (first action in the
+      Audit View) and select the file. The Audit view now shows all events
+      that where logged during the executing of the rules. There are different
+      types of events (each with a different icon):</para>
+
+      <orderedlist>
+        <listitem>
+          <para>Object inserted (green square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Object updated (yellow square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Object removed (red square)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation created (arrow to the right)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation cancelled (arrow to the left)</para>
+        </listitem>
+
+        <listitem>
+          <para>Activation executed (blue diamond)</para>
+        </listitem>
+ 
+        <listitem>
+          <para>Ruleflow started / ended (process icon)</para>
+        </listitem>
+ 
+        <listitem>
+          <para>Ruleflow-group activated / deactivated (process icon)</para>
+        </listitem>
+   
+        <listitem>
+          <para>Rule package added / removed (Drools icon)</para>
+        </listitem>
+
+        <listitem>
+          <para>Rule added / removed (Drools icon)</para>
+        </listitem>
+   </orderedlist>
+
+      <para>All these events show extra information concerning the event, like
+      the id and toString representation of the object in case of working
+      memory events (assert, modify and retract), the name of the rule and all
+      the variables bound in the activation in case of an activation event
+      (created, cancelled or executed). If an event occurs when executing an
+      activation, it is shown as a child of the activation executed event. For
+      some events, you can retrieve the "cause":</para>
+
+      <orderedlist>
+        <listitem>
+          <para>The cause of an object modified or retracted event is the last
+          object event for that object. This is either the object asserted
+          event, or the last object modified event for that object.</para>
+        </listitem>
+
+        <listitem>
+          <para>The cause of an activation cancelled or executed event is the
+          corresponding activation created event.</para>
+        </listitem>
+      </orderedlist>
+
+      <para>When selecting an event, the cause of that event is shown in green
+      in the audit view (if visible of course). You can also right click the
+      action and select the "Show Cause" menu item. This will scroll you to
+      the cause of the selected event.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Domain Specific Languages</title>
+
+    <para>Domain Specific Languages (dsl) allow you to create a language that
+    allows your rules to look like... rules ! Most often the domain specific
+    language reads like natural language. Typically you would look at how a
+    business analyst would describe the rule, in their own words, and then map
+    this to your object model via rule constructs. A side benefit of this is
+    that it can provide an insulation layer between your domain objects, and
+    the rules themselves (as we know you like to refactor !). A domain
+    specific language will grow as the rules grow, and works best when there
+    are common terms used over an over, with different parameters.</para>
+
+    <para>To aid with this, the rule workbench provides an editor for domain
+    specific languages (they are stored in a plain text format, so you can
+    use any editor of your choice - it uses a slightly enhanced version of the
+    "Properties" file format, simply). The editor will be invoked on any files
+    with a .dsl extension (there is also a wizard to create a sample
+    DSL).</para>
+
+    <section>
+      <title>Editing languages</title>
+
+      <figure>
+        <title>The Domain Specific Language editor</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-IDE/dsl_editor.jpg" format="JPG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The DSL editor provides a table view of Language Expression to
+      Rule Expression mapping. The Language expression is what is used in the
+      rules. This also feeds the content assistance for the rule editor, so
+      that it can suggest Language Expressions from the DSL configuration (the
+      rule editor loads up the DSL configuration when the rule resource is
+      loaded for editing). The Rule language mapping is the "code" for the
+      rules - which the language expression will be compiled to by the rule
+      engine compiler. For form of this Rule language depends if it is for a
+      condition or action part of a rule (it may be a snippet of Java, for
+      instance). The "scope" item indicates where the expression is targeted:
+      is it for the "when" part of the rule (LHS)? the "then" part (RHS)? Or
+      anywhere?</para>
+
+      <para>By selecting a mapping item (a row in the table) you can see the
+      expression and mapping in the greyed out fields below. Double clicking
+      or pressing the edit button will open the edit dialog. You can remove
+      items, and add new ones (you should generally only remove when you know
+      that expression is no longer in use).</para>
+
+      <figure>
+        <title>Language Mapping editor dialog</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-IDE/mapping_editor.jpg"
+                       format="JPG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>How it works: the "Language expression" is used to parse the rule
+      language, depending on what the "scope" is set to. When it is found in a
+      rule, the values that are market by the curly braces {value} are
+      extracted from the rule source. These values are then interpolated with
+      the "Rule mapping" expression, based on the names between the curly
+      braces. So in the example above, the natural language expression maps
+      to 2 constraints on a fact of type Person (ie the person object has the
+      age field as less than {age}, and the location value is the string of
+      {value}, where {age} and {value} are pulled out of the original rule
+      source. The Rule mapping may be a Java expression (such as if the scope
+      was "then"). If you did not wish to use a language mapping for a
+      particular rule in a drl, prefix the expression with &gt; and the
+      compiler will not try to translate it according to the language
+      definition. Also note that domain specific languages are optional. When
+      the rule is compiled, the .dsl file will also need to be
+      available.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>The Rete View</title>
+
+    <para>The Rete Tree View shows you the current Rete Network for your drl
+    file. Just click on the tab "Rete Tree" below on the DRL Editor.
+    Afterwards you can generate the current Rete Network visualization. You
+    can push and pull the nodes to arrange your optimal network overview. If
+    you got hundreds of nodes, select some of them with a frame. Then you can
+    pull groups of them. You can zoom in and out, in case not all nodes are
+    shown in the current view. For this press the button "+" oder "-".</para>
+
+    <para>There is no export function, which creates a gif or jpeg picture, in
+    the current release. Please use ctrl + alt + print to create a copy of
+    your current Eclipse window and cut it off.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-IDE/thereteview.jpg" />
+      </imageobject>
+    </mediaobject>
+
+    <para>The Rete View is
+    an advanced feature which takes full advantage of the Eclipse Graphical Editing Framework (GEF).</para>
+
+    <para>The Rete view works only in Drools Rule Projects, where the Drools
+    Builder is set in the project´s properties.</para>
+
+    <para>If you are using Drools in an other type of project, where you are
+    not having a Drools Rule Project with the appropriate Drools Builder, you
+    can create a little workaround:</para>
+
+    <para>Set up a little Drools Rule Project next to it, putting needed
+    libraries into it and the drls you want to inspect with the Rete View.
+    Just click on the right tab below in the DRL Editor, followed by a click
+    on "Generate Rete View".</para>
+  </section>
+
+  <section>
+    <title>Large drl files</title>
+
+    <para>Depending on the JDK you use, it may be necessary to increase the
+    permanent generation max size. Both SUN and IBM jdk have a permanent
+    generation, whereas BEA JRockit does not.</para>
+
+    <para>To increase the permanent generation, start Eclipse with
+    -XX:MaxPermSize=###m</para>
+
+    <para>Example: c:\Eclipse\Eclipse.exe -XX:MaxPermSize=128m</para>
+
+    <para>Rulesets of 4,000 rules or greater should set the permanent
+    generation to atleast 128Mb.</para>
+
+    <para>(note that this may also apply to compiling large numbers of rules
+    in general - as there is generally one or more classes per rule).</para>
+
+    <para>As an alternative to the above, you may put rules in a file with the
+    ".rule" extension, and the background builder will not try to compile them
+    with each change, which may provide performance improvements if your IDE
+    becomes sluggish with very large numbers of rules.</para>
+  </section>
+
+
+    <section>
+
+      <title>Debugging rules</title>
+
+           <figure>
+          <title>Debugging</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-IDE/debug-overview.png" format="PNG"/>
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+     <para>You can debug rules during the execution of your Drools application.
+      You can add breakpoints in the consequences of your rules, and whenever
+      such a breakpoint is uncounted during the execution of the rules, the execution
+      is halted.  You can then inspect the variables known at that point and use any
+      of the default debugging actions to decide what should happen next (step over,
+      continue, etc.).  You can also use the debug views to inspect the content of the
+      working memory and agenda.</para>
+
+<section>
+     <title>Creating breakpoints</title>
+     <para>You can add/remove rule breakpoints in drl files in two ways, similar to adding
+     breakpoints to Java files:</para>
+      <orderedlist>
+        <listitem>
+          <para>Double-click the ruler of the DRL editor at the line where you want to
+          add a breakpoint.  Note that rule breakpoints can only be created in the
+          consequence of a rule.  Double-clicking on a line where no breakpoint is allowed
+          will do nothing.  A breakpoint can be removed by double-clicking the ruler once more.
+          </para>
+        </listitem>
+        <listitem>
+          <para>If you right-click the ruler, a popup menu will show up, containing the
+          "Toggle breakpoint" action.  Note that rule breakpoints can only be created in the
+          consequence of a rule.  The action is automatically disabled if no rule
+          breakpoint is allowed at that line.  Clicking the action will add a breakpoint at the
+          selected line, or remove it if there was one already.</para>
+        </listitem>
+     </orderedlist>
+     <para>The Debug Perspective contains a Breakpoints view which can be used to see
+     all defined breakpoints, get their properties, enable/disable or remove them, etc.</para>
+</section>
+<section>
+     <title>Debugging rules</title>
+     <para>Drools breakpoints are only enabled if you debug your application as
+      a Drools Application.  You can do this like this:</para>
+      
+         <figure>
+          <title>Debug as Drools Application</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-IDE/debugAsDrools.png" format="PNG" role="" />
+             </imageobject>
+           </mediaobject>
+        </figure>
+
+      <orderedlist>
+        <listitem>
+          <para>Select the main class of your application. Right click it and select the
+          "Debug As >" sub-menu and select Drools Application. Alternatively, you can also select
+          the "Debug ..." menu item to open a
+          new dialog for creating, managing and running debug configurations (see
+          screenshot below)</para>
+          <orderedlist>
+            <listitem>
+              <para>Select the "Drools Application" item in the left tree and click the "New
+          launch configuration" button (leftmost icon in the toolbar above the tree).  This
+          will create a new configuration and already fill in some of the properties
+          (like the project and main class) based on main class you selected in the beginning.
+          All properties shown here are the same as any standard Java program.</para>
+            </listitem>
+            <listitem>
+              <para>Change the name of your debug configuration to something meaningful.
+          You can just accept the defaults for all other properties.  For more information
+          about these properties, please check the Eclipse jdt documentation.</para>
+            </listitem>
+            <listitem>
+              <para>Click the "Debug" button on the bottom to start debugging your application. You only have to define your debug configuration once.  The next time you try to run your Drools application, you don't have to create a new one but select the one you defined previously by selecting it in the tree on the left, as a sub-element of the "Drools Application"
+     tree node, and then click the Debug button.  The Eclipse toolbar also contains shortcut
+     buttons to quickly re-execute the one of your previous configurations (at least when the
+     Java, Java Debug, or Drools perspective has been selected).
+              </para>
+            </listitem>
+          </orderedlist>
+        </listitem>
+     </orderedlist>
+
+          <figure>
+          <title>Debug as Drools Application Configuration</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-IDE/debug_rules_configuration.png" format="PNG" role="" />
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+     <para>After clicking the "Debug" button, the application starts executing and will halt if any
+     breakpoint is encountered.  This can be a Drools rule breakpoint, or any other standard
+     Java breakpoint.  Whenever a Drools rule breakpoint is encountered, the corresponding drl
+     file is opened and the active line is highlighted.  The Variables view also contains all rule
+     parameters and their value. You can then use the default Java debug actions
+     to decide what to do next (resume, terminate, step over, etc.).  The debug views can also
+     be used to determine the contents of the working memory and agenda at that time as well
+     (you don't have to select a working memory now, the current executing working memory
+     is automatically shown).
+     </para>
+
+          <figure>
+          <title>Debugging</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" fileref="images/Chapter-IDE/debug.png" format="PNG"/>
+             </imageobject>
+           </mediaobject>
+        </figure>
+        
+   </section>
+    </section>
+
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-IDE/Chapter-QuickStart.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Chapter-JSR94.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Chapter-JSR94.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Chapter-JSR94.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
+	<title>The Java Rule Engine API</title>
+
+	<xi:include href="Section-Introduction.xml" />
+
+	<!-- Removed till it can be completed -->
+
+	<!-- include href="Chapter-JSR94/Section-Specification.xml" /-->
+
+	<xi:include href="Section-How_To_Use.xml" />
+
+	<xi:include href="Section-References.xml" />
+</chapter>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Chapter-JSR94.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-How_To_Use.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-How_To_Use.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-How_To_Use.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>How To Use</title>
+
+  <para>There are two parts to working with JSR94. The first part is the
+  administrative api that deals with building and register RuleExecutionSets,
+  the second part is runtime session execution of those
+  RuleExecutionSets.</para>
+
+  <section>
+    <title>Building and Registering RuleExecutionSets</title>
+
+    <para>The RuleServiceProviderManager manages the registration and
+    retrieval of RuleServiceProviders. The Drools RuleServiceProvider
+    implementation is automatically registered via a static block when the
+    class is loaded using Class.forName; in much the same way as JDBC
+    drivers.</para>
+
+    <para><example>
+        <title>Automatic RuleServiceProvider Registration</title>
+
+        <programlisting>// RuleServiceProviderImpl is registered to "http://drools.org/" via a static initialization block
+Class.forName("org.drools.jsr94.rules.RuleServiceProviderImpl");
+
+// Get the rule service provider from the provider manager.
+RuleServiceProvider ruleServiceProvider = RuleServiceProviderManager.getRuleServiceProvider("http://drools.org/");</programlisting>
+      </example>The RuleServiceProvider provides access to the RuleRuntime and
+    RuleAdministration APIs. The RuleAdministration provides an administration
+    API for the management of RuleExecutionSets, making it possible to
+    register a RuleExecutionSet that can then be retrieved via the
+    RuleRuntime.</para>
+
+    <para>First you need to create a RuleExecutionSet before it can be
+    registered; RuleAdministrator provides factory methods to return an empty
+    LocalRuleExecutionSetProvider or RuleExecutionSetProvider. The
+    LocalRuleExecutionSetProvider should be used to load a RuleExecutionSets
+    from local sources that are not serializable, like Streams. The
+    RuleExecutionSetProvider can be used to load RuleExecutionSets from
+    serializable sources, like DOM Elements or Packages. Both the
+    "ruleAdministrator.getLocalRuleExecutionSetProvider( null );" and the
+    "ruleAdministrator.getRuleExecutionSetProvider( null );" take null as a
+    parameter, as the properties map for these methods is not currently
+    used.</para>
+
+    <example>
+      <title>Registering a LocalRuleExecutionSet with the RuleAdministration
+      API</title>
+
+      <programlisting>// Get the RuleAdministration 
+RuleAdministration ruleAdministrator = ruleServiceProvider.getRuleAdministrator();
+LocalRuleExecutionSetProvider ruleExecutionSetProvider = ruleAdministrator.getLocalRuleExecutionSetProvider( null );
+
+// Create a Reader for the drl
+URL drlUrl = new URL("http://mydomain.org/sources/myrules.drl");
+Reader drlReader = new InputStreamReader(  drlUrl.openStream()  );
+
+// Create the RuleExecutionSet for the drl
+RuleExecutionSet ruleExecutionSet = ruleExecutionSetProvider.createRuleExecutionSet( drlReader, null );
+</programlisting>
+    </example>
+
+    <para>"ruleExecutionSetProvider.createRuleExecutionSet( reader, null )" in
+    the above example takes a null parameter for the properties map; however it
+    can actually be used to provide configuration for the incoming source.
+    When null is passed the default is used to load the input as a drl.
+    Allowed keys for a map are "source" and "dsl". "source" takes "drl" or
+    "xml" as its value; set "source" to "drl" to load a drl or to "xml" to
+    load an xml source; xml will ignore any "dsl" key/value settings. The
+    "dsl" key can take a Reader or a String (the contents of the dsl) as a
+    value.</para>
+
+    <example>
+      <title>Specifying a DSL when registering a LocalRuleExecutionSet</title>
+
+      <programlisting>// Get the RuleAdministration 
+RuleAdministration ruleAdministrator = ruleServiceProvider.getRuleAdministrator();
+LocalRuleExecutionSetProvider ruleExecutionSetProvider = ruleAdministrator.getLocalRuleExecutionSetProvider( null );
+
+// Create a Reader for the drl
+URL drlUrl = new URL("http://mydomain.org/sources/myrules.drl");
+Reader drlReader = new InputStreamReader(  drlUrl.openStream()  );
+
+// Create a Reader for the dsl and a put in the properties map
+URL dslUrl = new URL("http://mydomain.org/sources/myrules.dsl");
+Reader dslReader = new InputStreamReader( dslUrl.openStream()  );
+Map properties = new HashMap();
+properties.put( "source", "drl" );
+properties.put( "dsl", dslReader );
+
+// Create the RuleExecutionSet for the drl and dsl
+RuleExecutionSet ruleExecutionSet = ruleExecutionSetProvider.createRuleExecutionSet( reader, properties );
+</programlisting>
+    </example>
+
+    <para>When registering a RuleExecutionSet you must specify the name, to be
+    used for its retrieval. There is also a field to pass properties, this is
+    currently unused so just pass null.</para>
+
+    <example>
+      <title>Register the RuleExecutionSet</title>
+
+      <programlisting>// Register the RuleExecutionSet with the RuleAdministrator
+String uri = ruleExectionSet.getName();
+ruleAdministrator.registerRuleExecutionSet(uri, ruleExecutionSet, null);</programlisting>
+    </example>
+  </section>
+
+  <section>
+    <title>Using Stateful and Stateless RuleSessions</title>
+
+    <para>The Runtime, obtained from the RuleServiceProvider, is used to
+    create stateful and stateless rule engine sessions.</para>
+
+    <example>
+      <title>Getting the RuleRuntime</title>
+
+      <programlisting>RuleRuntime ruleRuntime = ruleServiceProvider.getRuleRuntime();</programlisting>
+    </example>
+
+    <para>To create a rule session you must use one of the two RuleRuntime
+    public constants - "RuleRuntime.STATEFUL_SESSION_TYPE" and
+    "RuleRuntime.STATELESS_SESSION_TYPE" along with the uri to the
+    RuleExecutionSet you wish to instantiate a RuleSession for. The properties
+    map can be null, or it can be used to specify globals, as shown in the
+    next section. The createRuleSession(....) method returns a RuleSession
+    instance which must then be cast to StatefulRuleSession or
+    StatelessRuleSession.</para>
+
+    <example>
+      <title>Stateful Rule</title>
+
+      <programlisting>(StatefulRuleSession) session = ruleRuntime.createRuleSession( uri,
+                                                               null,
+                                                               RuleRuntime.STATEFUL_SESSION_TYPE );
+session.addObject( new PurchaseOrder( "lots of cheese" ) );
+session.executeRules();</programlisting>
+    </example>
+
+    <para>The StatelessRuleSession has a very simple API; you can only call
+    executeRules(List list) passing a list of objects, and an optional filter,
+    the resulting objects are then returned.</para>
+
+    <example>
+      <title>Stateless</title>
+
+      <programlisting>(StatelessRuleSession) session = ruleRuntime.createRuleSession( uri,
+                                                                null,
+                                                                RuleRuntime.STATELESS_SESSION_TYPE );
+List list = new ArrayList();
+list.add( new PurchaseOrder( "even more cheese" ) );
+
+List results = new ArrayList();
+results = session.executeRules( list );</programlisting>
+    </example>
+
+    <section>
+      <title>Globals</title>
+
+      <para>It is possible to support globals with JSR94, in a none portable
+      manner, by using the properties map passed to the RuleSession factory
+      method. Globals must be defined in the drl or xml file first, otherwise
+      an Exception will be thrown. the key represents the identifier declared
+      in the drl or xml and the value is the instance you wish to be used in
+      the execution. In the following example the results are collected in an
+      java.util.List which is used as global:</para>
+
+      <programlisting>java.util.List globalList = new java.util.ArrayList( );
+java.util.Map map = new java.util.HashMap( );
+map.put( "list", globalList ); 
+//Open a stateless Session StatelessRuleSession srs = (StatelessRuleSession) runtime.createRuleSession( "SistersRules", map, RuleRuntime.STATELESS_SESSION_TYPE );
+...
+// Persons added to List
+// call executeRules( ) giving a List of Objects as parameter
+// There are rules which will put Objects in the List
+// fetch the list from the map
+List list = (java.util.List) map.get("list");</programlisting>
+
+      <para>Do not forget to declare the global "list" in your DRL:</para>
+
+      <programlisting>package SistersRules; 
+import org.drools.jsr94.rules.Person; 
+global java.util.List list
+rule FindSisters 
+when 
+$person1 : Person ( $name1:name ) 
+$person2 : Person ( $name2:name ) 
+eval( $person1.hasSister($person2) ) 
+then 
+list.add($person1.getName() + " and " + $person2.getName() +" are sisters"); 
+assert( $person1.getName() + " and " + $person2.getName() +" are sisters"); 
+end</programlisting>
+    </section>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-How_To_Use.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Introduction.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Introduction.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Introduction.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook"
+	xml:base="../../">
+	<title>Introduction</title>
+
+	<para>
+		Drools provides an implementation of the Java Rule Engine API (known
+		as JSR94), which allows for support of multiple rule engines from a
+		single
+		API. JSR94 does not deal in anyway with the rule language itself. W3C is
+		working on the
+		<ulink url="http://www.w3.org/TR/2006/WD-rif-ucr-20060323/">Rule Interchange Format
+			(RIF)</ulink>
+		and the OMG has started to work on a standard based on
+		<ulink url="http://ruleml.org/">RuleML</ulink>
+		, recently Haley Systems has also
+		proposed a rule language standard called RML.
+	</para>
+
+	<para>It should be remembered that the JSR94 standard represents the
+		"least
+		common denominator" in features across rule engines - this means there is
+		less functionality in the JSR94 api than in the standard Drools api.
+		So by
+		using JSR94 you are restricting yourself in taking advantage of using the
+		full capabilities of the Drools Rule Engine. It is necessary to expose
+		further functionality, like globals and support for drl, dsl and xml
+		via
+		properties maps due to the very basic feature set of JSR94 - this introduces
+		non portable functionality. Further to this, as JSR94 does not provide a
+		rule language, you are only solving a small fraction of the complexity
+		of
+		switching rule engines with very little gain. So while we support JSR94, for
+		those that insist on using it, we strongly recommend you program
+		against the
+		Drools API.</para>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Introduction.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-References.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-References.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-References.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>References</title>
+
+  <para>If you need more information on JSR 94, please refer to the following
+  references <orderedlist>
+      <listitem>
+        <para>Official JCP Specification for Java Rule Engine API (JSR
+        94)</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><ulink
+            url="http://www.jcp.org/en/jsr/detail?id=94">http://www.jcp.org/en/jsr/detail?id=94</ulink></para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>The Java Rule Engine API documentation</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><ulink
+            url="http://www.javarules.org/api_doc/api/index.html">http://www.javarules.org/api_doc/api/index.html</ulink></para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>The Logic From The Bottom Line: An Introduction to The Drools
+        Project. By N. Alex Rupp, published on TheServiceSide.com in
+        2004</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><ulink
+            url="http://www.theserverside.com/articles/article.tss?l=Drools">http://www.theserverside.com/articles/article.tss?l=Drools</ulink></para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>Getting Started With the Java Rule Engine API (JSR 94): Toward
+        Rule-Based Applications. By Dr. Qusay H. Mahmoud, published on Sun
+        Developer Network in 2005</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><ulink
+            url="http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html">http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html</ulink></para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>Jess and the javax.rules API. By Ernest Friedman-Hill, published
+        on TheServerSide.com in 2003</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><ulink
+            url="http://www.theserverside.com/articles/article.tss?l=Jess">http://www.theserverside.com/articles/article.tss?l=Jess</ulink></para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </orderedlist></para>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-References.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Specification.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Specification.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Specification.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../">
+  <title>Specification</title>
+
+  <para>This sections introduces the specification with the included packages
+  javax.rules and javax.rules.admin. If you have read this section, you should
+  know, which classes are included and what their purpose is.</para>
+
+  <para>The Java Rule Engine API is divided in two packages. You use
+  "javax.rules" mainly for executing the rule engine and "javax.rules.admin"
+  for administration.</para>
+
+  <section>
+    <title>javax.rules</title>
+
+    <para>The next sections are dealing with the interfaces, classes and
+    exceptions which are included in the javax.rules package.</para>
+
+    <section>
+      <title>Interfaces</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><interfacename>Handle</interfacename></para>
+
+          <para>The Handle is used to retrieve an Object back from the
+          <classname>WorkingMemory</classname> , which was added there in a
+          <classname>StatefulRuleSession</classname> . With the
+          <classname>Handle</classname> you can modify or remove an
+          <classname>Object</classname> from the
+          <classname>WorkingMemory</classname> . To modify an Object call
+          <methodname>updateObject()</methodname> from the
+          <classname>StatefulRuleSession</classname> . To remove it, call
+          <methodname>removeObject()</methodname> with the
+          <classname>Handle</classname> as the Parameter. Inside of the
+          implementation of the Java Rule Engine API will be called the
+          <methodname>modifyObject()</methodname> and
+          <methodname>retractObject()</methodname> methods of the encapsulated
+          Drools API.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>ObjectFilter</interfacename></para>
+
+          <para>This interface is used to filter objects for
+          RuleSession.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleExecutionSetMetadata</interfacename></para>
+
+          <para>The RuleExecutionSetMetadata is used to store name,
+          description and URI for a RuleExecutionSet.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleRuntime</interfacename></para>
+
+          <para>The RuleRuntime is the key to a RuleSession. The RuleRuntime
+          obtained from the RuleServiceProvider.</para>
+
+          <para>If you retrieve a RuleRuntime call createRuleSession() to open
+          a RuleSession.</para>
+
+          <para>Through the RuleRuntime you can retrieve a list of URIs of all
+          RuleExecutionSets, which were registered by a RuleAdministrator. You
+          need the URI as a String to open a RuleSession to the rule engine.
+          The rule engine will use the rules of the RuleExecutionSet inside of
+          the RuleSession.</para>
+
+          <para>Important: The Map is used for Globals. Globals were formerly
+          called ApplicationData (in Drools 2.x). The key needs to be the
+          identifier of the Global and the Value the object you want to use as
+          a Global.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleSession</interfacename></para>
+
+          <para>The RuleSession is the object you are working with, if you
+          want to contact the rule engine.</para>
+
+          <para>If you are getting a RuleSession from the RuleRuntime, then it
+          will be either a StatefulRuleSession or a
+          StatelessRuleSession.</para>
+
+          <para>Please call in both cases the release()-method that all
+          resources will be freed.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>StatefulRuleSession </interfacename></para>
+
+          <para>A stateful Rule Session you are using, if you need to run the
+          rule engine more than once. You get the chance to assert objects,
+          execute rules, assert objects again etc..</para>
+
+          <para>You will get a Handle for every object which you are asserting
+          to the Rule Session. Do not lose it, you will need it, to retract or
+          modify objects in the Working Memory. You are having no direct
+          contact to Drools´ Working Memory which is used inside the
+          implementation, for this you got the RuleSession.</para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>StatelessRuleSession </interfacename></para>
+
+          <para>A stateless RuleSession means, that you are having only one
+          contact to the rule engine. You are giving a list of objects to the
+          rule engine and the rule engine asserts them all and starts
+          execution immediately. The result is a list of objects. The content
+          of the result list depends on your rules. If your rules are not
+          modifying or retracting any objects from the Working Memory, you
+          should get all objects, you added back.</para>
+
+          <para>There is a possibility using an ObjectFilter which will filter
+          the resulting list of objects before you get it.</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Classes</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><classname>RuleServiceProvider</classname></para>
+
+          <para>The RuleServiceProvider gives you the RuleAdministrator or a
+          RuleRuntime, which you need to open a new Rule Session. To get the
+          RuleServiceProvider call
+          RuleServiceProviderManager.getRuleServiceProvider().</para>
+
+          <para>In J2EE environment you can bind the RuleServiceProvider to
+          the JNDI and make a lookup to get it in all your
+          applications.</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleServiceProviderManager </classname></para>
+
+          <para>The RuleServiceProvider is often compared with the
+          DriverManager, which you use in JDBC. It works like setting up the
+          Driver for a DataBase.</para>
+
+          <para>To load the Drools Rule Service Provider use:</para>
+
+          <para><code>Class ruleServiceProviderClass =
+          Class.forName("org.drools.jsr94.rules.RuleServiceProviderImpl");</code></para>
+
+          <para>If you did not register it, yet, do it now:</para>
+
+          <para><code>RuleServiceProviderManager.registerRuleServiceProvider(
+          "http://jboss.com/products/rules", ruleServiceProviderClass);
+          </code></para>
+
+          <para>Now you can get your RuleServiceProvider calling:</para>
+
+          <para><code>RuleServiceProviderManager.getRuleServiceProvider("http://jboss.com/products/rules")</code>;</para>
+
+          <para>If you do not need the RuleServiceProvider any more,
+          deregister it:</para>
+
+          <para><code>RuleServiceProviderManager.deregisterRuleServiceProvider(
+          "http://jboss.com/products/rules"); </code></para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Exceptions</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><classname>ConfigurationException</classname></para>
+
+          <para>This exception is thrown when a user configuration error has
+          been made.</para>
+        </listitem>
+
+        <listitem>
+          <para><classname>InvalidHandleException</classname></para>
+
+          <para>This exception is thrown when a client passes an invalid
+          Handle to the rule engine.</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> InvalidRuleSessionException </classname></para>
+
+          <para>The InvalidRuleSessionException should be thrown when a method
+          is invoked on a RuleSession and the internal state of the
+          RuleSession is invalid. This may have occurred because a
+          StatefulRuleSession has been serialized and external resources can
+          no longer be accessed. This exception is also used to signal that a
+          RuleSession is in an invalid state (such as an attempt to use it
+          after the release method has been called) (Taken from JCP API
+          Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname>RuleException</classname></para>
+
+          <para>Base class for all Exception classes in the javax.rules
+          package (Taken from JCP API Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname>RuleExecutionException</classname></para>
+
+          <para>This exception is not thrown in the Drools 3 JSR 94
+          implementation</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleExecutionSetNotFoundException
+          </classname></para>
+
+          <para>This exception is thrown if a client requests a
+          RuleExecutionSet from the RuleRuntime and the URI or
+          RuleExecutionSet cannot be found (Taken from JCP API
+          Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleSessionCreateException </classname></para>
+
+          <para>This exception is thrown when a client requests a RuleSession
+          from the RuleRuntime and an error occurs that prevents a RuleSession
+          from being returned (Taken from JCP API Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleSessionTypeUnsupportedException
+          </classname></para>
+
+          <para>This exception is thrown when a client requests a RuleSession
+          and the vendor does not support the given type (defined in the
+          RuleRuntime) or the RuleExecutionSet itself does not support the
+          requested mode (Taken from JCP API Documentation).</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+
+  <section>
+    <title>javax.rules.admin</title>
+
+    <para>In this section all the interfaces and exceptions from the
+    javax.rules.admin package are explained.</para>
+
+    <section>
+      <title>Interfaces</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><interfacename>LocalRuleExecutionSetProvider</interfacename></para>
+
+          <para></para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>Rule</interfacename></para>
+
+          <para></para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleAdministrator</interfacename></para>
+
+          <para></para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleExecutionSet</interfacename></para>
+
+          <para></para>
+        </listitem>
+
+        <listitem>
+          <para><interfacename>RuleExecutionSetProvider</interfacename></para>
+
+          <para></para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Exceptions</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><classname>RuleAdministrationException</classname></para>
+
+          <para>Base class for all administration RuleException classes in the
+          javax.rules.admin package (Taken from JCP API Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleExecutionSetCreateException
+          </classname></para>
+
+          <para>This exception is thrown if an error occurs while creating a
+          rule execution set (Taken from JCP API Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleExecutionSetDeregistrationException
+          </classname></para>
+
+          <para>This exception is thrown if an exception occurs while
+          unregistering a rule execution set from a URI (Taken from JCP API
+          Documentation).</para>
+        </listitem>
+
+        <listitem>
+          <para><classname> RuleExecutionSetRegisterException
+          </classname></para>
+
+          <para>This exception is thrown if an exception occurs while
+          registering a rule execution set to a URI (Taken from JCP API
+          Documentation).</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-JSR94/Section-Specification.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/Section-Performance.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/Section-Performance.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/Section-Performance.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
+<section>
+  <title>Performance considerations</title>
+
+  <para>In any reasonably complex application, there are many things that may
+  effect performance. The usual advice applies of course (ie don't speculate,
+  measure, profile and plan). In terms of the rule engine, it does its best to
+  be as efficient as possibly, without too much thought needed, most people
+  should not need to read this chapter in detail.</para>
+
+  <para>Note that for someone who is using a rule engine of the first time,
+  the most noticeable "cost" will be the startup of the rule engine (which is
+  actually compiling the rules) - this problem is easily solved - simply cache
+  the RuleBase instances (or the rule packages) and only update rules as
+  needed (there are many ways to achieve this in your application which will
+  not be covered here).</para>
+
+  <para>The remainder of this chapter is considerations on tuning the runtime
+  performance of rules (not compiling), which is where performance often
+  really counts.</para>
+
+  <section>
+    <title>Beta Node Memory Indexing</title>
+
+    <para>As explained in the chapter on the Rete Algorithm, BetaNodes are
+    nodes that have two inputs: the left input (for tuples) and the right
+    input (for single objects). Each beta node has two memories, one for each
+    input: the left memory and the right memory.</para>
+
+    <para>So, when a single object arrives at the right input of the node, it
+    tries to match every tuple in the left memory according to the constraints
+    defined for the given BetaNode. Those elements that match are propagated
+    down through the network. The symmetrical behavior happens for when a
+    tuple arrives at the left input of the node. See diagram bellow: </para>
+
+    <figure>
+      <title>Beta Node</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" contentwidth="300" fileref="beta_node.svg"
+                     format="SVG" scalefit="1" />
+        </imageobject>
+
+        <imageobject>
+          <imagedata align="center" fileref="beta_node.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>When the number of elements in each of the Beta Node Memories starts
+    to grow, the matching process starts to slow down, as each new element
+    that arrives needs to try to match all the elements in the opposite memory
+    for the given constraints. This process becomes a serious limitation for
+    real systems where thousands of facts are asserted into working memory and
+    where the Rete Network has several Beta Nodes.</para>
+
+    <para>One way of minimizing the problem is to index each of the BetaNode
+    memories in a way that when a new element arrives, it does not need to
+    iterate over all elements of the opposite memory in order to find its
+    matches.</para>
+
+    <para>So, for example, if we have a Rule like the following:
+    <programlisting>rule "find brothers"
+    when
+        p1: Person( $mother : mother )
+        p2: Person( mother == $mother )
+    then
+        // do something
+end
+</programlisting> If no indexing is used, each new Person object asserted into
+    working memory will try to match each other previously asserted Person
+    object to find those that have the same mother. So, if we have 1000 Person
+    objects already asserted into working memory, and we assert a new one, the
+    new one will try to match each of the 1000 previously asserted
+    objects.</para>
+
+    <para>If we index BetaNode memories by the “mother” attribute, though,
+    when a new Person is asserted into memory, it will try to match only the
+    previously asserted objects that have the same mother attribute, in a very
+    efficient way using the previously built index. So, if the new object has
+    only one brother previously asserted into memory, it will match only one
+    object, avoiding the 999 tries that would fail.</para>
+
+    <para>Drools implements BetaNode indexing exactly as described above in
+    order to boost performance. The BetaNode indexing is enabled by default
+    and users usually don’t need to worry about it. Although, for specific
+    situations where a user has a limited amount of memory or for some reason
+    does not want to incur in the indexing overhead, indexing can be disabled
+    for each of the memories, by setting the following system properties to
+    false: <programlisting>org.drools.reteoo.beta.index-left
+org.drools.reteoo.beta.index-right
+
+For example:
+..when you launch the application (or in the container as appropriate).
+-Dorg.drools.reteoo.beta.index-right=false
+-Dorg.drools.reteoo.beta.index-left=false
+</programlisting></para>
+  </section>
+
+  <section>
+    <title>Indexing Performance Tuning</title>
+
+    <para>A good way to understand what happens when indexing is used is to
+    make an analogy to databases systems. As we all know, indexing is a great
+    mechanism for performance improvements on database queries, but also adds
+    an overhead to other operations like insert, updates and deletes. Also,
+    there is a memory consumption cost involved. A well planned set of indexes
+    is essential for most enterprise applications and the responsible for
+    defining them is usually the DBA. Once indexes are defined, when a query
+    is executed against that database, a query planner component is used by
+    database systems to estimate the best plan to run the query with the best
+    performance, sometimes using the index, sometimes not.</para>
+
+    <para>Working memory has the same issues and same thoughts are valid here.
+    Drools implements an automatic indexing strategy to index beta node
+    memories. Just to have some data to understand the consequences of it,
+    lets use Manners 64 benchmark test results on a Pentium IV 3 Ghz HT
+    machine with 1.0 Gb memory. This is not really a detailed benchmark test,
+    but simply some rough numbers in order to make the scenario easier to
+    understand: <programlisting>Manners 64 without indexes: 135000 millisec to run 
+Manners 64 with BetaNode indexes: 10078 millisec to run on average</programlisting></para>
+
+    <para>It is obvious by the previous run times that indexes overall
+    benefits pays off the overhead to keep them, at least in terms of
+    performance. We are not analyzing limited memory environments here.</para>
+
+    <para>Although, every system has its own peculiarities and sometimes it is
+    possible to do some fine tuning on performance. For example, in our
+    Manners 64 example, if we disable the right memory indexing we would have
+    the following result: <programlisting>Manners 64 with BetaNode indexing only for left memory: 142000 millisec to run on average
+</programlisting> The above is even worse than no using any indexing. This
+    happens clearly because for Manners 64, the left indexing overhead is
+    bigger than its benefit. So, if we do the contrary, leaving right indexing
+    enabled and disabling the left indexing, we get the following result:
+    <programlisting>Manners 64 with BetaNode indexing only for right memory: 8765 millisec to run on average
+</programlisting> So, we have the best scenario now. For Manners 64, the best
+    would be to disable left indexing, leaving only right indexing
+    enabled.</para>
+
+    <section>
+      <title>Re-arranging constraints</title>
+
+      <para>Another tip to tune performance when using indexing is always to
+      write your rules in a way that the most restrictive constraints are
+      declared before the less restrictive ones in your rule. For example, if
+      you have a rule with a column like this: <programlisting>Employee (department == $aDepartment, name == $aName)
+</programlisting> Rewriting it as shown bellow will probably give you a better
+      performance, as “name” is probably a more restrictive constraint than
+      “department”: <programlisting>Employee (name == $aName, department == $aDepartment)
+</programlisting> (Unless you work in an organization where there are more
+      departments then employees, which could well be the case in a Government
+      organization ;)</para>
+    </section>
+
+    <para>Some other improvements are being developed for Drools in this area
+    and will be documented as they become available in future versions.</para>
+  </section>
+  
+  <section>
+    <title>Large Ruleset</title>
+    <para>For this section, large rulesets are define as the following</para>
+    <itemizedlist>
+    <listitem>1-500 - small ruleset</listitem>
+    <listitem>500-2000 - medium ruleset</listitem>
+    <listitem>2000+ - large ruleset</listitem>
+    <listitem>10,000 - extremely large ruleset</listitem>
+    </itemizedlist>
+    <para>There are some cases where a rule engine has to handle 500,000 or 1 million rules.
+    Those are primarily machine learning and AI systems, where a rule engine produces new
+    rules, terms and facts at execution time. Those topics are beyond the scope of the
+    documentation and aren't covered. The techniques described are focused on business rules.</para>
+    <para>The first thing to do is identify why there are so many rules and whether or not
+    rewriting the rules can solve the problem. There's a couple of things to look for.</para>
+    <itemizedlist>
+    <listitem>Do the rules have a lot of constant values hard coded in the conditions?</listitem>
+    <listitem>Is the domain model a huge flat spreadsheet with 100+ columns?</listitem>
+    <listitem>Do most of the rules share the same conditions?</listitem>
+    <listitem>Can the logic be divided into stages?</listitem>
+    </itemizedlist>
+    <para>If you answer yes to any of the 4 questions, chances are you can solve the issue with
+    changing the rules. Managing 100,000 rules or even 1,000,000 rules is a huge headache, so
+    try to avoid it. Examine the rules and see if it matches any of the following scenarios.</para>
+    <programlisting>
+If
+  customer.account == "abcd"
+  customer.type == "basic"
+  .....
+Then
+  // do something
+    </programlisting>
+    <para>The basic problem with rules sample above, is the rules have most of the values hard
+    coded. If the average customer has 50 rules and there's 40 million customers, the system has
+    200 million rules. Let's use a more concrete example to flesh this out.</para>
+    <programlisting>
+If
+  customer.accountId == "peter"
+  customer.type == "level2"
+  customer.favoriateActor == "jackie chan"
+Then
+  recommend movies with jackie chan
+
+If
+  customer.accountId == "peter"
+  customer.type == "level2"
+  customer.favoriateActor == "jet li"
+Then
+  recommend movies with jet li
+    </programlisting>
+    <para>Looking at the example, the first to question ask is "do these kinds of rules apply
+    to all customers?" If it does, the first condition in the rule "customer.accountId" is
+    pointless. It's pointless because all rules of this type will have that condition.
+    Although the accountId changes, the rule can effectively ignore it. If we rewrite the rule
+    this way, the rule can apply to any customer that likes jackie chan and jet li.</para>
+    <programlisting>
+If
+  customer.type == "level2"
+  customer.favoriateActor == "jackie chan"
+Then
+  recommend movies with jackie chan
+
+If
+  customer.type == "level2"
+  customer.favoriateActor == "jet li"
+Then
+  recommend movies with jet li
+    </programlisting>
+    <para>The reason we do this is straight forward. The rules reason over data. Having a
+    ton of rules with the customer's accountId hard coded doesn't do any good, because we
+    want the rule engine to only evaluate the active sessions. We don't want to load all
+    the customers into the rule engine. We can take it a step further and make the rule more
+    general.</para>
+    <programlisting>
+If
+  customer.type == "level2"
+  customer.accountId ?id // bind the account id to a variable
+  favorites.accountId ?id // find the list of favorites by the account id
+Then
+  recommend all items in the favorites
+    </programlisting>
+    <para>With this change, it can reduce the number of rules significantly. This is one
+    reason the RETE approach is often called "data driven approach". Let's take this example
+    a bit further and define 10 types of customers from level1 to level10. Say we run a mega
+    online store and customers can define their favorites in each of the categories (books,
+    videos, music, toys, electronics, clothing). What happens if a customer has different
+    levels for each category. Using the hard coded approach, one might have to add more rules.
+    If we change the rule and make it more generalized, the same rule can handle multiple
+    categories.</para>
+    <programlisting>
+If
+  recommendation.level ?lvl // bind the recommendation level to a variable
+  recommendation.category ?rcat // bind the recommendation category
+  customer.accountId ?id // bind the account id to a variable
+  favorites.accountId ?id // find the list of favorites by the account id
+  favorites.category ?rcat // match favorite to recommendation category
+  favorites.level ?lvl // match the favorite level to recommendation level
+Then
+  recommend all items in the favorites    
+    </programlisting>
+    <para>So what is the cost of making the rule dynamic and data driven? Obviously, hard
+    coding a rule is going to be faster than making it generalized, but the performance delta
+    should be small. In the case where a ruleset is small, the hard coded approach may have a
+    slight performance lead. Why is that? Lets look at 2 different types of rule engines:
+    procedural and RETE.</para>
+    <para>In a procedural engine, one can build a decision tree and end the evaluation once
+    the data fails to satisfy the conditions at a given level. As the rule count increases,
+    there are more rules the engine has to evaluate. In a procedural approach, the rules have
+    to be sequenced in the optimal order to get the best results. The limitation of sorting
+    the rules in optimal sequence is that many cases it's not possible to pre-sort. If we use
+    a RETE rule engine, the hard coded rules result in fewer joins for a small number of rules.
+    As the rule count grows, the single rule will perform better. The equation to estimate the
+    threshold where the generalized form is faster than hard coding the constants.</para>
+    <para>bn = join nodes, lf = left facts, rf = right facts, ae = average number of
+    evaluation descending from the object type node for a random sample, f = facts,
+    hd = hard coded constants in the rules, general = generalized form using joins</para>
+    <para>general( sum( bn(lf * rf) ) + sum(ae * f) ) &lt; hd( sum( bn(lf * rf) ) + sum(ae * f) )</para>
+    <para>The best way to quantify the threshold is to write rules in both formats and run a
+    series of tests. Given that most projects are under tight schedules, developers don't
+    always have time to do this. The other common problem is using really large flat objects.
+    In a nutshell, using large flat objects leads to the same problem as hard coding the
+    constants in the rules. The solution to the problem is to change the domain objects,
+    such that it models the business concepts in a concise manner. That isn't always an
+    option.</para>
+    <para>When most of the rules share the same conditions, there's two solutions. The best
+    solution is to rewrite the rules to use chaining. Identify the common conditions and extract
+    it into a generalized rule. The generalized rule then trigger subsequent rules by asserting
+    a new fact. Often this can reduce the rules by an order of magnitude or more. The second
+    option is to put common conditions at the beginning of the rule. What this does is it
+    allows RETE rule engines to share those nodes. When the nodes are shared, it reduces the
+    cost from a memory and performance perspective.</para>
+    <para>If the ruleset can be divided into smaller chunks, it's a good idea to divide it into
+    discrete stages and load each ruleset on a different JVM or server. Depending on the
+    situation, this may not be an option. So what can you do when the ruleset is large and
+    rewriting the rules isn't an option?</para>
+    <para>The only viable option is to scale the hardware and use a different JVM. This means
+    using 64bit JVM from SUN, IBM or BEA JRockit on a machine with at least 8Gb RAM. Depending
+    on the ruleset, the system may need more RAM.</para>
+    
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Performance_Tuning/Section-Performance.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Chapter-Rule_Engine.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Chapter-Rule_Engine.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Chapter-Rule_Engine.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
+	<title>The Rule Engine</title>
+
+	<xi:include href="Section-What_is_a_Rule_Engine.xml" />
+
+      <xi:include href="Section-Why_use_a_Rule_Engine.xml" />
+
+      <xi:include href="Section-Rules.xml" />
+
+      <xi:include href="Section-Rete_Algorithm.xml" />
+
+      <xi:include href="Section-The_Drools_Rule_Engine.xml" />
+
+      <!--xi:include href="Chapter-Rule_Engine/Section-Rule_Base.xml" />
+
+      <xi:include href="Chapter-Rule_Engine/Section-Working_Memory.xml" />
+
+      <xi:include href="Chapter-Rule_Engine/Section-Agenda.xml" />
+
+      <xi:include href="Chapter-Rule_Engine/Section-Event_Model.xml" /-->
+</chapter>    
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Chapter-Rule_Engine.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rete_Algorithm.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rete_Algorithm.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rete_Algorithm.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Rete Algorithm</title>
+
+  <para>The RETE algorithm was invented by Dr. Charles Forgy and documented in
+  his PhD thesis in 1978-79. A simplified version of the paper was published
+  in 1982 (<ulink
+  url="http://citeseer.ist.psu.edu/context/505087/0">http://citeseer.ist.psu.edu/context/505087/0</ulink>).
+  The word RETE is latin for "net" meaning network. The RETE algorithm can be broken
+  into 2 parts: rule compilation and runtime execution.</para>
+
+  <para>The compilation algorithm describes how the Rules in the Production
+  Memory to generate an efficient discrimination network. In non-technical
+  terms, a discrimination network is used to filter data. The idea is to
+  filter data as it propagates through the network. At the top of the network
+  the nodes would have many matches and as we go down the network, there would be 
+  fewer matches. At the very bottom of the network are the terminal nodes. In Dr.
+  Forgy's 1982 paper, he described 4 basic nodes: root, 1-input, 2-input and
+  terminal.</para>
+
+  <figure>
+    <title>Rete Nodes</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Engine/Rete_Nodes.png" format="PNG" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>The root node is where all objects enter the network. From there, it
+  immediately goes to the ObjectTypeNode. The purpose of the ObjectTypeNode is
+  to make sure the engine doesn't do more work than it needs to. For example,
+  say we have 2 objects: Account and Order. If the rule engine tried to
+  evaluate every single node against every object, it would waste a lot of
+  cycles. To make things efficient, the engine should only pass the object to
+  the nodes that match the object type. The easiest way to do this is to
+  create an ObjectTypeNode and have all 1-input and 2-input nodes descend from
+  it. This way, if an application asserts a new account, it won't propagate to
+  the nodes for the Order object. In Drools when an object is asserted it
+  retrieves a list of valid ObjectTypesNodes via a lookup in a HashMap from
+  the object's Class; if this list doesn't exist it scans all the ObjectTypeNodes finding valid matches which it caches in the list. This enables Drools
+  to match against any Class type that matches with an
+  <literal>instanceof</literal> check.</para>
+
+  <figure>
+    <title>ObjectTypeNodes</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Engine/Object_Type_Nodes.png" format="PNG" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>ObjectTypeNodes can propagate to AlphaNodes, LeftInputAdapterNodes
+  and BetaNodes. AlphaNodes are used to evaluate literal conditions. Although
+  the 1982 paper only covers equality conditions, many RETE implementations
+  support other operations. For example, Account.name == "Mr Trout" is a
+  literal condition. When a rule has multiple literal conditions for a single
+  object type, they are linked together. This means that if an application
+  asserts an account object, it must first satisfy the first literal condition
+  before it can proceed to the next AlphaNode. In Dr. Forgy's paper, he refers
+  to these as IntraElement conditions. The following shows the AlphaNode
+  combinations for Cheese( name == "cheddar, strength == "strong" ):</para>
+
+  <figure>
+    <title>AlphaNodes</title>
+
+    <mediaobject>
+
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Engine/Alpha_Nodes.png" format="PNG" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>Drools extends Rete by optimizing the propagation from ObjectTypeNode
+  to AlphaNode using hashing. Each time an AlphaNode is added to an
+  ObjectTypeNode it adds the literal value as a key to the HashMap with the
+  AlphaNode as the value. When a new instance enters the ObjectType node,
+  rather than propagating to each AlphaNode, it can instead retrieve the
+  correct AlphaNode from the HashMap - avoiding unnecessary literal
+  checks.</para>
+
+  <para>There are two two-input nodes; JoinNode and NotNode - both are
+  types of BetaNodes. BetaNodes are used to compare 2 objects, and their
+  fields, to each other. The objects may be the same or different types. By
+  convention we refer to the two inputs as left and right. The left input for
+  a BetaNode is generally a list of objects; in Drools this is a Tuple. The
+  right input is a single object. Two Nodes can be used to implement 'exists'
+  checks. BetaNodes also have memory. The left input is called the Beta Memory
+  and remembers all incoming tuples. The right input is called the Alpha
+  Memory and remembers all incoming objects. Drools extends Rete by
+  performing indexing on the BetaNodes. For instance, if we know that a
+  BetaNode is performing a check on a String field, as each object enters we
+  can do a hash lookup on that String value. This means when facts enter from
+  the opposite side, instead of iterating over all the facts to find valid
+  joins, we do a lookup returning potentially valid candidates. At any
+  point a valid join is found the Tuple is joined with the Object; which is
+  referred to as a partial match; and then propagated to the next node.</para>
+
+  <figure>
+    <title>JoinNode</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Engine/Join_Node.png" format="PNG" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>To enable the first Object, in the above case Cheese, to enter the
+  network we use a LeftInputNodeAdapter - this takes an Object as an input and
+  propagates a single Object Tuple.</para>
+
+  <para>Terminal nodes are used to indicate a single rule has matched all its
+  conditions - at this point we say the rule has a full match. A rule with an
+  'or' conditional disjunctive connective results in subrule generation for
+  each possible logically branch; thus one rule can have multiple terminal
+  nodes.</para>
+
+  <para>Drools also performs node sharing. Many rules repeat the same
+  patterns, node sharing allows us to collapse those patterns so that they
+  don't have to be re-evaluated for every single instance. The following two
+  rules share the first same pattern, but not the last:</para>
+
+  <programlisting>
+    <![CDATA[
+    rule
+    when
+        Cheese( $chedddar : name == "cheddar" )
+        $person : Person( favouriteCheese == $cheddar )
+    then
+        System.out.println( $person.getName() + " likes cheddar" );
+    end
+    ]]>
+   </programlisting>
+
+  <programlisting>
+    <![CDATA[
+    rule
+    when
+        Cheese( $chedddar : name == "cheddar" )
+        $person : Person( favouriteCheese != $cheddar )
+    then
+        System.out.println( $person.getName() + " does not like cheddar" );
+    end
+    ]]>
+  </programlisting>
+
+  <para>As you can see below, the compiled Rete network shows the alpha node is
+  shared, but the beta nodes are not. Each beta node has its own TerminalNode. Had
+  the second pattern been the same it would have also been shared.</para>
+
+  <figure>
+    <title>Node Sharing</title>
+
+    <mediaobject>
+
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Engine/Node_Sharing.png" format="PNG" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rete_Algorithm.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rules.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rules.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rules.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Knowledge Representation</title>
+
+  <!--section>
+    <title>Production Rules</title>
+
+    <para>A 
+      <indexterm>
+        <primary>Production Rule</primary>
+      </indexterm>
+    Production Rule (aka Rule) in Drools is a two part structure,
+    with a Left Hand Side (LHS) and a Right Hand Side (RHS) which are
+    alternately known as the "Head" and "Tail" respectively. Additionally a
+    Rule may have the following attributes:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>salience</para>
+      </listitem>
+
+      <listitem>
+        <para>agenda-group</para>
+      </listitem>
+
+      <listitem>
+        <para>auto-focus</para>
+      </listitem>
+
+      <listitem>
+        <para>activation-group</para>
+      </listitem>
+
+      <listitem>
+        <para>no-loop</para>
+      </listitem>
+
+      <listitem>
+        <para>duration</para>
+      </listitem>
+    </itemizedlist>
+
+    <programlisting>
+      <![CDATA[
+        rule "<name>" <attribute> <value>
+        when <LHS>
+        then <RHS>
+        end
+      ]]>
+    </programlisting>
+
+    <para>The LHS of a Rule consists of 
+      <indexterm>
+        <primary>Conditional Element</primary>
+      </indexterm>
+    Conditional Elements (CE) and Columns (aka - Patterns); to facilate the
+    encoding of propositional and first order logic. The term 
+      <indexterm>
+        <primary>Column</primary>
+      </indexterm>
+    Column is used to indicate 
+      <indexterm>
+        <primary>Field Constraint</primary>
+      </indexterm>
+    Field Constraints on a Fact.</para>
+
+    <para>Drools currently supports the follows CEs:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>'and'</para>
+      </listitem>
+
+      <listitem>
+        <para>'or',</para>
+      </listitem>
+
+      <listitem>
+        <para>'not',</para>
+      </listitem>
+
+      <listitem>
+        <para>'exists'</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>'forall' and 'accumulate' will be added shortly. 
+    The following Field Constraints are allowed:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Literal Constraint</para>
+      </listitem>
+
+      <listitem>
+        <para>Bound Variable Constraint</para>
+      </listitem>
+
+      <listitem>
+        <para>Return Value</para>
+      </listitem>
+
+      <listitem>
+        <para>Predicate</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>The Language Guide chapter provides more indepth information for
+    each of these.</para>
+
+    <para>As facts are asserted and modified in the Working Memory, the rules engine
+    matches the facts against the LHS conditions, when all the conditions of a rules
+    LHS are met and true that rule plus those match facts are activated. When a Rule is
+    activated it is placed onto the Agenda for potential execution, where the
+    actions of RHS, called the 
+      <indexterm>
+        <primary>Consequence</primary>
+      </indexterm>
+    Consequence, are executed. The LHS and the RHS is analogous to:</para>
+    
+    <programlisting>
+      <![CDATA[
+    if (<LHS>) {
+      <RHS>
+    }
+      ]]>
+    </programlisting>
+
+    <para>However 'if' is considered procedural in that it is one part of a
+    possible execution flow - if this.... else if.... else ..... Rules use
+    'when' to more semantically recognise that the rule will activate when,
+    and only when, its LHS is matched.</para>
+
+    <para>Rules are associated with a namespace via the
+    <literal>package</literal> keyword; other Rule Engines may call this a
+    <indexterm>
+        <primary>Rule Set</primary>
+    </indexterm>
+    Rule Set. A Package declares imports, global variables, functions and rules.</para>
+
+    <programlisting>
+<![CDATA[
+package com.sample
+
+import java.util.List
+import com.sample.Cheese
+
+global List cheeses
+
+function void exampleFunction(Cheese cheese) {
+    System.out.println( cheese );
+}
+
+rule “A Cheesey Rule”
+    when
+        cheese : Cheese( type == "stilton" )
+    then
+        exampleFunction( cheese );
+        cheeses.add( cheese );
+end
+]]>
+    </programlisting>
+
+    <para>The following example shows a LHS with a single Column that has a
+    single 
+    <indexterm>
+      <primary>Literal Field Constraint</primary>
+    </indexterm>
+    Literal Field Constraint used with a Cheese Fact:</para>
+
+    <programlisting>
+<![CDATA[
+rule "Cheddar Cheese"
+when
+    Cheese( type == "cheddar" )
+then
+    System.out.println( "cheddar" );
+end
+  ]]>
+    </programlisting>
+
+    <para>The example above is analogous to :</para>
+
+    <programlisting>
+<![CDATA[
+public void cheddarCheese(Cheese cheese) {
+  if ( cheese.getType().equals("cheddar") {
+      System.out.println( "cheddar" );
+  }
+}
+]]>
+    </programlisting>
+
+    <para>Rules are a complete de-coupling of data from the logic. Rules cannot
+    be called directly as they are not methods or functions instead Rules fire
+    in response to changes in Working Memory's data. Rules are also fully
+    declarative in that they describe "what" not "how" like imperative
+    languages such as Java.</para>
+  </section-->
+
+  <section>
+    <title>First Order Logic</title>
+
+    <para>Rules are written using First Order Logic, or predicate logic, which
+    extends Propositional Logic. <ulink
+    url="http://en.wikipedia.org/wiki/Emil_Leon_Post">Emil Leon Post</ulink>
+    was the first to develop an inference based system using symbols to
+    express logic - as a consequence of this he was able to prove that any
+    logical system (including mathematics) could be expressed with such a
+    system.</para>
+
+    <para>A proposition is a statement that can be classified as true or
+    false. If the truth can be determined from statement alone it is said to
+    be a "closed statement". In programming terms this is an expression that
+    does not reference any variables:</para>
+
+    <para>10 == 2 * 5</para>
+
+    <para>Expressions that evaluate against one or more variables, the facts,
+    are "open statements", in that we cannot determine whether the statement
+    is true until we have a variable instance to evaluate against:</para>
+
+    <para>Person.sex == "male"</para>
+
+    <para>With SQL if we look at the conclusion's action as simply returning
+    the matched fact to the user:</para>
+
+    <para>select * from People where People.sex == "male"</para>
+
+    <para>For any rows, which represent our facts, that are returned we have
+    inferred that those facts are male people. The following diagram shows how
+    the above SQL statement and People table can be represented in terms of an
+    Inference Engine.</para>
+
+    <figure>
+      <title>SQL as a simplistic Inference Engine</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Male_People.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>So in Java we can say that a simple proposition is of the form
+    'variable' 'operator' 'value' - where we often refer to 'value' as being a
+    literal value - a proposition can be thought as a field constraint.
+    Further to this proposition can be combined with conjunctive and
+    disjunctive connectives, which is the logic theorists way of saying
+    '&amp;&amp;' and '||'. The following shows two open propositional
+    statements connected together with a single disjunctive connective.</para>
+
+    <programlisting>
+      
+      person.getEyeColor().equals("blue") || person.getEyeColor().equals("green") 
+      
+    </programlisting>
+
+    <para>This can be expressed using a disjunctive Conditional Element
+    connective - which actually results in the generation of two rules, to
+    represent the two possible logic outcomes.</para>
+
+    <programlisting>
+      
+      Person( eyeColour == "blue" ) || Person( eyeColor == "green" )
+      
+    </programlisting>
+
+    <para>Disjunctive field constraints connectives could also be used and
+    would not result in multiple rule generation.</para>
+
+    <programlisting>
+      
+      Person( eyeColour == "blue"||"green" )
+      
+    </programlisting>
+
+    <para>Propositional Logic is not Turing complete, limiting the problems
+    you can define, because it cannot express criteria for the structure of
+    data. First Order Logic (FOL), or Predicate Logic, extends Propositional
+    Logic with two new quantifier concepts to allow expressions defining
+    structure - specifically universal and existential quantifiers. Universal
+    quantifiers allow you to check that something is true for everything;
+    normally supported by the 'forall' conditional element. Existential
+    quantifiers check for the existence of something, in that it occurs at
+    least once - this is supported with 'not' and 'exists' conditional
+    elements.</para>
+
+    <para>Imagine we have two classes - Student and Module. Module represents
+    each of the courses the Student attended for that semester, referenced by
+    the List collection. At the end of the semester each Module has a score.
+    If the Student has a Module score below 40 then they will fail that
+    semester - the existential quantifier can be used used with the "less than
+    40" open proposition to check for the existence of a Module that is true
+    for the specified criteria.</para>
+
+    <programlisting>
+    
+    public class Student {
+    private String name;
+    private List modules;
+
+    ...
+    }
+       
+    </programlisting>
+
+    <programlisting>
+    
+    public class Module {
+    private String name;
+    private String studentName;
+    private int score;
+     ...
+    }
+    </programlisting>
+
+    <para>Java is Turing complete in that you can write code, among other
+    things, to iterate data structures to check for existence. The following
+    should return a List of students who have failed the semester.</para>
+
+    <programlisting>
+    
+    List failedStudents = new ArrayList();
+    
+    for ( Iterator studentIter = students.iterator(); studentIter.hasNext();) {
+        Student student = ( Student ) studentIter.next();
+        for ( Iterator it = student.getModules.iterator(); it.hasNext(); ) {
+            Module module = ( Module ) it.next();
+            if ( module.getScore() &lt; 40  ) {
+                failedStudents.add( student ) ;
+                break;
+            }
+        }
+    }
+    
+    </programlisting>
+
+    <para>Early SQL implementations were not Turing complete as they did not
+    provide quantifiers to access the structure of data. Modern SQL engines do
+    allow nesting of SQL, which can be combined with keywords like 'exists'
+    and 'in'. The following show SQL and a Rule to return a set of Students
+    who have failed the semester.</para>
+
+    <programlisting>
+
+select
+    * 
+from 
+    Students s 
+where exists (  
+    select 
+        * 
+    from 
+        Modules m 
+    where 
+        m.student_name = s.name and 
+        m.score &lt; 40 
+)
+
+    </programlisting>
+
+    <para></para>
+
+    <programlisting>
+
+    rule "Failed_Students"
+    when
+        exists( $student : Student() &amp;&amp; Module( student == $student, score &lt; 40 ) )
+    
+    </programlisting>
+
+    <para></para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Rules.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,1224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>The Drools Rule Engine</title>
+
+  <section>
+    <title>Overview</title>
+
+    <para>Drools is split into two main parts: Authoring and Runtime.</para>
+
+    <para>The authoring process involves the creation of DRL or XML files for
+    rules which are fed into a parser - defined by an Antlr 3 grammar. The
+    parser checks for correctly formed grammar and produces an intermediate
+    structure for the "descr"; where the "descr" indicates the AST that
+    "describes" the rules. The AST is then passed to the Package Builder which
+    produces Packages. Package Builder also undertakes any code generation and
+    compilation that is necessary for the creation of the Package. A Package
+    object is self contained and deployable, in that it's a serialized object
+    consisting of one or more rules.</para>
+
+    <figure>
+      <title>Authoring Components</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Authoring.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A RuleBase is a runtime component which consists of one or more
+    Packages. Packages can be added and removed from the RuleBase at any time.
+    A RuleBase can instantiate one or more WorkingMemories at any time; a weak
+    reference is maintained, unless configured otherwise. The Working Memory
+    consists of a number of sub components, including Working Memory Event
+    Support, Truth Maintenance System, Agenda and Agenda Event Support. Object
+    insertion may result in the creation of one or more Activations. The
+    Agenda is responsible for scheduling the execution of these
+    Activations.</para>
+
+    <figure>
+      <title>Runtime Components</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Runtime.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
+  <section>
+    <title>Authoring</title>
+
+    <figure>
+      <title>PackageBuilder</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/PackageBuilder.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Four classes are used for authoring: DrlParser, XmlParser,
+    ProcessBuilder and PackageBuilder. The two parser classes produce "descr"
+    (description) AST models from a provided Reader instance. ProcessBuilder
+    reads in an xstream serialization representation of the Rule Flow.
+    PackageBuilder provides convienience APIs so that you can mostly forget
+    about those classes. The three convenience methods are
+    "addPackageFromDrl", "addPackageFromXml" and addRuleFlow - all take an
+    instance of Reader as an argument. The example below shows how to build a
+    package that includes both XML and DRL rule files and a ruleflow file,
+    which are in the classpath. Note that all added package sources must be of
+    the same package namespace for the current PackageBuilder instance!</para>
+
+    <example>
+      <title>Building a Package from Multiple Sources</title>
+
+      <programlisting>PackageBuilder builder = new PackageBuilder();
+builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "package1.drl" ) ) );
+builder.addPackageFromXml( new InputStreamReader( getClass().getResourceAsStream( "package2.xml" ) ) );
+builder.addRuleFlow( new InputStreamReader( getClass().getResourceAsStream( "ruleflow.rfm" ) ) );
+Package pkg = builder.getPackage();      </programlisting>
+    </example>
+
+    <para>It is essential that you always check your PackageBuilder for errors
+    before attempting to use it. While the ruleBase does throw an
+    InvalidRulePackage when a broken Package is added, the detailed error
+    information is stripped and only a toString() equivalent is available. If
+    you interrogate the PackageBuilder itself much more information is
+    available.</para>
+
+    <example>
+      <title>Checking the PackageBuilder for errors</title>
+
+      <programlisting>PackageBuilder builder = new PackageBuilder();
+builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "package1.drl" ) ) );
+PackageBuilderErrors errors = builder.getErrors();</programlisting>
+    </example>
+
+    <para>PackageBuilder is configurable using PackageBuilderConfiguration
+    class.</para>
+
+    <figure>
+      <title>PackageBuilderConfiguration</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/PackageBuilderConfiguration.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>It has default values that can be overridden programmatically via
+    setters or on first use via property settings. At the heart of the
+    settings is the ChainedProperties class which searches a number of
+    locations looking for drools.packagebuilder.conf files; as it finds them
+    it adds the properties to the master propperties list; this provides a
+    level precedence. In order of precedence those locations are: System
+    Properties, user defined file in System Properties, user home directory,
+    working directory, various META-INF locations. Further to this the
+    droosl-compiler jar has the default settings in its META-INF
+    directory.</para>
+
+    <para>Currently the PackageBuilderConfiguration handles the registry of
+    Accumulate functions, registry of Dialects and the main
+    ClassLoader.</para>
+
+    <para>Drools has a pluggable Dialect system, which allows other languages
+    to compile and execution expressions and blocks, the two currently
+    supported dialects are Java and MVEL. Each has its own
+    DialectConfiguration Implementation; the javadocs provide details for each
+    setter/getter and the property names used to configure them.</para>
+
+    <figure>
+      <title>JavaDialectConfiguration</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/JavaDialectConfiguration.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The JavaDialectConfiguration allows the compiler and language levels
+    to be supported. You can override by setting the
+    "drools.dialect.java.compiler" property in a packagebuilder.conf file that
+    the ChainedProperties instance will find, or you can do it at runtime as
+    shown below.</para>
+
+    <example>
+      <title>Configuring the JavaDialectConfiguration to use JANINO via a
+      setter</title>
+
+      <programlisting>PackageBuilderConfiguration cfg = new PackageBuilderConfiguration( );
+JavaDialectConfiguration javaConf = (JavaDialectConfiguration) cfg.getDialectConfiguration( "java" );
+javaConf.setCompiler( JavaDialectConfiguration.JANINO );            </programlisting>
+    </example>
+
+    <para>if you do not have Eclipse JDT Core in your classpath you must
+    override the compiler setting before you instantiate this PackageBuilder,
+    you can either do that with a packagebuilder properties file the
+    ChainedProperties class will find, or you can do it programmatically as
+    shown below; note this time I use properties to inject the value for
+    startup.</para>
+
+    <example>
+      <title>Configuring the JavaDialectConfiguration to use JANINO</title>
+
+      <programlisting>Properties properties = new Properties();
+properties.setProperty( "drools.dialect.java.compiler",
+                        "JANINO" );
+PackageBuilderConfiguration cfg = new PackageBuilderConfiguration( properties );
+JavaDialectConfiguration javaConf = (JavaDialectConfiguration) cfg.getDialectConfiguration( "java" );
+assertEquals( JavaDialectConfiguration.JANINO,
+              javaConf.getCompiler() ); // demonstrate that the compiler is correctly configured            </programlisting>
+    </example>
+
+    <para>Currently it allows alternative compilers (Janino, Eclipse JDT) to
+    be specified, different JDK source levels ("1.4" and "1.5") and a parent
+    class loader. The default compiler is Eclipse JDT Core at source level
+    "1.4" with the parent class loader set to
+    "Thread.currentThread().getContextClassLoader()".</para>
+
+    <para>The following show how to specify the JANINO compiler
+    programmatically:</para>
+
+    <example>
+      <title>Configuring the PackageBuilder to use JANINO via a
+      property</title>
+
+      <programlisting>PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+conf.setCompiler( PackageBuilderConfiguration.JANINO );
+PackageBuilder builder = new PackageBuilder( conf );</programlisting>
+    </example>
+
+    <para>The MVELDialectConfiguration is much simpler and only allows strict
+    mode to be turned on and off, by default strict is true; this means all
+    method calls must be type safe either by inference or by explicit
+    typing.</para>
+
+    <figure>
+      <title>MvelDialectConfiguration</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/MVELDialectConfiguration.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
+  <section>
+    <title>RuleBase</title>
+
+    <figure>
+      <title>RuleBaseFactory</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/RuleBaseFactory.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A RuleBase is instantiated using the RuleBaseFactory, by default
+    this returns a ReteOO RuleBase. Packages are added, in turn, using the
+    addPackage method. You may specify packages of any namespace and multiple
+    packages of the same namespace may be added.</para>
+
+    <example>
+      <title>Adding a Package to a new RuleBase</title>
+
+      <programlisting>RuleBase ruleBase  = RuleBaseFactory.newRuleBase();
+ruleBase.addPackage( pkg  );        </programlisting>
+    </example>
+
+    <figure>
+      <title>RuleBase</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/RuleBase.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A RuleBase contains one or more more packages of rules, ready to be
+    used, i.e., they have been validated/compiled etc. A Rule Base is
+    serializable so it can be deployed to JNDI or other such services.
+    Typically, a rulebase would be generated and cached on first use; to save
+    on the continually re-generation of the Rule Base; which is
+    expensive.</para>
+
+    <para>A Rule Base instance is thread safe, in the sense that you can have
+    the one instance shared across threads in your application, which may be a
+    web application, for instance. The most common operation on a rulebase is
+    to create a new rule session; either stateful or stateless.</para>
+
+    <para>The Rule Base also holds references to any stateful session that it
+    has spawned, so that if rules are changing (or being added/removed etc.
+    for long running sessions), they can be updated with the latest rules
+    (without necessarily having to restart the session). You can specify not
+    to maintain a reference, but only do so if you know the Rule Base will not
+    be updated. References are not stored for stateless sessions.</para>
+
+    <programlisting>ruleBase.newStatefulSession();  // maintains a reference.
+ruleBase.newStatefulSession( false ); // do not maintain a reference    </programlisting>
+
+    <para>Packages can be added and removed at any time - all changes will be
+    propagated to the existing stateful sessions; don't forget to call
+    fireAllRules() for resulting Activations to fire.</para>
+
+    <programlisting>ruleBase.addPackage( pkg );  // Add a package instance
+ruleBase.removePackage( "org.com.sample" );  // remove a package, and all its parts, by it's namespace
+ruleBase.removeRule( "org.com.sample", "my rule" ); // remove a specific rule from a namespace         </programlisting>
+
+    <para>While there is a method to remove an indivual rule, there is no
+    method to add an individual rule - to achieve this just add a new package
+    with a single rule in it.</para>
+
+    <para>RuleBaseConfigurator can be used to specify additional behavior of
+    the RuleBase. RuleBaseConfiguration is set to immutable after it has been
+    added to a Rule Base. Nearly all the engine optimizations can be turned on
+    and off from here, and also the execution behavior can be set. Users will
+    generally be concerned with insertion behavior (identity or equality) and
+    cross product behavior(remove or keep identity equals cross
+    products).</para>
+
+    <programlisting>RuleBaseConfiguration conf = new RuleBaseConfiguration();
+conf.setAssertBehaviour( AssertBehaviour.IDENTITY );
+conf.setRemoveIdentities( true );
+RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );</programlisting>
+
+    <figure>
+      <title>RuleBaseConfiguration</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/RuleBaseConfiguration.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
+  <section>
+    <title>WorkingMemory and Stateful/Stateless Sessions</title>
+
+    <figure>
+      <title>WorkingMemory</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/WorkingMemory.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>It holds references to all data that has been "inserted" into it
+    (until retracted) and it is the place where the interaction with your
+    application occurs. Working memories are stateful objects. They may be
+    shortlived or longlived.</para>
+
+    <section>
+      <title>Facts</title>
+
+      <para>Facts are objects (beans) from your application that you insert
+      into the working memory. Facts are any Java objects which the rules can
+      access. The rule engine does not "clone" facts at all, it is all
+      references/pointers at the end of the day. Facts are your applications
+      data. Strings and other classes without getters and setters are not
+      valid Facts and can't be used with Field Constraints which rely on the
+      JavaBean standard of getters and setters to interact with the
+      object.</para>
+    </section>
+
+    <section>
+      <title>Insertion</title>
+
+      <para>"Insert" is the act of telling the WorkingMemory about the facts.
+      WorkingMemory.insert(yourObject) for example. When you insert a fact, it
+      is examined for matches against the rules etc. This means ALL of the
+      work is done during insertion; however, no rules are executed until you
+      call "fireAllRules()". You don't call "fireAllRules()" until after you
+      have finished inserting your facts. This is a common misunderstanding by
+      people who think the work happens when you call "fireAllRules()". Expert
+      systems typically use the term "assert" or "assertion" to refer to facts
+      made available to the system, however due to the assert become a keyword
+      in most languages we have moved to use the "Insert" keyword; so expect
+      to hear the two used interchangeably.</para>
+
+      <!-- FIXME - I think we might want to add this sentence to the previous paragraph.
+        However, when the rules are executed, they can assert new objects 
+        thus causing new work to be needed. 
+      -->
+
+      <para>When an Object is inserted it returns a FactHandle. This FactHandle
+      is the token used to represent your insert Object inside the
+      WorkingMemory, it will be used when interacting with the Working Memory
+      when you wish to retract or modify an object.</para>
+
+      <programlisting>Cheese stilton = new Cheese("stilton");
+FactHandle stiltonHandle = session.insert( stilton );      </programlisting>
+
+      <para>As mentioned in the Rule Base section a Working Memory may operate
+      in two assertions modes equality and identity - identity is
+      default.</para>
+
+      <para>Identity means the Working Memory uses an IdentityHashMap to store
+      all asserted Objects. New instance assertions always result in the
+      return of a new FactHandle, if an instance is asserted twice then it
+      returns the previous fact handle – i.e. it ignores the second insertion
+      for the same fact.</para>
+
+      <para>Equality means the Working Memory uses a HashMap to store all
+      asserted Objects. New instance assertions will only return a new
+      FactHandle if a not equal classes have been asserted.</para>
+    </section>
+
+    <section>
+      <title>Retraction</title>
+
+      <para>"Retraction" is when you retract a fact from the Working Memory,
+      which means it will no longer track and match that fact, and any rules
+      that are activated and dependent on that fact will be cancelled. Note
+      that it is possible to have rules that depend on the "non existence" of
+      a fact, in which case retracting a fact may cause a rule to activate
+      (see the 'not' and 'exist' keywords). Retraction is done using the
+      FactHandle that was returned during the assert.</para>
+
+      <programlisting>Cheese stilton = new Cheese("stilton");
+FactHandle stiltonHandle = session.insert( stilton );
+....
+session.retract( stiltonHandle );            </programlisting>
+    </section>
+
+    <section>
+      <title>Update</title>
+
+      <para>The Rule Engine must be notified of modified Facts, so that it can
+      be re-processed. Modification internally is actually a retract and then an
+      insert; so it clears the WorkingMemory and then starts again. Use the
+      modifyObject method to notify the Working Memory of changed objects, for
+      objects that are not able to notify the Working Memory themselves.
+      Notice modifyObject always takes the modified object as a second
+      parameter - this allows you to specify new instances for immutable
+      objects. The update() method can only be used with objects that have
+      shadow proxies turned on. If you do not use shadow proxies then you must
+      call session.modifyRetract() before making your changes and
+      session.modifyInsert() after the changes.</para>
+
+      <programlisting>Cheese stilton = new Cheese("stilton");
+FactHandle stiltonHandle = workingMemory.insert( stilton );
+....
+stilton.setPrice( 100 );
+workingMemory.update( stiltonHandle, stilton );              </programlisting>
+    </section>
+
+    <section>
+      <title>Globals</title>
+
+      <para>Globals are named objects that can be passed in to the rule
+      engine; without needing to insert them. Most often these are used for
+      static information, or services that are used in the RHS of a rule, or
+      perhaps a means to return objects from the rule engine. If you use a
+      global on the LHS of a rule, make sure it is immutable. A global must
+      first be declared in the drl before it can be set on the session.</para>
+
+      <programlisting>global java.util.List list        </programlisting>
+
+      <para>With the Rule Base now aware of the global identifier and its type
+      any sessions are now able to call session.setGlobal; failure to declare
+      the global type and identifier first will result in an exception being
+      thrown. To set the global on the session use
+      session.setGlobal(identifier, value);</para>
+
+      <programlisting>List list = new ArrayList();
+session.setGlobal("list", list);           </programlisting>
+
+      <para>If a rule evaluates on a global before you set it you will get a
+      NullPointerException.</para>
+    </section>
+
+    <section>
+      <title>Shadow Facts</title>
+
+      <para>A shadow fact is a shallow copy of an asserted object. Shadow
+      facts are cached copies of object asserted to the working memory. The
+      term shadow facts is commonly known as a feature of JESS (Java Expert
+      System Shell).</para>
+
+      <para>The origins of shadow facts traces back to the concept of truth
+      maintenance. The basic idea is that an expert system should guarantee
+      the derived conclusions are accurate. A running system may alter a fact
+      during evaluation. When this occurs, the rule engine must know a
+      modification occurred and handle the change appropriately. There's
+      generally two ways to guarantee truthfulness. The first is to lock all
+      the facts during the inference process. The second is to make a cache
+      copy of an object and force all modifications to go through the rule
+      engine. This way, the changes are processed in an orderly fashion.
+      Shadow facts are particularly important in multi-threaded environments,
+      where an engine is shared by multiple sessions. Without truth
+      maintenance, a system has a difficult time proving the results are
+      accurate. The primary benefit of shadow facts is it makes development
+      easier. When developers are forced to keep track of fact modifications,
+      it can lead to errors, which are difficult to debug. Building a
+      moderately complex system using a rule engine is hard enough without
+      adding the burden of tracking changes to facts and when they should
+      notify the rule engine.</para>
+
+      <para>Drools 4.0 has full support for Shadow Facts implemented as
+      transparent lazy proxies. Shadow facts are enable by default and are not
+      visible from external code, not even inside code blocks on rules.</para>
+
+      <remark>I<emphasis role="bold">MPORTANT: </emphasis>since Drools
+      implements Shadow Facts as Proxies, the fact classes must <emphasis
+      role="bold">either be immutable</emphasis> or <emphasis
+      role="bold">should not be final</emphasis>, nor have final methods. If a
+      fact class is final or have final methods and is still a mutable class,
+      the engine is not able to create a proper shadow fact for it and results
+      in unpredictable behavior. </remark>
+
+      <para>Although shadow facts are a great way of ensuring the engine
+      integrity, they add some overhead to the the reasoning process. As so,
+      Drools 4.0 supports fine grained control over them with the ability to
+      enable/disable them for each individual class. </para>
+
+       <section>
+        <title>When is it possible to disable Shadow Facts?</title>
+
+        <para>It is possible to disable shadow facts for your classes if you
+        meet the following requirements:</para>
+
+        <para><emphasis role="bold">1. Immutable classes are safe:</emphasis>
+        if a class is immutable it does not require shadow facts. Just to
+        clarify, a class is immutable from the engine perspective if once an
+        instance is asserted into the working memory, no attribute will change
+        until it is retracted.</para>
+
+        <para><emphasis role="bold">2. Inside your rules, attributes are only
+        changed using modify() blocks:</emphasis> both Drools dialects (MVEL
+        and Java) have the modify block construct. If all attribute value
+        changes for a given class happen inside modify() blocks, you can
+        disable shadow facts for that class.</para>
+
+        <example>
+          <title>Example: modify() block using Java dialect</title>
+
+          <programlisting>rule "Eat Cheese"
+when
+  $p: Person( status == "hungry" )
+  $c: Cheese( )
+then
+  retract( $c );
+  modify( $p ) {
+      setStatus( "full" ),
+      setAge( $p.getAge() + 1 )
+  }
+end</programlisting>
+        </example>
+
+        <example>
+          <title>Example: modify() block using MVEL dialect</title>
+
+          <programlisting>rule "Eat Cheese"
+  dialect "mvel"
+when
+  $p: Person( status == "hungry" )
+  $c: Cheese( )
+then
+  retract( $c );
+  modify( $p ) {
+      status = "full",
+      age = $p.age + 1
+  }
+end</programlisting>
+        </example>
+        <para><emphasis role="bold">3. In your application, attributes are
+        only changed between calls to modifyRetract() and
+        modifyInsert():</emphasis> this way, the engine becomes aware that
+        attributes will be changed and can prepare itself for them.</para>
+
+        <example>
+          <title>Example: safely modifying attributes in the application
+          code</title>
+
+          <programlisting>         // create session
+         StatefulSession session = ruleBase.newStatefulSession();
+
+         // get facts
+         Person person = new Person( "Bob", 30 );
+         person.setLikes( "cheese" );
+
+         // insert facts
+         FactHandle handle = session.insert( person );
+
+         // do application stuff and/or fire rules
+         session.fireAllRules();
+
+         // wants to change attributes?
+         session.modifyRetract( handle ); // call modifyRetract() before doing changes
+         person.setAge( 31 );
+         person.setLikes( "chocolate" );
+         session.modifyInsert( handle, person ); // call modifyInsert() after the changes
+</programlisting>
+        </example>
+      </section>
+
+      <section>
+        <title>How to disable Shadow Facts?</title>
+
+        <para>To disable shadow fact for all classes set the following
+        property in a configuration file of system property:</para>
+
+        <programlisting>drools.shadowProxy = false</programlisting>
+
+        <para>Alternatively, it is possible to disable through an API
+        call:</para>
+
+        <programlisting>RuleBaseConfiguration conf = new RuleBaseConfiguration();
+conf.setShadowProxy( false );
+...
+RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+</programlisting>
+
+        <para>To disable the shadow proxy for a list of classes only, use the
+        following property instead, or the equivalent API:</para>
+
+        <programlisting>drools.shadowproxy.exclude = org.domainy.* org.domainx.ClassZ</programlisting>
+
+        <para>As shown above, a space separated list is used to specify more
+        than one class, and '*' is used as a wild card.</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Property Change Listener</title>
+
+      <para>If your fact objects are Java Beans, you can implement a property
+      change listener for them, and then tell the rule engine about it. This
+      means that the engine will automatically know when a fact has changed,
+      and behave accordingly (you don't need to tell it that it is modified).
+      There are proxy libraries that can help automate this (a future version
+      of Drools will bundle some to make it easier). To use the Object in
+      dynamic mode specify true for the second assertObject parameter.</para>
+
+      <programlisting>Cheese stilton = new Cheese("stilton");
+FactHandle stiltonHandle = workingMemory.insert( stilton, true );  //specifies that this is a dynamic fact            </programlisting>
+
+      <para>To make a JavaBean dynamic add a PropertyChangeSupport field
+      memory along with two add/remove mothods and make sure that each setter
+      notifies the PropertyChangeSupport instance of the change.</para>
+
+      <programlisting>private final PropertyChangeSupport changes = new PropertyChangeSupport( this );
+...
+public void addPropertyChangeListener(final PropertyChangeListener l) {
+    this.changes.addPropertyChangeListener( l );
+}
+
+public void removePropertyChangeListener(final PropertyChangeListener l) {
+    this.changes.removePropertyChangeListener( l );
+}
+...
+
+public void setState(final String newState) {
+    String oldState = this.state;
+    this.state = newState;
+    this.changes.firePropertyChange( "state",
+                                      oldState,
+                                      newState );
+}              </programlisting>
+    </section>
+
+    <section>
+      <title>Initial Fact</title>
+
+      <para>To support conditional elements like "not" (which will be covered
+      later on), there is a need to "seed" the engine with something known as
+      the "Initial Fact". This fact is a special fact that is not intended to
+      be seen by the user.</para>
+
+      <para>On the first working memory action (assert, fireAllRules) on a
+      fresh working memory, the Initial Fact will be propagated through the
+      RETE network. This allows rules that have no LHS, or perhaps do not use
+      normal facts (such as rules that use "from" to pull data from an
+      external source). For instance, if a new working memory is created, and
+      no facts are asserted, calling the fireAllRules will cause the Initial
+      Fact to propagate, possibly activating rules (otherwise, nothing would
+      happen as there is no other fact to start with).</para>
+    </section>
+  </section>
+
+  <section>
+    <title>StatefulSession</title>
+
+    <figure>
+      <title>StatefulSession</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/StatefulSession.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The StatefulSession extends the WorkingMemory class. It simply adds
+    async methods and a dispose() method. The ruleBase retains a reference to
+    each StatefulSession it creates, so that it can update them when new rules
+    are added, dispose() is needed to release the StatefulSession reference
+    from the RuleBase, without it you can get memory leaks.</para>
+
+    <example>
+      <title>Createing a StatefulSession</title>
+
+      <programlisting>StatefulSession session = ruleBase.newStatefulSession();</programlisting>
+    </example>
+  </section>
+
+  <section>
+    <title>Stateless Session</title>
+
+    <figure>
+      <title>StatelessSession</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/StatelessSession.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The StatelessSession wraps the WorkingMemory, instead of extending
+    it, its main focus is on decision service type scenarios.</para>
+
+    <example>
+      <title>Createing a StatelessSession</title>
+
+      <programlisting>StatelessSession session = ruleBase.newStatelessSession();
+session.execute( new Cheese( "cheddar" ) );</programlisting>
+    </example>
+
+    <para>The API is reduced for the problem domain and is thus much simpler;
+    which in turn can make maintenance of those services easier. The RuleBase
+    never retains a reference to the StatelessSession, thus dispose() is not
+    needed, and they only have an execute() method that takes an object, an
+    array of objects or a collection of objects - there is no insert or
+    fireAllRules. The execute method iterates the objects inserting each and
+    calling fireAllRules() at the end; session finished. Should the session
+    need access to any results information they can use the executeWithResults
+    method, which returns a StatelessSessionResult. The reason for this is in
+    remoting situations you do not always want the return payload, so this way
+    it's optional.</para>
+
+    <para>setAgendaFilter, setGlobal and setGlobalResolver share their state
+    across sessions; so each call to execute() will use the set AgendaFilter,
+    or see any previous set globals etc.</para>
+
+    <para>StatelessSessions do not currently support
+    propertyChangeListeners.</para>
+
+    <para>Async versions of the Execute method are supported, remember to
+    override the ExecutorService implementation when in special managed thread
+    environments such as JEE.</para>
+
+    <para>StatelessSessions also support sequential mode, which is a special
+    optimized mode that uses less memory and executes faster; please see the
+    Sequential section for more details.</para>
+
+    <figure>
+      <title>StatelessSessionResult</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/StatelessSessionResult.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>StatelessSession.executeWithResults(....) returns a minimal api to
+    examine the session's data. The inserted Objects can be iterated over,
+    queries can be executed and globals retrieved. Once the
+    StatelessSessionResult is serialized it loses the reference to the
+    underlying WorkingMemory and RuleBase, so queries can no longer be
+    executed, however globals can still be retrieved and objects iterated. To
+    retrieve globals they must be exported from the StatelessSession; the
+    GlobalExporter strategy is set with StatelessSession.setGlobalExporter(
+    GlobalExporter globalExporter ). Two implementations of GlobalExporter are
+    available and users may implement their own strategies.
+    CopyIdentifiersGlobalExporter copies named identifiers into a new
+    GlobalResovler that is passed to the StatelessSessionResult; the
+    constructor takes a String[] array of identifiers, if no identifiers are
+    specified it copies all identifiers declared in the RuleBase.
+    ReferenceOriginalGlobalExporter just passes a reference to the original
+    Global Resolver; the latter should be used with care as identifier
+    instances can be changed at any time by the StatelessSession and the
+    GlobalResolver may not be serializable friendly.</para>
+
+    <example>
+      <title>GlobalExporter with StatelessSessions</title>
+
+      <programlisting>StatelessSession session = ruleBase.newStatelessSession();
+session.setGlobalExporter( new CopyIdentifiersGlobalExporter( new String[]{"list"} ) );
+StatelessSessionResult result = session.executeWithResults( new Cheese( "stilton" ) );
+List list = ( List ) result.getGlobal( "list" );</programlisting>
+    </example>
+  </section>
+
+  <section>
+    <title>Agenda</title>
+
+    <figure>
+      <title>Two Phase Execution</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Agenda.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The Agenda is a RETE feature. During a Working Memory Action rules
+    may become fully matched and eligible for execution; a single Working
+    Memory Action can result in multiple eligible rules. When a rule is fully
+    matched an Activation is created, referencing the Rule and the matched
+    facts, and placed onto the Agenda. The Agenda controls the execution order
+    of these Activations using a Conflict Resolution strategy.</para>
+
+    <para>The engine operates in a "2 phase" mode which is recursive:</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Working Memory Actions - this is where most of the work takes
+        place - in either the Consequence or the main Java application
+        process. Once the Consequence has finished or the main Java
+        application process calls fireAllRules() the engine switches to the
+        Agenda Evaluation phase.</para>
+      </listitem>
+
+      <listitem>
+        <para>Agenda Evaluation - attempts to select a rule to fire, if a rule
+        is not found it exits, otherwise it attempts to fire the found rule,
+        switching the phase back to Working Memory Actions and the process
+        repeats again until the Agenda is empty.</para>
+      </listitem>
+    </orderedlist>
+
+    <figure>
+      <title>Two Phase Execution</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Two_Phase.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The process recurses until the agenda is clear, in which case
+    control returns to the calling application. When Working Memory Actions
+    are taking place, no rules are being fired.</para>
+
+    <section>
+      <title>Conflict Resolution</title>
+
+      <para>Conflict resolution is required when there are multiple rules on
+      the agenda. As firing a rule may have side effects on working memory,
+      the rule engine needs to know in what order the rules should fire (for
+      instance, firing ruleA may cause ruleB to be removed from the
+      agenda).</para>
+
+      <para>The default conflict resolution strategies employed by Drools are:
+      Salience and LIFO (last in, first out).</para>
+
+      <para>The most visible one is "salience" or priority, in which case a
+      user can specify that a certain rule has a higher priority (by giving it
+      a higher number) than other rules. In that case, the higher salience
+      rule will always be preferred. LIFO priorities are based on the assigned
+      Working Memory Action counter value, multiple rules created from the
+      same action have the same value - execution of these are considered
+      arbitrary.</para>
+
+      <para>As a general rule, it is a good idea not to count on the rules
+      firing in any particular order, and try and author the rules without
+      worrying about a "flow".</para>
+
+      <para>Custom conflict resolution strategies can be specified by setting
+      the Class in the RuleBaseConfiguration method setConflictResolver, or
+      using the property "drools.conflictResolver".</para>
+    </section>
+
+    <section>
+      <title>Agenda Groups</title>
+
+      <para>Agenda groups are a way to partition rules (activations, actually)
+      on the agenda. At any one time, only one group has "focus" which means
+      that the activations for rules in that group will only take effect - you
+      can also have rules "auto focus" which means the focus for its agenda
+      group is taken when that rules conditions are true.</para>
+
+      <para>They are sometimes known as "modules" in CLIPS terminology. Agenda
+      groups are a handy way to create a "flow" between grouped rules. You can
+      switch the group which has focus either from within the rule engine, or
+      from the API. If your rules have a clear need for multiple "phases" or
+      "sequences" of processing, consider using agenda-groups for this
+      purpose.</para>
+
+      <para>Each time setFocus(...) is called it pushes that Agenda Group onto
+      a stack, when the focus group is empty it is popped off and the next one
+      on the stack evaluates. An Agenda Group can appear in multiple locations
+      on the stack. The default Agenda Group is "MAIN", all rules which do not
+      specify an Agenda Group are placed there, it is also always the first
+      group on the Stack and given focus as default.</para>
+    </section>
+
+    <section>
+      <title>Agenda Filters</title>
+
+      <figure>
+        <title>AgendaFilters</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Engine/AgendaFilter.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Filters are optional implementations of the filter interface
+      which are used to allow/or deny an activation from firing (what you
+      filter on, is entirely up to the implementation). Drools provides the
+      following convenience default implementations</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>RuleNameEndsWithAgendaFilter</para>
+        </listitem>
+
+        <listitem>
+          <para>RuleNameEqualsAgendaFilter</para>
+        </listitem>
+
+        <listitem>
+          <para>RuleNameStartsWithAgendaFilter</para>
+        </listitem>
+
+        <listitem>
+          <para>RuleNameMatchesAgendaFilter</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>To use a filter specify it while calling FireAllRules. The
+      following example will only allow activation of rules ending with the test <emphasis>Test</emphasis>. All others will be filtered out:</para>
+
+      <programlisting>workingMemory.fireAllRules( new RuleNameEndsWithAgendaFilter( "Test" ) );      </programlisting>
+    </section>
+  </section>
+
+  <section>
+    <title>Truth Maintenance with <indexterm>
+        <primary>Logical Object</primary>
+      </indexterm> Logical Objects</title>
+
+    <para>In a regular insert, you need to explicitly retract a fact. With
+    logical assertions, the fact that was asserted will be automatically
+    retracted when the conditions that asserted it in the first place are no
+    longer true. (It's actually more clever then that! If there are no possible
+    conditions that could support the logical assertion, only then it will be
+    retracted).</para>
+
+    <para>Normal insertions are said to be “STATED” (ie The Fact has been
+    stated - just like the intuitive concept). Using a HashMap and a counter
+    we track how many times a particular equality is STATED; this means we
+    count how many different instances are equal. When we logically insert an
+    object we are said to justify it and it is justified by the firing rule.
+    For each logical insertion there can only be one equal object, each
+    subsequent equal logical insertion increases the justification counter for
+    this logical assertion. As each justification is removed when we have no
+    more justifications the logical object is automatically retracted.</para>
+
+    <para>If we logically insert an object when there is an equal STATED
+    object it will fail and return null. If we STATE an object that has an
+    existing equal object that is JUSTIFIED we override the Fact - how this
+    override works depends on the configuration setting
+    "WM_BEHAVIOR_PRESERVE". When the property is set to discard we use the
+    existing handle and replace the existing instance with the new Object -
+    this is the default behavior - otherwise we override it to STATED but we
+    create an new FactHandle.</para>
+
+    <para>This can be confusing on a first read, so hopefully the flow charts
+    below help. When it says that it returns a new FactHandle, this also
+    indicates the Object was propagated through the network.</para>
+
+    <figure>
+      <title>Stated Insertion</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Stated_Assertion.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <figure>
+      <title>Logical Insertion</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Logical_Assertion.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <section>
+      <title>Example Scenario</title>
+
+      <para>An example may make things clearer. Imagine a credit card
+      processing application, processing transactions for a given account (and
+      we have a working memory accumulating knowledge about a single accounts
+      transaction). The rule engine is doing its best to decide if
+      transactions are possibly fraudulent or not. Imagine this rule base
+      basically has rules that kick in when there is "reason to be suspicious"
+      and when "everything is normal".</para>
+
+      <para>Of course there are many rules that operate no matter what
+      (performing standard calculations, etc.). Now there are possibly many
+      reasons as to what could trigger a "reason to be suspicious": someone
+      notifying the bank, a sequence of large transactions, transactions for
+      geographically disparate locations or even reports of credit card theft.
+      Rather then smattering all the little conditions in lots of rules,
+      imagine there is a fact class called "SuspiciousAccount".</para>
+
+      <para>Then there can be a series of rules whose job is to look for
+      things that may raise suspicion, and if they fire, they simply insert a
+      new SuspiciousAccount() instance. All the other rules just have
+      conditions like "not SuspiciousAccount()" or "SuspiciousAccount()"
+      depending on their needs. Note that this has the advantage of allowing
+      there to be many rules around raising suspicion, without touching the
+      other rules. When the facts causing the SuspiciousAccount() insertion
+      are removed, the rule engine reverts back to the normal "mode" of
+      operation (and for instance, a rule with "not SuspiciousAccount()" may
+      kick in which flushes through any interrupted transactions).</para>
+
+      <para>If you have followed this far, you will note that truth
+      maintenance, like logical assertions, allows rules to behave a little
+      like a human would, and can certainly make the rules more
+      manageable.</para>
+    </section>
+
+    <section>
+      <title>Important note: Equality for Java objects</title>
+
+      <para>It is important to note that for Truth Maintenance (and logical
+      assertions) to work at all, your Fact objects (which may be Javabeans)
+      override equals and hashCode methods (from java.lang.Object) correctly.
+      As the truth maintenance system needs to know when 2 different physical
+      objects are equal in value, BOTH equals and hashCode must be overridden
+      correctly, as per the Java standard.</para>
+
+      <para>Two objects are equal if and only if their equals methods return
+      true for each other and if their hashCode methods return the same
+      values. See the Java API for more details (but do keep in mind you MUST
+      override both equals and hashCode).</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Event Model</title>
+
+    <para>The event package provides means to be notified of rule engine
+    events, including rules firing, objects being asserted, etc. This allows
+    you to separate out logging/auditing activities from the main part of your
+    application (and the rules) - as events are a cross cutting
+    concern.</para>
+
+    <para>There are three types of event listeners -
+    WorkingMemoryEventListener, AgendaEventListener
+    RuleFlowEventListener.</para>
+
+    <figure>
+      <title>WorkingMemoryEventListener</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/WorkingMemoryEventListener.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <figure>
+      <title>AgendaEventListener</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/AgendaEventListener.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <figure>
+      <title>RuEventListener</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/RuleFlowEventListener.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Both stateful and stateless sessions implement the EventManager
+    interface, which allows event listeners to be added to the session.</para>
+
+    <figure>
+      <title>EventManager</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/EventManager.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>All EventListeners have default implementations that implement each
+    method, but do nothing, these are convienience classes that you can
+    inherit from to save having to implement each method -
+    DefaultAgendaEventListener, DefaultWorkingMemoryEventListener,
+    DefaultRuleFlowEventListener. The following shows how to extend
+    DefaultAgendaEventListener and add it to the session - the example prints
+    statements for only when rules are fired:</para>
+
+    <programlisting>session.addEventListener( new DefaultAgendaEventListener() {                            
+   public void afterActivationFired(AfterActivationFiredEvent event) {
+       super.afterActivationFired( event );
+       System.out.println( event );
+   }
+});       </programlisting>
+
+    <para>Drools also provides DebugWorkingMemoryEventListener,
+    DebugAgendaEventListener and DebugRuleFlowEventListener that implements
+    each method with a debug print statement:</para>
+
+    <programlisting>session.addEventListener( new DebugWorkingMemoryEventListener() );        </programlisting>
+
+    <para>The Eclipse-based Rule IDE also provides an audit logger and
+    graphical viewer, so that the rule engine can log events for later
+    viewing, and auditing.</para>
+  </section>
+
+  <section>
+    <title>Sequential Mode</title>
+
+    <para>With Rete you have a stateful session where objects can be asserted
+    and modified over time, rules can also be added and removed. Now what
+    happens if we assume a stateless session, where after the initial data set
+    no more data can be asserted or modified (no rule re-evaluations) and
+    rules cannot be added or removed? This means we can start to make
+    assumptions to minimize what work the engine has to do.</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Order the Rules by salience and position in the ruleset (just
+        sets a sequence attribute on the rule terminal node). 4</para>
+      </listitem>
+
+      <listitem>
+        <para>Create an array, one element for each possible rule activation;
+        element position indicates firing order.</para>
+      </listitem>
+
+      <listitem>
+        <para>Turn off all node memories, except the right-input Object
+        memory.</para>
+      </listitem>
+
+      <listitem>
+        <para>Disconnect the LeftInputAdapterNode propagation, and have the
+        Object plus the Node referenced in a Command object, which is added to
+        a list on the WorkingMemory for later execution.</para>
+      </listitem>
+
+      <listitem>
+        <para>Assert all objects, when all assertions are finished and thus
+        right-input node memories are populated check the Command list and
+        execute each in turn.</para>
+      </listitem>
+
+      <listitem>
+        <para>All resulting Activations should be placed in the array, based
+        upon the determined sequence number of the Rule. Record the first and
+        last populated elements, to reduce the iteration range.</para>
+      </listitem>
+
+      <listitem>
+        <para>Iterate the array of Activations, executing populated element in
+        turn.</para>
+      </listitem>
+
+      <listitem>
+        <para>If we have a maximum number of allowed rule executions, we can
+        exit our network evaluations early to fire all the rules in the
+        array.</para>
+      </listitem>
+    </orderedlist>
+
+    <para>The LeftInputAdapterNode no longer creates a Tuple, adding the
+    Object, and then propagate the Tuple – instead a Command Object is created
+    and added to a list in the Working Memory. This Command Object holds a
+    reference to the LeftInputAdapterNode and the propagated Object. This
+    stops any left-input propagations at insertion time, so that we know that
+    a right-input propagation will never need to attempt a join with the
+    left-inputs (removing the need for left-input memory). All nodes have
+    their memory turned off, including the left-input Tuple memory but
+    excluding the right-input Object memory – i.e. The only node that
+    remembers an insertion propagation is the right-input Object memory. Once
+    all the assertions are finished, and all right-input memories populated,
+    we can then iterate the list of LeftInputAdatperNode Command objects
+    calling each in turn; they will propagate down the network attempting to
+    join with the right-input objects; not being remembered in the left input,
+    as we know there will be no further object assertions and thus
+    propagations into the right-input memory.</para>
+
+    <para>There is no longer an Agenda, with a priority queue to schedule the
+    Tuples, instead there is simply an array for the number of rules. The
+    sequence number of the RuleTerminalNode indicates the element with the
+    array to place the Activation. Once all Command Objects have finished we
+    can iterate our array checking each element in turn and firing the
+    Activations if they exist. To improve performance in the array we remember
+    record the first and last populated cells. The network is constructed
+    where each RuleTerminalNode is given a sequence number, based on a
+    salience number and its order of being added to the network.</para>
+
+    <para>Typically the right-input node memories are HashMaps, for fast
+    Object retraction, as we know there will be no Object retractions, we can
+    use a list when the values of the Object are not indexed. For larger
+    numbers of Objects indexed HashMaps provide a performance increase; if we
+    know an Object type has a low number of instances then indexing is
+    probably not of an advantage and an Object list can be used.</para>
+
+    <para>Sequential mode can only be used with a StatelessSession and is off
+    by default. To turn on either set the RuleBaseConfiguration.setSequential
+    to true or set the rulebase.conf property drools.sequential to true.
+    Sequential mode can fallback to a dynamic agenda with setSequentialAgenda
+    to either SequentialAgenda.SEQUENTIAL or SequentialAgenda.DYNAMIC setter
+    or the "drools.sequential.agenda" property</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>What is a Rule Engine?</title>
+
+  <section>
+    <title>Introduction and Background</title>
+
+    <para>Artificial Intelligence (A.I.) is a very broad research area that
+    focuses on "Making computers think like people" and includes disciplines
+    such as Neural Networks, Genetic Algorithms, Decision Trees, Frame Systems
+    and Expert Systems. Knowledge representation is the area of A.I. concerned
+    with how knowledge is represented and manipulated. Expert Systems use
+    Knowledge representation to facilitate the codification of knowledge into
+    a knowledge base which can be used for reasoning - i.e. we can process
+    data with this knowledge base to infer conclusions. Expert Systems are
+    also known as Knowledge-based Systems and Knowledge-based Expert Systems
+    and are considered 'applied artificial intelligence'. The process of
+    developing with an Expert System is Knowledge Engineering. EMYCIN was one
+    of the first "shells" for an Expert System, which was created from the
+    MYCIN medical diagnosis Expert System. Where-as early Expert Systems had
+    their logic hard coded, "shells" separated the logic from the system,
+    providing an easy to use environment for user input. Drools is a Rule
+    Engine that uses the Rule Based approached to implement an Expert System
+    and is more correctly classified as a Production Rule System.</para>
+
+    <para>The term "Production Rule" originates from formal grammar - where it
+    is described as "an abstract structure that describes a formal language
+    precisely, i.e., a set of rules that mathematically delineates a (usually
+    infinite) set of finite-length strings over a (usually finite) alphabet"
+    (<ulink
+    url="http://en.wikipedia.org/wiki/Formal_grammar">wikipedia</ulink>).</para>
+
+    <para>Business Rule Management Systems build additional value on top of a
+    general purpose Rule Engines by providing, business user focused, systems
+    for rule creation, management, deployment, collaboration, analysis and end
+    user tools. Further adding to this value is the fast evolving and popular
+    methodology "Business Rules Approach", which is a helping to formalize the
+    role of Rule Engines in the enterprise.</para>
+
+    <para>The term Rule Engine is quite ambiguous in that it can be any system
+    that uses rules, in any form, that can be applied to data to produce
+    outcomes; which includes simple systems like form validation and dynamic
+    expression engines. The book "How to Build a Business Rules Engine (2004)"
+    by Malcolm Chisholm exemplifies this ambiguity. The book is actually about
+    how to build and alter a database schema to hold validation rules. The
+    book then shows how to generate VB code from those validation rules to
+    validate data entry - while a very valid and useful topic for some, it
+    caused quite a surprise to this author, unaware at the time in the
+    subtleties of Rules Engines differences, who was hoping to find some
+    hidden secrets to help improve the Drools engine. JBoss jBPM uses
+    expressions and delegates in its Decision nodes; which control the
+    transitions in a Workflow. At each node it evaluates has a rule set that
+    dictates the transition to undertake - this is also a Rule Engine. While a
+    Production Rule System is a kind of Rule Engine and also an Expert System,
+    the validation and expression evaluation Rule Engines mention previously
+    are not Expert Systems.</para>
+
+    <para>A Production Rule System is Turing complete with a focus on
+    knowledge representation to express propositional and first order logic in
+    a concise, non ambiguous and declarative manner. The brain of a Production
+    Rules System is an Inference Engine that is able to scale to a large
+    number of rules and facts. The Inference Engine matches facts and data,
+    against Production Rules, also called Productions or just Rules, to infer
+    conclusions which result in actions. A Production Rule is a two-part
+    structure using First Order Logic for knowledge representation.</para>
+
+    <programlisting>when
+    &lt;conditions&gt;
+then
+    &lt;actions&gt;</programlisting>
+
+    <para>The process of matching the new or existing facts against Production
+    Rules is called <indexterm>
+        <primary>Pattern Matching</primary>
+      </indexterm> Pattern Matching, which is performed by the <indexterm>
+        <primary>Inference Engine</primary>
+      </indexterm> Inference Engine. There are a number of algorithms used for
+    Pattern Matching by Inference Engines including:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Linear</para>
+      </listitem>
+
+      <listitem>
+        <para>Rete</para>
+      </listitem>
+
+      <listitem>
+        <para>Treat</para>
+      </listitem>
+
+      <listitem>
+        <para>Leaps</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Drools implements and extends the <indexterm>
+        <primary>Rete</primary>
+      </indexterm> Rete algorithm, <indexterm>
+        <primary>Leaps</primary>
+      </indexterm> Leaps used to be provided but was retired as it became unmaintaned. The Drools <indexterm>
+        <primary>Rete</primary>
+      </indexterm> Rete implementation is called ReteOO, signifying that
+    Drools has an enhanced and optimized implementation of the Rete algorithm
+    for Object Oriented systems. Other Rete based engines also have marketing
+    terms for their proprietary enhancements to Rete, like RetePlus and Rete
+    III. It is important to understand that names like Rete III are purely
+    marketing where, unlike the original published Rete Algorithm, no details
+    of the implementation are published. This makes questions such as "Does
+    Drools implement Rete III?" nonsensical. The most common enhancements are
+    covered in "Production Matching for Large Learning Systems (Rete/UL)"
+    (1995) by Robert B. Doorenbos.</para>
+
+    <para>The Rules are stored in the <indexterm>
+        <primary>Production Memory</primary>
+      </indexterm> Production Memory and the facts that the Inference Engine
+    matches against the <indexterm>
+        <primary>WorkingMemory</primary>
+      </indexterm> Working Memory. Facts are asserted into the Working Memory
+    where they may then be modified or retracted. A system with a large number
+    of rules and facts may result in many rules being true for the same fact
+    assertion, these rules are said to be in conflict. The Agenda manages the
+    execution order of these conflicting rules using a Conflict Resolution
+    strategy.</para>
+
+    <figure>
+      <title>A Basic Rete network</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/rule-engine-inkscape.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A Production Rule System's Inference Engine is stateful and able to
+    enforce truthfulness - called Truth Maintenance. A logical relationship can
+    be declared by actions which means the action's state depends on the
+    inference remaining true; when it is no longer true the logical dependent
+    action is undone. The "Honest Politician" is an example of Truth
+    Maintenance, which always ensures that hope can only exist for a
+    democracy while we have honest politicians.</para>
+
+    <programlisting>
+when
+    an honest Politician exists
+then
+    logically assert Hope
+
+when
+   Hope exists
+then
+   print "Hurrah!!! Democracy Lives" 
+
+when
+   Hope does not exist
+then
+   print "Democracy is Doomed" 
+</programlisting>
+
+    <para>There are two methods of execution for a Production Rule Systems -
+    Forward Chaining and Backward Chaining; systems that implement both are
+    called Hybrid Production Rule Systems. Understanding these two modes of
+    operation are key to understanding why a Production Rule System is
+    different and how to get the best from them. Forward chaining is
+    'data-driven' and thus reactionary - facts are asserted into the working
+    memory which results in one or more rules being concurrently true and
+    scheduled for execution by the Agenda - we start with a fact, it
+    propagates and we end in a conclusion. Drools is a forward chaining
+    engine.</para>
+
+    <figure>
+      <title>Forward Chaining</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Forward_Chaining.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Backward chaining is 'goal-driven', meaning that we start with a
+    conclusion which the engine tries to satisfy. If it can't it then searches
+    for conclusions that it can, known as 'sub goals', that will help satisfy
+    some unknown part of the current goal - it continues this process until
+    either the initial conclusion is proven or there are no more sub goals.
+    Prolog is an example of a Backward Chaining engine; Drools will be adding
+    support for Backward Chaining in its next major release.</para>
+
+    <figure>
+      <title>Backward Chaining</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Engine/Backward_Chaining.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Why use a Rule Engine?</title>
+
+  <para>Some frequently asked questions:</para>
+
+  <orderedlist>
+    <listitem>
+      <para>When should you use a rule engine?</para>
+    </listitem>
+
+    <listitem>
+      <para>What advantage does a rules engine have over hand coded
+      "if...then" approaches?</para>
+    </listitem>
+
+    <listitem>
+      <para>Why should you use a rule engine instead of a scripting framework,
+      like <indexterm>
+          <primary>BeanShell</primary>
+        </indexterm> BeanShell?</para>
+    </listitem>
+  </orderedlist>
+
+  <para>We will attempt to address these questions below.</para>
+
+  <section>
+    <title>Advantages of a Rule Engine</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Declarative Programming</para>
+
+        <para>Rule engines allow you to say "What to do" not "How to do
+        it".</para>
+
+        <para>The key advantage of this point is that using rules can make it
+        easy to express solutions to difficult problems and consequently have
+        those solutions verified (rules are much easier to read then
+        code).</para>
+
+        <para>Rule systems are capable of solving very, very hard problems,
+        providing an explanation of how the solution was arrived at and why
+        each "decision" along the way was made (not so easy with other of AI
+        systems like neural networks or the human brain - I have no idea why I
+        scratched the side of the car).</para>
+      </listitem>
+
+      <listitem>
+        <para>Logic and Data Separation</para>
+
+        <para>Your data is in your domain objects, the logic is in the rules.
+        This is fundamentally breaking the OO coupling of data and logic,
+        which can be an advantage or a disadvantage depending on your point of
+        view. The upshot is that the logic can be much easier to maintain as
+        there are changes in the future, as the logic is all laid out in
+        rules. This can be especially true if the logic is cross-domain or
+        multi-domain logic. Instead of the logic being spread across many
+        domain objects or controllers, it can all be organized in one or more
+        very distinct rules files.</para>
+      </listitem>
+
+      <listitem>
+        <para>Speed and Scalability</para>
+
+        <para>The Rete algorithm, Leaps algorithm, and its descendants such as
+        Drools' ReteOO (and Leaps), provide very efficient ways of matching
+        rule patterns to your domain object data. These are especially
+        efficient when you have datasets that do not change entirely (as the
+        rule engine can remember past matches). These algorithms are battle
+        proven.</para>
+      </listitem>
+
+      <listitem>
+        <para>Centralization of Knowledge</para>
+
+        <para>By using rules, you create a repository of knowledge (a
+        knowledgebase) which is executable. This means it's a single point of
+        truth, for business policy (for instance) - ideally rules are so
+        readable that they can also serve as documentation.</para>
+      </listitem>
+
+      <listitem>
+        <para>Tool Integration</para>
+
+        <para>Tools such as Eclipse (and in future, Web based UIs) provide
+        ways to edit and manage rules and get immediate feedback, validation
+        and content assistance. Auditing and debugging tools are also
+        available.</para>
+      </listitem>
+
+      <listitem>
+        <para>Explanation Facility</para>
+
+        <para>Rule systems effectively provide an "explanation facility" by
+        being able to log the decisions made by the rule engine along with why
+        the decisions were made.</para>
+      </listitem>
+
+      <listitem>
+        <para>Understandable Rules</para>
+
+        <para>By creating object models and, optionally, Domain Specific
+        Languages that model your problem domain you can set yourself up to
+        write rules that are very close to natural language. They lend
+        themselves to logic that is understandable to, possibly nontechnical,
+        domain experts as they are expressed in their language (as all the
+        program plumbing, the "How", is in the usual code, hidden
+        away).</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+
+  <section>
+    <title>When should you use a Rule Engine?</title>
+
+    <para>The shortest answer to this is "when there is no satisfactory
+    traditional programming approach to solve the problem.". Given that short
+    answer, some more explanation is required. The reason why there is no
+    "traditional" approach is possibly one of the following: <itemizedlist>
+        <listitem>
+          <para>The problem is just too fiddle for traditional code.</para>
+
+          <para>The problem may not be complex, but you can't see a
+          non-fragile way of building it.</para>
+        </listitem>
+
+        <listitem>
+          <para>The problem is beyond any obvious algorithm based
+          solution.</para>
+
+          <para>It is a complex problem to solve, there are no obvious
+          traditional solutions or basically the problem isn't fully
+          understood.</para>
+        </listitem>
+
+        <listitem>
+          <para>The logic changes often</para>
+
+          <para>The logic itself may be simple (but doesn't have to be) but
+          the rules change quite often. In many organizations software
+          releases are few and far between and rules can help provide the
+          "agility" that is needed and expected in a reasonably safe
+          way.</para>
+        </listitem>
+
+        <listitem>
+          <para>Domain experts (or business analysts) are readily available,
+          but are nontechnical.</para>
+
+          <para>Domain experts are often a wealth of knowledge about business
+          rules and processes. They typically are nontechnical, but can be
+          very logical. Rules can allow them to express the logic in their own
+          terms. Of course, they still have to think critically and be capable
+          of logical thinking (many people in "soft" nontechnical positions do
+          not have training in formal logic, so be careful and work with them,
+          as by codifying business knowledge in rules, you will often expose
+          holes in the way the business rules and processes are currently
+          understood).</para>
+        </listitem>
+      </itemizedlist></para>
+
+    <para>If rules are a new technology for your project teams, the overhead
+    in getting going must be factored in. It is not a trivial technology, but
+    this document tries to make it easier to understand.</para>
+
+    <para>Typically in a modern OO application you would use a rule engine to
+    contain key parts of your business logic (what that means of course
+    depends on the application) - ESPECIALLY the REALLY MESSY parts!. This is
+    an inversion of the OO concept of encapsulating all the logic inside your
+    objects. This is not to say that you throw out OO practices, on the
+    contrary in any real world application, business logic is just one part of
+    the application. If you ever notice lots of "if", "else", "switch", an
+    over abundance of strategy patterns and/or other messy logic in your code
+    that just doesn't feel right (and you keep coming back to fix it - either
+    because you got it wrong, or the logic/your understanding changes) - think
+    about using rules. If you are faced with tough problems of which there are
+    no algorithms or patterns for, consider using rules.</para>
+
+    <para>Rules could be used embedded in your application or perhaps as a
+    service. Often rules work best as "stateful" component - hence they are
+    often an integral part of an application. However, there have been
+    successful cases of creating reusable rule services which are
+    stateless.</para>
+
+    <para>In your organization it is important to think about the process you
+    will use for updating rules in systems that are in production (the options
+    are many, but different organizations have different requirements - often
+    they are out of the control of the application vendors/project
+    teams).</para>
+  </section>
+
+  <section>
+    <title>When not to use a Rule Engine</title>
+
+    <para>To quote a Drools mailing list regular (Dave Hamu): "It seems to me
+    that in the excitement of working with rules engines, that people forget
+    that a rules engine is only one piece of a complex application or
+    solution. Rules engines are not really intended to handle workflow or
+    process executions nor are workflow engines or process management tools
+    designed to do rules. Use the right tool for the job. Sure, a pair of
+    pliers can be used as a hammering tool in a pinch, but that's not what
+    it's designed for."</para>
+
+    <para>As rule engines are dynamic (dynamic in the sense that the rules can
+    be stored and managed and updated as data), they are often looked at as a
+    solution to the problem of deploying software (most IT departments seem to
+    exist for the purpose of preventing software being rolled out). If this is
+    the reason you wish to use a rule engine, be aware that rule engines work
+    best when you are able to write declarative rules. As an alternative, you
+    can consider data-driven designs (lookup tables), or script/process
+    engines where the scripts are managed in a database and are able to be
+    updated on the fly.</para>
+  </section>
+
+  <section>
+    <title>Scripting or Process Engines</title>
+
+    <para>Hopefully the preceding sections have explained when you may want to
+    use a rule engine.</para>
+
+    <para>Alternatives are script-based engines that provide the dynamicness
+    for "changes on the fly" (there are many solutions here).</para>
+
+    <para>Alternatively Process Engines (also capable of workflow) such as
+    jBPM allow you to graphically (or programmatically) describe steps in a
+    process - those steps can also involve decision point which are in
+    themselves a simple rule. Process engines and rules often can work nicely
+    together, so it is not an either-or proposition.</para>
+
+    <para>One key point to note with rule engines, is that some rule-engines
+    are really scripting engines. The downside of scripting engines is that
+    you are tightly coupling your application to the scripts (if they are
+    rules, you are effectively calling rules directly) and this may cause more
+    difficulty in future maintenance, as they tend to grow in complexity over
+    time. The upside of scripting engines is they can be easier to implement
+    at first, and you can get quick results (and conceptually simpler for
+    imperative programmers!).</para>
+
+    <para>Many people have also implemented data-driven systems successfully
+    in the past (where there are control tables that store meta-data that
+    changes your applications behavior) - these can work well when the
+    control can remain very limited. However, they can quickly grow out of
+    control if extended too much (such that only the original creators can
+    change the applications behavior) or they cause the application to
+    stagnate as they are too inflexible.</para>
+  </section>
+
+  <section>
+    <title>Strong and Loose Coupling</title>
+
+    <para>No doubt you have heard terms like "tight coupling" and "loose
+    coupling" in systems design. Generally people assert that "loose" or
+    "weak" coupling is preferable in design terms, due to the added
+    flexibility it affords. Similarly, you can have "strongly coupled" and
+    "weakly coupled" rules. Strongly coupled in this sense means that one rule
+    "firing" will clearly result in another rule firing etc.; in other words
+    there is a clear (probably obvious) chain of logic. If your rules are all
+    strongly coupled, the chances are that the rules will have future
+    inflexibility, and more significantly, that perhaps a rule engine is
+    overkill (as the logic is a clear chain of rules - and can be hard coded.
+    [A Decision Tree may be in order]). This is not to say that strong or weak
+    coupling is inherently bad, but it is a point to keep in mind when
+    considering a rule engine and in how you capture the rules. "Loosely"
+    coupled rules should result in a system that allows rules to be changed,
+    removed and added without requiring changes to other rules that are
+    unrelated.</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook"  >
+      <title>The Rule Language</title>
+
+      <xi:include href="Section-Overview.xml" />
+      
+      <xi:include href="Section-Comments.xml" />
+
+      <xi:include href="Section-Package.xml" />
+
+      <xi:include href="Section-Function.xml" />
+
+      <xi:include href="Section-Rule.xml" />
+
+      <xi:include href="Section-Query.xml" />
+
+      <xi:include href="Section-DSL.xml" />
+
+      <xi:include href="Section-XML.xml" />      
+    </chapter>    
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Chapter-RuleLanguage.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Comments.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Comments.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Comments.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Comments</title>
+
+  <note>
+    <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+  </note>
+
+  <para>Comments are sections of text that are ignored by the rule engine.
+  They are stripped out when they are encountered, except inside semantic code
+  blocks, like the RHS of a rule.</para>
+
+  <section>
+    <title>Single line comment</title>
+
+    <figure>
+      <title>Single line comment</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Language/single_line_comment.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>To create single line comments, you can use either '#' or '//'. The
+    parser will ignore anything in the line after the comment symbol.
+    Example:</para>
+
+    <programlisting>rule "Testing Comments"
+when
+    # this is a single line comment
+    // this is also a single line comment
+    eval( true ) # this is a comment in the same line of a pattern
+then
+    // this is a comment inside a semantic code block
+    # this is another comment in a semantic code block
+end
+</programlisting>
+  </section>
+
+  <section>
+    <title>Multi line comment</title>
+
+    <figure>
+      <title>Multi line comment</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Language/multi_line_comment.png"
+                     format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Multi-line comments are used to comment blocks of text, both in and
+    outside semantic code blocks. Example:</para>
+
+    <programlisting>rule "Test Multi-line Comments"
+when
+    /* this is a multi-line comment
+       in the left hand side of a rule */
+    eval( true )
+then
+    /* and this is a multi-line comment
+       in the right hand side of a rule */
+end </programlisting>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Comments.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-DSL.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-DSL.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-DSL.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,394 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Domain Specific Languages</title>
+
+  <para>As mentioned previously, <indexterm>
+      <primary>Domain Specific Languages</primary>
+    </indexterm>(or DSLs) are a way of extending the rule language to your
+  problem domain. They are wired in to the rule language for you, and can make
+  use of all the underlying rule language and engine features.</para>
+
+  <para>DSLs are used both in the IDE, as well as the web based BRMS. Of
+  course as rules are text, you can use them even without this tooling.</para>
+
+  <section>
+    <title>When to use a DSL</title>
+
+    <para>DSLs can serve as a layer of separation between rule authoring (and
+    rule authors) and the domain objects that the engine operates on. DSLs can
+    also act as "templates" of conditions or actions that are used over and
+    over in your rules, perhaps only with parameters changing each time. If
+    your rules need to be read and validated by less technical folk, (such as
+    Business Analysts) the DSLs are definitely for you. If the conditions or
+    consequences of your rules follow similar patterns which you can express
+    in a template. You wish to hide away your implementation details, and
+    focus on the business rule. You want to provide a controlled means of
+    editing rules based on pre-defined templates.</para>
+
+    <para>DSLs have no impact on the rules at runtime, they are just a
+    parse/compile time feature.</para>
+
+    <para>Note that Drools 4 DSLs are quite different from Drools 2 XML based
+    DSLs. It is still possible to do Drools 2 style XML languages - if you
+    require this, then take a look at the Drools 4 XML rule language, and
+    consider using XSLT to map from your XML language to the Drools 4 XML
+    language.</para>
+  </section>
+
+  <section>
+    <title>Editing and managing a DSL</title>
+
+    <para>A DSL's configuration like most things is stored in plain text. If
+    you use the IDE, you get a nice graphical editor (with some validation),
+    but the format of the file is quite simple, and is basically a properties
+    file.</para>
+
+    <para>Note that since Drools 4.0, DSLs have become more powerful in
+    allowing you to customise almost any part of the language, including
+    keywords. Regular expressions can also be used to match words/sentences if
+    needed (this is provided for enhanced localisation). However, not all
+    features are supported by all the tools (although you can use them, the
+    content assistance just may not be 100% accurate in certain cases).</para>
+
+    <example>
+      <title>Example <indexterm>
+          <primary>DSL</primary>
+        </indexterm> mapping</title>
+
+      <programlisting>[when]This is {something}=Something(something=={something})</programlisting>
+    </example>
+
+    <para>Referring to the above example, the [when] refers to the scope of
+    the expression: ie does it belong on the LHS or the RHS of a rule. The
+    part after the [scope] is the expression that you use in the rule
+    (typically a natural language expression, but it doesn't have to be). The
+    part on the right of the "=" is the mapping into the rule language (of
+    course the form of this depends on if you are talking about the RHS or the
+    LHS - if its the LHS, then its the normal LHS syntax, if its the RHS then
+    its fragments of Java code for instance).</para>
+
+    <para>The parser will take the expression you specify, and extract the
+    values that match where the {something} (named Tokens) appear in the
+    input. The values that match the tokens are then interpolated with the
+    corresponding {something} (named Tokens) on the right hand side of the
+    mapping (the target expression that the rule engine actually uses).</para>
+
+    <para>Note also that the "sentences" above can be regular expressions.
+    This means the parser will match the sentence fragements that match the
+    expressions. This means you can use (for instance) the '?' to indicate the
+    character before it is optional (think of each sentence as a regular
+    expression pattern - this means if you want to use regex characters - you
+    will need to escape them with a '\' of course.</para>
+
+    <para>It is important to note that the DSL expressions are processed one
+    line at a time. This means that in the above example, all the text after
+    "This is " to the end of the line will be included as the value for
+    "{something}" when it is interpolated into the target string. This may not
+    be exactly what you want, as you may want to "chain" together different
+    DSL expressions to generate a target expression. The best way around this
+    is to make sure that the {tokens} are enclosed with characters or words.
+    This means that the parser will scan along the sentence, and pluck out the
+    value BETWEEN the characters (in the example below they are
+    double-quotes). Note that the characters that surround the token are not
+    included in when interpolating, just the contents between them (rather
+    then all the way to the end of the line, as would otherwise be the
+    case).</para>
+
+    <para>As a rule of thumb, use quotes for textual data that a rule editor
+    may want to enter. You can also wrap words around the {tokens} to make
+    sure you enclose the data you want to capture (see other example).</para>
+
+    <example>
+      <title>Example with quotes</title>
+
+      <programlisting>[when]This is "{something}" and "{another}"=Something(something=="{something}", another=="{another}")
+[when]This is {also} valid=Another(something=="{also}")</programlisting>
+    </example>
+
+    <para>It is a good idea to try and avoid punctuation in your DSL
+    expressions where possible, other then quotes and the like - keep it
+    simple and things will be easier. Using a DSL can make debugging slightly
+    harder when you are first building rules, but it can make the maintenance
+    easier (and of course the readability of the rules).</para>
+
+    <para>The "{" and "}" characters should only be used on the left hand side
+    of the mapping (the expression) to mark tokens. On the right hand side you
+    can use "{" and "}" on their own if needed - such as <programlisting>if (foo) {
+    doSomething(); }</programlisting> as well as with the token names as shown
+    above.</para>
+
+    <para>Don't forget that if you are capturing strings from users, you will
+    also need the quotes on the right hand side of the mapping, just like a
+    normal rule, as the result of the mapping must be a valid expression in
+    the rule language.</para>
+
+    <example>
+      <title>Some more examples</title>
+
+      <programlisting>#This is a comment to be ignored.
+[when]There is a Person with name of "{name}"=Person(name=="{name}")
+[when]Person is at least {age} years old and lives in "{location}"=Person(age &gt; {age}, location=="{location}")
+[then]Log "{message}"=System.out.println("{message}");
+[when]And = and</programlisting>
+    </example>
+
+    <para>Referring to the above examples, this would render the following
+    input as shown below: <example>
+        <title>Some examples as processed</title>
+
+        <programlisting>There is a Person with name of "kitty" ---&gt; Person(name="kitty")
+Person is at least 42 years old and lives in "atlanta" ---&gt; Person(age &gt; 42, location="atlanta")
+Log "boo" ---&gt; System.out.println("boo");
+There is a Person with name of "bob" and Person is at least 30 years old and lives in "atlanta" 
+          ---&gt; Person(name="kitty") and Person(age &gt; 30, location="atlanta")</programlisting>
+      </example></para>
+  </section>
+
+  <section>
+    <title>Using a DSL in your rules</title>
+
+    <para>A good way to get started if you are new to Rules (and DSLs) is just
+    write the rules as you normally would against your object model. You can
+    unit test as you go (like a good agile citizen!). Once you feel
+    comfortable, you can look at extracting a domain language to express what
+    you are doing in the rules. Note that once you have started using the
+    "expander" keyword, you will get errors if the parser does not recognize
+    expressions you have in there - you need to move everything to the DSL. As
+    a way around this, you can prefix each line with "&gt;" and it will tell
+    the parser to take that line literally, and not try and expand it (this is
+    handy also if you are debugging why something isn't working).</para>
+
+    <para>Also, it is better to rename the extension of your rules file from
+    ".drl" to ".dslr" when you start using DSLs, as that will allow the IDE to
+    correctly recognize and work with your rules file.</para>
+
+    <para>As you work through building up your DSL, you will find that the DSL
+    configuration stabilizes pretty quickly, and that as you add new rules and
+    edit rules you are reusing the same DSL expressions over and over. The aim
+    is to make things as fluent as possible.</para>
+
+    <para>To use the DSL when you want to compile and run the rules, you will
+    need to pass the DSL configuration source along with the rule source.
+    <programlisting>PackageBuilder builder = new PackageBuilder();
+builder.addPackageFromDrl( source, dsl );
+//source is a reader for the rule source, dsl is a reader for the DSL configuration
+</programlisting> You will also need to specify the expander by name in the
+    rule source file: <programlisting>expander your-expander.dsl
+</programlisting>Typically you keep the DSL in the same directory as the rule,
+    but this is not required if you are using the above API (you only need to
+    pass a reader). Otherwise everything is just the same.</para>
+
+    <para>You can chain DSL expressions together on one line, as long as it is
+    clear to the parser what the {tokens} are (otherwise you risk reading in
+    too much text until the end of the line). The DSL expressions are
+    processed according to the mapping file, top to bottom in order. You can
+    also have the resulting rule expressions span lines - this means that you
+    can do things like:</para>
+
+    <example>
+	    <title>Chaining DSL Expressions</title>
+      <programlisting>There is a person called Bob who is happy
+  Or
+There is a person called Mike who is sad
+</programlisting>
+    </example>
+
+    <para>Of course this assumes that "Or" is mapped to the "or" conditional
+    element (which is a sensible thing to do).</para>
+  </section>
+
+  <section>
+    <title>Adding constraints to facts</title>
+
+    <para>A common requirement when writing rule conditions is to be able to
+    add many constraints to fact declarations. A fact may have many (dozens)
+    of fields, all of which could be used or not used at various times. To
+    come up with every combination as separate DSL statements would in many
+    cases not be feasible.</para>
+
+    <para>The DSL facility allows you to achieve this however, with a simple
+    convention. If your DSL expression starts with a "-", then it will be
+    assumed to be a field constraint, which will be added to the declaration
+    that is above it (one per line).</para>
+
+    <para>This is easier to explain with an example. Lets take look at Cheese
+    class, with the following fields: type, price, age, country. We can
+    express some LHS condition in normal DRL like the following
+    <programlisting>Cheese(age &lt; 5, price == 20, type=="stilton", country=="ch")</programlisting>
+    If you know ahead of time that you will use all the fields, all the time,
+    it is easy to do a mapping using the above techniques. However, chances
+    are that you will have many fields, and many combinations. If this is the
+    case, you can setup your mappings like so: <programlisting>[when]There is a Cheese with=Cheese()
+[when]- age is less than {age}=age&lt;{age}
+[when]- type is '{type}'=type=='{type}'
+[when]- country equal to '{country}'=country=='{country}'</programlisting></para>
+
+    <para><emphasis role="bold">IMPORTANT:</emphasis> It is NOT possible to
+    use the "-" feature after an <emphasis role="bold">accumulate</emphasis>
+    statement to add constraints to the accumulate pattern. This limitation
+    will be removed in the future.</para>
+
+    <para>You can then write rules with conditions like the following:
+    <programlisting>There is a Cheese with
+        - age is less than 42
+        - type is 'stilton'</programlisting> The parser will pick up the "-"
+    lines (they have to be on their own line) and add them as constraints to
+    the declaration above. So in this specific case, using the above mappings,
+    is the equivalent to doing (in DRL): <programlisting>Cheese(age&lt;42, type=='stilton')</programlisting>
+    The parser will do all the work for you, meaning you just define mappings
+    for individual constraints, and can combine them how you like (if you are
+    using context assistant, if you press "-" followed by CTRL+space it will
+    conveniently provide you with a filtered list of field constraints to
+    choose from.</para>
+
+    <para>To take this further, after alter the DSL to have
+    [when][org.drools.Cheese]- age is less than {age} ... (and similar to all
+    the items in the example above).</para>
+
+    <para>The extra [org.drools.Cheese] indicates that the sentence only
+    applies for the main constraint sentence above it (in this case "There is
+    a Cheese with"). For example, if you have a class called "Cheese" - then
+    if you are adding contraints to the rule (by typing "-" and waiting for
+    content assistance) then it will know that only items marked as having an
+    object-scope of "com.yourcompany.Something" are valid, and suggest only
+    them. This is entirely optional (you can leave out that section if needed
+    - OR it can be left blank).</para>
+  </section>
+
+  <section>
+    <title>How it works</title>
+
+    <para>DSLs kick in when the rule is parsed. The DSL configuration is read
+    and supplied to the parser, so the parser can "expand" the DSL expressions
+    into the real rule language expressions.</para>
+
+    <para>When the parser is processing the rules, it will check if an
+    "expander" representing a DSL is enabled, if it is, it will try to expand
+    the expression based on the context of where it is the rule. If an
+    expression can not be expanded, then an error will be added to the
+    results, and the line number recorded (this insures against typos when
+    editing the rules with a DSL). At present, the DSL expander is fairly
+    space sensitive, but this will be made more tolerant in future releases
+    (including tolerance for a wide range of punctuation).</para>
+
+    <para>The expansion itself works by trying to match a line against the
+    expression in the DSL configuration. The values that correspond to the
+    token place holders are stored in a map based on the name of the token,
+    and then interpolated to the target mapping. The values that match the
+    token placeholders are extracted by either searching until the end of the
+    line, or until a character or word after the token place holder is
+    matched. The "{" and "}" are not included in the values that are
+    extracted, they are only used to demarcate the tokens - you should not use
+    these characters in the DSL expression (but you can in the target).</para>
+  </section>
+
+  <section>
+    <title>Creating a DSL from scratch</title>
+
+    <para>DSLs can be aid with capturing rules if the rules are well known,
+    just not in any technically usable format (ie. sitting around in people
+    brains). Until we are able to have those little sockets in our necks like
+    in the Matrix, our means of getting stuff into computers is still the old
+    fashioned way.</para>
+
+    <para>Rules engines require an object or a data model to operate on - in many
+    cases you may know this up front. In other cases the model will be
+    discovered with the rules. In any case, rules generally work better with
+    simpler flatter object models. In some cases, this may mean having a rule
+    object model which is a subset of the main applications model (perhaps
+    mapped from it). Object models can often have complex relationships and
+    hierarchies in them - for rules you will want to simplify and flatten the
+    model where possible, and let the rule engine infer relationships (as it
+    provides future flexibility). As stated previously, DSLs can have an
+    advantage of providing some insulation between the object model and the
+    rule language.</para>
+
+    <para>Coming up with a DSL is a collaborative approach for both technical
+    and domain experts. Historically there was a role called "knowledge
+    engineer" which is someone skilled in both the rule technology, and in
+    capturing rules. Over a short period of time, your DSL should stabilize,
+    which means that changes to rules are done entirely using the DSL. A
+    suggested approach if you are starting from scratch is the following
+    workflow: <itemizedlist>
+        <listitem>
+          <para>Capture rules as loose "if then" statements - this is really
+          to get an idea of size and complexity (possibly in a text
+          document).</para>
+        </listitem>
+
+        <listitem>
+          <para>Look for recurring statements in the rules captured. Also look
+          for the rule objects/fields (and match them up with what may already
+          be known of the object model).</para>
+        </listitem>
+
+        <listitem>
+          <para>Create a new DSL, and start adding statements from the above
+          steps. Provide the "holes" for data to be edited (as many statements
+          will be similar, with only some data changing).</para>
+        </listitem>
+
+        <listitem>
+          <para>Use the above DSL, and try to write the rules just like that
+          appear in the "if then" statements from the first and second steps.
+          Iterate this process until patterns appear and things stabilize. At
+          this stage, you are not so worried about the rule language
+          underneath, just the DSL.</para>
+        </listitem>
+
+        <listitem>
+          <para>At this stage you will need to look at the Objects, and the
+          Fields that are needed for the rules, reconcile this with the
+          datamodel so far.</para>
+        </listitem>
+
+        <listitem>
+          <para>Map the DSL statements to the rule language, based on the
+          object model. Then repeat the process. Obviously this is best done
+          in small steps, to make sure that things are on the right
+          track.</para>
+        </listitem>
+      </itemizedlist></para>
+  </section>
+
+  <section>
+    <title>Scope and keywords</title>
+
+    <para>If you are editing the DSL with the GUI, or as text, you will notice
+    there is a [scope] item at the start of each mapping line. This indicates
+    if the sentence/word applies to the LHS, RHS or is a keyword. Valid values
+    for this are [condition], [consequence] and [keyword] (with [when] and
+    [then] being the same as [condition] and [consequence] respectively). When
+    [keyword] is used, it means you can map any keyword of the language like
+    "rule" or "end" to something else. Generally this is only used when you
+    want to have a non English rule language (and you would ideally map it to
+    a single word).</para>
+  </section>
+
+  <section>
+    <title>DSLs in the BRMS and IDE</title>
+
+    <para>You can use DSLs in the BRMS in both guided editor rules, and
+    textual rules that use a dsl. (In fact, the same applies to the
+    IDE).</para>
+
+    <para>In the guided editor - the DSLs generally have to be simpler - what
+    you are doing is defining little "forms" to capture data from users in
+    text fields (ie as you pick a DSL expression - it will add an item to the
+    GUI which only allows you enter data in the {token} parts of a DSL
+    expression). You can not use sophisticated regular expressions to match
+    text. However, in textual rules (which have a .dslr extension in the IDE)
+    you are free to use the full power as needed.</para>
+
+    <para>In the BRMS - when you build a package the DSLs are already included
+    and all the work is done for you. In the IDE (or in any IDE) - you will
+    either need to use the drools-ant task, or otherwise use the code shown in
+    sections above.</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-DSL.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Function.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Function.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Function.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Function</title>
+
+  <note>
+    <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+  </note>
+
+  <figure>
+    <title>function</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Language/function.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>Functions are a way to put semantic code in your rule source file, as
+  opposed to in normal Java classes. They can't do anything more then what you
+  can do with helper classes (in fact, the compiler generates the helper class
+  for you behind the scenes). The main advantage of using functions in a rule
+  is that you can keep the logic all in one place, and you can change the
+  functions as needed (this can be a good and bad thing). Functions are most
+  useful for invoking actions on the consequence ("then") part of a rule,
+  especially if that particular action is used over and over (perhaps with
+  only differing parameters for each rule - for example the contents of an
+  email message).</para>
+
+  <para>A typical function declaration looks like:</para>
+
+  <programlisting>function String hello(String name) {
+    return "Hello "+name+"!";
+}
+</programlisting>
+
+  <para>Note that the "function" keyword is used, even though its not really
+  part of Java. Parameters to the function are just like a normal method (and
+  you don't have to have parameters if they are not needed). Return type is
+  just like a normal method.</para>
+
+  <para>An alternative to the use of a function, could be to use a static
+  method in a helper class: Foo.hello(). Drools 4.0 supports the use of
+  function imports, so all you would need to do is:</para>
+
+  <programlisting>import function my.package.Foo.hello</programlisting>
+
+  <para>In both cases above, to use the function, just call it by its name in
+  the consequence or inside a semantic code block. Example:</para>
+
+  <programlisting>rule "using a static function"
+when 
+    eval( true )
+then
+    System.out.println( hello( "Bob" ) );
+end
+</programlisting>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Function.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Overview</title>
+
+  <note>
+    <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+  </note>
+
+  <para>Drools 4.0 has a "native" rule language that is non XML textual
+  format. This format is very light in terms of punctuation, and supports
+  natural and domain specific languages via "expanders" that allow the
+  language to morph to your problem domain. This chapter is mostly concerted
+  with the native rule format. The Diagrams used are known as "rail road"
+  diagrams, and are basically flow charts for the language terms. For the
+  technically very keen, you can also refer to "DRL.g" which is the Antlr3
+  grammar for the rule language. If you use the Rule Workbench, a lot of the
+  rule structure is done for you with content assistance, for example, type
+  "ru" and press ctrl+space, and it will build the rule structure for
+  you.</para>
+
+  <section>
+    <title>A rule file</title>
+
+    <para>A rule file is typically a file with a .drl extension. In a drl file
+    you can have multiple rules, queries and functions, as well as some
+    resource declarations like imports, globals and attributes that are
+    assigned and used by your rules and queries. However, you are also able to
+    spread your rules across multiple rule files (in that case, the extension
+    .rule is suggested, but not required) - spreading rules across files can
+    help with managing large numbers of rules. A DRL file is simply a text
+    file.</para>
+
+    <para>The overall structure of a rule file is:</para>
+
+    <example>
+      <title>Rules file</title>
+
+      <programlisting><emphasis role="bold">package </emphasis><replaceable>package-name</replaceable>
+
+<replaceable>imports</replaceable>
+
+<replaceable>globals</replaceable>
+
+<replaceable>functions</replaceable>
+
+<replaceable>queries</replaceable>
+
+<replaceable>rules</replaceable>
+</programlisting>
+    </example>
+
+    <para>The order in which the elements are declared is not important,
+    except for the package name that, if declared, must be the first element
+    in the rules file. All elements are optional, so you will use only those
+    you need. We will discuss each of them in the following sections.</para>
+  </section>
+
+  <section>
+    <title>What makes a rule</title>
+
+    <para>For the inpatients, just as an early view, a rule has the following
+    rough structure:<programlisting><emphasis role="bold">rule</emphasis> <replaceable>"name"</replaceable>
+    <replaceable>attributes</replaceable>
+    <emphasis role="bold">when</emphasis>
+        <replaceable>LHS</replaceable>
+    <emphasis role="bold">then</emphasis>
+        <replaceable>RHS</replaceable>
+<emphasis role="bold">end</emphasis>
+</programlisting>Its really that simple. Mostly punctuation is not needed,
+    even the double quotes for "name" are optional, as are newlines.
+    Attributes are simple (always optional) hints to how the rule should
+    behave. LHS is the conditional parts of the rule, which follows a certain
+    syntax which is covered below. RHS is basically a block that allows
+    dialect specific semantic code to be executed.</para>
+
+    <para>It is important to note that white space is not important, EXCEPT in
+    these case of domain specific languages, in which case each line is
+    processed before the following line (and spaces may be significant to the
+    domain language).</para>
+  </section>
+
+  <section>
+    <title>Reserved words</title>
+
+    <para>There are some reserved keywords that are used in the rule language.
+    It is wise to avoid collisions with these words when naming your domain
+    objects, properties, methods, functions and other elements that are used
+    in the rule text. The parser is a bit smart and sometimes knows when a
+    keyword is not being used as a keyword, but avoiding the use of them might
+    prevent some headaches.</para>
+
+    <para>The following is a list of keywords that must be avoided as
+    identifiers when writing rules:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>rule</para>
+      </listitem>
+
+      <listitem>
+        <para>query</para>
+      </listitem>
+
+      <listitem>
+        <para>when</para>
+      </listitem>
+
+      <listitem>
+        <para>then</para>
+      </listitem>
+
+      <listitem>
+        <para>end</para>
+      </listitem>
+
+      <listitem>
+        <para>null</para>
+      </listitem>
+
+      <listitem>
+        <para>and</para>
+      </listitem>
+
+      <listitem>
+        <para>or</para>
+      </listitem>
+
+      <listitem>
+        <para>not</para>
+      </listitem>
+
+      <listitem>
+        <para>exists</para>
+      </listitem>
+
+      <listitem>
+        <para>collect</para>
+      </listitem>
+
+      <listitem>
+        <para>accumulate</para>
+      </listitem>
+
+      <listitem>
+        <para>from</para>
+      </listitem>
+
+      <listitem>
+        <para>forall</para>
+      </listitem>
+
+      <listitem>
+        <para>true</para>
+      </listitem>
+
+      <listitem>
+        <para>false</para>
+      </listitem>
+
+      <listitem>
+        <para>eval</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>The following list are keywords that you should try and avoid in the
+    rule contents if possible, but the parser usually will work fine, even if
+    you use them for something else.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>package</para>
+      </listitem>
+
+      <listitem>
+        <para>function</para>
+      </listitem>
+
+      <listitem>
+        <para>global</para>
+      </listitem>
+
+      <listitem>
+        <para>import</para>
+      </listitem>
+
+      <listitem>
+        <para>template</para>
+      </listitem>
+
+      <listitem>
+        <para>attributes</para>
+      </listitem>
+
+      <listitem>
+        <para>enabled</para>
+      </listitem>
+
+      <listitem>
+        <para>salience</para>
+      </listitem>
+
+      <listitem>
+        <para>duration</para>
+      </listitem>
+
+      <listitem>
+        <para>init</para>
+      </listitem>
+
+      <listitem>
+        <para>action</para>
+      </listitem>
+
+      <listitem>
+        <para>reverse</para>
+      </listitem>
+
+      <listitem>
+        <para>result</para>
+      </listitem>
+
+      <listitem>
+        <para>contains</para>
+      </listitem>
+
+      <listitem>
+        <para>excludes</para>
+      </listitem>
+
+      <listitem>
+        <para>memberOf</para>
+      </listitem>
+
+      <listitem>
+        <para>matches</para>
+      </listitem>
+
+      <listitem>
+        <para>in</para>
+      </listitem>
+
+      <listitem>
+        <para>date-effective</para>
+      </listitem>
+
+      <listitem>
+        <para>date-expires</para>
+      </listitem>
+
+      <listitem>
+        <para>no-loop</para>
+      </listitem>
+
+      <listitem>
+        <para>auto-focus</para>
+      </listitem>
+
+      <listitem>
+        <para>activation-group</para>
+      </listitem>
+
+      <listitem>
+        <para>agenda-group</para>
+      </listitem>
+
+      <listitem>
+        <para>dialect</para>
+      </listitem>
+
+      <listitem>
+        <para>rule-flow-group</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Of course, you can have words as part of a method name in camel
+    case, like notSomething() - there are no issues with that scenario.</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Overview.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Package.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Package.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Package.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Package</title>
+
+  <note>
+    <para><replaceable>(updated to Drools 4.0)</replaceable></para>
+  </note>
+
+  <para>A package is a collection of rules and other related constructs, such
+  as imports and globals. The package members are typically related to each
+  other - perhaps HR rules, for instance. A package represents a namespace,
+  which ideally is kept unique for a given grouping of rules. The package name
+  itself is the namespace, and is not related to files or folders in any
+  way.</para>
+
+  <para>It is possible to assemble rules from multiple rule sources, and have
+  one top level package configuration that all the rules are kept under (when
+  the rules are assembled). Although, it is not possible to merge into the
+  same package resources declared under different names. A single Rulebase,
+  can though, contain multiple packages built on it. A common structure, is to
+  have all the rules for a package in the same file as the package declaration
+  (so that is it entirely self contained).</para>
+
+  <para>The following rail road diagram shows all the components that may make
+  up a package. Note that a package MUST have a namespace and be declared
+  using standard Java conventions for package names; i.e. no spaces, unlike
+  rule names which allow spaces. In terms of the order of elements, they can
+  appear in any order in the rule file, with the exception of the "package"
+  and "expander" statements being at the top of the file, before any rules
+  appear. In all cases, the semi colons are optional.</para>
+
+  <figure>
+    <title>package</title>
+
+    <mediaobject>
+
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Language/package.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <section>
+    <title>import</title>
+
+    <figure>
+      <title>import</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata fileref="images/Chapter-Rule_Language/import.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Import statements work like import statements in Java. You need to
+    specify the fully qualified paths and type names for any objects you want
+    to use in the rules. Drools automatically imports classes from the same
+    named Java package and from the java.lang package.</para>
+  </section>
+
+  <section>
+    <title>expander</title>
+
+    <figure>
+      <title>expander</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata fileref="images/Chapter-Rule_Language/expander.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The expander statement (optional) is used to specify domain specific
+    language (DSL) configurations (which are normally stored in a separate
+    file). This provides clues to the parser as how to understand what you are
+    raving on about in your rules. It is important to note that in Drools 4.0
+    (that is different from Drools 3.x) the expander declaration is mandatory
+    for the tools to provide you context assist and avoiding error reporting,
+    but the API allows the program to apply DSL templates, even if the
+    expanders are not declared in the source file.</para>
+  </section>
+
+  <section>
+    <title>global</title>
+
+    <figure>
+      <title>global</title>
+
+      <mediaobject>
+
+        <imageobject>
+		<imagedata fileref="images/Chapter-Rule_Language/global.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Globals are global variables. They are used to make application
+    objects available to the rules, and are typically used to provide data or
+    services that the rules use (specially application services used in rule
+    consequences), to return data from the rules (like logs or values added in
+    rules consequence) or for the rules to interact with the application doing
+    callbacks. Globals are not inserted into the Working Memory so they should
+    never be reasoned over, and only use them in rules LHS if the global has a
+    constant immutable value. The engine is not notified and does not track
+    globals value changes. Incorrect use of globals in constraints may yield
+    surprising results - surprising in a bad way, like when a doctor says
+    "thats interesting" to a chest XRay of yours.</para>
+
+    <para>If multiple packages declare globals with the same identifier they
+    must be of the same type and all of them will reference the same global
+    value.</para>
+
+    <para>In order to use globals you must:</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Declare your global variable in your rules file and use it in
+        rules. Example:</para>
+
+        <programlisting>global java.util.List myGlobalList;
+
+rule "Using a global"
+when
+    eval( true )
+then
+    myGlobalList.add( "Hello World" );
+end
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>Set the global value on your working memory. It is a best
+        practice to set all global values before asserting any fact to the
+        working memory. Example:</para>
+
+        <programlisting>List list = new ArrayList();
+WorkingMemory wm = rulebase.newStatefulSession();
+wm.setGlobal( "myGlobalList", list );
+</programlisting>
+      </listitem>
+    </orderedlist>
+
+    <para>Note that these are just named instances of objects that you pass in
+    from your application to the working memory. This means you can pass in
+    any object you want: you could pass in a service locator, or perhaps a
+    service itself. With the new 'from' element it is now common to pass a
+    Hibernate session as a global, to allow 'from' to pull data from a named
+    Hibernate query.</para>
+
+    <para>One example may be an instance of a Email service. In your
+    integration code that is calling the rule engine, you get your
+    emailService object, and then set it in the working memory. In the DRL,
+    you declare that you have a global of type EmailService, and give it a
+    name "email". Then in your rule consequences, you can use things like
+    email.sendSMS(number, message).</para>
+
+    <para>Globals are not designed to share data between rules and they should
+    never be used for that purpose. Rules always reason and react to the
+    working memory state, so if you want to "share" data between rules, assert
+    the data to the working memory.</para>
+
+    <para>It is strongly discouraged to set (or change) a global value from
+    inside your rules. We recommend to you always set the value from your
+    application using the working memory interface.</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Package.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Query.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Query.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Query.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Query</title>
+
+  <figure>
+    <title>query</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Rule_Language/query.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>A query contains the structure of the LHS of a rule only (you don't
+  specify "when" or "then"). It is simply a way to query the working memory
+  for facts that match the conditions stated. A query has an optional set of
+  parameters, that can also be optionally typed, if type is not given then
+  Object type is assumed and the engine will attempt to co-erce the values as
+  needed.</para>
+
+  <para>To return the results use WorkingMemory.getQueryResults("name") -
+  where "name" is query name. Query names are global to the RuleBase, so do
+  not add queries of the same name to different packages for the same Rule
+  Base. This contains a list of query results, which allow you to to get to
+  the objects that matched the query.</para>
+
+  <para>This example creates a simple query for all the people over the age of
+  30</para>
+
+  <example>
+    <title>Query People over the age of 30</title>
+
+    <programlisting>query "people over the age of 30" 
+    person : Person( age &gt; 30 )
+end</programlisting>
+  </example>
+
+  <example>
+    <title>Query People over the age of X, and who live in y</title>
+
+    <programlisting>query "people over the age of X"  (int x, String y)
+    person : Person( age &gt; x, location == y )
+end</programlisting>
+  </example>
+
+  <para>We iterate over the returned QueryResults using a standard 'for' loop.
+  Each row returns a QueryResult which we can use to access each of the
+  columns in the Tuple. Those columns can be access by bound declaration name
+  or index position.</para>
+
+  <example>
+    <title>Query People over the age of 30</title>
+
+    <programlisting>QueryResults results = workingMemory.getQueryResults( "people over the age of 30" );
+System.out.println( "we have " + results.size() + " people over the age  of 30" );
+
+System.out.println( "These people are are over 30:" );
+
+for ( Iterator it = results.iterator; it.hasNext(); ) {
+    QueryResult result = ( QueryResult ) it.next();
+    Person person = ( Person ) result.get( "person" );
+    System.out.println( person.getName() + "\n" );
+}</programlisting>
+  </example>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Query.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Rule.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Rule.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Rule.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,1946 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Rule</title>
+
+  <figure>
+    <title>rule</title>
+
+    <mediaobject>
+     <imageobject>
+	     <imagedata align="center" fileref="images/Chapter-Rule_Language/rule.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>A rule specifies that "when" a particular set of conditions occur,
+  specified in the Left Hand Side (LHS), then do this, which is specified as a
+  list of actions in the Right Hand Side (RHS). A common question from users
+  is "why use when instead of if". "when" was chosen over "if" because "if" is
+  normally part of a procedural execution flow, where at a specific point in
+  time it checks the condition. Where as "when" indicates it's not tied to a
+  specific evaluation sequence or point in time, at any time during the life
+  time of the engine "when" this occurs, do that Rule.</para>
+
+  <para>A rule must have a name, and be a unique name for the rule package. If
+  you define a rule twice in the same DRL it produce an error while loading.
+  If you add a DRL that has includes a rule name already in the package, it
+  will replace the previous rule. If a rule name is to have spaces, then it
+  will need to be in double quotes (it is best to always use double
+  quotes).</para>
+
+  <para>Attributes are optional, and are described below (they are best kept
+  as one per line).</para>
+
+  <para>The LHS of the rule follows the "when" keyword (ideally on a new
+  line), similarly the RHS follows the "then" keyword (ideally on a newline).
+  The rule is terminated by the keyword "end". Rules cannot be nested of
+  course.</para>
+
+  <example>
+    <title>Rule Syntax Overview Example</title>
+
+    <programlisting>rule "&lt;name&gt;"
+    &lt;attribute&gt;*
+when
+    &lt;conditional element&gt;*
+then
+    &lt;action&gt;*
+end</programlisting>
+  </example>
+
+  <example>
+    <title>A rule example</title>
+
+    <programlisting>rule "Approve if not rejected"
+  salience -100 
+  agenda-group "approval"
+    when
+        not Rejection() 
+        p : Policy(approved == false, policyState:status)
+        exists Driver(age &gt; 25)
+        Process(status == policyState)
+    then
+        log("APPROVED: due to no objections."); 
+        p.setApproved(true);
+end</programlisting>
+  </example>
+
+  <section>
+    <title>Rule Attributes</title>
+
+    <para>Rule attributes provide a declarative way to influence the behavior
+    of the rule, some are quite simple, while others are part of complex sub
+    systems; such as ruleflow. To get the most from Drools you should make
+    sure you have a proper understanding of each attribute.</para>
+
+    <figure>
+      <title>rule attributes</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Language/rule_attributes.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <variablelist>
+	<varlistentry>
+		<term>no-loop</term>
+	
+		<listitem>
+		<para>default value : false</para>
+	
+			<para>type : Boolean</para>
+	
+			<para>When the Rule's consequence modifies a fact it may cause the Rule to activate again, causing recursion. Setting no-loop to true means the attempt to create the Activation for the current set of data will be ignored.</para>
+		</listitem>
+				
+		</varlistentry>
+	
+		<varlistentry>
+			<term>lock-on-active</term>
+	
+			<listitem>
+				<para>default value : false</para>
+		
+				<para>type : Boolean</para>
+		<para>when a ruleflow-group becomes active or an agenda-group receives the focus any rules that have lock-on-active set to try cannot place activations onto the agenda, the rules are matched and the resulting activations discarded. This is a stronger version of no-loop. It's ideally for calculation rules where you have a number of rules that will modify a fact and you don't want any rule re-matching and firing. In summary fire these currently active rules and only these rules, no matter how the data changes, do not allow any more activations for the rules with the attribute set to true. When the ruleflow-group is no longer active or agenda-group loses the focus those rules with lock-on-active set to true can once again add activations onto the agenda.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>
+			<term>salience</term>
+	
+			<listitem>
+				<para>default value : 0</para>
+	
+				<para>type : integer</para>
+	
+				<para>Each rule has a salience attribute that can be assigned an Integer number, defaults to zero, the Integer and can be negative or positive. Salience is a form of priority where rules with higher salience values are given higher priority when ordered in the Activation queue.</para>
+			</listitem>
+		</varlistentry>
+	
+	
+		<varlistentry>
+			<term>agenda-group</term>
+	
+			<listitem>
+				<para>default value : MAIN</para>
+		
+				<para>type : String</para>
+		
+				<para>Agenda group's allow the user to partition the Agenda providing more execution control. Only rules in the focus group are allowed to fire.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>
+			<term>auto-focus</term>
+	
+			<listitem>
+				<para>default value false</para>
+				
+				<para>type : Boolean</para>
+				
+				<para>When a rule is activated if the <literal>auto-focus value is true and the Rule's </literal> <literal>agenda-group</literal> does not have focus then it is given focus, allowing the rule to potentially fire.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>
+			<term>activation-group</term>
+	
+			<listitem>
+				<para>default value : N/A</para>
+				
+				<para>type : String</para>
+				
+				<para>Rules that belong to the same named activation-group will only fire exclusively. In other words, the first rule in an activation-group to fire will cancel the other rules activations (stop them from firing). The Activation group attribute is any string, as long as the string is identical for all the rules you need to be in the one group.</para>
+				
+				<para>NOTE: this used to be called Xor group, but technically its not quite an Xor, but you may hear people mention Xor group, just swap that term in your mind with activation-group.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>
+			<term>dialect</term>
+	
+			<listitem>
+				<para>default value : as specified by the package</para>
+				
+				<para>type : String</para>
+				
+				<para>possible values: "java" or "mvel"</para>
+				
+				<para>The dialect species the language to be used for any code
+				expressions in the LHS or the RHS code block. Currently two dialects are available, Java and MVEL. While the dialect can be specified at the package level, this attribute allows the package definition to be overridden.</para>
+			</listitem>
+		</varlistentry>
+	
+	
+		<varlistentry>
+			<term>date-effective</term>
+	
+			<listitem>
+				<para>default value : N/A</para>	
+				
+				<para>type : String, which contains a Date/Time definition</para>
+				
+				<para>A rule can only activate if the current date and time is after date-effective attribute.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>	
+			<term>date-expires</term>
+	
+			<listitem>
+				<para>default value : N/A</para>
+				
+				<para>type : String, which contains a Date/Time definition</para>
+				
+				<para>A rule cannot activate if the current date and time is after date-expires attribute.</para>
+			</listitem>
+		</varlistentry>
+	
+		<varlistentry>
+			<term>duration</term>
+	
+			<listitem>
+				<para>default value : no default value</para>
+	
+				<para>type : long</para>
+	
+				<para>The duration dictates that the rule will fire after a specified duration, if it is still true.</para>
+			</listitem>
+		</varlistentry>
+	</variablelist>
+
+    <example>
+      <title>Some attribute examples</title>
+
+      <programlisting>rule "my rule"
+  salience 42
+  agenda-group "number 1"
+    when ...
+</programlisting>
+    </example>
+  </section>
+
+  <section id="RuleLanguage-ConditionalElements">
+    <title>Left Hand Side (when) Conditional Elements</title>
+
+    <para>The Left Hand Side (LHS) is a common name for the conditional part
+    of the rule. It consists of zero or more Conditional Elements. If the LHS
+    is left empty it is re-written as eval(true), which means the rule is
+    always true, and will be activated with a new Working Memory session is
+    created.</para>
+
+    <figure>
+      <title>Left Hand Side</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Rule_Language/lhs.png" format="PNG" role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <example>
+      <title>Rule Syntax Overview Example</title>
+
+      <programlisting>rule "no CEs"
+when
+then
+    &lt;action&gt;*
+end</programlisting>
+
+      <para>Is internally re-written as:</para>
+
+      <programlisting>rule "no CEs"
+when
+    eval( true )
+then
+    &lt;action&gt;*
+end</programlisting>
+    </example>
+
+    <para>Conditional elements work on one or more Patterns (which are
+    described bellow). The most common one is "and" which is implicit when you
+    have multiple Patterns in the LHS of a rule that are not connected in
+    anyway. Note that an 'and' cannot have a leading declaration binding like
+    'or' - this is obvious when you think about it. A declaration can only
+    reference a single Fact, when the 'and' is satisfied it matches more than
+    one fact - which fact would the declaration bind to?</para>
+
+    <section>
+      <title>Pattern</title>
+
+      <para>The Pattern element is the most important Conditional Element. The
+      entity relationship diagram below provides an overview of the various
+      parts that make up the Pattern's constraints and how they work together;
+      each is then covered in more detail with rail road diagrams and
+      examples.</para>
+
+      <figure>
+        <title>Pattern Entity Relationship Diagram</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/patternER.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>At the top of the ER diagram you can see that the pattern consists
+      of zero or more constraints and has an optional pattern binding. The
+      rail road diagram below shows the syntax for this.</para>
+
+      <figure>
+        <title>Pattern</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/pattern.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>At the simplest, with no constraints, it simply matches against a
+      type, in the following case the type is "Cheese". This means the pattern
+      will match against all Cheese objects in the Working Memory.</para>
+
+      <example>
+        <title>Pattern</title>
+
+        <programlisting>Cheese( )</programlisting>
+      </example>
+
+      <para>To be able to refer to the matched object use a pattern binding
+      variable such as '$c'. While this example variable is prefixed with a $
+      symbol, it is optional, but can be useful in complex rules as it helps
+      to more easily differentiation between variables and fields.</para>
+
+      <example>
+        <title>Pattern</title>
+
+        <programlisting>$c : Cheese( )</programlisting>
+      </example>
+
+      <para>Inside of the Pattern parenthesis is where all the action happens.
+      A constraint can be either a Field Constraint, Inline Eval (called a
+      predicate in 3.0) or a Constraint Group. Constraints can be separated by
+      the following symbols ',', '&amp;&amp;' or '||'.</para>
+
+      <figure>
+        <title>Constraints</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/constraints.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <figure>
+        <title>Constraint</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/constraint.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <figure>
+        <title>Group Constraint</title>
+
+        <mediaobject>
+
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/constraintGroup.png"
+                       format="PNG" role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The ',' (comma) character is used to separate constraint groups.
+      It has an implicit 'and' connective semantics.<example>
+          <title>Constraint Group connective ','</title>
+
+          <programlisting># Cheese type is stilton and price &lt; 10 and age is mature.
+Cheese( type == "stilton", price &lt; 10, age == "mature" )</programlisting>
+        </example>The above example has 3 constraint groups, each with a
+      single constraint:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>group 1: type is stilton -&gt; type == "stilton"</para>
+        </listitem>
+
+        <listitem>
+          <para>group 2: price is less than 10 -&gt; price &lt; 10</para>
+        </listitem>
+
+        <listitem>
+          <para>group 3: age is mature -&gt; age == "mature"</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>The '&amp;&amp;' (and) and '||' (or) constraint connectives allow
+      constraint groups to have multiple constraints. Example:</para>
+
+      <example>
+        <title>&amp;&amp; and || Constraint Connectives</title>
+
+        <programlisting>Cheese( type == "stilton" &amp;&amp; price &lt; 10, age == "mature" ) // Cheese type is "stilton" and price &lt; 10, and age is mature
+Cheese( type == "stilton" || price &lt; 10, age == "mature" ) // Cheese type is "stilton" or price &lt; 10, and age is mature</programlisting>
+      </example>
+
+      <para>The above example has two constraint groups. The first has 2
+      constraints and the second has one constraint.</para>
+
+      <para>The connectives are evaluated in the following order, from first
+      to last:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>&amp;&amp;</para>
+        </listitem>
+
+        <listitem>
+          <para>||</para>
+        </listitem>
+
+        <listitem>
+          <para>,</para>
+        </listitem>
+      </orderedlist>
+
+      <para>It is possible to change the evaluation priority by using
+      parenthesis, as in any logic or mathematical expression. Example:</para>
+
+      <para><example>
+          <title>Using parenthesis to change evaluation priority</title>
+
+          <programlisting># Cheese type is stilton and ( price is less than 20 or age is mature ).
+Cheese( type == "stilton" &amp;&amp; ( price &lt; 20 || age == "mature" ) ) </programlisting>
+        </example>In the above example, the use of parenthesis makes the ||
+      connective be evaluated before the &amp;&amp; connective.</para>
+
+      <para>Also, it is important to note that besides having the same
+      semantics, the connectives '&amp;&amp;' and ',' are resolved with
+      different priorities and ',' cannot be embedded in a composite
+      constraint expression.</para>
+
+      <example>
+        <title>Not Equivalent connectives</title>
+
+        <programlisting>Cheese( ( type == "stilton", price &lt; 10 ) || age == "mature" ) // invalid as ',' cannot be embedded in an expression
+Cheese( ( type == "stilton" &amp;&amp; price &lt; 10 ) || age == "mature") // valid as '&amp;&amp;' can be embedded in an expression</programlisting>
+      </example>
+
+      <section>
+        <title>Field Constraints</title>
+
+        <para>A Field constraint specifies a restriction to be used on a field
+        name; the field name can have an optional variable binding.</para>
+
+        <figure>
+          <title>fieldConstraint</title>
+
+          <mediaobject>
+
+            <imageobject>
+		    <imagedata align="center" fileref="images/Chapter-Rule_Language/fieldConstraint.png"
+                         format="PNG" role="" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>There are three types of restrictions; Single Value Restriction,
+        Compound Value Restriction and Multi Restriction.</para>
+
+        <figure>
+          <title>restriction</title>
+
+          <mediaobject>
+
+            <imageobject>
+		    <imagedata align="center" fileref="images/Chapter-Rule_Language/restriction.png" format="PNG"
+                         role="" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <section>
+          <title>JavaBeans as facts</title>
+
+          <para>A field is an accessible method on the object. If your model
+          objects follow the Java bean pattern, then fields are exposed using
+          "getXXX" or "isXXX" methods (these are methods that take no
+          arguments, and return something). You can access fields either by
+          using the bean-name convention (so "getType" can be accessed as
+          "type") - we use the standard jdk Introspector class to do this
+          mapping.</para>
+
+          <para>For example, referring to our Cheese class, the following :
+          Cheese(type == ...) uses the getType() method on the a cheese
+          instance. If a field name cannot be found it will resort to calling
+          the name as a no argument method; "toString()" on the Object for
+          instance can be used with Cheese(toString == ..) - you use the full
+          name of the method with correct capitalization, but not brackets. Do
+          please make sure that you are accessing methods that take no
+          parameters, and are in-fact "accessors" (as in, they don't change
+          the state of the object in a way that may effect the rules -
+          remember that the rule engine effectively caches the results of its
+          matching in between invocations to make it faster).</para>
+        </section>
+
+        <section>
+          <title>Values</title>
+
+          <para>The field constraints can take a number of values; including
+          literal, qualifiedIdentifier (enum), variable and
+          returnValue.</para>
+
+          <figure>
+            <title>literal</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/literal.png" format="PNG" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <figure>
+            <title>qualifiedIdentifier</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/qualifiedIdentifier.png"
+                           format="PNG" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <figure>
+            <title>variable</title>
+
+            <mediaobject>
+
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/identifier.png"
+                           format="PNG" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <figure>
+            <title>returnValue</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/returnValue.png"
+                           format="PNG" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para>You can do checks against fields that are or maybe null, using
+          == and != as you would expect, and the literal "null" keyword, like:
+          Cheese(type != null). If a field is null the evaluator will not
+          throw an exception and will only return true if the value is a null
+          check. Coercion is always attempted if the field and the value are
+          of different types; exceptions will be thrown if bad coercions are
+          attempted. i.e. if "ten" is provided as a string in a number
+          evaluator, where as "10" would coerce to a numeric 10. Coercion is
+          always in favor of the field type and not the value type.</para>
+        </section>
+
+        <section>
+          <title>Single Value Restriction</title>
+
+          <figure>
+            <title>singleValueRestriction</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/singleValueRestriction.png"
+                           format="PNG" role="" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <section>
+            <title>Operators</title>
+
+            <figure>
+              <title>Operators</title>
+
+              <mediaobject>
+                <imageobject>
+			<imagedata align="center" fileref="images/Chapter-Rule_Language/operator.png"
+                             format="PNG" />
+                </imageobject>
+              </mediaobject>
+            </figure>
+
+            <para>Valid operators are dependent on the field type. Generally
+            they are self explanatory based on the type of data: for instance,
+            for date fields, "&lt;" means "before" and so on. "Matches" is
+            only applicable to string fields, "contains" and "not contains" is
+            only applicable to Collection type fields. These operators can be
+            used with any value and coercion to the correct value for the
+            evaluator and filed will be attempted, as mention in the "Values"
+            section.</para>
+
+            <simplesect>
+              <title>Matches Operator</title>
+
+              <para>Matches a field against any valid Java <indexterm>
+                  <primary>regular expression</primary>
+                </indexterm>Regular Expression. Typically that regexp is a
+              String, but variables that resolve to a valid regexp are also
+              allowed. It is important to note that <emphasis>different from
+              Java</emphasis>, if you write a String regexp directly on the
+              source file, <emphasis>you don't need to escape '\'</emphasis>.
+              Example:</para>
+
+              <example>
+                <title>Regular Expression Constraint</title>
+
+                <programlisting>Cheese( type matches "(Buffalo)?\S*Mozerella" )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>Not Matches Operator</title>
+
+              <para>Any valid Java <indexterm>
+                  <primary>regular expression</primary>
+                </indexterm>Regular Expression can be used to match String
+              fields. Returns true when the match is false. Typically that
+              regexp is a String, but variables that resolve to a valid regexp
+              are also allowed.It is important to note that
+              <emphasis>different from Java</emphasis>, if you write a String
+              regexp directly on the source file, <emphasis>you don't need to
+              escape '\'</emphasis>. Example:</para>
+
+              <example>
+                <title>Regular Expression Constraint</title>
+
+                <programlisting>Cheese( type not matches "(Buffulo)?\S*Mozerella" )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>Contains Operator</title>
+
+              <para><literal>'contains'</literal> is used to check if a
+              field's <indexterm>
+                  <primary>Collection</primary>
+                </indexterm>Collection or array contains the specified
+              value.</para>
+
+              <example>
+                <title>Contains with Collections</title>
+
+                <programlisting>CheeseCounter( cheeses contains "stilton" ) // contains with a String literal
+CheeseCounter( cheeses contains $var ) // contains with a variable</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>not contains</title>
+
+              <para><literal>'not contains'</literal> is used to check if a
+              field's <indexterm>
+                  <primary>Collection</primary>
+                </indexterm>Collection or array does not contains an
+              object.</para>
+
+              <example>
+                <title>Literal Constraints with Collections</title>
+
+                <programlisting>CheeseCounter( cheeses not contains "cheddar" ) // not contains with a String literal
+CheeseCounter( cheeses not contains $var ) // not contains with a variable</programlisting>
+
+                <blockquote>
+                  <para><emphasis role="bold">NOTE: </emphasis>for backward
+                  compatibility, the '<emphasis
+                  role="bold">excludes</emphasis>' operator is supported as a
+                  synonym for '<emphasis role="bold">not
+                  contains</emphasis>'.</para>
+                </blockquote>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>memberOf</title>
+
+              <para><literal>'memberOf' is used to check if a field is a
+              member of a collection or array; that collection must be be a
+              variable.</literal></para>
+
+              <example>
+                <title>Literal Constraints with Collections</title>
+
+                <programlisting>CheeseCounter( cheese memberOf $matureCheeses )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>not memberOf</title>
+
+              <para><literal>'not memberOf' is used to check if a field is not
+              a member of a collection or array; that collection must be be a
+              variable.</literal></para>
+
+              <example>
+                <title>Literal Constraints with Collections</title>
+
+                <programlisting>CheeseCounter( cheese not memberOf $matureCheeses )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>soundslike</title>
+
+              <para><literal>Similar to 'matches', but checks if a word has
+              almost the same sound as the given value. Uses the 'Soundex'
+              algorithm
+              (http://en.wikipedia.org/wiki/Soundex)</literal></para>
+
+              <example>
+                <title>Text with soundslike (Sounds Like)</title>
+
+                <programlisting>Cheese( name soundslike 'foobar' )</programlisting>
+
+                <para>This will match a cheese with a name of "fubar"</para>
+              </example>
+            </simplesect>
+          </section>
+
+          <section>
+            <title>Literal Restrictions</title>
+
+            <para>Literal restrictions are the simplest form of restrictions
+            and evaluate a field against a specified literal; numeric, date,
+            string or boolean.</para>
+
+            <figure>
+              <title>literalRestriction</title>
+
+              <mediaobject>
+                <imageobject>
+			<imagedata align="center" fileref="images/Chapter-Rule_Language/literalRestriction.png"
+                             format="PNG" />
+                </imageobject>
+              </mediaobject>
+            </figure>
+
+            <para>Literal Restrictions using the '==' operator, provide for
+            faster execution as we can index using hashing to improve
+            performance;</para>
+
+            <simplesect>
+              <title>Numeric</title>
+
+              <para>All standard Java numeric primitives are supported.</para>
+
+              <example>
+                <title>Numeric Literal Restriction</title>
+
+                <programlisting>Cheese( quantity == 5 )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>Date</title>
+
+              <para>The date format "dd-mmm-yyyy" is supported by default. You
+              can customize this by providing an alternative date format mask
+              as a System property ("drools.dateformat" is the name of the
+              property). If more control is required, use the inline-eval
+              constraint.</para>
+
+              <example>
+                <title>Date Literal Restriction</title>
+
+                <programlisting>Cheese( bestBefore &lt; "27-Oct-2007" )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>String</title>
+
+              <para>Any valid Java String is allowed.</para>
+
+              <example>
+                <title>String Literal Restriction</title>
+
+                <programlisting>Cheese( type == "stilton" )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>Boolean</title>
+
+              <para>only true or false can be used. 0 and 1 are not
+              recognized, nor is <literal>Cheese ( smelly )</literal> is
+              allowed</para>
+
+              <example>
+                <title>Boolean Literal Restriction</title>
+
+                <programlisting>Cheese( smelly == true )</programlisting>
+              </example>
+            </simplesect>
+
+            <simplesect>
+              <title>Qualified Identifier</title>
+
+              <para>Enums can be used as well, both jdk1.4 and jdk5 style
+              enums are supported - for the later you must be executing on a
+              jdk5 environment.</para>
+
+              <example>
+                <title>Boolean Literal Restriction</title>
+
+                <programlisting>Cheese( smelly == SomeClass.TRUE )</programlisting>
+              </example>
+            </simplesect>
+          </section>
+
+          <section>
+            <title>Bound Variable Restriction</title>
+
+            <figure>
+              <title>variableRestriction</title>
+
+              <mediaobject>
+
+                <imageobject>
+			<imagedata align="center" fileref="images/Chapter-Rule_Language/variableRestriction.png"
+                             format="PNG" />
+                </imageobject>
+              </mediaobject>
+            </figure>
+
+            <para>Variables can be bound to Facts and their Fields and then
+            used in subsequent Field Constraints. A bound variable is called a
+            <indexterm>
+                <primary>declaration</primary>
+              </indexterm>Declaration. Valid operators are determined by the
+            type of the field being constrained; coercion will be attempted
+            where possible. Bound Variable Restrictions using '==' operator,
+            provide for very fast execution as we can index using hashing to
+            improve performance.</para>
+
+            <example>
+              <title>Bound Field using '==' operator</title>
+
+              <programlisting>Person( likes : favouriteCheese )
+Cheese( type == likes )</programlisting>
+
+              <para>'likes' is our variable, our Declaration, that is bound to
+              the favouriteCheese field for any matching Person instance and
+              is used to constrain the type of Cheese in the following
+              Pattern. Any valid Java variable name can be used, including
+              '$'; which you will often see used to help differentiate
+              declarations from fields. The example below shows a declaration
+              bound to the Patterns Object Type instance itself and used with
+              a 'contains' operator, note the optional use of '$' this
+              time.</para>
+            </example>
+
+            <example>
+              <title>Bound Fact using 'contains' operator</title>
+
+              <programlisting>$stilton : Cheese( type == "stilton" )
+Cheesery( cheeses contains $stilton )</programlisting>
+            </example>
+          </section>
+
+          <section>
+            <title>Return Value Restriction</title>
+
+            <figure>
+              <title>returnValueRestriction</title>
+
+              <mediaobject>
+                <imageobject>
+                  <imagedata align="center"
+			     fileref="images/Chapter-Rule_Language/returnValueRestriction.png" format="PNG" />
+                </imageobject>
+              </mediaobject>
+            </figure>
+
+            <para>A <indexterm>
+                <primary>Return Value</primary>
+              </indexterm>Return Value restriction can use any valid Java
+            primitive or object. Avoid using any Drools keywords as
+            Declaration identifiers. Functions used in a Return Value
+            Restriction must return time constant results. Previously bound
+            declarations can be used in the expression.</para>
+
+            <example>
+              <title>Return Value Restriction</title>
+
+              <programlisting>Person( girlAge : age, sex == "F" )
+Person( age == ( girlAge + 2) ), sex == 'M' )
+</programlisting>
+            </example>
+          </section>
+        </section>
+
+        <section>
+          <title>Compound Value Restriction</title>
+
+          <para>The compound value restriction is used where there is more
+          than one possible value, currently only the 'in' and 'not in'
+          evaluators support this. The operator takes a parenthesis enclosed
+          comma separated list of values, which can be a variable, literal,
+          return value or qualified identifier. The 'in' and 'not in'
+          evaluators are actually sugar and are rewritten as a multi
+          restriction list of != and == restrictions.</para>
+
+          <figure>
+            <title>compoundValueRestriction</title>
+
+            <mediaobject>
+              <imageobject>
+                <imagedata align="center"
+			   fileref="images/Chapter-Rule_Language/compoundValueRestriction.png" format="PNG"
+                           role="" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para></para>
+
+          <example>
+            <title>Compound Restriction using 'in'</title>
+
+            <programlisting>Person( $cheese : favouriteCheese )
+Cheese( type in ( "stilton", "cheddar", $cheese )
+</programlisting>
+          </example>
+        </section>
+
+        <section>
+          <title>Multi Restriction</title>
+
+          <para>Multi restriction allows you to place more than one
+          restriction on a field using the '&amp;&amp;' or '||' restriction
+          connectives. Grouping via parenthesis is also allowed; which adds a
+          recursive nature to this restriction.</para>
+
+          <figure>
+            <title>multiRestriction</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/multiRestriction.png"
+                           format="PNG" role="" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <figure>
+            <title>restrictionGroup</title>
+
+            <mediaobject>
+              <imageobject>
+		      <imagedata align="center" fileref="images/Chapter-Rule_Language/restrictionGroup.png"
+                           format="PNG" role="" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para></para>
+
+          <example>
+            <title>Multi Restriction</title>
+
+            <programlisting>Person( age &gt; 30 &amp;&amp; &lt; 40 ) // simple multi restriction using a single &amp;&amp;
+Person( age ( (&gt; 30 &amp;&amp; &lt; 40) || (&gt; 20 &amp;&amp; &lt; 25) ) ) // more complex multi restriction using groupings of multi restrictions
+Person( age &gt; 30 &amp;&amp; &lt; 40 || location == "london" ) // mixing muti restrictions with constraint connectives</programlisting>
+          </example>
+        </section>
+      </section>
+
+      <section>
+        <title>Inline Eval Constraints</title>
+
+        <figure>
+          <title>Inline Eval Expression</title>
+
+          <mediaobject>
+            <imageobject>
+		    <imagedata align="center" fileref="images/Chapter-Rule_Language/inlineEvalConstraint.png"
+                         format="PNG" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>A <indexterm>
+            <primary>Predicate</primary>
+          </indexterm>inline-eval constraint can use any valid dialect
+        expression as long as it is evaluated to a primitive boolean - avoid
+        using any Drools keywords as Declaration identifiers. the expression
+        must be time constant. Any previous bound variable, from the current
+        or previous pattern, can be used; autovivification is also used to
+        auto create field binding variables. When an identifier is found that
+        is not a current variable the builder looks to see if the identifier
+        is a field on the current object type, if it is, the field is auto
+        created as a variable of the same name; this is autovivification of
+        field variables inside of inline evals.</para>
+
+        <para>This example will find all pairs of male/femal people where the
+        male is 2 years older than the female; the boyAge variable is auto
+        created as part of the autovivification process.</para>
+
+        <example>
+          <title>Return Value operator</title>
+
+          <programlisting>Person( girlAge : age, sex = "F" )
+Person( eval( girlAge == boyAge + 2 ), sex = 'M' )
+</programlisting>
+        </example>
+      </section>
+
+      <section>
+        <title>Nested Accessors</title>
+
+        <para>Drools does allow for nested accessors in in the field
+        constraints using the MVEL accessor graph notation. Field constraints
+        involving nested accessors are actually re-written as an MVEL dialect
+        inline-eval. Care should be taken when using nested accessors as the
+        Working Memory is not aware of any of the nested values, and do not
+        know when they change; they should be considered immutable while any
+        of their parent references are inserted into the Working Memory. If
+        you wish to modify a nested value you should remove the parent objects
+        first and re-assert afterwards. If you only have a single parent at
+        the root of the graph, when in the MVEL dialect, you can use the
+        'modify' keyword and its block setters to write the nested accessor
+        assignments while retracting and inserting the the root parent object
+        as required. Nested accessors can be used either side of the operator
+        symbol.</para>
+
+        <example>
+          <title>Nested Accessors</title>
+
+          <programlisting>$p : Person( ) 
+Pet( owner == $p, age &gt; $p.children[0].age ) // Find a pet who is older than their owners first born child</programlisting>
+
+          <para>is internally rewriten as an MVEL inline eval:</para>
+
+          <programlisting>$p : Person( ) 
+Pet( owner == $p, eval( age &gt; $p.children[0].age ) ) // Find a pet who is older than their owners first born child</programlisting>
+        </example>
+
+        <remark>NOTE: nested accessors have a much greater performance cost
+        than direct field access, so use them carefully.</remark>
+      </section>
+    </section>
+
+    <section>
+      <title>'and'</title>
+
+      <para>The 'and' Conditional Element is used to group together other
+      Conditional Elements. The root element of the LHS is an implicit prefix
+      And and doesn't need to be specified. Drools supports both prefix and
+      infix; although prefix is the preferred option as grouping is implicit
+      which avoids confusion.</para>
+
+      <figure>
+        <title>prefixAnd</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/prefixAnd.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para></para>
+
+      <example>
+        <title>prefixAnd</title>
+
+        <programlisting>(and Cheese( cheeseType : type )
+     Person( favouriteCheese == cheeseType ) )
+</programlisting>
+      </example>
+
+      <example>
+        <title>implicit root prefixAnd</title>
+
+        <programlisting>when
+     Cheese( cheeseType : type )
+     Person( favouriteCheese == cheeseType )</programlisting>
+      </example>
+
+      <para>Infix 'and' is supported along with explicit grouping with
+      parenthesis, should it be needed. The '&amp;&amp;' symbol, as an
+      alternative to 'and', is deprecated although it is still supported in
+      the syntax for legacy support reasons.</para>
+
+      <figure>
+        <title>infixAnd</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/infixAnd.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <example>
+        <title>infixAnd</title>
+
+        <programlisting>Cheese( cheeseType : type ) and Person( favouriteCheese == cheeseType ) //infixAnd
+(Cheese( cheeseType : type ) and (Person( favouriteCheese == cheeseType ) or Person( favouriteCheese == cheeseType  ) ) //infixAnd with grouping</programlisting>
+      </example>
+    </section>
+
+    <section>
+      <title>'or'</title>
+
+      <para>The 'or' Conditional Element is used to group together other
+      Conditional Elements. Drools supports both prefix and infix; although
+      prefix is the preferred option as grouping is implicit which avoids
+      confusion. The behavior of the 'or' Conditional Element is different
+      than the '||' connective for constraints and restrictions in field
+      constraints. The engine actually has no understanding of 'or'
+      Conditional Elements, instead via a number of different logic
+      transformations the rule is re-written as a number of subrules; the rule
+      now has a single 'or' as the root node and a subrule per logical
+      outcome. Each subrule can activate and fire like any normal rule, there
+      is no special behavior or interactions between the subrules - this can
+      be most confusing to new rule authors.</para>
+
+      <figure>
+        <title>prefixOr</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/prefixOr.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <example>
+        <title>prefixOr</title>
+
+        <programlisting>(or Person( sex == "f", age &gt; 60 )
+    Person( sex == "m", age &gt; 65 )
+</programlisting>
+      </example>
+
+      <para>Infix 'or' is supported along with explicit grouping with
+      parenthesis, should it be needed. The '||' symbol, as an alternative to
+      'or', is deprecated although it is still supported in the syntax for
+      legacy support reasons.</para>
+
+      <figure>
+        <title>infixOr</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/infixOr.png" format="PNG"
+                       role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <example>
+        <title>infixAnd</title>
+
+        <programlisting>Cheese( cheeseType : type ) or Person( favouriteCheese == cheeseType ) //infixOr
+(Cheese( cheeseType : type ) or (Person( favouriteCheese == cheeseType ) and Person( favouriteCheese == cheeseType  ) ) //infixOr with grouping</programlisting>
+      </example>
+
+      <para>The 'or' Conditional Element also allows for optional pattern
+      binding; which means each resulting subrule will bind it's pattern to
+      the pattern binding.</para>
+
+      <example>
+        <title>or with binding</title>
+
+        <programlisting>pensioner : (or Person( sex == "f", age &gt; 60 ) 
+                Person( sex == "m", age &gt; 65 ) )</programlisting>
+
+        <para>Explicit binding on each Pattern is also allowed.</para>
+
+        <programlisting>(or pensioner : Person( sex == "f", age &gt; 60 ) 
+    pensioner : Person( sex == "m", age &gt; 65 ) )</programlisting>
+      </example>
+
+      <para>The 'or' conditional element results in multiple rule generation,
+      called sub rules, for each possible logically outcome. The example above
+      would result in the internal generation of two rules. These two rules
+      work independently within the Working Memory, which means both can
+      match, activate and fire - there is no shortcutting.</para>
+
+      <para>The best way to think of the OR conditional element is as a
+      shortcut for generating 2 additional rules. When you think of it that
+      way, its clear that for a single rule there could be multiple
+      activations if both sides of the OR conditional element are true.</para>
+    </section>
+
+    <section>
+      <title>'eval'</title>
+
+      <figure>
+        <title>eval</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/eval.png" format="PNG" role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Eval is essentially a catch all which allows any semantic code
+      (that returns a primitive boolean) to be executed. This can refer to
+      variables that were bound in the LHS of the rule, and functions in the
+      rule package. Over use of eval reduces the declaratives of your rules
+      and can result in a poor performing engine. While 'evals' can be used
+      anywhere in the Pattern the best practice is to add it as the last
+      conditional element in the LHS of a rule.</para>
+
+      <para>Evals cannot be indexed and thus are not as optimal as using Field
+      Constraints. However this makes them ideal for being used when functions
+      return values that change over time, which is not allowed within Field
+      Constraints.</para>
+
+      <para>For folks who are familiar with Drools 2.x lineage, the old Drools
+      parameter and condition tags are equivalent to binding a variable to an
+      appropriate type, and then using it in an eval node.</para>
+
+      <example>
+        <title>eval</title>
+
+        <programlisting>p1 : Parameter() 
+p2 : Parameter()
+eval( p1.getList().containsKey(p2.getItem()) )
+eval( isValid(p1, p2) ) //this is how you call a function in the LHS - a function called "isValid"</programlisting>
+      </example>
+    </section>
+
+    <section>
+      <title>'not'</title>
+
+      <figure>
+        <title>not</title>
+
+        <mediaobject>
+
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/not.png" format="PNG" role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>'not' is first order logic's Non-Existential Quantifier and checks
+      for the non existence of something in the Working Memory. Think of 'not'
+      as meaning "there must be none of...".</para>
+
+      <para>A 'not' statement must be followed by parentheses around the CEs
+      that it applies to. In the simplest case of a single pattern (like
+      below) you may optionally omit the parentheses.</para>
+
+      <example>
+        <title>No Busses</title>
+
+        <programlisting>not Bus()</programlisting>
+      </example>
+
+      <example>
+        <title>No red Busses</title>
+
+        <programlisting>not Bus(color == "red") //brackets are optional for this simple pattern
+not ( Bus(color == "red", number == 42) ) //brackets are optional for this simple case
+not ( Bus(color == "red") and Bus(color == "blue")) // not with nested 'and' infix used here as ony two patterns 
+                                                      (but brackets are required).</programlisting>
+      </example>
+    </section>
+
+    <section>
+      <title>'exists'</title>
+
+      <figure>
+        <title>exists</title>
+
+        <mediaobject>
+
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/exists.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>'exists' is first order logic's Existential Quantifier and checks
+      for the existence of something in the Working Memory. Think of exist as
+      meaning "at least one..". It is different from just having the Pattern
+      on its own; which is more like saying "for each one of...". if you use
+      exist with a Pattern, then the rule will only activate once regardless
+      of how much data there is in working memory that matches that
+      condition.</para>
+
+      <para>An 'exist' statement must be followed by parentheses around the
+      CEs that it applies to. In the simplest case of a single pattern (like
+      below) you may optionally omit the parentheses.</para>
+
+      <example>
+        <title>Atleast one Bus</title>
+
+        <programlisting>exists Bus()</programlisting>
+      </example>
+
+      <example>
+        <title>Atleast one red Bus</title>
+
+        <programlisting>exists Bus(color == "red")
+exists ( Bus(color == "red", number == 42) ) //brackets are optional
+exists ( Bus(color == "red") and Bus(color == "blue")) // exists with nested 'and' infix used here as ony two patterns</programlisting>
+      </example>
+    </section>
+
+    <section>
+      <title>'forall'</title>
+
+      <figure>
+        <title>forall</title>
+
+        <mediaobject>
+
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/forall.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The <emphasis role="bold">forall</emphasis> Conditional Element
+      completes the First Order Logic support in Drools. The <emphasis
+      role="bold">forall</emphasis> Conditional Element will evaluate to true
+      when all facts that match the first pattern match all the remaining
+      patterns. Example:</para>
+
+      <programlisting>rule "All english buses are red"
+when
+    forall( $bus : Bus( type == 'english') 
+                   Bus( this == $bus, color = 'red' ) )
+then
+    # all english buses are red
+end
+</programlisting>
+
+      <para>In the above rule, we "select" all Bus object whose type is
+      "english". Then, for each fact that matches this pattern we evaluate the
+      following patterns and if they match, the forall CE will evaluate to
+      true.</para>
+
+      <para>To state that all facts of a given type in the working memory must
+      match a set of constraints, forall can be written with a single pattern
+      for simplicity. Example</para>
+
+      <para><example>
+          <title>Single Pattern Forall</title>
+
+          <programlisting>rule "All Buses are Red"
+when
+    forall( Bus( color == 'red' ) )
+then
+    # all asserted Bus facts are red
+end
+</programlisting>
+        </example> The above is exactly the same as writing:</para>
+
+      <para>Another example of multi-pattern forall:<example>
+          <title>Multi-Pattern Forall</title>
+
+          <programlisting>rule "all employees have health and dental care programs"
+when
+    forall( $emp : Employee()
+            HealthCare( employee == $emp )
+            DentalCare( employee == $emp )
+          )
+then
+    # all employees have health and dental care
+end
+</programlisting>
+        </example></para>
+
+      <para>Forall can be nested inside other CEs for complete expressiveness.
+      For instance, <emphasis role="bold">forall</emphasis> can be used inside
+      a <emphasis role="bold">not</emphasis> CE, note that only single
+      patterns have optional parenthesis, so with a nested forall parenthesis
+      must be used :<example>
+          <title>Combining Forall with Not CE</title>
+
+          <programlisting>rule "not all employees have health and dental care"
+when 
+    not ( forall( $emp : Employee()
+                HealthCare( employee == $emp )
+                DentalCare( employee == $emp ) ) 
+        )
+then
+    # not all employees have health and dental care
+end
+</programlisting>
+        </example></para>
+
+      <para>As a side note, forall Conditional Element is equivalent to
+      writing:</para>
+
+      <programlisting>not( <replaceable>&lt;first pattern&gt;</replaceable> and not ( and <replaceable>&lt;remaining patterns&gt;</replaceable> ) )</programlisting>
+
+      <para>Also, it is important to note that <emphasis role="bold">forall is
+      a scope delimiter</emphasis>, so it can use any previously bound
+      variable, but no variable bound inside it will be available to use
+      outside of it.</para>
+    </section>
+
+    <section>
+      <title>From</title>
+
+      <figure>
+        <title>from</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/from.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The <emphasis role="bold">from</emphasis> Conditional Element
+      allows users to specify a source for patterns to reason over. This
+      allows the engine to reason over data not in the Working Memory. This
+      could be a sub-field on a bound variable or the results of a method
+      call. It is a powerful construction that allows out of the box
+      integration with other application components and frameworks. One common
+      example is the integration with data retrieved on-demand from databases
+      using hibernate named queries.</para>
+
+      <para>The expression used to define the object source is any expression
+      that follows regular MVEL syntax. I.e., it allows you to easily use
+      object property navigation, execute method calls and access maps and
+      collections elements.</para>
+
+      <para>Here is a simple example of reasoning and binding on another
+      pattern sub-field:</para>
+
+      <para><programlisting>rule "validate zipcode"
+when
+    Person( $personAddress : address ) 
+    Address( zipcode == "23920W") from $personAddress 
+then
+    # zip code is ok
+end
+</programlisting></para>
+
+      <para>With all the flexibility from the new expressiveness in the Drools
+      engine you can slice and dice this problem many ways. This is the same
+      but shows how you can use a graph notation with the 'from':</para>
+
+      <para><programlisting>rule "validate zipcode"
+when
+    $p : Person( ) 
+    $a : Address( zipcode == "23920W") from $p.address 
+then
+    # zip code is ok
+end
+</programlisting></para>
+
+      <para>Previous examples were reasoning over a single pattern. The
+      <emphasis role="bold">from</emphasis> CE also support object sources
+      that return a collection of objects. In that case, <emphasis
+      role="bold">from</emphasis> will iterate over all objects in the
+      collection and try to match each of them individually. For instance, if
+      we want a rule that applies 10% discount to each item in an order, we
+      could do:</para>
+
+      <programlisting>rule "apply 10% discount to all items over US$ 100,00 in an order"
+when
+    $order : Order()
+    $item  : OrderItem( value &gt; 100 ) from $order.items
+then
+    # apply discount to $item
+end
+</programlisting>
+
+      <para>The above example will cause the rule to fire once for each item
+      whose value is greater than 100 for each given order.</para>
+
+      <para>The next example shows how we can reason over the results of a
+      hibernate query. The Restaurant pattern will reason over and bind with
+      each result in turn:</para>
+    </section>
+
+    <section>
+      <title>'collect'</title>
+
+      <figure>
+        <title>collect</title>
+
+        <mediaobject>
+
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/collect.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The <emphasis role="bold">collect</emphasis> Conditional Element
+      allows rules to reason over collection of objects collected from the
+      given source or from the working memory. In first oder logic terms this
+      is Cardinality Quantifier. A simple example:</para>
+
+      <programlisting>import java.util.ArrayList
+
+rule "Raise priority if system has more than 3 pending alarms"
+when
+    $system : System()
+    $alarms : ArrayList( size &gt;= 3 )
+              from collect( Alarm( system == $system, status == 'pending' ) )
+then
+    # Raise priority, because system $system has
+    # 3 or more alarms pending. The pending alarms
+    # are $alarms.
+end
+</programlisting>
+
+      <para>In the above example, the rule will look for all pending alarms in
+      the working memory for each given system and group them in ArrayLists.
+      If 3 or more alarms are found for a given system, the rule will
+      fire.</para>
+
+      <para>The <emphasis role="bold">collect</emphasis> CE result pattern can
+      be any concrete class that implements tha java.util.Collection interface
+      and provides a default no-arg public constructor. I.e., you can use
+      default Java collections like ArrayList, LinkedList, HashSet, etc, or
+      your own class, as long as it implements the java.util.Collection
+      interface and provide a default no-arg public constructor.</para>
+
+      <para>Both source and result patterns can be constrained as any other
+      pattern.</para>
+
+      <para>Variables bound before the <emphasis
+      role="bold">collect</emphasis> CE are in the scope of both source and
+      result patterns and as so, you can use them to constrain both your
+      source and result patterns. Although, the <emphasis>collect( ...
+      )</emphasis> is a scope delimiter for bindings, meaning that any binding
+      made inside of it, is not available for use outside of it.</para>
+
+      <para>Collect accepts nested <emphasis role="bold">from</emphasis>
+      elements, so the following example is a valid use of <emphasis
+      role="bold">collect</emphasis>:</para>
+
+      <programlisting>import java.util.LinkedList;
+
+rule "Send a message to all mothers"
+when
+    $town : Town( name == 'Paris' )
+    $mothers : LinkedList() 
+               from collect( Person( gender == 'F', children &gt; 0 ) 
+                             from $town.getPeople() 
+                           )
+then
+    # send a message to all mothers
+end
+</programlisting>
+    </section>
+
+    <section>
+      <title>'accumulate'</title>
+
+      <figure>
+        <title>accumulate</title>
+
+        <mediaobject>
+          <imageobject>
+		  <imagedata align="center" fileref="images/Chapter-Rule_Language/accumulate.png" format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The <emphasis role="bold">accumulate</emphasis> Conditional
+      Element is a more flexible and powerful form of <emphasis
+      role="bold">collect</emphasis> Conditional Element, in the sense that it
+      can be used to do what <emphasis role="bold">collect</emphasis> CE does
+      and also do things that <emphasis role="bold">collect</emphasis> CE is
+      not capable to do. Basically what it does is it allows a rule to iterate
+      over a collection of objects, executing custom actions for each of the
+      elements, and at the end return a result object.</para>
+
+      <para>The general syntax of the <emphasis
+      role="bold">accumulate</emphasis> CE is:</para>
+
+      <programlisting><replaceable>&lt;result pattern&gt;</replaceable> from accumulate( <replaceable>&lt;source pattern&gt;</replaceable>,
+                                  init( <replaceable>&lt;init code&gt;</replaceable> ),
+                                  action( <replaceable>&lt;action code&gt;</replaceable> ),
+                                  reverse( <replaceable>&lt;reverse code&gt;</replaceable> ),
+                                  result( <replaceable>&lt;result expression&gt;</replaceable> ) )
+</programlisting>
+
+      <para>The meaning of each of the elements is the following:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para><emphasis role="bold">&lt;source pattern&gt;</emphasis>: the
+          source pattern is a regular pattern that the engine will try to
+          match against each of the source objects.</para>
+        </listitem>
+
+        <listitem>
+          <para><emphasis role="bold">&lt;init code&gt;</emphasis>: this is a
+          semantic block of code in the selected dialect that will be executed
+          once for each tuple, before iterating over the source
+          objects.</para>
+        </listitem>
+
+        <listitem>
+          <para><emphasis role="bold">&lt;action code&gt;</emphasis>: this is
+          a semantic block of code in the selected dialect that will be
+          executed for each of the source objects.</para>
+        </listitem>
+
+        <listitem>
+          <para><emphasis role="bold">&lt;reverse code&gt;</emphasis>: this is
+          an optional semantic block of code in the selected dialect that if
+          present will be executed for each source object that no longer
+          matches the source pattern. The objective of this code block is to
+          "undo" any calculation done in the &lt;action code&gt; block, so
+          that the engine can do decremental calculation when a source object
+          is modified or retracted, hugely improving performance of these
+          operations.</para>
+        </listitem>
+
+        <listitem>
+          <para><emphasis role="bold">&lt;result expression&gt;</emphasis>:
+          this is a semantic expression in the selected dialect that is
+          executed after all source objects are iterated.</para>
+        </listitem>
+
+        <listitem>
+          <para><emphasis role="bold">&lt;result pattern&gt;</emphasis>: this
+          is a regular pattern that the engine tries to match against the
+          object returned from the &lt;result expression&gt;. If it matches,
+          the <emphasis role="bold">accumulate</emphasis> conditional element
+          evaluates to <emphasis role="bold">true</emphasis> and the engine
+          proceeds with the evaluation of the next CE in the rule. If it does
+          not matches, the <emphasis role="bold">accumulate</emphasis> CE
+          evaluates to <emphasis role="bold">false</emphasis> and the engine
+          stops evaluating CEs for that rule.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>It is easier to understand if we look at an example:</para>
+
+      <programlisting>rule "Apply 10% discount to orders over US$ 100,00"
+when
+    $order : Order()
+    $total : Number( doubleValue &gt; 100 ) 
+             from accumulate( OrderItem( order == $order, $value : value ),
+                              init( double total = 0; ),
+                              action( total += $value; ),
+                              reverse( total -= $value; ),
+                              result( total ) )
+then
+    # apply discount to $order
+end
+</programlisting>
+
+      <para>In the above example, for each Order() in the working memory, the
+      engine will execute the <emphasis role="bold">init code</emphasis>
+      initializing the total variable to zero. Then it will iterate over all
+      OrderItem() objects for that order, executing the <emphasis
+      role="bold">action</emphasis> for each one (in the example, it will sum
+      the value of all items into the total variable). After iterating over
+      all OrderItem, it will return the value corresponding to the <emphasis
+      role="bold">result expression</emphasis> (in the above example, the
+      value of the total variable). Finally, the engine will try to match the
+      result with the Number() pattern and if the double value is greater than
+      100, the rule will fire.</para>
+
+      <para>The example used Java as the semantic dialect, and as such, note
+      that the usage of ';' is mandatory in the init, action and reverse code
+      blocks. The result is an expression and as such, it does not admit ';'.
+      If the user uses any other dialect, he must comply to that dialect
+      specific syntax.</para>
+
+      <para>As mentioned before, the <emphasis role="bold">reverse
+      code</emphasis> is optional, but it is strongly recommended that the
+      user writes it in order to benefit from the <emphasis>improved
+      performance on update and retracts</emphasis>.</para>
+
+      <para>The <emphasis role="bold">accumulate</emphasis> CE can be used to
+      execute any action on source objects. The following example instantiates
+      and populates a custom object:</para>
+
+      <programlisting>rule "Accumulate using custom objects"
+when
+    $person   : Person( $likes : likes )
+    $cheesery : Cheesery( totalAmount &gt; 100 )
+                from accumulate( $cheese : Cheese( type == $likes ),
+                                 init( Cheesery cheesery = new Cheesery(); ),
+                                 action( cheesery.addCheese( $cheese ); ),
+                                 reverse( cheesery.removeCheese( $cheese ); ),
+                                 result( cheesery ) );
+then
+    // do something
+end</programlisting>
+
+      <section>
+        <title>Accumulate Functions</title>
+
+        <para>The accumulate CE is a very powerful CE, but it gets real
+        declarative and easy to use when using predefined functions that are
+        known as Accumulate Functions. They work exactly like accumulate, but
+        instead of explicitly writing custom code in every accumulate CE, the
+        user can use predefined code for common operations.</para>
+
+        <para>For instance, the rule to apply discount on orders written in
+        the previous section, could be written in the following way, using
+        Accumulate Functions:</para>
+
+        <programlisting>rule "Apply 10% discount to orders over US$ 100,00"
+when
+    $order : Order()
+    $total : Number( doubleValue &gt; 100 ) 
+             from accumulate( OrderItem( order == $order, $value : value ),
+                              sum( $value ) )
+then
+    # apply discount to $order
+end
+</programlisting>
+
+        <para>In the above example, sum is an AccumulateFunction and will sum
+        the $value of all OrderItems and return the result.</para>
+
+        <para>Drools 4.0 ships with the following built in accumulate
+        functions:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>average</para>
+          </listitem>
+
+          <listitem>
+            <para>min</para>
+          </listitem>
+
+          <listitem>
+            <para>max</para>
+          </listitem>
+
+          <listitem>
+            <para>count</para>
+          </listitem>
+
+          <listitem>
+            <para>sum</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>These common functions accept any expression as input. For
+        instance, if someone wants to calculate the average profit on all
+        items of an order, a rule could be written using the average
+        function:</para>
+
+        <programlisting>rule "Average profit"
+when
+    $order : Order()
+    $profit : Number() 
+              from accumulate( OrderItem( order == $order, $cost : cost, $price : price )
+                               average( 1 - $cost / $price ) )
+then
+    # average profit for $order is $profit
+end
+</programlisting>
+
+        <para>Accumulate Functions are all pluggable. That means that if
+        needed, custom, domain specific functions can easily be added to the
+        engine and rules can start to use them without any restrictions. To
+        implement a new Accumulate Functions all one needs to do is to create
+        a Java class that implements the
+        org.drools.base.acumulators.AccumulateFunction interface and add a
+        line to the configuration file or set a system property to let the
+        engine know about the new function. As an example of an Accumulate
+        Function implementation, the following is the implementation of the
+        "average" function:</para>
+
+        <programlisting>/*
+ * Copyright 2007 JBoss 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.
+ *
+ * Created on Jun 21, 2007
+ */
+package org.drools.base.accumulators;
+
+
+/**
+ * An implementation of an accumulator capable of calculating average values
+ * 
+ * @author etirelli
+ *
+ */
+public class AverageAccumulateFunction implements AccumulateFunction {
+
+    protected static class AverageData {
+        public int    count = 0;
+        public double total = 0;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#createContext()
+     */
+    public Object createContext() {
+        return new AverageData();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#init(java.lang.Object)
+     */
+    public void init(Object context) throws Exception {
+        AverageData data = (AverageData) context;
+        data.count = 0;
+        data.total = 0;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#accumulate(java.lang.Object, java.lang.Object)
+     */
+    public void accumulate(Object context,
+                           Object value) {
+        AverageData data = (AverageData) context;
+        data.count++;
+        data.total += ((Number) value).doubleValue();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#reverse(java.lang.Object, java.lang.Object)
+     */
+    public void reverse(Object context,
+                        Object value) throws Exception {
+        AverageData data = (AverageData) context;
+        data.count--;
+        data.total -= ((Number) value).doubleValue();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#getResult(java.lang.Object)
+     */
+    public Object getResult(Object context) throws Exception {
+        AverageData data = (AverageData) context;
+        return new Double( data.count == 0 ? 0 : data.total / data.count );
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.base.accumulators.AccumulateFunction#supportsReverse()
+     */
+    public boolean supportsReverse() {
+        return true;
+    }
+
+}
+</programlisting>
+
+        <para>The code for the function is very simple, as we could expect, as
+        all the "dirty" integration work is done by the engine. Finally, to
+        plug the function into the engine, we added it to the configuration
+        file:</para>
+
+        <programlisting>drools.accumulate.function.average = org.drools.base.accumulators.AverageAccumulateFunction
+</programlisting>
+
+        <para>Where "drools.accumulate.function." is a prefix that must always
+        be used, "average" is how the function will be used in the rule file,
+        and "org.drools.base.accumulators.AverageAccumulateFunction" is the
+        fully qualified name of the class that implements the function
+        behavior.</para>
+      </section>
+    </section>
+  </section>
+
+  <section>
+    <title>The Right Hand Side (then)</title>
+
+    <para>The Right Hand Side (RHS) is a common name for the consequence or
+    action part of the rule; this part should contain a list of actions to be
+    executed. It is bad practice to use imperative or conditional code in the
+    RHS of a rule; as a rule should be atomic in nature - "when this, then do
+    this", not "when this, maybe do this". The RHS part of a rule should also
+    be kept small, thus keeping it declarative and readable. If you find you
+    need imperative and/or conditional code in the RHS, then maybe you should
+    be breaking that rule down into multiple rules. The main purpose of the
+    RHS is to insert, retractor modify working memory data. To assist with
+    there there are a few convenience methods you can use to modify working
+    memory; without having to first reference a working memory
+    instance.</para>
+
+    <para>"update(object, handle);" will tell the engine that an object has
+    changed (one that has been bound to something on the LHS) and rules may
+    need to be reconsidered.</para>
+    
+    <para>"update(object);"  can also be used, here the KnowledgeHelper will
+    lookup the facthandle for you, via an identity check, for the passed object.</para>      
+
+    <para>"insert(new Something());" will place a new object of your creation
+    in working memory.</para>
+
+    <para>"insertLogical(new Something());" is similar to insert, but the
+    object will be automatically retracted when there are no more facts to
+    support the truth of the currently firing rule.</para>
+
+    <para>"retract(handle);" removes an object from working memory.</para>
+
+    <para>These convenience methods are basically macros that provide short
+    cuts to the KnowldgeHelper instance (refer to the KnowledgeHelper
+    interface for more advanced operations). The KnowledgeHelper interface is
+    made available to the RHS code block as a variable called "drools". If you
+    provide "Property Change Listeners" to your Java beans that you are
+    inserting into the engine, you can avoid the need to call "update" when
+    the object changes.</para>
+  </section>
+
+  <section>
+    <title>A note on auto boxing/unboxing and primitive types</title>
+
+    <para>Drools attempts to preserve numbers in their primitive or object
+    wrapper form, so a variable bound to an int primitive when used in a code
+    block or expression will no longer need manual unboxing; unlike Drools 3.0
+    where all primitives was autoboxed, requiring manual unboxing. A variable
+    bound to an object wrapper will remain as an object; the existing jdk1.5
+    and jdk5 rules to handling auto boxing/unboxing apply in this case. When
+    evaluating field constraints the system attempts to coerce one of the
+    values into a comparable format; so a primitive is comparable to an object
+    wrapper.</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-Rule.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-XML.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-XML.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-XML.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>XML Rule Language</title>
+
+  <para>As an option, Drools also supports a "native" <indexterm>
+      <primary>XML</primary>
+    </indexterm> rule language as an alternative to DRL. This allows you to
+  capture and manage your rules as XML data. Just like the non-XML DRL format,
+  the XML format is parsed into the internal "AST" representation - as fast as
+  possible (using a SAX parser). There is no external transformation step
+  required. All the features are available with XML that are available to
+  DRL.</para>
+
+  <section>
+    <title>When to use XML</title>
+
+    <para>There are several scenarios that XML is desirable. However, we
+    recommend that it is not a default choice, as XML is not readily human
+    readable (unless you like headaches) and can create visually bloated
+    rules.</para>
+
+    <para>If you do want to edit XML by hand, use a good schema aware editor
+    that provides nice hierarchical views of the XML, ideally visually
+    (commercial tools like XMLSpy, Oxygen etc are good, but cost money, but
+    then so do headache tablets).</para>
+
+    <para>Other scenarios where you may want to use the XML format are if you
+    have a tool that generates rules from some input (programmatically
+    generated rules), or perhaps interchange from another rule language, or
+    from another tool that emits XML (using XSLT you can easily transform
+    between XML formats). Note you can always generate normal DRL as
+    well.</para>
+
+    <para>Alternatively you may be embedding Drools in a product that already
+    uses XML for configuration, so you would like the rules to be in an XML
+    format. You may be creating your own rule language on XML - note that you
+    can always use the AST objects directly to create your own rule language
+    as well (the options are many, due to the open architecture).</para>
+  </section>
+
+  <section>
+    <title>The XML format</title>
+
+    <para>A full W3C standards (XMLSchema) compliant XSD is provided that
+    describes the XML language, which will not be repeated here verbatim. A
+    summary of the language follows.</para>
+
+    <example>
+      <title>Example <indexterm>
+          <primary>XML Rule</primary>
+        </indexterm></title>
+
+      <programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;package name="com.sample"
+         xmlns="http://drools.org/drools-4.0"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0 drools-4.0.xsd"&gt;
+
+&lt;import name="java.util.HashMap" /&gt;
+&lt;import name="org.drools.*" /&gt;
+
+&lt;global identifier="x" type="com.sample.X" /&gt;
+&lt;global identifier="yada" type="com.sample.Yada" /&gt;
+
+&lt;function return-type="void" name="myFunc"&gt;
+    &lt;parameter identifier="foo" type="Bar" /&gt;
+    &lt;parameter identifier="bada" type="Bing" /&gt;
+
+    &lt;body&gt;
+     System.out.println("hello world");
+    &lt;/body&gt;
+&lt;/function&gt;
+
+&lt;rule name="simple_rule"&gt;
+&lt;rule-attribute name="salience" value="10" /&gt;
+&lt;rule-attribute name="no-loop" value="true" /&gt;
+&lt;rule-attribute name="agenda-group" value="agenda-group" /&gt;
+&lt;rule-attribute name="activation-group" value="activation-group" /&gt;
+
+&lt;lhs&gt;
+		&lt;pattern identifier="foo2" object-type="Bar" &gt;
+            &lt;or-constraint-connective&gt;
+                &lt;and-constraint-connective&gt;
+                    &lt;field-constraint field-name="a"&gt;
+                        &lt;or-restriction-connective&gt;
+                            &lt;and-restriction-connective&gt;
+                                &lt;literal-restriction evaluator="&gt;" value="60" /&gt;
+                                &lt;literal-restriction evaluator="&lt;" value="70" /&gt;
+                            &lt;/and-restriction-connective&gt;
+                            &lt;and-restriction-connective&gt;
+                                &lt;literal-restriction evaluator="&lt;" value="50" /&gt;
+                                &lt;literal-restriction evaluator="&gt;" value="55" /&gt;
+                            &lt;/and-restriction-connective&gt;
+                        &lt;/or-restriction-connective&gt;
+                    &lt;/field-constraint&gt;
+
+                    &lt;field-constraint field-name="a3"&gt;
+                        &lt;literal-restriction evaluator="==" value="black" /&gt;
+                    &lt;/field-constraint&gt;
+                &lt;/and-constraint-connective&gt;
+
+                &lt;and-constraint-connective&gt;
+                    &lt;field-constraint field-name="a"&gt;
+                        &lt;literal-restriction evaluator="==" value="40" /&gt;
+                    &lt;/field-constraint&gt;
+
+                    &lt;field-constraint field-name="a3"&gt;
+                        &lt;literal-restriction evaluator="==" value="pink" /&gt;
+                    &lt;/field-constraint&gt;
+                &lt;/and-constraint-connective&gt;
+
+                &lt;and-constraint-connective&gt;
+                    &lt;field-constraint field-name="a"&gt;
+                        &lt;literal-restriction evaluator="==" value="12"/&gt;
+                    &lt;/field-constraint&gt;
+
+                    &lt;field-constraint field-name="a3"&gt;
+                        &lt;or-restriction-connective&gt;
+                            &lt;literal-restriction evaluator="==" value="yellow"/&gt;
+                            &lt;literal-restriction evaluator="==" value="blue" /&gt;
+                        &lt;/or-restriction-connective&gt;
+                    &lt;/field-constraint&gt;
+                &lt;/and-constraint-connective&gt;
+            &lt;/or-constraint-connective&gt;
+        &lt;/pattern&gt;
+
+        &lt;not&gt;
+            &lt;pattern object-type="Person"&gt;
+                &lt;field-constraint field-name="likes"&gt;
+                    &lt;variable-restriction evaluator="==" identifier="type"/&gt;
+                &lt;/field-constraint&gt;
+            &lt;/pattern&gt;
+
+            &lt;exists&gt;
+                &lt;pattern object-type="Person"&gt;
+                    &lt;field-constraint field-name="likes"&gt;
+                        &lt;variable-restriction evaluator="==" identifier="type"/&gt;
+                    &lt;/field-constraint&gt;
+                &lt;/pattern&gt;                
+            &lt;/exists&gt;
+        &lt;/not&gt;
+
+        &lt;or-conditional-element&gt;
+            &lt;pattern identifier="foo3" object-type="Bar" &gt;
+                &lt;field-constraint field-name="a"&gt;
+                    &lt;or-restriction-connective&gt;
+                        &lt;literal-restriction evaluator="==" value="3" /&gt;
+                        &lt;literal-restriction evaluator="==" value="4" /&gt;
+                    &lt;/or-restriction-connective&gt;
+                &lt;/field-constraint&gt;
+                &lt;field-constraint field-name="a3"&gt;
+                    &lt;literal-restriction evaluator="==" value="hello" /&gt;
+                &lt;/field-constraint&gt;
+                &lt;field-constraint field-name="a4"&gt;
+                    &lt;literal-restriction evaluator="==" value="null" /&gt;
+                &lt;/field-constraint&gt;
+            &lt;/pattern&gt;
+
+            &lt;pattern identifier="foo4" object-type="Bar" &gt;
+                &lt;field-binding field-name="a" identifier="a4" /&gt;
+                &lt;field-constraint field-name="a"&gt;
+                    &lt;literal-restriction evaluator="!=" value="4" /&gt;
+                    &lt;literal-restriction evaluator="!=" value="5" /&gt;
+                &lt;/field-constraint&gt;
+            &lt;/pattern&gt;
+        &lt;/or-conditional-element&gt;
+
+        &lt;pattern identifier="foo5" object-type="Bar" &gt;
+            &lt;field-constraint field-name="b"&gt;
+                &lt;or-restriction-connective&gt;
+                    &lt;return-value-restriction evaluator="==" &gt;a4 + 1&lt;/return-value-restriction&gt;
+                    &lt;variable-restriction evaluator="&gt;" identifier="a4" /&gt;
+                    &lt;qualified-identifier-restriction evaluator="=="&gt;
+                        org.drools.Bar.BAR_ENUM_VALUE
+                    &lt;/qualified-identifier-restriction&gt;
+                &lt;/or-restriction-connective&gt;
+            &lt;/field-constraint&gt;            
+        &lt;/pattern&gt;
+
+        &lt;pattern identifier="foo6" object-type="Bar" &gt;
+            &lt;field-binding field-name="a" identifier="a4" /&gt;
+            &lt;field-constraint field-name="b"&gt;
+                &lt;literal-restriction evaluator="==" value="6" /&gt;
+            &lt;/field-constraint&gt;
+        &lt;/pattern&gt;
+  &lt;/lhs&gt;
+ &lt;rhs&gt;
+    if ( a == b ) {
+      assert( foo3 );
+    } else {
+      retract( foo4 );
+    }
+    System.out.println( a4 );
+   &lt;/rhs&gt;
+&lt;/rule&gt;
+
+&lt;/package&gt;
+	
+</programlisting>
+    </example>
+
+    <para>Referring to the above example: Notice the key parts, the
+    declaration for the Drools 4, schema, imports, globals, functions, and the
+    rules. Most of the elements are self explanatory if you have some
+    understanding of the Drools 4 features.</para>
+
+    <para>Imports: import the types you wish to use in the rule.</para>
+
+    <para>Globals: These are global objects that can be referred to in the
+    rules.</para>
+
+    <para>Functions: this is a declaration of functions to be used in the
+    rules. You have to specify return types, a unique name and parameters, in
+    the body goes a snippet of code.</para>
+
+    <para>Rule: see below.</para>
+
+    <example>
+      <title>Detail of rule element</title>
+
+      <programlisting>&lt;rule name="simple_rule"&gt;
+&lt;rule-attribute name="salience" value="10" /&gt;
+&lt;rule-attribute name="no-loop" value="true" /&gt;
+&lt;rule-attribute name="agenda-group" value="agenda-group" /&gt;
+&lt;rule-attribute name="activation-group" value="activation-group" /&gt;
+
+&lt;lhs&gt;
+    &lt;pattern identifier="cheese" object-type="Cheese"&gt;
+        &lt;from&gt;
+            &lt;accumulate&gt;
+                &lt;pattern object-type="Person"&gt;&lt;/pattern&gt;
+                &lt;init&gt;
+                    int total = 0;
+                &lt;/init&gt;
+                &lt;action&gt;
+                    total += $cheese.getPrice();
+                &lt;/action&gt;
+                &lt;result&gt;
+                    new Integer( total ) );
+                &lt;/result&gt;
+            &lt;/accumulate&gt;
+        &lt;/from&gt;
+    &lt;/pattern&gt;
+
+    &lt;pattern identifier="max" object-type="Number"&gt;
+        &lt;from&gt;
+            &lt;accumulate&gt;
+                &lt;pattern identifier="cheese" object-type="Cheese"&gt;&lt;/pattern&gt;
+                &lt;external-function evaluator="max" expression="$price"/&gt;
+            &lt;/accumulate&gt;
+        &lt;/from&gt;
+    &lt;/pattern&gt;
+&lt;/lhs&gt;
+&lt;rhs&gt;
+    list1.add( $cheese );
+&lt;/rhs&gt;
+&lt;/rule&gt;
+	</programlisting>
+    </example>
+
+    <para>Referring to the above rule detail:</para>
+
+    <para>The rule has a LHS and RHS (conditions and consequence) sections.
+    The RHS is simple, it is just a block of semantic code that will be
+    executed when the rule is activated. The LHS is slightly more complicated,
+    certainly more so then past versions.</para>
+
+
+<!--
+	TODO: explain about 
+	
+	conditional-element 
+	constraint-connective
+	restriction-connective
+	
+	accumulate and external functions
+-->
+
+    <para>A key element of the LHS is the Pattern element. This allows you to
+    specify a type (class) and perhaps bind a variable to an instance of that
+    class. Nested under the pattern object are constraints and conditional
+	elements that have to be met. The Predicate and Return Value constraints 
+	allow Java expressions to be embedded.</para>
+
+    <para>That leaves the conditional elements, not, exists, and, or etc. They
+    work like their DRL counterparts. Elements that are nested under and an
+    "and" element are logically "anded" together. Likewise with "or" (and you
+    can nest things further). "Exists" and "Not" work around Patterns, to check
+    for the existence or non existence of a fact meeting its
+    constraints.</para>
+
+    <para>The Eval element allows the execution of a valid snippet of Java
+    code - as long as it evaluates to a boolean (do not end it with a
+    semi-colon, as it is just a fragment) - this can include calling a
+    function. The Eval is less efficient than the columns, as the rule engine
+    has to evaluate it each time, but it is a "catch all" feature for when you
+    can express what you need to do with Column constraints.</para>
+  </section>
+
+  <section>
+    <title>Legacy Drools 2.x XML rule format</title>
+    <para>The Drools 2.x legacy XML format is no longer supported by Drools XML parser</para>
+  </section>
+
+  <section>
+    <title>Automatic transforming between formats (XML and DRL)</title>
+
+    <para>Drools comes with some utility classes to transform between formats.
+    This works by parsing the rules from the source format into the AST, and
+    then "dumping" out to the appropriate target format. This allows you, for
+    example, to write rules in DRL, and when needed, export to XML if
+    necessary at some point in the future.</para>
+
+    <para>The classes to look at if you need to do this are: <programlisting>XmlDumper - for exporting XML.
+DrlDumper - for exporting DRL.
+DrlParser - reading DRL.
+XmlPackageReader - reading XML.
+</programlisting> Using combinations of the above, you can convert between any
+    format (including round trip). Note that DSLs will not be preserved (from
+    DRLs that are using a DSL) - but they will be able to be converted.</para>
+
+<para>Feel free to make use of XSLT to provide all sorts of possibilities
+  for XML, XSLT and its ilk are what make XML powerful.</para>
+
+  </section>
+
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/Chapter-Rule_Language/Section-XML.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/index.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/index.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/index.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <title>Drools</title>
+</head>
+<frameset cols="25%,*">
+ <frame src="bk01-toc.html" name="list">
+ <frame src="title.html" name="body">
+</frameset>
+</html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/index.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" >
+  <info>
+    <title>Drools Expert User Guide</title>
+
+    <releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+    <author>
+      <firstname>Mark</firstname>
+      <surname>Proctor</surname>
+    </author>
+
+    <author>
+      <firstname>Michael</firstname>
+      <surname>Neale</surname>
+    </author>
+
+    <author>
+      <firstname>Edson</firstname>
+      <surname>Tirelli</surname>
+    </author>
+  </info>
+
+<!--
+  <preface id="preface" revision="2">
+    <title>Preface</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="drools_logo.png" />
+      </imageobject>
+    </mediaobject>
+
+    <para />
+  </preface>
+-->
+
+    <xi:include href="Chapter-Rule_Engine/Chapter-Rule_Engine.xml"/>
+
+    
+    <xi:include href="Chapter-Decision_Tables/Chapter-Spreadsheet.xml" /> 
+    
+  
+    <xi:include href="Chapter-IDE/Chapter-QuickStart.xml" /> 
+
+    
+    <xi:include href="Chapter-Deployment/Chapter-DepymentAndTest.xml" />
+
+   <xi:include href="Chapter-JSR94/Chapter-JSR94.xml" />
+    
+   <xi:include href="Chapter-Rule_Language/Chapter-RuleLanguage.xml" />
+
+   <xi:include href="Chapter-Examples/Chapter-Examples.xml" />
+
+  <index/>
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/Key.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/Key.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/actions.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/actions.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/consequence.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/consequence.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/excel.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/excel.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/expanded.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/expanded.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/keywords.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/keywords.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/lists.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/lists.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/multi_table.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/multi_table.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/open_office.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/open_office.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/operator_completion.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/operator_completion.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/row_col.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/row_col.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/spanned_column.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/spanned_column.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_binding.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_binding.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_param.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/with_param.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/wizard.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Decision_Tables/wizard.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/DeploymentPatterns2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Deployment/Testing2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/ConwaysGameOfLifeExample/conway_ruleflow_generation.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci3.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci3.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci4.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci4.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci5.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci5.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/FibonacciExample/fibonacci_agenda2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_agenda2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HelloWorldExample/helloworld_auditview1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/HonestPoliticianExample/honest_politician_audit.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_DSL.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_DSL.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_Guided.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/BRMS_Guided.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-ruleflow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-website.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/InsuranceExample/insurance-website.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/guests_at_table.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/make_path.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,559 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 manners_activity_diagram.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="7.89733in" height="6.9885in" viewBox="0 0 568.608 503.172" xml:space="preserve" color-interpolation-filters="sRGB" class="st14" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st2 {fill:#000000;font-family:Arial;font-size:1.00001em}
+		.st3 {font-size:1em}
+		.st4 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st7 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#000000;stroke:none;stroke-width:1}
+		.st9 {marker-end:url(#mrkr3-71);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.48}
+		.st10 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.10810806741051}
+		.st11 {fill:none}
+		.st12 {stroke:#000000;stroke-dasharray:5.04,3.6;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st13 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st14 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend3">
+			<path d="M 2 1 L 0 0 L 2 -1 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr3-71" class="st10" v:arrowType="3" v:arrowSize="4" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend3" transform="scale(-9.2500034821895,-9.2500034821895) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Swimlanes" v:index="0" v:snap="false" v:glue="false"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(454.263,-0.720106)">
+			<title content="structured text">Swimlane.41</title>
+			<desc content="structured text">PRINT RESULTS</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({3D0B90F0-7997-4048-B958-E2D430F8F96C})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="9.36" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PRINT RESULTS</text>		</g>
+		<g id="shape2-4" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(340.877,-0.720106)">
+			<title content="structured text">Swimlane.40</title>
+			<desc content="structured text">CHECK DONE</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B70CD6A2-C8F2-41E7-8A0B-4364B926C213})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="16.69" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CHECK DONE</text>		</g>
+		<g id="shape3-7" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(227.492,-0.720106)">
+			<title content="structured text">Swimlane.39</title>
+			<desc content="structured text">MAK PATH</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({2BDF3D67-E7C5-4A9B-A36F-B092FDAD9B83})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="22.02" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>MAK<tspan class="st3" v:langID="2057">E</tspan> PATH</text>		</g>
+		<g id="shape4-11" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(114.106,-0.720106)">
+			<title content="structured text">Swimlane.38</title>
+			<desc content="structured text">ASSIGN SEATS</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({5FE20143-2F05-4843-84D8-69654A33246B})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="12.68" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ASSIGN SEATS</text>		</g>
+		<g id="shape5-14" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(0.72,-0.720106)">
+			<title content="structured text">Swimlane</title>
+			<desc content="structured text">START UP</desc>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(63):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({75512333-30FD-445E-A107-21F276DEBAB2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a partition for organizing responsibility for activities.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="56.6929" cy="252.306" width="113.39" height="501.732"/>
+			<rect x="0" y="1.44021" width="113.386" height="501.732" class="st1"/>
+			<text x="27.03" y="16.24" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>START UP</text>		</g>
+		<g id="group6-17" transform="translate(21.6928,-370.641)" v:mID="6" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({DB57AEDC-DB06-4A74-9314-493961D4DB78})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State</title>
+			<g id="shape7-18" v:mID="7" v:groupContext="shape" transform="translate(-3.59712E-013,-0.002)">
+				<title content="structured text">Sheet.7</title>
+				<path d="M9 503.17 L62.44 503.17 A9 9 -180 0 0 71.44 494.17 L71.44 486.66 A9 9 -180 0 0 62.44 477.66 L9 477.66 A9         9 -180 0 0 -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape8-20" v:mID="8" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape9-22" v:mID="9" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Assign First Seat</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="35.7202" cy="490.572" width="71.45" height="25.2"/>
+				<rect x="0" y="477.972" width="71.4403" height="25.2" class="st5"/>
+				<text x="5.49" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Assign First Seat</text>			</g>
+		</g>
+		<g id="shape10-25" v:mID="10" v:groupContext="shape" transform="translate(48.909,-459.93)">
+			<title content="structured text">Initial State</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(42):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({D3A1415C-7F84-4D75-B77E-54E0988D4921})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOptions" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents the point at which a newly created object starts. )"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 494.67 A8.505 8.505 0 0 1 17.01 494.67 A8.505 8.505 0 0 1 0 494.67 Z" class="st7"/>
+		</g>
+		<g id="group11-27" transform="translate(128.279,-370.641)" v:mID="11" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({E425FBE2-6092-4F19-BCF9-83EBE6D8AA54})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.7</title>
+			<g id="shape12-28" v:mID="12" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.12</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape13-30" v:mID="13" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape14-32" v:mID="14" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Assign Seat</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="5.65" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Assign Seat</text>			</g>
+		</g>
+		<g id="group15-35" transform="translate(268.817,-278.515)" v:mID="15" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({78CF0676-A242-4FF4-9B81-3A830037047F})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.11</title>
+			<g id="shape16-36" v:mID="16" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.16</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape17-38" v:mID="17" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape18-40" v:mID="18" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Make Path</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="7.88" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Make Path</text>			</g>
+		</g>
+		<g id="group19-43" transform="translate(268.817,-190.641)" v:mID="19" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({657E0538-CBB4-4B62-B170-CA54F78F0FC3})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.15</title>
+			<g id="shape20-44" v:mID="20" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.20</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape21-46" v:mID="21" v:groupContext="shape" transform="translate(-2.63789E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape22-48" v:mID="22" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Path Done</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="8.1" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Path Done</text>			</g>
+		</g>
+		<g id="group23-51" transform="translate(357.885,-114.106)" v:mID="23" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({0CB21845-E36D-4CDF-B78A-00B75363D7E2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.19</title>
+			<g id="shape24-52" v:mID="24" v:groupContext="shape" transform="translate(3.83693E-013,-0.002)">
+				<title content="structured text">Sheet.24</title>
+				<path d="M9 503.17 L68.67 503.17 A9 9 -180 0 0 77.67 494.17 L77.67 486.66 A9 9 -180 0 0 68.67 477.66 L9 477.66 A9         9 -180 0 0 0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape25-54" v:mID="25" v:groupContext="shape" transform="translate(-3.8769E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape26-56" v:mID="26" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Are We Done Yet?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="38.8371" cy="490.572" width="77.68" height="25.2"/>
+				<rect x="0" y="477.972" width="77.6742" height="25.2" class="st5"/>
+				<text x="5.5" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Are We Done Yet?</text>			</g>
+		</g>
+		<g id="group27-59" transform="translate(499.433,-14.8903)" v:mID="27" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(43):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B1433F32-F2A4-439C-B8CC-D61EC899F625})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOptions" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents the final occurrence of an event at the enclosing state or the completion of activity in the enclosing state.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:prompt="" v:val="VT0(3):26"/>
+			</v:userDefs>
+			<title content="structured text">Final State</title>
+			<g id="shape28-60" v:mID="28" v:groupContext="shape" transform="translate(1.7,-1.7)">
+				<title content="structured text">Sheet.28</title>
+				<path d="M0 496.37 A6.805 6.805 0 1 1 13.61 496.37 A6.805 6.805 0 1 1 -0 496.37 Z" class="st8"/>
+			</g>
+			<g id="shape29-62" v:mID="29" v:groupContext="shape" transform="translate(1.7,-1.7)">
+				<title content="structured text">Sheet.29</title>
+				<path d="M0 496.37 A6.805 6.805 0 1 1 13.61 496.37 A6.805 6.805 0 1 1 -0 496.37 Z" class="st1"/>
+			</g>
+			<g id="shape30-64" v:mID="30" v:groupContext="shape">
+				<title content="structured text">Sheet.30</title>
+				<path d="M0 494.67 A8.505 8.505 0 0 1 17.01 494.67 A8.505 8.505 0 1 1 -0 494.67 Z" class="st1"/>
+			</g>
+		</g>
+		<g id="shape31-66" v:mID="31" v:groupContext="shape" transform="translate(93.1331,-383.393)">
+			<title content="structured text">Transition</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({B3C07C44-3D10-4AD1-A487-A918B63E7036})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L35.15 503.17" class="st9"/>
+		</g>
+		<g id="shape32-72" v:mID="32" v:groupContext="shape" transform="translate(155.279,-291.273)">
+			<title content="structured text">Transition.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({4F3E71C3-C7E3-4C97-BCE4-9EE74B61A90E})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 423.8 L0 503.17 L113.54 503.17" class="st9"/>
+		</g>
+		<g id="shape33-77" v:mID="33" v:groupContext="shape" transform="translate(295.82,-216.157)">
+			<title content="structured text">Transition.27</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({504935DB-8552-4C36-BB2A-679D59656DF9})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 440.81 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape34-82" v:mID="34" v:groupContext="shape" transform="translate(322.817,-203.393)">
+			<title content="structured text">Transition.23</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({57E139FF-A173-426F-820B-4F7C9BFEC138})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L63.98 503.17" class="st9"/>
+		</g>
+		<g id="shape35-87" v:mID="35" v:groupContext="shape" transform="translate(507.94,-31.8981)">
+			<title content="structured text">Transition.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({5FECE46A-D06F-418F-981D-461303A12B44})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 420.96 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape36-92" v:mID="36" v:groupContext="shape" transform="translate(182.277,-298.36)">
+			<title content="structured text">Transition.29</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({2C74DA93-74E8-41A5-92D8-33F11DFE1CC4})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M216.64 503.17 L216.64 418.13 L0 418.13" class="st9"/>
+		</g>
+		<g id="shape37-97" v:mID="37" v:groupContext="shape" transform="translate(57.4163,-396.155)">
+			<title content="structured text">Transition.30</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({184492BD-048C-4EF2-8A9B-8858BE1127F1})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 439.39 L0 503.17" class="st9"/>
+		</g>
+		<g id="shape38-102" v:mID="38" v:groupContext="shape" transform="translate(386.801,-193.478)">
+			<title content="structured text">Decision</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(62):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({92B419EA-931A-4897-B261-6E85B2B91766})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(3):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Expresses a decision when guard conditions are used to indicate different possible transitions that are Boolean dependent.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M9.92 483.33 L19.84 493.25 L9.92 503.17 L0 493.25 L9.92 483.33 Z" class="st4"/>
+		</g>
+		<g id="shape39-104" v:mID="39" v:groupContext="shape" transform="translate(396.726,-139.618)">
+			<title content="structured text">Transition.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({0C0D162D-C8BA-4916-9E41-0251B2A289C3})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 449.31 L0 503.17" class="st9"/>
+		</g>
+		<g id="group40-109" transform="translate(406.645,-203.395)" v:mID="40" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(45):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({9E3814E0-25B1-43C1-A187-E4B1218E0059})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to place a comment on a diagram. )"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">Note</title>
+			<g id="shape41-110" v:mID="41" v:groupContext="shape">
+				<title content="structured text">Sheet.41</title>
+				<path d="M109.98 472.41 L0 503.17 L109.98 472.41 Z" class="st11"/>
+				<path d="M109.98 472.41 L0 503.17" class="st12"/>
+			</g>
+			<g id="shape42-113" v:mID="42" v:groupContext="shape" transform="translate(66.5014,-12.76)">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Has the last seat been assigned?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="43.4786" cy="485.174" width="86.96" height="36"/>
+				<path d="M86.96 477.97 L77.96 467.17 L77.96 477.97 L86.96 477.97 Z M0 503.17 L86.96 503.17 L86.96 477.97 L77.96 477.97         L77.96 467.17 L0 467.17 L0 503.17 Z" class="st13"/>
+				<text x="4" y="477.97" class="st6" v:langID="1033"><v:paragraph/><v:tabList/>Has the last seat<v:newlineChar/><v:newlineChar/><tspan x="4" dy="2.4em" class="st3">been assigned</tspan>?</text>			</g>
+		</g>
+		<g id="shape43-117" v:mID="43" v:groupContext="shape" transform="translate(241.247,-162.295)">
+			<title content="structured text">Transition.36</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({4CA9F553-D55B-452E-AC25-34A2387F9FF8})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M54.57 474.82 L54.57 503.17 L0 503.17 L0 462.07 L27.57 462.07" class="st9"/>
+		</g>
+		<g id="group44-122" transform="translate(479.775,-114.106)" v:mID="44" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({45A56721-BBBC-4499-92F5-D1460BF36DFC})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.42</title>
+			<g id="shape45-123" v:mID="45" v:groupContext="shape" transform="translate(2.79776E-013,-0.002)">
+				<title content="structured text">Sheet.45</title>
+				<path d="M9 503.17 L47.32 503.17 A9 9 -180 0 0 56.32 494.17 L56.32 486.66 A9 9 -180 0 0 47.32 477.66 L9 477.66 A9         9 -180 0 0 -0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape46-125" v:mID="46" v:groupContext="shape" transform="translate(-2.79776E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape47-127" v:mID="47" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Print Results</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="28.1617" cy="490.572" width="56.33" height="25.2"/>
+				<rect x="0" y="477.972" width="56.3234" height="25.2" class="st5"/>
+				<text x="5.5" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Print Results</text>			</g>
+		</g>
+		<g id="shape48-130" v:mID="48" v:groupContext="shape" transform="translate(435.56,-126.857)">
+			<title content="structured text">Transition.46</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({1E830686-D9A6-494E-BFB9-A2EC4ECC87E5})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L44.22 503.17" class="st9"/>
+		</g>
+		<g id="shape49-135" v:mID="49" v:groupContext="shape" transform="translate(507.939,-126.865)">
+			<title content="structured text">Transition.47</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({522F1FDF-7CC6-4604-AE43-C0C5FBC68F58})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M28.16 503.17 L48.37 503.17 L48.37 464.91 L0 464.91 L0 490.42" class="st9"/>
+		</g>
+		<g id="group50-140" transform="translate(371.917,-272.846)" v:mID="50" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(40):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({279920C9-96D3-48C9-B5C7-9BD96A5EA82B})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption1" v:val="VT0(1):26"/>
+				<v:ud v:nameU="UMLSuppressOption" v:val="VT0(32):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="UMLAutoLockTextEdit" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a condition during which an object satisfies some condition, performs an action or waits for an event.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<title content="structured text">State.48</title>
+			<g id="shape51-141" v:mID="51" v:groupContext="shape" transform="translate(0,-0.002)">
+				<title content="structured text">Sheet.51</title>
+				<path d="M9 503.17 L45 503.17 A9 9 -180 0 0 54 494.17 L54 486.66 A9 9 -180 0 0 45 477.66 L9 477.66 A9 9 -180 0 0         0 486.66 L0 494.17 A9 9 -180 0 0 9 503.17 Z" class="st4"/>
+			</g>
+			<g id="shape52-143" v:mID="52" v:groupContext="shape" transform="translate(-2.67786E-013,-0.002)">
+				<title content="structured text">Transitions</title>
+				<path d="M0 503.17 L53.86 503.17 L0 503.17 Z" class="st5"/>
+			</g>
+			<g id="shape53-145" v:mID="53" v:groupContext="shape">
+				<title content="structured text">Name</title>
+				<desc content="structured text">Continue?</desc>
+				<v:userDefs/>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="27" cy="490.572" width="54" height="25.2"/>
+				<rect x="0" y="477.972" width="54" height="25.2" class="st5"/>
+				<text x="8.76" y="492.97" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Continue?</text>			</g>
+		</g>
+		<g id="shape54-148" v:mID="54" v:groupContext="shape" transform="translate(396.723,-213.32)">
+			<title content="structured text">Transition.52</title>
+			<v:userDefs>
+				<v:ud v:nameU="UMLShapeType" v:val="VT0(44):26"/>
+				<v:ud v:nameU="UMLObjectGUID" v:val="VT4({9C4F3353-5467-4385-8431-508C3C950FD2})"/>
+				<v:ud v:nameU="UMLError" v:val="VT0(0):26"/>
+				<v:ud v:nameU="UMLPresOption2" v:val="VT0(98306):26"/>
+				<v:ud v:nameU="UMLVersion" v:val="VT0(2):26"/>
+				<v:ud v:nameU="visDescription" v:val="VT4(Represents a transition from one state to another.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.17 L2.19 443.64" class="st9"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/MannersExample/manners_activity_diagram.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-constraint-toohigh.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-editconstraints.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow-properties.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/NumberGuessExample/numberguess-ruleflow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/1-PetStore-Start-Screen.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/2-stock-added-to-order-list.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/3-purchase-suggestion.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PetStoreExample/4-Petstore-final-screen.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Config.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Config.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/PricingExample/DT_Table2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku3.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku3.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku4.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku4.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku5.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku5.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku6.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku6.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku7.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku7.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku8.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/SodukiExample/sudoku8.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_agenda1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_agenda1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_audit1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/StateExample/state_example_audit1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_firing.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_audit_view.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_initial.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Examples/TroubleTicketExample/tt_initial.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/agenda.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/agenda.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/all.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/all.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/audit.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/audit.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug-overview.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug-overview.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debugAsDrools.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debugAsDrools.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug_rules_configuration.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/debug_rules_configuration.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/dsl_editor.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/dsl_editor.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/editor1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/editor1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/globals.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/globals.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/guidededitor1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/guidededitor1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/mapping_editor.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/mapping_editor.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_project2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_rule.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/new_rule.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/outline.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/outline.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/thereteview.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/thereteview.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/wizards.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/wizards.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/workingMemory.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-IDE/workingMemory.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 beta_node.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="7.67748in" height="7.6578in" viewBox="0 0 552.779 551.361" xml:space="preserve" color-interpolation-filters="sRGB" class="st14" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<title content="structured text">BetaNode</title>
+	<v:documentProperties v:langID="1046" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:url(#grad25-13);stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st3 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:1.00001em}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st7 {font-size:1em}
+		.st8 {fill:#000000;font-family:Arial;font-size:2.50001em;font-weight:bold}
+		.st9 {fill:url(#grad28-54);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st10 {stroke:#000000;stroke-dasharray:0.72,0.72;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st11 {fill:#c0c0c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st12 {fill:#000000;font-family:Arial;font-size:1.00001em;font-weight:bold}
+		.st13 {fill:#ffffff}
+		.st14 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Patterns_And_Gradients">
+		<linearGradient id="grad25-13" v:fillPattern="25" v:foreground="#c0c0c0" v:background="#ffffff" x1="0" y1="0" x2="1" y2="0" xlink:type="simple" xlink:show="other" xlink:actuate="onLoad">
+			<stop offset="0" style="stop-color:#c0c0c0;stop-opacity:1"/>
+			<stop offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+		</linearGradient>
+		<linearGradient id="grad28-54" v:fillPattern="28" v:foreground="#e6e6e6" v:background="#9a9a9a" x1="0" y1="0" x2="0" y2="1" xlink:type="simple" xlink:show="other" xlink:actuate="onLoad">
+			<stop offset="0" style="stop-color:#e6e6e6;stop-opacity:1"/>
+			<stop offset="1" style="stop-color:#9a9a9a;stop-opacity:1"/>
+		</linearGradient>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Conector" v:index="0"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(424.5,679.64) rotate(180)">
+			<title content="structured text">Triangle</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<path d="M320.66 551.36 L148.82 253.72 L-23.02 551.36 L320.66 551.36 Z" class="st1"/>
+		</g>
+		<g id="shape2-3" v:mID="2" v:groupContext="shape" transform="translate(477.899,-247.561) rotate(45) scale(-1,1)">
+			<title content="structured text">45 degree single</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<path d="M0 531.52 L19.84 511.68 L19.84 524.77 L100.22 524.77 L100.22 538.27 L19.84 538.27 L19.84 551.36 L0 531.52 Z" class="st1"/>
+		</g>
+		<g id="shape3-5" v:mID="3" v:groupContext="shape" transform="translate(73.4622,-247.561) rotate(-45)">
+			<title content="structured text">45 degree single.3</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<path d="M0 531.52 L19.84 511.68 L19.84 524.77 L100.22 524.77 L100.22 538.27 L19.84 538.27 L19.84 551.36 L0 531.52 Z" class="st1"/>
+		</g>
+		<g id="shape4-7" v:mID="4" v:groupContext="shape" transform="translate(808.51,486.155) rotate(88.8542) scale(-1,1)">
+			<title content="structured text">45 degree single.4</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<path d="M0 531.52 L19.84 511.68 L19.84 524.77 L70.88 524.77 L70.88 538.27 L19.84 538.27 L19.84 551.36 L0 531.52 Z" class="st1"/>
+		</g>
+		<g id="group12-9" transform="translate(4.97197,-499.618)" v:mID="12" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Note box deco</title>
+			<g id="shape13-10" v:mID="13" v:groupContext="shape">
+				<title content="structured text">Sheet.13</title>
+				<v:userDefs>
+					<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				</v:userDefs>
+				<path d="M0 551.36 L102.05 551.36 L102.05 500.34 L0 500.34 L0 551.36 Z M-4.25 508.84 L-4.25 517.35 L4.25 517.35 L4.25         508.84 L-4.25 508.84 Z M-4.25 521.6 L-4.25 530.1 L4.25 530.1 L4.25 521.6 L-4.25 521.6 Z M-4.25 534.35         L-4.25 542.86 L4.25 542.86 L4.25 534.35 L-4.25 534.35 Z" class="st2"/>
+			</g>
+			<g id="shape14-14" v:mID="14" v:groupContext="shape" transform="translate(14.9737,-30.3679)">
+				<title content="structured text">Sheet.14</title>
+				<desc content="structured text">Left Input</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="2"/>
+				<v:textRect cx="51.5058" cy="543.159" width="54.13" height="16.4037"/>
+				<path d="M0 551.36 L78.57 551.36" class="st3"/>
+				<text x="28.55" y="547.76" class="st4" v:langID="1046"><v:paragraph v:horizAlign="2"/><v:tabList/>Left Input</text>			</g>
+			<g id="shape15-18" v:mID="15" v:groupContext="shape" transform="translate(14.9737,-9.16442)">
+				<title content="structured text">Sheet.15</title>
+				<desc content="structured text">Tuples arrive through the Left Input</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="39.2848" cy="540.759" width="78.57" height="21.2035"/>
+				<rect x="0" y="530.158" width="78.5696" height="21.2035" class="st5"/>
+				<text x="0" y="539.36" class="st6" v:langID="1046"><v:paragraph/><v:tabList/>Tuples arrive through<v:newlineChar/><tspan x="0" dy="1.2em" class="st7"> the Left Input</tspan></text>			</g>
+		</g>
+		<g id="group16-22" transform="translate(450.011,-499.618)" v:mID="16" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Note box deco.16</title>
+			<g id="shape17-23" v:mID="17" v:groupContext="shape">
+				<title content="structured text">Sheet.17</title>
+				<v:userDefs>
+					<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				</v:userDefs>
+				<path d="M0 551.36 L102.05 551.36 L102.05 500.34 L0 500.34 L0 551.36 Z M-4.25 508.84 L-4.25 517.35 L4.25 517.35 L4.25         508.84 L-4.25 508.84 Z M-4.25 521.6 L-4.25 530.1 L4.25 530.1 L4.25 521.6 L-4.25 521.6 Z M-4.25 534.35         L-4.25 542.86 L4.25 542.86 L4.25 534.35 L-4.25 534.35 Z" class="st2"/>
+			</g>
+			<g id="shape18-26" v:mID="18" v:groupContext="shape" transform="translate(11.8643,-30.3679)">
+				<title content="structured text">Sheet.18</title>
+				<desc content="structured text">Right Input</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="2"/>
+				<v:textRect cx="50.6162" cy="543.159" width="62.13" height="16.4037"/>
+				<path d="M0 551.36 L81.68 551.36" class="st3"/>
+				<text x="23.67" y="547.76" class="st4" v:langID="1046"><v:paragraph v:horizAlign="2"/><v:tabList/>Right Input</text>			</g>
+			<g id="shape19-30" v:mID="19" v:groupContext="shape" transform="translate(11.8643,-9.16442)">
+				<title content="structured text">Sheet.19</title>
+				<desc content="structured text">Objects arrive through the Right Input</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="40.8395" cy="540.759" width="81.68" height="21.2035"/>
+				<rect x="0" y="530.158" width="81.679" height="21.2035" class="st5"/>
+				<text x="-0" y="539.36" class="st6" v:langID="1046"><v:paragraph/><v:tabList/>Objects arrive through<v:newlineChar/><tspan x="-0" dy="1.2em" class="st7">the Right Input</tspan></text>			</g>
+		</g>
+		<g id="group20-34" transform="translate(226.074,-0.72)" v:mID="20" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Note box deco.20</title>
+			<g id="shape21-35" v:mID="21" v:groupContext="shape">
+				<title content="structured text">Sheet.21</title>
+				<v:userDefs>
+					<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				</v:userDefs>
+				<path d="M0 551.36 L102.05 551.36 L102.05 500.34 L0 500.34 L0 551.36 Z M-4.25 508.84 L-4.25 517.35 L4.25 517.35 L4.25         508.84 L-4.25 508.84 Z M-4.25 521.6 L-4.25 530.1 L4.25 530.1 L4.25 521.6 L-4.25 521.6 Z M-4.25 534.35         L-4.25 542.86 L4.25 542.86 L4.25 534.35 L-4.25 534.35 Z" class="st2"/>
+			</g>
+			<g id="shape22-38" v:mID="22" v:groupContext="shape" transform="translate(19.8646,-30.3679)">
+				<title content="structured text">Sheet.22</title>
+				<desc content="structured text">Output</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="2"/>
+				<v:textRect cx="53.623" cy="543.159" width="40.12" height="16.4037"/>
+				<path d="M0 551.36 L73.68 551.36" class="st3"/>
+				<text x="37.64" y="547.76" class="st4" v:langID="1046"><v:paragraph v:horizAlign="2"/><v:tabList/>Output</text>			</g>
+			<g id="shape23-42" v:mID="23" v:groupContext="shape" transform="translate(19.8646,-9.16442)">
+				<title content="structured text">Sheet.23</title>
+				<desc content="structured text">Matched Tuples are propagated</desc>
+				<v:textBlock v:margins="rect(2,0,0,0)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="36.8394" cy="540.759" width="73.68" height="21.2035"/>
+				<rect x="0" y="530.158" width="73.6787" height="21.2035" class="st5"/>
+				<text x="0" y="539.36" class="st6" v:langID="1046"><v:paragraph/><v:tabList/>Matched Tuples are<v:newlineChar/><tspan x="0" dy="1.2em" class="st7">propagated</tspan></text>			</g>
+		</g>
+		<g id="group5-46" transform="translate(104.185,-425.917)" v:mID="5" v:groupContext="group">
+			<v:custProps>
+				<v:cp v:nameU="Theme" v:lbl="Tema" v:prompt="O tema somente desta forma." v:type="1" v:format="Clássico;Contemporâneo;Elegante;Bloco de notas;Retro" v:langID="1046" v:val="VT4(Clássico)"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="Theme" v:val="VT0(0):26"/>
+				<v:ud v:nameU="Margin" v:val="VT0(0.059055118110236):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Title block classic</title>
+			<g id="shape6-47" v:mID="6" v:groupContext="shape" transform="translate(92.772,-7.50996)">
+				<title content="structured text">Sheet.6</title>
+				<desc content="structured text">Beta Node</desc>
+				<v:textBlock v:margins="rect(0,0,0,0)"/>
+				<v:textRect cx="78.7241" cy="533.359" width="157.45" height="36.0037"/>
+				<rect x="0" y="515.358" width="157.448" height="36.0037" class="st5"/>
+				<text x="4.55" y="542.36" class="st8" v:langID="1046"><v:paragraph v:horizAlign="1"/><v:tabList/>Beta Node</text>			</g>
+		</g>
+		<g id="group24-50" transform="translate(152.374,-346.547)" v:mID="24" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Note box classic</title>
+			<g id="shape25-51" v:mID="25" v:groupContext="shape">
+				<title content="structured text">Sheet.25</title>
+				<rect x="0" y="483.33" width="102.047" height="68.0315" class="st9"/>
+			</g>
+			<g id="shape26-55" v:mID="26" v:groupContext="shape" transform="translate(8.50394,-59.5276)">
+				<title content="structured text">Sheet.26</title>
+				<path d="M0 551.36 L17.01 551.36" class="st3"/>
+			</g>
+			<g id="shape27-58" v:mID="27" v:groupContext="shape" transform="translate(8.50394,-8.50394)">
+				<title content="structured text">Sheet.27</title>
+				<path d="M0 551.36 L51.02 551.36" class="st3"/>
+			</g>
+			<g id="shape28-61" v:mID="28" v:groupContext="shape" transform="translate(59.5276,-8.50394)">
+				<title content="structured text">Sheet.28</title>
+				<path d="M0 551.36 L34.02 551.36" class="st10"/>
+			</g>
+			<g id="shape29-64" v:mID="29" v:groupContext="shape" transform="translate(8.50394,-8.50394)">
+				<title content="structured text">Sheet.29</title>
+				<desc content="structured text">LEFT Memory: Stores all tuples asserted</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="35.058" cy="518.739" width="70.12" height="36.8035"/>
+				<path d="M0 551.36 L0 500.34" class="st10"/>
+				<text x="4" y="511.54" class="st6" v:langID="1046"><v:paragraph/><v:tabList/>LEFT Memory:<v:newlineChar/><tspan x="4" dy="1.2em" class="st7">Stores all tuples <v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st7">asserted</tspan></text>			</g>
+		</g>
+		<g id="group30-70" transform="translate(311.114,-346.547)" v:mID="30" v:groupContext="group">
+			<v:userDefs>
+				<v:ud v:nameU="Margin" v:val="VT0(0.11811023622047):24"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<title content="structured text">Note box classic.30</title>
+			<g id="shape31-71" v:mID="31" v:groupContext="shape">
+				<title content="structured text">Sheet.31</title>
+				<rect x="0" y="483.33" width="85.0394" height="68.0315" class="st9"/>
+			</g>
+			<g id="shape32-74" v:mID="32" v:groupContext="shape" transform="translate(8.50394,-59.5276)">
+				<title content="structured text">Sheet.32</title>
+				<path d="M0 551.36 L17.01 551.36" class="st3"/>
+			</g>
+			<g id="shape33-77" v:mID="33" v:groupContext="shape" transform="translate(8.50394,-8.50394)">
+				<title content="structured text">Sheet.33</title>
+				<path d="M0 551.36 L34.02 551.36" class="st3"/>
+			</g>
+			<g id="shape34-80" v:mID="34" v:groupContext="shape" transform="translate(42.5197,-8.50394)">
+				<title content="structured text">Sheet.34</title>
+				<path d="M0 551.36 L34.02 551.36" class="st10"/>
+			</g>
+			<g id="shape35-83" v:mID="35" v:groupContext="shape" transform="translate(8.50394,-8.50394)">
+				<title content="structured text">Sheet.35</title>
+				<desc content="structured text">RIGHT Memory: Stores all objects asserted</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="37.058" cy="518.739" width="74.12" height="36.8035"/>
+				<path d="M0 551.36 L0 500.34" class="st10"/>
+				<text x="4" y="511.54" class="st6" v:langID="1046"><v:paragraph/><v:tabList/>RIGHT Memory:<v:newlineChar/><tspan x="4" dy="1.2em" class="st7">Stores all objects <v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st7">asserted</tspan></text>			</g>
+		</g>
+		<g id="shape36-89" v:mID="36" v:groupContext="shape" transform="translate(231.566,790.191) scale(1,-1)">
+			<title content="structured text">Pentagon</title>
+			<desc content="structured text">Constraints</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="46.8602" cy="511.676" width="93.73" height="79.3701"/>
+			<path d="M46.86 471.99 L-2.41 502.31 L16.41 551.36 L77.31 551.36 L96.13 502.31 L46.86 471.99 Z" class="st11"/>
+			<text x="13.51" y="-508.08" transform="scale(1,-1)" class="st12" v:langID="1046"><v:paragraph v:horizAlign="1"/><v:tabList/>Constraints</text>		</g>
+		<g id="shape37-92" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(197.728,-346.547)">
+			<title content="structured text">Elbow 2</title>
+			<v:userDefs>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<path d="M5.1 551.36 L5.1 602.81 L33.1 602.81 L33.1 599.41 L41.6 607.92 L33.1 616.42 L33.1 613.02 L-5.1 613.02 L-5.1        551.36 L5.1 551.36 Z" class="st13"/>
+			<path d="M5.1 551.36 L5.1 602.81 L33.1 602.81 L33.1 599.41 L41.6 607.92 L33.1 616.42 L33.1 613.02 L-5.1 613.02 L-5.1        551.36" class="st3"/>
+		</g>
+		<g id="shape38-95" v:mID="38" v:groupContext="shape" v:layerMember="0" transform="translate(359.057,-346.725)">
+			<title content="structured text">Elbow 2.38</title>
+			<v:userDefs>
+				<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<path d="M-5.1 551.36 L-5.1 602.81 L-33.1 602.81 L-33.1 599.41 L-41.6 607.92 L-33.1 616.42 L-33.1 613.02 L5.1 613.02        L5.1 551.36 L-5.1 551.36 Z" class="st13"/>
+			<path d="M-5.1 551.36 L-5.1 602.81 L-33.1 602.81 L-33.1 599.41 L-41.6 607.92 L-33.1 616.42 L-33.1 613.02 L5.1 613.02        L5.1 551.36" class="st3"/>
+		</g>
+		<g id="shape39-98" v:mID="39" v:groupContext="shape" transform="translate(-260.733,394.847) rotate(-89.1048)">
+			<title content="structured text">45 degree single.39</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(10):26"/>
+			</v:userDefs>
+			<path d="M0 537.19 L14.17 523.01 L14.17 532.37 L85.05 532.37 L85.05 542.01 L14.17 542.01 L14.17 551.36 L0 537.19 Z" class="st1"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Performance_Tuning/beta_node.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 A Basic Rete Network.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="5.47221in" height="4.27853in" viewBox="0 0 393.999 308.054" xml:space="preserve" color-interpolation-filters="sRGB" class="st9" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {marker-end:url(#mrkr4-10);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st7 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#ffcc00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st9 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-10" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0;1" transform="translate(66.9011,-253.192)">
+			<title content="structured text">On-page reference</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st1"/>
+		</g>
+		<g id="shape4-3" v:mID="4" v:groupContext="shape" v:layerMember="0;1" transform="translate(66.9011,-182.326)">
+			<title content="structured text">On-page reference.4</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st2"/>
+		</g>
+		<g id="shape9-5" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(73.9877,-253.192)">
+			<title content="structured text">Dynamic connector.9</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 308.05 L7.09 345.05" class="st3"/>
+		</g>
+		<g id="shape19-11" v:mID="19" v:groupContext="shape" transform="translate(31.0743,-295.334)">
+			<title content="structured text">Sheet.19</title>
+			<desc content="structured text">Cheese</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="302.054" width="100.01" height="12"/>
+			<rect x="0" y="296.054" width="100" height="12" class="st5"/>
+			<text x="32.77" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Cheese</text>		</g>
+		<g id="shape21-14" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(45.6413,-26.8932)">
+			<title content="structured text">Terminator.22</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 308.05 L56.69 308.05 A14.1732 14.1732 -180 0 0 56.69 279.71 L14.17 279.71 A14.1732 14.1732 -180 1 0 14.17        308.05 Z" class="st7"/>
+		</g>
+		<g id="shape22-16" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(73.9877,-111.46)">
+			<title content="structured text">Dynamic connector.23</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 308.05 L7.09 358.75" class="st3"/>
+		</g>
+		<g id="shape27-21" v:mID="27" v:groupContext="shape" v:layerMember="0;1" transform="translate(66.9011,-111.46)">
+			<title content="structured text">On-page reference.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st8"/>
+		</g>
+		<g id="shape28-23" v:mID="28" v:groupContext="shape" v:layerMember="0" transform="translate(73.9877,-182.326)">
+			<title content="structured text">Dynamic connector.7</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 308.05 L7.09 345.05" class="st3"/>
+		</g>
+		<g id="shape30-28" v:mID="30" v:groupContext="shape" transform="translate(97.6885,-196.5)">
+			<title content="structured text">Sheet.30</title>
+			<desc content="structured text">type == “cheddar”</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="302.054" width="100.01" height="12"/>
+			<rect x="0" y="296.054" width="100" height="12" class="st5"/>
+			<text x="10.53" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>type == “cheddar”</text>		</g>
+		<g id="shape34-31" v:mID="34" v:groupContext="shape" transform="translate(0.72,-0.72)">
+			<title content="structured text">Sheet.34</title>
+			<desc content="structured text">System.out.println( "cheddar" )</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="80.3543" cy="302.054" width="160.71" height="12"/>
+			<rect x="0" y="296.054" width="160.709" height="12" class="st5"/>
+			<text x="12.61" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>System.out.println( "cheddar" )</text>		</g>
+		<g id="shape35-34" v:mID="35" v:groupContext="shape" v:layerMember="0;1" transform="translate(232.728,-168.626)">
+			<title content="structured text">On-page reference.35</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st1"/>
+		</g>
+		<g id="shape36-36" v:mID="36" v:groupContext="shape" v:layerMember="0;1" transform="translate(232.728,-120.437)">
+			<title content="structured text">On-page reference.36</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st2"/>
+		</g>
+		<g id="shape37-38" v:mID="37" v:groupContext="shape" v:layerMember="0;1" transform="translate(232.728,-77.9169)">
+			<title content="structured text">On-page reference.37</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 293.88 A14.1732 14.1732 0 0 1 28.35 293.88 A14.1732 14.1732 0 1 1 0 293.88 Z" class="st8"/>
+		</g>
+		<g id="shape40-40" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(232.728,-26.8932)">
+			<title content="structured text">Terminator.40</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 308.05 L56.69 308.05 A14.1732 14.1732 -180 0 0 56.69 279.71 L14.17 279.71 A14.1732 14.1732 -180 1 0 14.17        308.05 Z" class="st7"/>
+		</g>
+		<g id="shape41-42" v:mID="41" v:groupContext="shape" transform="translate(255.405,-178.09)">
+			<title content="structured text">Sheet.41</title>
+			<desc content="structured text">ObjectTypeNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="302.054" width="100.01" height="12"/>
+			<rect x="0" y="296.054" width="100" height="12" class="st5"/>
+			<text x="12.48" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>ObjectTypeNode</text>		</g>
+		<g id="shape42-45" v:mID="42" v:groupContext="shape" transform="translate(246.114,-131.318)">
+			<title content="structured text">Sheet.42</title>
+			<desc content="structured text">AlphaNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="302.054" width="100.01" height="12"/>
+			<rect x="0" y="296.054" width="100" height="12" class="st5"/>
+			<text x="25.26" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>AlphaNode</text>		</g>
+		<g id="shape43-48" v:mID="43" v:groupContext="shape" transform="translate(265.956,-90.9247)">
+			<title content="structured text">Sheet.43</title>
+			<desc content="structured text">LeftInputAdapterNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="57.0866" cy="302.054" width="114.18" height="12"/>
+			<rect x="0" y="296.054" width="114.173" height="12" class="st5"/>
+			<text x="8.15" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>LeftInputAdapterNode</text>		</g>
+		<g id="shape46-51" v:mID="46" v:groupContext="shape" transform="translate(293.279,-35.0665)">
+			<title content="structured text">Sheet.46</title>
+			<desc content="structured text">TerminalNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="302.054" width="100.01" height="12"/>
+			<rect x="0" y="296.054" width="100" height="12" class="st5"/>
+			<text x="18.6" y="305.05" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>TerminalNode</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/A_Basic_Rete_Network.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Agenda.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Agenda.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaEventListener.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaEventListener.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaFilter.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/AgendaFilter.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Alpha_Nodes.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.37892in" height="2.46346in" viewBox="0 0 171.283 177.369" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {marker-end:url(#mrkr4-10);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-10" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape79-1" v:mID="79" v:groupContext="shape" v:layerMember="0;1" transform="translate(35.8381,-127.988)">
+			<title content="structured text">On-page reference.79</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 163.2 A14.1732 14.1732 0 0 1 28.35 163.2 A14.1732 14.1732 0 1 1 0 163.2 Z" class="st1"/>
+		</g>
+		<g id="shape80-3" v:mID="80" v:groupContext="shape" v:layerMember="0;1" transform="translate(35.8381,-63.1219)">
+			<title content="structured text">On-page reference.80</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 163.2 A14.1732 14.1732 0 0 1 28.35 163.2 A14.1732 14.1732 0 1 1 0 163.2 Z" class="st2"/>
+		</g>
+		<g id="shape81-5" v:mID="81" v:groupContext="shape" v:layerMember="0" transform="translate(57.098,-127.988)">
+			<title content="structured text">Dynamic connector.81</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 177.37 L-7.09 208.37" class="st3"/>
+		</g>
+		<g id="shape82-11" v:mID="82" v:groupContext="shape" transform="translate(0.72,-164.649)">
+			<title content="structured text">Sheet.82</title>
+			<desc content="structured text">Cheese</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="171.369" width="100.01" height="12"/>
+			<rect x="0" y="165.369" width="100" height="12" class="st5"/>
+			<text x="32.77" y="174.37" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Cheese</text>		</g>
+		<g id="shape83-14" v:mID="83" v:groupContext="shape" v:layerMember="0" transform="translate(42.9247,-63.1219)">
+			<title content="structured text">Dynamic connector.83</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 177.37 L7.09 206.38" class="st3"/>
+		</g>
+		<g id="shape84-19" v:mID="84" v:groupContext="shape" transform="translate(66.6255,-71.2951)">
+			<title content="structured text">Sheet.84</title>
+			<desc content="structured text">name == “cheddar”</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="171.369" width="100.01" height="12"/>
+			<rect x="0" y="165.369" width="100" height="12" class="st5"/>
+			<text x="7.48" y="174.37" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name == “cheddar”</text>		</g>
+		<g id="shape91-22" v:mID="91" v:groupContext="shape" v:layerMember="0;1" transform="translate(35.8381,-0.24)">
+			<title content="structured text">On-page reference.91</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 163.2 A14.1732 14.1732 0 0 1 28.35 163.2 A14.1732 14.1732 0 1 1 0 163.2 Z" class="st2"/>
+		</g>
+		<g id="shape93-24" v:mID="93" v:groupContext="shape" transform="translate(70.5625,-8.41323)">
+			<title content="structured text">Sheet.93</title>
+			<desc content="structured text">strength == “strong”</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="171.369" width="100.01" height="12"/>
+			<rect x="0" y="165.369" width="100" height="12" class="st5"/>
+			<text x="4.7" y="174.37" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>strength  == “strong”</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Alpha_Nodes.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Authoring.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.86755in" height="4.12084in" viewBox="0 0 350.464 296.7" xml:space="preserve" color-interpolation-filters="sRGB" class="st8" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:1.00001em}
+		.st3 {font-size:1em}
+		.st4 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {marker-end:url(#mrkr13-28);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st8 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-28" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(87.4444,-253.941)">
+			<title content="structured text">Rectangle</title>
+			<desc content="structured text">Parser</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="275.441" width="85.04" height="42.5197"/>
+			<rect x="0" y="254.181" width="85.0394" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="24.85" y="279.04" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Parser</text>		</g>
+		<g id="shape5-4" v:mID="5" v:groupContext="shape" transform="translate(87.4444,-167.484)">
+			<title content="structured text">Rectangle.5</title>
+			<desc content="structured text">(descr) Intermediate AST</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="275.441" width="85.04" height="42.5197"/>
+			<rect x="0" y="254.181" width="85.0394" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="23.86" y="264.64" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>(descr)<v:newlineChar/><tspan x="9.17" dy="1.2em" class="st3">Intermediate  </tspan><tspan x="30.86" dy="1.2em" class="st3">AST</tspan></text>		</g>
+		<g id="shape6-9" v:mID="6" v:groupContext="shape" transform="translate(4.39717,-163.705)">
+			<title content="structured text">Document</title>
+			<desc content="structured text">xml drl</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a document or file to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.5118" cy="271.189" width="51.03" height="51.0236"/>
+			<path d="M34.02 228.67 L51.02 245.68 L34.02 245.68 L34.02 228.67 Z M0 228.67 L0 296.7 L51.02 296.7 L51.02 245.68 L34.02        245.68 L34.02 228.67 L0 228.67 Z" class="st4"/>
+			<text x="16.17" y="267.59" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>xml<v:newlineChar/><tspan x="18.83" dy="1.2em" class="st3">drl</tspan></text>		</g>
+		<g id="shape2-13" v:mID="2" v:groupContext="shape" transform="translate(9.49165,-0.24)">
+			<title content="structured text">Rectangle.2</title>
+			<desc content="structured text">Package Builder</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="120.472" cy="236.464" width="240.95" height="120.472"/>
+			<rect x="0" y="176.228" width="240.945" height="120.472" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="4" y="191.03" class="st2" v:langID="2057"><v:paragraph/><v:tabList/>Package Builder</text>		</g>
+		<g id="shape3-16" v:mID="3" v:groupContext="shape" transform="translate(151.799,-7.32661)">
+			<title content="structured text">Rectangle.3</title>
+			<desc content="structured text">Code Generator</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="275.441" width="85.04" height="42.5197"/>
+			<rect x="0" y="254.181" width="85.0394" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="28.18" y="271.84" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Code <tspan x="15.51" dy="1.2em" class="st3">Generator</tspan></text>		</g>
+		<g id="shape4-20" v:mID="4" v:groupContext="shape" transform="translate(151.799,-64.0195)">
+			<title content="structured text">Rectangle.4</title>
+			<desc content="structured text">Compiler</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="275.441" width="85.04" height="42.5197"/>
+			<rect x="0" y="254.181" width="85.0394" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="18.52" y="279.04" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Compiler</text>		</g>
+		<g id="shape8-23" v:mID="8" v:groupContext="shape" v:layerMember="0" transform="translate(122.877,-167.484)">
+			<title content="structured text">Dynamic connector</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 296.7 L7.09 335.19" class="st5"/>
+		</g>
+		<g id="shape11-29" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(122.877,-253.941)">
+			<title content="structured text">Dynamic connector.11</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 296.7 L7.09 332.36" class="st5"/>
+		</g>
+		<g id="shape13-34" v:mID="13" v:groupContext="shape" transform="translate(0.72,-169.988)">
+			<title content="structured text">Sheet.13</title>
+			<rect x="0" y="280.7" width="104" height="16" rx="5.66929" ry="5.66929" class="st7"/>
+		</g>
+		<g id="shape7-36" v:mID="7" v:groupContext="shape" v:layerMember="0" transform="translate(29.909,-231.736)">
+			<title content="structured text">Dynamic connector.7</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 296.7 L0 258.91 A5.66929 5.66929 0 0 1 5.67 253.24 L49.26 253.24" class="st5"/>
+		</g>
+		<g id="shape9-41" v:mID="9" v:groupContext="shape" transform="translate(299.2,-26.4605)">
+			<title content="structured text">Document.9</title>
+			<desc content="structured text">package</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a document or file to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.5118" cy="271.189" width="51.03" height="51.0236"/>
+			<path d="M34.02 228.67 L51.02 245.68 L34.02 245.68 L34.02 228.67 Z M0 228.67 L0 296.7 L51.02 296.7 L51.02 245.68 L34.02        245.68 L34.02 228.67 L0 228.67 Z" class="st4"/>
+			<text x="2.81" y="274.79" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>package</text>		</g>
+		<g id="shape10-44" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(250.437,-53.3896)">
+			<title content="structured text">Dynamic connector.10</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 289.61 L40.48 289.61" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Authoring.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Backward_Chaining.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="6.11267in"
+		height="7.69667in" viewBox="0 0 440.112 554.16" xml:space="preserve" color-interpolation-filters="sRGB" class="st9">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr4-65);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {marker-end:url(#mrkr4-65);stroke:#4677bf;stroke-dasharray:1.68,1.2;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st7 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+		.st8 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st9 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr4-65" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape8-1" v:mID="8" v:groupContext="shape" v:layerMember="0" transform="translate(213.763,-464.697)">
+			<title>Process.8</title>
+			<desc>Examine working memory and goals to see if goals are “known” ...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50.315" cy="523.971" width="100.63" height="60.378"/>
+			<rect x="0" y="493.782" width="100.63" height="60.378" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="4.31" y="511.97" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Examine working memory <tspan
+						x="7.18" dy="1.2em" class="st3">and goals to see if goals </tspan><tspan x="16.98" dy="1.2em" class="st3">are “known” true in </tspan><tspan
+						x="21.41" dy="1.2em" class="st3">knowledge base</tspan></text>		</g>
+		<g id="shape9-7" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(360.302,-472.701)">
+			<title>Process (circle).9</title>
+			<desc>Working Memory</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.1842" cy="531.976" width="44.37" height="44.3684"/>
+			<path d="M0 531.98 A22.1842 22.1842 0 0 1 44.37 531.98 A22.1842 22.1842 0 1 1 0 531.98 Z" class="st1"/>
+			<text x="7.51" y="529.58" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Working<v:newlineChar/><tspan
+						x="7.73" dy="1.2em" class="st3">Memory</tspan></text>		</g>
+		<g id="shape10-11" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(20.5755,-509.552)">
+			<title>Process (circle).10</title>
+			<desc>Rule Base</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.1842" cy="531.976" width="44.37" height="44.3684"/>
+			<path d="M0 531.98 A22.1842 22.1842 0 0 1 44.37 531.98 A22.1842 22.1842 0 1 1 0 531.98 Z" class="st1"/>
+			<text x="13.95" y="529.58" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule<v:newlineChar/><tspan
+						x="13.06" dy="1.2em" class="st3">Base</tspan></text>		</g>
+		<g id="shape11-15" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(20.5755,-437.768)">
+			<title>Process (circle).11</title>
+			<desc>Goal</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.1842" cy="531.976" width="44.37" height="44.3684"/>
+			<path d="M0 531.98 A22.1842 22.1842 0 0 1 44.37 531.98 A22.1842 22.1842 0 1 1 0 531.98 Z" class="st1"/>
+			<text x="13.73" y="534.38" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Goal</text>		</g>
+		<g id="shape12-18" v:mID="12" v:groupContext="shape" v:layerMember="0" transform="translate(228.645,-370.618)">
+			<title>Decision.12</title>
+			<desc>Do goals match?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="532.9" width="59.06" height="31.8898"/>
+			<path d="M0 532.9 L35.43 511.64 L70.87 532.9 L35.43 554.16 L0 532.9 Z" class="st1"/>
+			<text x="19.64" y="530.5" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Do goals <tspan
+						x="22.31" dy="1.2em" class="st3">match</tspan>?</text>		</g>
+		<g id="shape13-22" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(115.043,-379.122)">
+			<title>Process.13</title>
+			<desc>Return True</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="541.404" width="42.52" height="25.5118"/>
+			<rect x="0" y="528.648" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="9.24" y="539" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Return <tspan x="13.03"
+						dy="1.2em" class="st3">True</tspan></text>		</g>
+		<g id="shape14-26" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(157.563,-310.634)">
+			<title>Process.14</title>
+			<desc>Return False</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="541.404" width="42.52" height="25.5118"/>
+			<rect x="0" y="528.648" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="9.24" y="539" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Return <tspan x="11.47"
+						dy="1.2em" class="st3">False</tspan></text>		</g>
+		<g id="shape15-30" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(213.547,-237.925)">
+			<title>Process.15</title>
+			<desc>Determine next possible rules to fire by checking conclusions...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50.315" cy="523.971" width="100.63" height="60.378"/>
+			<rect x="0" y="493.782" width="100.63" height="60.378" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="7.41" y="516.77" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Determine next possible <tspan
+						x="8.31" dy="1.2em" class="st3">rules to fire by checking </tspan><tspan x="10.97" dy="1.2em" class="st3">conclusions and goals</tspan></text>		</g>
+		<g id="shape16-35" v:mID="16" v:groupContext="shape" v:layerMember="0" transform="translate(228.429,-169.185)">
+			<title>Decision.16</title>
+			<desc>Select Rule to Fire</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="532.9" width="59.06" height="31.8898"/>
+			<path d="M0 532.9 L35.43 511.64 L70.87 532.9 L35.43 554.16 L0 532.9 Z" class="st1"/>
+			<text x="10.53" y="530.5" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Select Rule to <tspan
+						x="28.54" dy="1.2em" class="st3">Fire</tspan></text>		</g>
+		<g id="shape17-39" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(347.484,-162.098)">
+			<title>Process (circle).17</title>
+			<desc>Conflict Resolution Strategy</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="28.3465" cy="525.814" width="56.7" height="56.6929"/>
+			<path d="M0 525.81 A28.3465 28.3465 0 1 1 56.69 525.81 A28.3465 28.3465 0 1 1 0 525.81 Z" class="st1"/>
+			<text x="15.01" y="518.61" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Conflict<v:newlineChar/><tspan
+						x="9.45" dy="1.2em" class="st3">Resolution<v:newlineChar/></tspan><tspan x="13.45" dy="1.2em" class="st3">Strategy</tspan></text>		</g>
+		<g id="shape18-44" v:mID="18" v:groupContext="shape" v:layerMember="0" transform="translate(123.547,-177.689)">
+			<title>Process.18</title>
+			<desc>Fire Rule</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="541.404" width="42.52" height="25.5118"/>
+			<rect x="0" y="528.648" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="5.02" y="543.8" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Fire Rule</text>		</g>
+		<g id="shape19-47" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-228.996)">
+			<title>Process.19</title>
+			<desc>For each rule condition, recursively backchain with condition...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="527.515" width="85.04" height="53.2913"/>
+			<rect x="0" y="500.869" width="85.0394" height="53.2913" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="18.96" y="515.51" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>For each rule <tspan
+						x="5.18" dy="1.2em" class="st3">condition</tspan>, recursively <tspan x="16.29" dy="1.2em" class="st3">backchain with </tspan><tspan
+						x="11.39" dy="1.2em" class="st3">condition as goal</tspan>.</text>		</g>
+		<g id="shape20-53" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(7.32661,-42.7597)">
+			<title>Decision.20</title>
+			<desc>All recursion returns true?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="526.522" width="59.06" height="41.4567"/>
+			<path d="M0 526.52 L35.43 498.88 L70.87 526.52 L35.43 554.16 L0 526.52 Z" class="st1"/>
+			<text x="13.42" y="524.12" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>All recursion <tspan
+						x="12.75" dy="1.2em" class="st3">returns true</tspan>?</text>		</g>
+		<g id="shape21-57" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(341.815,-0.24)">
+			<title>Process.21</title>
+			<desc>true</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="541.404" width="42.52" height="25.5118"/>
+			<rect x="0" y="528.648" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="14.36" y="543.8" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>true</text>		</g>
+		<g id="shape31-60" v:mID="31" v:groupContext="shape" v:layerMember="1" transform="translate(64.9439,-531.736)">
+			<title>Dynamic connector.31</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L10.63 554.16 A10.6299 10.6299 0 0 1 21.26 564.79 L21.26 564.79 A26.2205 26.2205 -180 0 0 47.48 591.01
+						 L143.3 591.01" class="st4"/>
+		</g>
+		<g id="shape32-66" v:mID="32" v:groupContext="shape" v:layerMember="1" transform="translate(64.9439,-459.952)">
+			<title>Dynamic connector.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L10.63 554.16 A10.6299 10.6299 -180 0 0 21.26 543.53 L21.26 543.53 A24.304 24.304 0 0 1 45.56 519.23
+						 L143.3 519.23" class="st4"/>
+		</g>
+		<g id="shape33-71" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(35.6731,-282.287)">
+			<title>Dynamic connector.33</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 554.16 L7.09 404.2" class="st4"/>
+		</g>
+		<g id="shape34-76" v:mID="34" v:groupContext="shape" v:layerMember="1" transform="translate(136.303,-379.122)">
+			<title>Dynamic connector.34</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L0 649.36 L-0 677.64 L-45.5 677.64" class="st6"/>
+		</g>
+		<g id="shape35-81" v:mID="35" v:groupContext="shape" v:layerMember="1" transform="translate(157.563,-323.39)">
+			<title>Dynamic connector.35</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L-21.26 554.16 L-21.26 621.91 L-66.76 621.91" class="st6"/>
+		</g>
+		<g id="shape36-86" v:mID="36" v:groupContext="shape" v:layerMember="1" transform="translate(228.645,-384.791)">
+			<title>Dynamic connector.36</title>
+			<desc>yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-35.5409" cy="547.074" width="40" height="17.6036"/>
+			<path d="M0 547.07 L-65.56 547.07" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-42.1406" y="542.274" width="12.4494" height="9.59985" class="st7"/>
+			<text x="-41.77" y="549.47" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape37-93" v:mID="37" v:groupContext="shape" v:layerMember="1" transform="translate(264.078,-370.618)">
+			<title>Dynamic connector.37</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L0 601.39 L-58.48 601.39" class="st6"/>
+		</g>
+		<g id="shape38-98" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(271.057,-370.618)">
+			<title>Dynamic connector.38</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-6.98 554.16 L-6.98 575.42 L-7.19 575.42 L-7.19 620.96" class="st4"/>
+		</g>
+		<g id="shape39-103" v:mID="39" v:groupContext="shape" v:layerMember="1" transform="translate(270.949,-237.925)">
+			<title>Dynamic connector.39</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 554.16 L-7.09 574.86" class="st4"/>
+		</g>
+		<g id="shape40-108" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(270.949,-169.185)">
+			<title>Dynamic connector.40</title>
+			<desc>No Rule Found</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-7.08661" cy="581.94" width="42.11" height="27.2035"/>
+			<path d="M-7.09 554.16 L-7.09 604.2" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-21.913" y="572.34" width="28.9023" height="19.1997" class="st7"/>
+			<text x="-21.54" y="579.54" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>No Rule <v:newlineChar/><tspan
+						x="-18.43" dy="1.2em" class="st3">Found</tspan></text>		</g>
+		<g id="shape41-116" v:mID="41" v:groupContext="shape" v:layerMember="0" transform="translate(242.602,-88.114)">
+			<title>Process.41</title>
+			<desc>Exit</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="541.404" width="42.52" height="25.5118"/>
+			<rect x="0" y="528.648" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="14.58" y="543.8" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Exit</text>		</g>
+		<g id="shape42-119" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(42.7597,-42.7597)">
+			<title>Dynamic connector.42</title>
+			<desc>Goals found to be true, exist, returning true</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="2"/>
+			<v:textRect cx="134.646" cy="583.924" width="163.07" height="17.6036"/>
+			<path d="M0 554.16 L0 583.92 L293.54 583.92" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="58.2236" y="579.126" width="152.084" height="9.59985" class="st7"/>
+			<text x="58.6" y="586.33" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Goals found to be true, exist, returning true</text>		</g>
+		<g id="shape43-126" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(35.6731,-228.996)">
+			<title>Dynamic connector.43</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 554.16 L7.09 679.6" class="st4"/>
+		</g>
+		<g id="shape44-131" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(228.429,-183.358)">
+			<title>Dynamic connector.44</title>
+			<desc>Rule Found</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-31.1811" cy="547.074" width="40" height="27.2035"/>
+			<path d="M0 547.07 L-56.84 547.07" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-42.8977" y="537.474" width="22.6835" height="19.1997" class="st7"/>
+			<text x="-39.41" y="544.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule <v:newlineChar/><tspan
+						x="-42.52" dy="1.2em" class="st3">Found</tspan></text>		</g>
+		<g id="shape45-139" v:mID="45" v:groupContext="shape" v:layerMember="1" transform="translate(123.547,-190.445)">
+			<title>Dynamic connector.45</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L-21.26 554.16 L-21.26 488.96 L-32.75 488.96" class="st4"/>
+		</g>
+		<g id="shape46-144" v:mID="46" v:groupContext="shape" v:layerMember="1" transform="translate(347.484,-183.358)">
+			<title>Dynamic connector.46</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 547.07 L-42.67 547.07" class="st4"/>
+		</g>
+		<g id="shape47-149" v:mID="47" v:groupContext="shape" v:layerMember="1" transform="translate(360.302,-487.799)">
+			<title>Dynamic connector.47</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 547.07 L-40.39 547.07" class="st4"/>
+		</g>
+		<g id="shape48-154" v:mID="48" v:groupContext="shape" v:layerMember="1" transform="translate(78.1928,-70.3975)">
+			<title>Dynamic connector.48</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 554.16 L355.75 554.16 L355.75 356.44 L241.5 356.44" class="st4"/>
+		</g>
+		<g id="shape49-159" v:mID="49" v:groupContext="shape" transform="translate(596.92,504.755) rotate(90)">
+			<title>Sheet.49</title>
+			<desc>Yes</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.622" cy="548.16" width="39.25" height="12"/>
+			<rect x="0" y="542.16" width="39.2441" height="12" class="st8"/>
+			<text x="12.73" y="550.56" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Yes</text>		</g>
+		<g id="shape51-162" v:mID="51" v:groupContext="shape" transform="translate(136.303,-58.3975)">
+			<title>Sheet.51</title>
+			<desc>One or more goals failed, Check next matching rule</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="100.472" cy="548.16" width="200.95" height="12"/>
+			<rect x="0" y="542.16" width="200.945" height="12" class="st8"/>
+			<text x="9.32" y="550.56" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>One or more goals failed, Check next matching rule</text>		</g>
+		<g id="shape52-165" v:mID="52" v:groupContext="shape" transform="translate(-511.401,236.834) rotate(-90)">
+			<title>Sheet.52</title>
+			<desc>Recursively back-chain</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="548.16" width="100.01" height="12"/>
+			<rect x="0" y="542.16" width="100" height="12" class="st8"/>
+			<text x="8.87" y="550.56" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Recursively back-chain</text>		</g>
+		<g id="shape53-168" v:mID="53" v:groupContext="shape" transform="translate(-497.983,266.597) rotate(-90)">
+			<title>Sheet.53</title>
+			<desc>Each condition of fired rule is a goal</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="71.2598" cy="548.16" width="142.52" height="12"/>
+			<rect x="0" y="542.16" width="142.52" height="12" class="st8"/>
+			<text x="7.88" y="550.56" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Each condition of fired rule is a goal</text>		</g>
+		<g id="shape54-171" v:mID="54" v:groupContext="shape" transform="translate(269.531,-311.39)">
+			<title>Sheet.54</title>
+			<desc>No (return false to recursive procedure)</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="68.0315" cy="548.16" width="136.07" height="12"/>
+			<rect x="0" y="542.16" width="136.063" height="12" class="st8"/>
+			<text x="62.91" y="545.76" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>No <v:newlineChar/><tspan
+						x="4.44" dy="1.2em" class="st3">(</tspan>return false to recursive procedure)</text>		</g>
+		<g id="shape56-175" v:mID="56" v:groupContext="shape" v:layerMember="1" transform="translate(256.991,-464.697)">
+			<title>Dynamic connector.56</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 554.16 L7.09 600.2" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Backward_Chaining.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Chaining.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Chaining.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/EventManager.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/EventManager.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Forward_Chaining.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.61981in" height="3.28722in" viewBox="0 0 332.627 236.68" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr4-34);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-34" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(176.481,-71.1061)">
+			<title content="structured text">Decision</title>
+			<desc content="structured text">Select Rule to Fire</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="215.42" width="59.06" height="31.8898"/>
+			<path d="M0 215.42 L35.43 194.16 L70.87 215.42 L35.43 236.68 L0 215.42 Z" class="st1"/>
+			<text x="24.31" y="213.02" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Select <v:newlineChar/><tspan x="14.76" dy="1.2em" class="st3">Rule to Fire</tspan></text>		</g>
+		<g id="shape2-5" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(176.481,-162.523)">
+			<title content="structured text">Process</title>
+			<desc content="structured text">Determine possible rules to fire</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="215.42" width="70.87" height="42.5197"/>
+			<rect x="0" y="194.16" width="70.8661" height="42.5197" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="16.97" y="208.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Determine <tspan x="6.52" dy="1.2em" class="st3">possible rules to </tspan><tspan x="29.87" dy="1.2em" class="st3">fire</tspan></text>		</g>
+		<g id="shape3-10" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(190.654,-0.24)">
+			<title content="structured text">Process.3</title>
+			<desc content="structured text">exit</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="223.924" width="42.52" height="25.5118"/>
+			<rect x="0" y="211.168" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="15.03" y="226.32" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>exit</text>		</g>
+		<g id="shape4-13" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-79.6101)">
+			<title content="structured text">Process.4</title>
+			<desc content="structured text">Fire Rule</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="223.924" width="42.52" height="25.5118"/>
+			<rect x="0" y="211.168" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="5.02" y="226.32" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Fire Rule</text>		</g>
+		<g id="shape5-16" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(47.0733,-192.072)">
+			<title content="structured text">Process (circle)</title>
+			<desc content="structured text">Rule Base</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.1842" cy="214.496" width="44.37" height="44.3684"/>
+			<path d="M0 214.5 A22.1842 22.1842 0 0 1 44.37 214.5 A22.1842 22.1842 0 1 1 0 214.5 Z" class="st1"/>
+			<text x="13.95" y="212.1" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule<v:newlineChar/><tspan x="13.06" dy="1.2em" class="st3">Base</tspan></text>		</g>
+		<g id="shape6-20" v:mID="6" v:groupContext="shape" v:layerMember="0" transform="translate(47.0733,-131.127)">
+			<title content="structured text">Process (circle).6</title>
+			<desc content="structured text">Working Memory</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.1842" cy="214.496" width="44.37" height="44.3684"/>
+			<path d="M0 214.5 A22.1842 22.1842 0 0 1 44.37 214.5 A22.1842 22.1842 0 1 1 0 214.5 Z" class="st1"/>
+			<text x="7.51" y="212.1" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Working<v:newlineChar/><tspan x="7.73" dy="1.2em" class="st3">Memory</tspan></text>		</g>
+		<g id="shape7-24" v:mID="7" v:groupContext="shape" v:layerMember="0" transform="translate(275.694,-64.0195)">
+			<title content="structured text">Process (circle).7</title>
+			<desc content="structured text">Conflict Resolution Strategy</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="28.3465" cy="208.333" width="56.7" height="56.6929"/>
+			<path d="M0 208.33 A28.3465 28.3465 0 1 1 56.69 208.33 A28.3465 28.3465 0 1 1 0 208.33 Z" class="st1"/>
+			<text x="15.01" y="201.13" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Conflict<v:newlineChar/><tspan x="9.45" dy="1.2em" class="st3">Resolution<v:newlineChar/></tspan><tspan x="13.45" dy="1.2em" class="st3">Strategy</tspan></text>		</g>
+		<g id="shape22-29" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(176.481,-85.2794)">
+			<title content="structured text">Dynamic connector</title>
+			<desc content="structured text">Rule Found</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-66.8607" cy="229.593" width="40" height="27.2035"/>
+			<path d="M0 229.59 L-128.2 229.59" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-78.5772" y="219.994" width="22.6835" height="19.1997" class="st6"/>
+			<text x="-75.09" y="227.19" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule<v:newlineChar/><tspan x="-78.2" dy="1.2em" class="st3">Found</tspan></text>		</g>
+		<g id="shape23-38" v:mID="23" v:groupContext="shape" v:layerMember="1" transform="translate(21.4998,-105.122)">
+			<title content="structured text">Dynamic connector.23</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 236.68 L0 188.49 L20.05 188.49" class="st4"/>
+		</g>
+		<g id="shape24-43" v:mID="24" v:groupContext="shape" v:layerMember="1" transform="translate(21.4998,-105.122)">
+			<title content="structured text">Dynamic connector.24</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 236.68 L0 127.55 L20.05 127.55" class="st4"/>
+		</g>
+		<g id="shape25-48" v:mID="25" v:groupContext="shape" v:layerMember="1" transform="translate(91.4416,-214.256)">
+			<title content="structured text">Dynamic connector.25</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 236.68 L10.63 236.68 A10.6299 10.6299 0 0 1 21.26 247.31 L21.26 247.31 A19.8425 19.8425 -180 0 0 41.1 267.15        L79.52 267.15" class="st4"/>
+		</g>
+		<g id="shape26-53" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(91.4416,-153.311)">
+			<title content="structured text">Dynamic connector.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 236.68 L10.63 236.68 A10.6299 10.6299 -180 0 0 21.26 226.05 L21.26 226.05 A19.8425 19.8425 0 0 1 41.1 206.21        L79.52 206.21" class="st4"/>
+		</g>
+		<g id="shape27-58" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(204.827,-162.523)">
+			<title content="structured text">Dynamic connector.27</title>
+			<desc content="structured text">Conflict Set</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="261.129" width="51.89" height="17.6036"/>
+			<path d="M7.09 236.68 L7.09 280.06" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-13.7318" y="256.329" width="40.9057" height="9.59985" class="st6"/>
+			<text x="-13.36" y="263.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Conflict Set</text>		</g>
+		<g id="shape28-65" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(204.827,-71.1061)">
+			<title content="structured text">Dynamic connector.28</title>
+			<desc content="structured text">No Rule Found</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="259.357" width="40" height="27.2035"/>
+			<path d="M7.09 236.68 L7.09 276.51" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-7.73937" y="249.757" width="28.9023" height="19.1997" class="st6"/>
+			<text x="-7.36" y="256.96" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>No Rule<v:newlineChar/><tspan x="-4.26" dy="1.2em" class="st3">Found</tspan></text>		</g>
+		<g id="shape29-73" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(21.4998,-79.6101)">
+			<title content="structured text">Dynamic connector.29</title>
+			<desc content="structured text">Exit If specified by rule</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="51.2701" cy="303.294" width="91.02" height="17.6036"/>
+			<path d="M0 236.68 L0 303.29 L163.63 303.29" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="10.8731" y="298.494" width="80.0343" height="9.59985" class="st6"/>
+			<text x="11.25" y="305.69" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Exit If specified by rule</text>		</g>
+		<g id="shape30-80" v:mID="30" v:groupContext="shape" v:layerMember="1" transform="translate(275.694,-85.2794)">
+			<title content="structured text">Dynamic connector.30</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 229.59 L-22.83 229.59" class="st4"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Forward_Chaining.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Inference_Engine.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="6.52453in" height="3.99817in" viewBox="0 0 469.766 287.869" xml:space="preserve" color-interpolation-filters="sRGB" class="st9" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#ffffff}
+		.st2 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st3 {fill:#000000;font-family:Arial;font-size:1.66667em}
+		.st4 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {font-size:1em}
+		.st6 {marker-end:url(#mrkr13-23);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st7 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st8 {marker-end:url(#mrkr4-34);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st9 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-23" class="st7" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-34" class="st7" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Network" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape12-1" v:mID="12" v:groupContext="shape" v:layerMember="0" transform="translate(0.72,-187.327)">
+			<title content="structured text">Datastore.12</title>
+			<desc content="structured text">Rules</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="49.9109" cy="244.196" width="99.83" height="62.3887"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52 Z" class="st1"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52" class="st2"/>
+			<path d="M0 200.52 A49.9109 12.4777 -180 1 0 99.82 200.52" class="st2"/>
+			<text x="24.33" y="250.2" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rules</text>		</g>
+		<g id="shape13-6" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(369.224,-187.327)">
+			<title content="structured text">Datastore.13</title>
+			<desc content="structured text">Facts</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="49.9109" cy="244.196" width="99.83" height="62.3887"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52 Z" class="st1"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52" class="st2"/>
+			<path d="M0 200.52 A49.9109 12.4777 -180 1 0 99.82 200.52" class="st2"/>
+			<text x="25.45" y="250.2" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Facts</text>		</g>
+		<g id="shape15-11" v:mID="15" v:groupContext="shape" transform="translate(161.182,-138.464)">
+			<title content="structured text">Rectangle.18</title>
+			<desc content="structured text">Inference Engine</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="73.7008" cy="259.522" width="147.41" height="56.6929"/>
+			<rect x="0" y="231.176" width="147.402" height="56.6929" class="st4"/>
+			<text x="32.01" y="253.18" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Inference <tspan x="42.56" dy="1.2em" class="st5">Engine</tspan></text>		</g>
+		<g id="shape17-15" v:mID="17" v:groupContext="shape" transform="translate(164.017,-0.24)">
+			<title content="structured text">Rectangle.22</title>
+			<desc content="structured text">Conclusions</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="70.8661" cy="262.357" width="141.74" height="51.0236"/>
+			<rect x="0" y="236.845" width="141.732" height="51.0236" class="st4"/>
+			<text x="16.4" y="268.36" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Conclusions</text>		</g>
+		<g id="shape18-18" v:mID="18" v:groupContext="shape" v:layerMember="1" transform="translate(100.542,-237.238)">
+			<title content="structured text">Dynamic connector.18</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 287.87 L10.63 287.87 A10.6299 10.6299 0 0 1 21.26 298.5 L21.26 338.61 A19.6902 19.6902 -180 0 0 40.95 358.3        L52.36 358.3" class="st6"/>
+		</g>
+		<g id="shape19-24" v:mID="19" v:groupContext="shape" v:layerMember="1" transform="translate(369.224,-237.238)">
+			<title content="structured text">Dynamic connector.19</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 287.87 L-10.63 287.87 A10.6299 10.6299 -180 0 0 -21.26 298.5 L-21.26 338.61 A19.6902 19.6902 0 0 1 -40.95        358.3 L-52.36 358.3" class="st6"/>
+		</g>
+		<g id="shape14-29" v:mID="14" v:groupContext="shape" v:layerMember="1" transform="translate(227.796,-138.464)">
+			<title content="structured text">Dynamic connector.6</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 287.87 L7.09 369.55" class="st8"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Inference_Engine.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/JavaDialectConfiguration.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/JavaDialectConfiguration.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Join_Node.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.29493in" height="4.25016in" viewBox="0 0 309.235 306.012" xml:space="preserve" color-interpolation-filters="sRGB" class="st11" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {marker-end:url(#mrkr4-10);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st7 {fill:#00ff00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#ffcc00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st9 {font-size:1em}
+		.st10 {marker-end:url(#mrkr4-40);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st11 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-10" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-40" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="21.5" refX="-21.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape47-1" v:mID="47" v:groupContext="shape" v:layerMember="0;1" transform="translate(36.5468,-250.299)">
+			<title content="structured text">On-page reference.47</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 291.84 A14.1732 14.1732 0 0 1 28.35 291.84 A14.1732 14.1732 0 1 1 0 291.84 Z" class="st1"/>
+		</g>
+		<g id="shape48-3" v:mID="48" v:groupContext="shape" v:layerMember="0;1" transform="translate(36.5468,-179.433)">
+			<title content="structured text">On-page reference.48</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 291.84 A14.1732 14.1732 0 0 1 28.35 291.84 A14.1732 14.1732 0 1 1 0 291.84 Z" class="st2"/>
+		</g>
+		<g id="shape49-5" v:mID="49" v:groupContext="shape" v:layerMember="0" transform="translate(43.6334,-250.299)">
+			<title content="structured text">Dynamic connector.49</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 306.01 L7.09 343.01" class="st3"/>
+		</g>
+		<g id="shape50-11" v:mID="50" v:groupContext="shape" transform="translate(0.72,-292.441)">
+			<title content="structured text">Sheet.50</title>
+			<desc content="structured text">Cheese</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="300.012" width="100.01" height="12"/>
+			<rect x="0" y="294.012" width="100" height="12" class="st5"/>
+			<text x="32.77" y="303.01" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Cheese</text>		</g>
+		<g id="shape55-14" v:mID="55" v:groupContext="shape" transform="translate(67.3342,-193.607)">
+			<title content="structured text">Sheet.55</title>
+			<desc content="structured text">name == “cheddar”</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="300.012" width="100.01" height="12"/>
+			<rect x="0" y="294.012" width="100" height="12" class="st5"/>
+			<text x="7.48" y="303.01" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name == “cheddar”</text>		</g>
+		<g id="shape43-17" v:mID="43" v:groupContext="shape" v:layerMember="0;1" transform="translate(206.744,-250.299)">
+			<title content="structured text">On-page reference.43</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 291.84 A14.1732 14.1732 0 0 1 28.35 291.84 A14.1732 14.1732 0 1 1 0 291.84 Z" class="st1"/>
+		</g>
+		<g id="shape44-19" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(106.311,563.362) scale(1,-1)">
+			<title content="structured text">Manual operation</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 306.01 L56.69 306.01 L70.87 263.49 L0 263.49 L14.17 306.01 Z" class="st7"/>
+		</g>
+		<g id="shape45-21" v:mID="45" v:groupContext="shape" v:layerMember="0;1" transform="translate(36.5468,-109.04)">
+			<title content="structured text">On-page reference.45</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 291.84 A14.1732 14.1732 0 0 1 28.35 291.84 A14.1732 14.1732 0 1 1 0 291.84 Z" class="st8"/>
+		</g>
+		<g id="shape46-23" v:mID="46" v:groupContext="shape" v:layerMember="0" transform="translate(43.6334,-179.433)">
+			<title content="structured text">Dynamic connector</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 306.01 L7.09 342.54" class="st3"/>
+		</g>
+		<g id="shape53-28" v:mID="53" v:groupContext="shape" transform="translate(173.555,-293.292)">
+			<title content="structured text">Sheet.53</title>
+			<desc content="structured text">Person</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="300.012" width="100.01" height="12"/>
+			<rect x="0" y="294.012" width="100" height="12" class="st5"/>
+			<text x="34.16" y="303.01" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person</text>		</g>
+		<g id="shape57-31" v:mID="57" v:groupContext="shape" transform="translate(179.854,-6.00027)">
+			<title content="structured text">Sheet.57</title>
+			<desc content="structured text">Person.favouriteCheese == Cheese.name</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="64.3307" cy="300.012" width="128.67" height="12"/>
+			<rect x="0" y="294.012" width="128.661" height="12" class="st5"/>
+			<text x="3.45" y="297.01" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person.favouriteCheese == <tspan x="33.19" dy="1.2em" class="st9">Cheese</tspan>.name</text>		</g>
+		<g id="shape58-35" v:mID="58" v:groupContext="shape" v:layerMember="0" transform="translate(50.72,-109.04)">
+			<title content="structured text">Dynamic connector.58</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 306.01 C0 326.42 -1.58 348.16 11.1 363.81 C21.58 376.75 41.8 385.52 57.17 387.31 L57.53 387.33" class="st10"/>
+		</g>
+		<g id="shape59-41" v:mID="59" v:groupContext="shape" v:layerMember="0" transform="translate(220.917,-250.299)">
+			<title content="structured text">Dynamic connector.59</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 306.01 C0 414.89 -3.87 456.43 -18.58 491.78 C-25.52 508.47 -34.89 523.78 -45.41 527.85 L-45.76 527.92" class="st10"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Join_Node.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Logical_Assertion.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="6.5421in" height="5.12478in" viewBox="0 0 471.031 368.984" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr4-15);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-15" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(264.334,-241.185)">
+			<title content="structured text">Decision</title>
+			<desc content="structured text">Does the Object already exist?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="333.551" width="64.97" height="53.1496"/>
+			<path d="M0 333.55 L38.98 298.12 L77.95 333.55 L38.98 368.98 L0 333.55 Z" class="st1"/>
+			<text x="10.29" y="331.15" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Does the Object <tspan x="14.29" dy="1.2em" class="st3">already exist</tspan>?</text>		</g>
+		<g id="shape2-5" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(264.334,-106.539)">
+			<title content="structured text">Decision.2</title>
+			<desc content="structured text">Is the Object STATED or JUSTIFED?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="333.551" width="64.97" height="53.1496"/>
+			<path d="M0 333.55 L38.98 298.12 L77.95 333.55 L38.98 368.98 L0 333.55 Z" class="st1"/>
+			<text x="16.52" y="326.35" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is the Object <tspan x="18.52" dy="1.2em" class="st3">STATED or </tspan><tspan x="17.64" dy="1.2em" class="st3">JUSTIFED</tspan>?</text>		</g>
+		<g id="shape3-10" v:mID="3" v:groupContext="shape" v:layerMember="1" transform="translate(296.224,-241.185)">
+			<title content="structured text">Dynamic connector</title>
+			<desc content="structured text">yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="400.874" width="40" height="17.6036"/>
+			<path d="M7.09 368.98 L7.09 427.24" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="0.486913" y="396.074" width="12.4494" height="9.59985" class="st6"/>
+			<text x="0.86" y="403.27" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape5-18" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(399.925,-120.712)">
+			<title content="structured text">Process</title>
+			<desc content="structured text">Can’t Justify a STATED fact, return existing FactHandle.</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="347.724" width="70.87" height="42.5197"/>
+			<rect x="0" y="326.464" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="10.3" y="335.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Can’t Justify a <tspan x="10.98" dy="1.2em" class="st3">STATED fact</tspan>, <tspan x="10.3" dy="1.2em" class="st3">return existing </tspan><tspan x="13.86" dy="1.2em" class="st3">FactHandle</tspan>.</text>		</g>
+		<g id="shape6-24" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(342.287,-134.886)">
+			<title content="structured text">Dynamic connector.6</title>
+			<desc content="structured text">STATED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="28.8189" cy="361.897" width="42.54" height="17.6036"/>
+			<path d="M0 361.9 L52.12 361.9" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="12.6728" y="357.098" width="31.5582" height="9.59985" class="st6"/>
+			<text x="13.05" y="364.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>STATED</text>		</g>
+		<g id="shape7-31" v:mID="7" v:groupContext="shape" v:layerMember="1" transform="translate(296.224,-106.539)">
+			<title content="structured text">Dynamic connector.7</title>
+			<desc content="structured text">JUSTIFIED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="400.874" width="51.43" height="17.6036"/>
+			<path d="M7.09 368.98 L7.09 427.24" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-13.5213" y="396.074" width="40.4451" height="9.59985" class="st6"/>
+			<text x="-13.15" y="403.27" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>JUSTIFIED</text>		</g>
+		<g id="shape8-38" v:mID="8" v:groupContext="shape" v:layerMember="0" transform="translate(267.878,-0.24)">
+			<title content="structured text">Process.8</title>
+			<desc content="structured text">Add additional justification and return existing FactHandle</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="347.724" width="70.87" height="42.5197"/>
+			<rect x="0" y="326.464" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="10.07" y="335.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Add additional <tspan x="7.85" dy="1.2em" class="st3">justification and </tspan><tspan x="10.3" dy="1.2em" class="st3">return existing </tspan><tspan x="14.97" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape4-44" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(128.744,-241.185)">
+			<title content="structured text">Decision.4</title>
+			<desc content="structured text">Is there an existing Equal Object?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="333.551" width="64.97" height="53.1496"/>
+			<path d="M0 333.55 L38.98 298.12 L77.95 333.55 L38.98 368.98 L0 333.55 Z" class="st1"/>
+			<text x="20.07" y="326.35" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is there an <tspan x="14.07" dy="1.2em" class="st3">existing Equal </tspan><tspan x="25.19" dy="1.2em" class="st3">Object</tspan>?</text>		</g>
+		<g id="shape9-49" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(264.334,-269.531)">
+			<title content="structured text">Dynamic connector.9</title>
+			<desc content="structured text">no</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="361.897" width="40" height="17.6036"/>
+			<path d="M0 361.9 L-52.12 361.9" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-33.6429" y="357.098" width="8.89838" height="9.59985" class="st6"/>
+			<text x="-33.27" y="364.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>no</text>		</g>
+		<g id="shape10-56" v:mID="10" v:groupContext="shape" v:layerMember="1" transform="translate(160.634,-241.185)">
+			<title content="structured text">Dynamic connector.10</title>
+			<desc content="structured text">yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="400.874" width="40" height="17.6036"/>
+			<path d="M7.09 368.98 L7.09 427.24" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="0.486913" y="396.074" width="12.4494" height="9.59985" class="st6"/>
+			<text x="0.86" y="403.27" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape11-63" v:mID="11" v:groupContext="shape" v:layerMember="1" transform="translate(128.744,-269.531)">
+			<title content="structured text">Dynamic connector.11</title>
+			<desc content="structured text">no</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="361.897" width="40" height="17.6036"/>
+			<path d="M0 361.9 L-52.12 361.9" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-33.6429" y="357.098" width="8.89838" height="9.59985" class="st6"/>
+			<text x="-33.27" y="364.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>no</text>		</g>
+		<g id="shape13-70" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(128.744,-106.539)">
+			<title content="structured text">Decision.13</title>
+			<desc content="structured text">Is the Object STATED or JUSTIFE?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="333.551" width="64.97" height="53.1496"/>
+			<path d="M0 333.55 L38.98 298.12 L77.95 333.55 L38.98 368.98 L0 333.55 Z" class="st1"/>
+			<text x="16.52" y="326.35" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is the Object <tspan x="18.52" dy="1.2em" class="st3">STATED or </tspan><tspan x="20.52" dy="1.2em" class="st3">JUSTIFE</tspan>?</text>		</g>
+		<g id="shape14-75" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-120.712)">
+			<title content="structured text">Process.14</title>
+			<desc content="structured text">Can’t Justify a STATED fact, return null.</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="347.724" width="70.87" height="42.5197"/>
+			<rect x="0" y="326.464" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="10.3" y="340.52" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Can’t Justify a <tspan x="10.98" dy="1.2em" class="st3">STATED fact</tspan>, <tspan x="16.53" dy="1.2em" class="st3">return null</tspan>.</text>		</g>
+		<g id="shape15-80" v:mID="15" v:groupContext="shape" v:layerMember="1" transform="translate(128.744,-134.886)">
+			<title content="structured text">Dynamic connector.15</title>
+			<desc content="structured text">STATED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="361.897" width="42.54" height="17.6036"/>
+			<path d="M0 361.9 L-52.12 361.9" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-44.965" y="357.098" width="31.5582" height="9.59985" class="st6"/>
+			<text x="-44.59" y="364.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>STATED</text>		</g>
+		<g id="shape16-87" v:mID="16" v:groupContext="shape" v:layerMember="1" transform="translate(160.634,-106.539)">
+			<title content="structured text">Dynamic connector.16</title>
+			<desc content="structured text">JUSTIFIED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="400.874" width="51.43" height="17.6036"/>
+			<path d="M7.09 368.98 L7.09 427.24" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-13.5213" y="396.074" width="40.4451" height="9.59985" class="st6"/>
+			<text x="-13.15" y="403.27" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>JUSTIFIED</text>		</g>
+		<g id="shape12-94" v:mID="12" v:groupContext="shape" v:layerMember="0" transform="translate(132.287,-0.24)">
+			<title content="structured text">Process.12</title>
+			<desc content="structured text">Add first justification and return new FactHandle</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="347.724" width="70.87" height="42.5197"/>
+			<rect x="0" y="326.464" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="20.75" y="335.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Add first <tspan x="7.85" dy="1.2em" class="st3">justification and </tspan><tspan x="16.53" dy="1.2em" class="st3">return new </tspan><tspan x="14.97" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape17-100" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-255.358)">
+			<title content="structured text">Process.17</title>
+			<desc content="structured text">Add first justification and return new FactHandle</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="347.724" width="70.87" height="42.5197"/>
+			<rect x="0" y="326.464" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="20.75" y="335.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Add first <tspan x="7.85" dy="1.2em" class="st3">justification and </tspan><tspan x="16.53" dy="1.2em" class="st3">return new </tspan><tspan x="14.97" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape18-106" v:mID="18" v:groupContext="shape" v:layerMember="1;0" transform="translate(297.315,-356.279)">
+			<title content="structured text">On-page reference.83</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 362.75 A6.23259 6.23259 0 0 1 12.47 362.75 A6.23259 6.23259 0 1 1 0 362.75 Z" class="st1"/>
+		</g>
+		<g id="shape19-108" v:mID="19" v:groupContext="shape" v:layerMember="1" transform="translate(310.516,-356.279)">
+			<title content="structured text">Dynamic connector.19</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-6.97 368.98 L-6.97 390.24 L-7.2 390.24 L-7.2 407.69" class="st4"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Logical_Assertion.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/MVELDialectConfiguration.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/MVELDialectConfiguration.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Male_People.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="6.52453in" height="3.99817in" viewBox="0 0 469.766 287.869" xml:space="preserve" color-interpolation-filters="sRGB" class="st10" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#ffffff}
+		.st2 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st3 {fill:#000000;font-family:Arial;font-size:1.5em}
+		.st4 {font-size:1em}
+		.st5 {fill:#000000;font-family:Arial;font-size:1.66667em}
+		.st6 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st7 {marker-end:url(#mrkr13-24);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st9 {marker-end:url(#mrkr4-35);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st10 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-24" class="st8" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-35" class="st8" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Network" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(0.72,-187.327)">
+			<title content="structured text">Datastore.12</title>
+			<desc content="structured text">People.sex == “male”</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="49.9109" cy="244.196" width="99.83" height="62.3887"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52 Z" class="st1"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52" class="st2"/>
+			<path d="M0 200.52 A49.9109 12.4777 -180 0 0 99.82 200.52" class="st2"/>
+			<text x="5.37" y="238.8" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>People.sex <tspan x="11.39" dy="1.2em" class="st4">== </tspan>“male”</text>		</g>
+		<g id="shape2-7" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(369.224,-187.327)">
+			<title content="structured text">Datastore.13</title>
+			<desc content="structured text">People</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="49.9109" cy="244.196" width="99.83" height="62.3887"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52 Z" class="st1"/>
+			<path d="M0 200.52 L0 275.39 A49.9109 12.4777 -180 1 0 99.82 275.39 L99.82 200.52 A49.9109 12.4777 -180 0 0 0 200.52" class="st2"/>
+			<path d="M0 200.52 A49.9109 12.4777 -180 0 0 99.82 200.52" class="st2"/>
+			<text x="18.76" y="250.2" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>People</text>		</g>
+		<g id="shape3-12" v:mID="3" v:groupContext="shape" transform="translate(161.182,-138.464)">
+			<title content="structured text">Rectangle.18</title>
+			<desc content="structured text">Inference Engine</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="73.7008" cy="259.522" width="147.41" height="56.6929"/>
+			<rect x="0" y="231.176" width="147.402" height="56.6929" class="st6"/>
+			<text x="32.01" y="253.18" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Inference <tspan x="42.56" dy="1.2em" class="st4">Engine</tspan></text>		</g>
+		<g id="shape4-16" v:mID="4" v:groupContext="shape" transform="translate(164.017,-0.24)">
+			<title content="structured text">Rectangle.22</title>
+			<desc content="structured text">Results</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="70.8661" cy="262.357" width="141.74" height="51.0236"/>
+			<rect x="0" y="236.845" width="141.732" height="51.0236" class="st6"/>
+			<text x="37.53" y="268.36" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Results</text>		</g>
+		<g id="shape5-19" v:mID="5" v:groupContext="shape" v:layerMember="1" transform="translate(100.542,-237.238)">
+			<title content="structured text">Dynamic connector.18</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 287.87 L10.63 287.87 A10.6299 10.6299 0 0 1 21.26 298.5 L21.26 338.61 A19.6902 19.6902 -180 0 0 40.95 358.3        L52.36 358.3" class="st7"/>
+		</g>
+		<g id="shape6-25" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(369.224,-237.238)">
+			<title content="structured text">Dynamic connector.19</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 287.87 L-10.63 287.87 A10.6299 10.6299 -180 0 0 -21.26 298.5 L-21.26 338.61 A19.6902 19.6902 0 0 1 -40.95        358.3 L-52.36 358.3" class="st7"/>
+		</g>
+		<g id="shape7-30" v:mID="7" v:groupContext="shape" v:layerMember="1" transform="translate(227.796,-138.464)">
+			<title content="structured text">Dynamic connector.6</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 287.87 L7.09 369.55" class="st9"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Male_People.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Node_Sharing.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.75972in" height="7.68743in" viewBox="0 0 342.7 553.495" xml:space="preserve" color-interpolation-filters="sRGB" class="st12" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {marker-end:url(#mrkr4-10);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st7 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st8 {fill:#00ff00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st9 {fill:#ffcc00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st10 {font-size:1em}
+		.st11 {marker-end:url(#mrkr4-53);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st12 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-10" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-53" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="21.5" refX="-21.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0;1" transform="translate(26.3893,-497.027)">
+			<title content="structured text">On-page reference.47</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 539.32 A14.1732 14.1732 0 0 1 28.35 539.32 A14.1732 14.1732 0 1 1 0 539.32 Z" class="st1"/>
+		</g>
+		<g id="shape2-3" v:mID="2" v:groupContext="shape" v:layerMember="0;1" transform="translate(26.3893,-426.16)">
+			<title content="structured text">On-page reference.48</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 539.32 A14.1732 14.1732 0 0 1 28.35 539.32 A14.1732 14.1732 0 1 1 0 539.32 Z" class="st2"/>
+		</g>
+		<g id="shape3-5" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(33.4759,-497.027)">
+			<title content="structured text">Dynamic connector.49</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 553.49 L7.09 590.49" class="st3"/>
+		</g>
+		<g id="shape4-11" v:mID="4" v:groupContext="shape" v:layerMember="1" transform="translate(104.657,-204.113)">
+			<title content="structured text">Terminator.51</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 553.49 L56.69 553.49 A14.1732 14.1732 -180 0 0 56.69 525.15 L14.17 525.15 A14.1732 14.1732 -180 1 0 14.17        553.49 Z" class="st5"/>
+		</g>
+		<g id="shape5-13" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(133.003,-281.783)">
+			<title content="structured text">Dynamic connector.52</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 553.49 L7.09 597.3" class="st3"/>
+		</g>
+		<g id="shape6-18" v:mID="6" v:groupContext="shape" transform="translate(57.1767,-440.334)">
+			<title content="structured text">Sheet.6</title>
+			<desc content="structured text">name == “cheddar”</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="547.495" width="100.01" height="12"/>
+			<rect x="0" y="541.495" width="100" height="12" class="st6"/>
+			<text x="7.48" y="550.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name == “cheddar”</text>		</g>
+		<g id="shape7-21" v:mID="7" v:groupContext="shape" v:layerMember="0;1" transform="translate(274.066,-497.783)">
+			<title content="structured text">On-page reference.43</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 539.32 A14.1732 14.1732 0 0 1 28.35 539.32 A14.1732 14.1732 0 1 1 0 539.32 Z" class="st1"/>
+		</g>
+		<g id="shape8-23" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(104.657,782.687) scale(1,-1)">
+			<title content="structured text">Manual operation</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 553.49 L56.69 553.49 L70.87 510.97 L0 510.97 L14.17 553.49 Z" class="st8"/>
+		</g>
+		<g id="shape9-25" v:mID="9" v:groupContext="shape" v:layerMember="0;1" transform="translate(26.3893,-355.767)">
+			<title content="structured text">On-page reference.45</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 539.32 A14.1732 14.1732 0 0 1 28.35 539.32 A14.1732 14.1732 0 1 1 0 539.32 Z" class="st9"/>
+		</g>
+		<g id="shape10-27" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(33.4759,-426.16)">
+			<title content="structured text">Dynamic connector</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 553.49 L7.09 590.02" class="st3"/>
+		</g>
+		<g id="shape11-32" v:mID="11" v:groupContext="shape" transform="translate(240.877,-540.775)">
+			<title content="structured text">Sheet.11</title>
+			<desc content="structured text">Person</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="547.495" width="100.01" height="12"/>
+			<rect x="0" y="541.495" width="100" height="12" class="st6"/>
+			<text x="34.16" y="550.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person</text>		</g>
+		<g id="shape12-35" v:mID="12" v:groupContext="shape" transform="translate(145.287,-257.972)">
+			<title content="structured text">Sheet.12</title>
+			<desc content="structured text">Person.favouriteCheese == Cheese.name</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="64.3307" cy="547.495" width="128.67" height="12"/>
+			<rect x="0" y="541.495" width="128.661" height="12" class="st6"/>
+			<text x="3.45" y="544.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person.favouriteCheese == <tspan x="33.19" dy="1.2em" class="st10">Cheese</tspan>.name</text>		</g>
+		<g id="shape15-39" v:mID="15" v:groupContext="shape" transform="translate(0.72,-180.775)">
+			<title content="structured text">Sheet.15</title>
+			<desc content="structured text">System.out.println( person.getName() + " likes cheddar" )</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="132.303" cy="547.495" width="264.61" height="12"/>
+			<rect x="0" y="541.495" width="264.606" height="12" class="st6"/>
+			<text x="5.78" y="550.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>System.out.println( person.getName() + " likes cheddar" )</text>		</g>
+		<g id="shape17-42" v:mID="17" v:groupContext="shape" v:layerMember="1" transform="translate(142.452,956.734) scale(1,-1)">
+			<title content="structured text">Manual operation.17</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 553.49 L56.69 553.49 L70.87 510.97 L0 510.97 L14.17 553.49 Z" class="st8"/>
+		</g>
+		<g id="shape18-44" v:mID="18" v:groupContext="shape" transform="translate(213.318,-107.735)">
+			<title content="structured text">Sheet.18</title>
+			<desc content="structured text">Person.favouriteCheese != Cheese.name</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="64.3307" cy="547.495" width="128.67" height="12"/>
+			<rect x="0" y="541.495" width="128.661" height="12" class="st6"/>
+			<text x="4.98" y="544.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person.favouriteCheese != <tspan x="33.19" dy="1.2em" class="st10">Cheese</tspan>.name</text>		</g>
+		<g id="shape19-48" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(288.24,-497.783)">
+			<title content="structured text">Dynamic connector.19</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 553.49 C0 645.69 -0 801.81 -19.6 869.81 C-33.39 917.69 -56.9 921.88 -76.49 922.25 L-76.85 922.25" class="st11"/>
+		</g>
+		<g id="shape13-54" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(40.5625,-355.767)">
+			<title content="structured text">Dynamic connector.13</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 553.49 C-0 566.68 0 585.64 12.28 595.51 C24.29 605.17 48.06 606.12 65.66 606.21 L66.02 606.21" class="st11"/>
+		</g>
+		<g id="shape20-59" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(40.5625,-355.767)">
+			<title content="structured text">Dynamic connector.20</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 553.49 C-0 610.19 0 702.72 24.19 744.91 C43.13 777.93 76.89 780.11 103.46 780.26 L103.82 780.26" class="st11"/>
+		</g>
+		<g id="shape14-64" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(288.24,-497.783)">
+			<title content="structured text">Dynamic connector.14</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 553.49 C-0 602.18 0 679.84 -25.4 716.2 C-46.43 746.31 -84.87 748.12 -114.28 748.23 L-114.64 748.23" class="st11"/>
+		</g>
+		<g id="shape21-69" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(142.452,-29.3389)">
+			<title content="structured text">Terminator.21</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 553.49 L56.69 553.49 A14.1732 14.1732 -180 0 0 56.69 525.15 L14.17 525.15 A14.1732 14.1732 -180 1 0 14.17        553.49 Z" class="st5"/>
+		</g>
+		<g id="shape22-71" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(170.799,-107.735)">
+			<title content="structured text">Dynamic connector.22</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 553.49 L7.09 598.02" class="st3"/>
+		</g>
+		<g id="shape23-76" v:mID="23" v:groupContext="shape" transform="translate(45.5822,-6.00027)">
+			<title content="structured text">Sheet.23</title>
+			<desc content="structured text">System.out.println( person.getName() + " does not like chedda...</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="132.303" cy="547.495" width="264.61" height="12"/>
+			<rect x="0" y="541.495" width="264.606" height="12" class="st6"/>
+			<text x="12" y="544.49" class="st7" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>System.out.println( person.getName() + " does not like <tspan x="109.4" dy="1.2em" class="st10">cheddar</tspan>" )</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Node_Sharing.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Object_Type_Nodes.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.78876in" height="2.3339in" viewBox="0 0 200.79 168.041" xml:space="preserve" color-interpolation-filters="sRGB" class="st8" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {marker-end:url(#mrkr4-10);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st7 {marker-end:url(#mrkr4-29);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-10" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-29" class="st4" v:arrowType="4" v:arrowSize="2" v:setback="21.5" refX="-21.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape65-1" v:mID="65" v:groupContext="shape" v:layerMember="0;1" transform="translate(82.4326,-115.618)">
+			<title content="structured text">On-page reference.65</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 153.87 A14.1732 14.1732 0 0 1 28.35 153.87 A14.1732 14.1732 0 1 1 0 153.87 Z" class="st1"/>
+		</g>
+		<g id="shape66-3" v:mID="66" v:groupContext="shape" v:layerMember="0;1" transform="translate(12.472,-48.6912)">
+			<title content="structured text">On-page reference.66</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 153.87 A14.1732 14.1732 0 0 1 28.35 153.87 A14.1732 14.1732 0 1 1 0 153.87 Z" class="st2"/>
+		</g>
+		<g id="shape67-5" v:mID="67" v:groupContext="shape" v:layerMember="0" transform="translate(19.5586,-48.6912)">
+			<title content="structured text">Dynamic connector.67</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 168.04 L7.09 205.04" class="st3"/>
+		</g>
+		<g id="shape68-11" v:mID="68" v:groupContext="shape" transform="translate(0.72,-91.8539)">
+			<title content="structured text">Sheet.68</title>
+			<desc content="structured text">Cheese</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.9252" cy="162.041" width="51.86" height="12"/>
+			<rect x="0" y="156.041" width="51.8504" height="12" class="st5"/>
+			<text x="8.69" y="165.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Cheese</text>		</g>
+		<g id="shape69-14" v:mID="69" v:groupContext="shape" v:layerMember="0;1" transform="translate(149.047,-48.6912)">
+			<title content="structured text">On-page reference.69</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 153.87 A14.1732 14.1732 0 0 1 28.35 153.87 A14.1732 14.1732 0 1 1 0 153.87 Z" class="st2"/>
+		</g>
+		<g id="shape70-16" v:mID="70" v:groupContext="shape" transform="translate(149.48,-91.6834)">
+			<title content="structured text">Sheet.70</title>
+			<desc content="structured text">Person</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.2953" cy="162.041" width="50.6" height="12"/>
+			<rect x="0" y="156.041" width="50.5906" height="12" class="st5"/>
+			<text x="9.46" y="165.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Person</text>		</g>
+		<g id="shape71-19" v:mID="71" v:groupContext="shape" v:layerMember="0" transform="translate(156.133,-48.6912)">
+			<title content="structured text">Dynamic connector.71</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 168.04 L7.09 205.04" class="st3"/>
+		</g>
+		<g id="shape72-24" v:mID="72" v:groupContext="shape" v:layerMember="0" transform="translate(96.6058,-115.618)">
+			<title content="structured text">Dynamic connector.72</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 168.04 C0 187.01 -55.71 189.05 -67.7 201.58 L-67.85 201.91" class="st7"/>
+		</g>
+		<g id="shape73-30" v:mID="73" v:groupContext="shape" v:layerMember="0" transform="translate(96.6058,-115.618)">
+			<title content="structured text">Dynamic connector.73</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 168.04 C0 187 52.95 189.05 64.44 201.55 L64.58 201.88" class="st7"/>
+		</g>
+		<g id="shape74-35" v:mID="74" v:groupContext="shape" transform="translate(64.6373,-155.321)">
+			<title content="structured text">Sheet.74</title>
+			<desc content="structured text">ReteNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.9685" cy="162.041" width="63.94" height="12"/>
+			<rect x="0" y="156.041" width="63.937" height="12" class="st5"/>
+			<text x="9.46" y="165.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>ReteNode</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Object_Type_Nodes.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilder.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilder.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilderConfiguration.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/PackageBuilderConfiguration.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Rete_Nodes.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.35694in" height="2.71336in" viewBox="0 0 313.7 195.362" xml:space="preserve" color-interpolation-filters="sRGB" class="st9" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#3366ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {fill:#ffcc00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.833336em}
+		.st7 {fill:#00ff00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#ffff00;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st9 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape35-1" v:mID="35" v:groupContext="shape" v:layerMember="0;1" transform="translate(2.75173,-166.067)">
+			<title content="structured text">On-page reference.35</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 181.19 A14.1732 14.1732 0 0 1 28.35 181.19 A14.1732 14.1732 0 1 1 0 181.19 Z" class="st1"/>
+		</g>
+		<g id="shape36-3" v:mID="36" v:groupContext="shape" v:layerMember="0;1" transform="translate(2.75173,-120.712)">
+			<title content="structured text">On-page reference.36</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 181.19 A14.1732 14.1732 0 0 1 28.35 181.19 A14.1732 14.1732 0 1 1 0 181.19 Z" class="st2"/>
+		</g>
+		<g id="shape37-5" v:mID="37" v:groupContext="shape" v:layerMember="0;1" transform="translate(2.75173,-75.3581)">
+			<title content="structured text">On-page reference.37</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 181.19 A14.1732 14.1732 0 0 1 28.35 181.19 A14.1732 14.1732 0 1 1 0 181.19 Z" class="st3"/>
+		</g>
+		<g id="shape38-7" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(142.114,-0.24)">
+			<title content="structured text">Terminator.40</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 195.36 L56.69 195.36 A14.1732 14.1732 -180 0 0 56.69 167.02 L14.17 167.02 A14.1732 14.1732 -180 1 0 14.17        195.36 Z" class="st4"/>
+		</g>
+		<g id="shape39-9" v:mID="39" v:groupContext="shape" transform="translate(25.4289,-175.531)">
+			<title content="structured text">Sheet.39</title>
+			<desc content="structured text">ObjectTypeNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="189.362" width="100.01" height="12"/>
+			<rect x="0" y="183.362" width="100" height="12" class="st5"/>
+			<text x="12.48" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>ObjectTypeNode</text>		</g>
+		<g id="shape40-12" v:mID="40" v:groupContext="shape" transform="translate(31.0982,-128.76)">
+			<title content="structured text">Sheet.40</title>
+			<desc content="structured text">AlphaNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.9685" cy="189.362" width="63.94" height="12"/>
+			<rect x="0" y="183.362" width="63.937" height="12" class="st5"/>
+			<text x="7.23" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>AlphaNode</text>		</g>
+		<g id="shape61-15" v:mID="61" v:groupContext="shape" v:layerMember="1" transform="translate(145.271,246.626) scale(1,-1)">
+			<title content="structured text">Manual operation.38</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 195.36 L56.69 195.36 L70.87 152.84 L0 152.84 L14.17 195.36 Z" class="st7"/>
+		</g>
+		<g id="shape62-17" v:mID="62" v:groupContext="shape" transform="translate(205.823,-122.838)">
+			<title content="structured text">Sheet.62</title>
+			<desc content="structured text">JoinNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="189.362" width="100.01" height="12"/>
+			<rect x="0" y="183.362" width="100" height="12" class="st5"/>
+			<text x="28.87" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>JoinNode</text>		</g>
+		<g id="shape63-20" v:mID="63" v:groupContext="shape" transform="translate(22.4761,-83.5313)">
+			<title content="structured text">Sheet.63</title>
+			<desc content="structured text">LeftInputAdapterNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="66.1024" cy="189.362" width="132.21" height="12"/>
+			<rect x="0" y="183.362" width="132.205" height="12" class="st5"/>
+			<text x="17.17" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>LeftInputAdapterNode</text>		</g>
+		<g id="shape64-23" v:mID="64" v:groupContext="shape" transform="translate(212.98,-6.6652)">
+			<title content="structured text">Sheet.64</title>
+			<desc content="structured text">TerminalNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="189.362" width="100.01" height="12"/>
+			<rect x="0" y="183.362" width="100" height="12" class="st5"/>
+			<text x="18.6" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>TerminalNode</text>		</g>
+		<g id="shape41-26" v:mID="41" v:groupContext="shape" v:layerMember="0;1" transform="translate(166.531,-166.775)">
+			<title content="structured text">On-page reference.41</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 181.19 A14.1732 14.1732 0 0 1 28.35 181.19 A14.1732 14.1732 0 1 1 0 181.19 Z" class="st4"/>
+		</g>
+		<g id="shape42-28" v:mID="42" v:groupContext="shape" transform="translate(226.689,-174.949)">
+			<title content="structured text">Sheet.42</title>
+			<desc content="structured text">ReteNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.9685" cy="189.362" width="63.94" height="12"/>
+			<rect x="0" y="183.362" width="63.937" height="12" class="st5"/>
+			<text x="9.46" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>ReteNode</text>		</g>
+		<g id="shape75-31" v:mID="75" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-28.5865)">
+			<title content="structured text">On-page reference.75</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 181.19 A14.1732 14.1732 0 0 1 28.35 181.19 A14.1732 14.1732 0 1 1 0 181.19 Z" class="st7"/>
+		</g>
+		<g id="shape76-33" v:mID="76" v:groupContext="shape" transform="translate(19.9644,-36.7597)">
+			<title content="structured text">Sheet.76</title>
+			<desc content="structured text">EvalNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="41.3937" cy="189.362" width="82.79" height="12"/>
+			<rect x="0" y="183.362" width="82.7873" height="12" class="st5"/>
+			<text x="19.72" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>EvalNode</text>		</g>
+		<g id="shape77-36" v:mID="77" v:groupContext="shape" v:layerMember="1" transform="translate(141.531,304.736) scale(1,-1)">
+			<title content="structured text">Manual operation.77</title>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M14.17 195.36 L56.69 195.36 L70.87 152.84 L0 152.84 L14.17 195.36 Z" class="st8"/>
+		</g>
+		<g id="shape78-38" v:mID="78" v:groupContext="shape" transform="translate(202.082,-64.7282)">
+			<title content="structured text">Sheet.78</title>
+			<desc content="structured text">NotNode</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="189.362" width="100.01" height="12"/>
+			<rect x="0" y="183.362" width="100" height="12" class="st5"/>
+			<text x="30.27" y="192.36" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>NotNode</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rete_Nodes.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBase.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBase.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseConfiguration.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseConfiguration.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseFactory.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleBaseFactory.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleFlowEventListener.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/RuleFlowEventListener.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Rule_Engine.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="7.48161in" height="3.54997in" viewBox="0 0 538.676 255.598" xml:space="preserve" color-interpolation-filters="sRGB" class="st10" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#ffffff}
+		.st2 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st3 {fill:#000000;font-family:Arial;font-size:1.66667em}
+		.st4 {font-size:1em}
+		.st5 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {font-size:0.600003em}
+		.st7 {marker-end:url(#mrkr13-35);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st9 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st10 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-35" class="st8" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Network" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(0.72,-82.4447)">
+			<title content="structured text">Datastore</title>
+			<desc content="structured text">Production Memory</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="70.1929" cy="194.179" width="140.39" height="87.7411"/>
+			<path d="M0 132.76 L0 238.05 A70.1929 17.5482 -180 1 0 140.39 238.05 L140.39 132.76 A70.1929 17.5482 -180 0 0 -0 132.76        Z" class="st1"/>
+			<path d="M0 132.76 L0 238.05 A70.1929 17.5482 -180 1 0 140.39 238.05 L140.39 132.76 A70.1929 17.5482 -180 0 0 -0 132.76" class="st2"/>
+			<path d="M0 132.76 A70.1929 17.5482 -180 1 0 140.39 132.76" class="st2"/>
+			<text x="22.39" y="188.18" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Production<v:lf/><tspan x="34.09" dy="1.2em" class="st4">Memory</tspan></text>		</g>
+		<g id="shape2-7" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(397.57,-82.4447)">
+			<title content="structured text">Datastore.26</title>
+			<desc content="structured text">Working Memory</desc>
+			<v:custProps>
+				<v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="PartNumber" v:lbl="Part Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Location" v:lbl="Location" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Building" v:lbl="Building" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Room" v:lbl="Room" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+				<v:cp v:nameU="Department" v:lbl="Department" v:type="0" v:sortKey="1" v:invis="false" v:ask="false" v:langID="1033" v:val="VT4()"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a a database, data source, or data storage device to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="70.1929" cy="194.179" width="140.39" height="87.7411"/>
+			<path d="M0 132.76 L0 238.05 A70.1929 17.5482 -180 1 0 140.39 238.05 L140.39 132.76 A70.1929 17.5482 -180 0 0 -0 132.76        Z" class="st1"/>
+			<path d="M0 132.76 L0 238.05 A70.1929 17.5482 -180 1 0 140.39 238.05 L140.39 132.76 A70.1929 17.5482 -180 0 0 -0 132.76" class="st2"/>
+			<path d="M0 132.76 A70.1929 17.5482 -180 1 0 140.39 132.76" class="st2"/>
+			<text x="33.53" y="188.18" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Working<v:lf/><tspan x="34.09" dy="1.2em" class="st4">Memory</tspan></text>		</g>
+		<g id="group3-13" transform="translate(195.637,-0.24)" v:mID="3" v:groupContext="group">
+			<title content="structured text">Sheet.3</title>
+			<g id="shape4-14" v:mID="4" v:groupContext="shape">
+				<title content="structured text">Rectangle.18</title>
+				<desc content="structured text">Inference Engine (ReteOO/Leaps)</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="73.7008" cy="128.039" width="147.41" height="255.118"/>
+				<rect x="0" y="0.48" width="147.402" height="255.118" class="st5"/>
+				<text x="32.01" y="22.48" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Inference <tspan x="42.56" dy="1.2em" class="st4">Engine<v:lf/></tspan><tspan x="29.68" dy="1.4em" class="st6">(</tspan><tspan class="st6">ReteOO</tspan><tspan class="st6">/</tspan><tspan class="st6">Leaps</tspan><tspan class="st6">)</tspan></text>			</g>
+			<g id="shape5-23" v:mID="5" v:groupContext="shape" transform="translate(17.6811,-126.886)">
+				<title content="structured text">Rectangle.21</title>
+				<desc content="structured text">Pattern Matcher</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="56.6929" cy="230.086" width="113.39" height="51.0236"/>
+				<rect x="0" y="204.574" width="113.386" height="51.0236" class="st5"/>
+				<text x="24.46" y="224.09" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Pattern  <tspan x="20.58" dy="1.2em" class="st4">Matcher</tspan></text>			</g>
+			<g id="shape6-27" v:mID="6" v:groupContext="shape" transform="translate(17.6811,-22.0039)">
+				<title content="structured text">Rectangle.22</title>
+				<desc content="structured text">Agenda</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="56.6929" cy="230.086" width="113.39" height="51.0236"/>
+				<rect x="0" y="204.574" width="113.386" height="51.0236" class="st5"/>
+				<text x="22.22" y="236.09" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Agenda</text>			</g>
+		</g>
+		<g id="shape7-30" v:mID="7" v:groupContext="shape" v:layerMember="1" transform="translate(141.106,-145.551)">
+			<title content="structured text">Dynamic connector.31</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 248.51 L63.93 248.51" class="st7"/>
+		</g>
+		<g id="shape8-36" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(397.57,-145.551)">
+			<title content="structured text">Dynamic connector.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 248.51 L-62.59 248.51" class="st7"/>
+		</g>
+		<g id="shape9-41" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(262.588,-127.799)">
+			<title content="structured text">Dynamic connector.33</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M6.75 255.6 L6.75 288.87 L7.42 288.87 L7.42 301.85" class="st7"/>
+		</g>
+		<g id="shape10-46" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(35.5101,-38.4217)">
+			<title content="structured text">Datastore.1</title>
+			<desc content="structured text">(rules)</desc>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.3561" cy="228.037" width="70.72" height="55.1216"/>
+			<rect x="0" y="200.477" width="70.7121" height="55.1216" class="st9"/>
+			<text x="7.01" y="234.04" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>(rules)</text>		</g>
+		<g id="shape11-49" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(433.701,-37.6361)">
+			<title content="structured text">Datastore.35</title>
+			<desc content="structured text">(facts)</desc>
+			<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.3561" cy="228.037" width="70.72" height="55.1216"/>
+			<rect x="0" y="200.477" width="70.7121" height="55.1216" class="st9"/>
+			<text x="7.57" y="234.04" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>(facts)</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Rule_Engine.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Runtime.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.84525in" height="5.29986in" viewBox="0 0 276.858 381.59" xml:space="preserve" color-interpolation-filters="sRGB" class="st10" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:1.00001em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr13-31);marker-start:url(#mrkr13-29);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st7 {marker-end:url(#mrkr13-31);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st8 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st9 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st10 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-29" class="st5" v:arrowType="13" v:arrowSize="2" v:setback="33" refX="33" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr13-31" class="st5" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend13" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape12-1" v:mID="12" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-0.24)">
+			<title content="structured text">Process.10</title>
+			<desc content="structured text">Working Memory</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="138.189" cy="298.677" width="276.38" height="165.827"/>
+			<rect x="0" y="215.763" width="276.378" height="165.827" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="2" y="228.56" class="st2" v:langID="2057"><v:paragraph/><v:tabList/>    Working Memory</text>		</g>
+		<g id="shape14-4" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(102.996,-224.972)">
+			<title content="structured text">Process</title>
+			<desc content="structured text">Rule Base</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="360.33" width="70.87" height="42.5197"/>
+			<rect x="0" y="339.071" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="7.74" y="363.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule Base</text>		</g>
+		<g id="shape15-7" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(22.9172,-90.9487)">
+			<title content="structured text">Process.5</title>
+			<desc content="structured text">Working Memory Event Support</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="48.8976" cy="360.33" width="97.8" height="42.5197"/>
+			<rect x="0" y="339.071" width="97.7953" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="3.56" y="356.73" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Working Memory<v:newlineChar/><tspan x="10.87" dy="1.2em" class="st3">Event Support</tspan></text>		</g>
+		<g id="shape16-11" v:mID="16" v:groupContext="shape" v:layerMember="0" transform="translate(21.4998,-24.3345)">
+			<title content="structured text">Process.11</title>
+			<desc content="structured text">Truth Maintenance System</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="53.8583" cy="360.33" width="107.72" height="42.5197"/>
+			<rect x="0" y="339.071" width="107.717" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="3.82" y="356.73" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Truth Maintenance <tspan x="33.85" dy="1.2em" class="st3">System</tspan></text>		</g>
+		<g id="group17-15" transform="translate(138.429,-46.5865)" v:mID="17" v:groupContext="group">
+			<title content="structured text">Sheet.17</title>
+			<g id="shape18-16" v:mID="18" v:groupContext="shape" v:layerMember="0">
+				<title content="structured text">Process.12</title>
+				<desc content="structured text">Agenda</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+					<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+					<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+				</v:custProps>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+				<v:textRect cx="60.9449" cy="345.023" width="121.89" height="73.1339"/>
+				<rect x="0" y="308.456" width="121.89" height="73.1339" rx="5.66929" ry="5.66929" class="st1"/>
+				<text x="2" y="321.26" class="st2" v:langID="2057"><v:paragraph/><v:tabList/>    Agenda</text>			</g>
+			<g id="shape19-19" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(24.8031,-10.3465)">
+				<title content="structured text">Process.6</title>
+				<desc content="structured text">Agenda Event Support</desc>
+				<v:custProps>
+					<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+					<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+					<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+				</v:custProps>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+				<v:textRect cx="45" cy="360.33" width="90" height="42.5197"/>
+				<rect x="0" y="339.071" width="90" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+				<text x="24.31" y="356.73" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Agenda<v:newlineChar/><tspan x="6.97" dy="1.2em" class="st3">Event Support</tspan></text>			</g>
+		</g>
+		<g id="shape21-23" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(131.342,-313.319)">
+			<title content="structured text">Dynamic connector.15</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 389.51 L7.09 389.87 L7.09 419.14" class="st4"/>
+		</g>
+		<g id="shape20-32" v:mID="20" v:groupContext="shape" transform="translate(112.917,-313.319)">
+			<title content="structured text">Document.20</title>
+			<desc content="structured text">package</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visDescription" v:val="VT4(Use to add a document or file to your system diagram.)"/>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.5118" cy="356.078" width="51.03" height="51.0236"/>
+			<path d="M34.02 313.56 L51.02 330.57 L34.02 330.57 L34.02 313.56 Z M0 313.56 L0 381.59 L51.02 381.59 L51.02 330.57 L34.02        330.57 L34.02 313.56 L0 313.56 Z" class="st6"/>
+			<text x="2.81" y="359.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>package</text>		</g>
+		<g id="shape22-35" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(131.342,-224.972)">
+			<title content="structured text">Dynamic connector.22</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 381.59 L7.09 432.22" class="st7"/>
+		</g>
+		<g id="shape23-40" v:mID="23" v:groupContext="shape" transform="translate(137.453,-206.106)">
+			<title content="structured text">Sheet.23</title>
+			<desc content="structured text">1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.8898" cy="373.59" width="25.78" height="16"/>
+			<rect x="0" y="365.59" width="25.7795" height="16" class="st8"/>
+			<text x="10.68" y="375.99" class="st9" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape24-43" v:mID="24" v:groupContext="shape" transform="translate(137.453,-168.193)">
+			<title content="structured text">Sheet.24</title>
+			<desc content="structured text">0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.8898" cy="373.59" width="25.78" height="16"/>
+			<rect x="0" y="365.59" width="25.7795" height="16" class="st8"/>
+			<text x="6.23" y="375.99" class="st9" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape26-46" v:mID="26" v:groupContext="shape" transform="translate(136.169,-294.484)">
+			<title content="structured text">Sheet.26</title>
+			<desc content="structured text">1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.8898" cy="373.59" width="25.78" height="16"/>
+			<rect x="0" y="365.59" width="25.7795" height="16" class="st8"/>
+			<text x="10.68" y="375.99" class="st9" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape27-49" v:mID="27" v:groupContext="shape" transform="translate(143.122,-268.972)">
+			<title content="structured text">Sheet.27</title>
+			<desc content="structured text">0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.8898" cy="373.59" width="25.78" height="16"/>
+			<rect x="0" y="365.59" width="25.7795" height="16" class="st8"/>
+			<text x="6.23" y="375.99" class="st9" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Runtime.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Stated_Assertion.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="6.84394in" height="6.52241in" viewBox="0 0 492.763 469.614" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr4-15);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr4-15" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend4" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape20-1" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(286.067,-341.815)">
+			<title content="structured text">Decision.20</title>
+			<desc content="structured text">Does the Object already exist?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="434.181" width="64.97" height="53.1496"/>
+			<path d="M0 434.18 L38.98 398.75 L77.95 434.18 L38.98 469.61 L0 434.18 Z" class="st1"/>
+			<text x="10.29" y="431.78" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Does the Object <tspan x="14.29" dy="1.2em" class="st3">already exist</tspan>?</text>		</g>
+		<g id="shape21-5" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(286.067,-207.169)">
+			<title content="structured text">Decision.21</title>
+			<desc content="structured text">Is the Object STATED or JUSTIFED?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="434.181" width="64.97" height="53.1496"/>
+			<path d="M0 434.18 L38.98 398.75 L77.95 434.18 L38.98 469.61 L0 434.18 Z" class="st1"/>
+			<text x="16.52" y="426.98" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is the Object <tspan x="18.52" dy="1.2em" class="st3">STATED or </tspan><tspan x="17.64" dy="1.2em" class="st3">JUSTIFED</tspan>?</text>		</g>
+		<g id="shape22-10" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(317.957,-341.815)">
+			<title content="structured text">Dynamic connector.22</title>
+			<desc content="structured text">yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="501.504" width="40" height="17.6036"/>
+			<path d="M7.09 469.61 L7.09 527.87" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="0.486913" y="496.704" width="12.4494" height="9.59985" class="st6"/>
+			<text x="0.86" y="503.9" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape23-18" v:mID="23" v:groupContext="shape" v:layerMember="0" transform="translate(421.657,-221.342)">
+			<title content="structured text">Process.23</title>
+			<desc content="structured text">Return existing FactHandle.</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="448.354" width="70.87" height="42.5197"/>
+			<rect x="0" y="427.094" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="8.75" y="445.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Return existing <tspan x="13.86" dy="1.2em" class="st3">FactHandle</tspan>.</text>		</g>
+		<g id="shape24-22" v:mID="24" v:groupContext="shape" v:layerMember="1" transform="translate(364.02,-235.516)">
+			<title content="structured text">Dynamic connector.24</title>
+			<desc content="structured text">STATED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="28.8189" cy="462.527" width="42.54" height="17.6036"/>
+			<path d="M0 462.53 L52.12 462.53" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="12.6728" y="457.728" width="31.5582" height="9.59985" class="st6"/>
+			<text x="13.05" y="464.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>STATED</text>		</g>
+		<g id="shape25-29" v:mID="25" v:groupContext="shape" v:layerMember="1" transform="translate(318.075,-207.169)">
+			<title content="structured text">Dynamic connector.25</title>
+			<desc content="structured text">JUSTIFIED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.20472" cy="497.134" width="51.43" height="17.6036"/>
+			<path d="M6.97 469.61 L6.97 490.87 L7.2 490.87 L7.2 519.37" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-13.4032" y="492.334" width="40.4451" height="9.59985" class="st6"/>
+			<text x="-13.03" y="499.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>JUSTIFIED</text>		</g>
+		<g id="shape26-36" v:mID="26" v:groupContext="shape" v:layerMember="0" transform="translate(282.76,-100.87)">
+			<title content="structured text">Process.26</title>
+			<desc content="structured text">Override JUSTIFIED and set to STATED, remove justifications a...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="444.102" width="85.04" height="51.0236"/>
+			<rect x="0" y="418.59" width="85.0394" height="51.0236" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="5.85" y="427.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Override JUSTIFIED <tspan x="6.96" dy="1.2em" class="st3">and set to STATED</tspan>, <tspan x="6.29" dy="1.2em" class="st3">remove justifications </tspan><tspan x="9.62" dy="1.2em" class="st3">and return existing </tspan><tspan x="22.07" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape27-43" v:mID="27" v:groupContext="shape" v:layerMember="0" transform="translate(150.476,-341.815)">
+			<title content="structured text">Decision.27</title>
+			<desc content="structured text">Is there an existing Equal Object?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="434.181" width="64.97" height="53.1496"/>
+			<path d="M0 434.18 L38.98 398.75 L77.95 434.18 L38.98 469.61 L0 434.18 Z" class="st1"/>
+			<text x="20.07" y="426.98" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is there an <tspan x="14.07" dy="1.2em" class="st3">existing Equal </tspan><tspan x="25.19" dy="1.2em" class="st3">Object</tspan>?</text>		</g>
+		<g id="shape28-48" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(286.067,-370.161)">
+			<title content="structured text">Dynamic connector.28</title>
+			<desc content="structured text">no</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="462.527" width="40" height="17.6036"/>
+			<path d="M0 462.53 L-52.12 462.53" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-33.6429" y="457.728" width="8.89838" height="9.59985" class="st6"/>
+			<text x="-33.27" y="464.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>no</text>		</g>
+		<g id="shape29-55" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(182.366,-341.815)">
+			<title content="structured text">Dynamic connector.29</title>
+			<desc content="structured text">yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="501.504" width="40" height="17.6036"/>
+			<path d="M7.09 469.61 L7.09 527.87" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="0.486913" y="496.704" width="12.4494" height="9.59985" class="st6"/>
+			<text x="0.86" y="503.9" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape30-62" v:mID="30" v:groupContext="shape" v:layerMember="1" transform="translate(150.476,-370.161)">
+			<title content="structured text">Dynamic connector.30</title>
+			<desc content="structured text">no</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="462.527" width="40" height="17.6036"/>
+			<path d="M0 462.53 L-52.12 462.53" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-33.6429" y="457.728" width="8.89838" height="9.59985" class="st6"/>
+			<text x="-33.27" y="464.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>no</text>		</g>
+		<g id="shape31-69" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(150.476,-207.169)">
+			<title content="structured text">Decision.31</title>
+			<desc content="structured text">Is the Object STATED or JUSTIFED?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="434.181" width="64.97" height="53.1496"/>
+			<path d="M0 434.18 L38.98 398.75 L77.95 434.18 L38.98 469.61 L0 434.18 Z" class="st1"/>
+			<text x="16.52" y="426.98" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Is the Object <tspan x="18.52" dy="1.2em" class="st3">STATED or </tspan><tspan x="17.64" dy="1.2em" class="st3">JUSTIFED</tspan>?</text>		</g>
+		<g id="shape32-74" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(21.9723,-221.342)">
+			<title content="structured text">Process.32</title>
+			<desc content="structured text">Return new FactHandle</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="448.354" width="70.87" height="42.5197"/>
+			<rect x="0" y="427.094" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="14.97" y="445.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Return new <tspan x="14.97" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape33-78" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(150.476,-235.516)">
+			<title content="structured text">Dynamic connector.33</title>
+			<desc content="structured text">STATED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-28.8189" cy="462.527" width="42.54" height="17.6036"/>
+			<path d="M0 462.53 L-52.12 462.53" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-44.965" y="457.728" width="31.5582" height="9.59985" class="st6"/>
+			<text x="-44.59" y="464.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>STATED</text>		</g>
+		<g id="shape34-85" v:mID="34" v:groupContext="shape" v:layerMember="1" transform="translate(183.665,-207.169)">
+			<title content="structured text">Dynamic connector.34</title>
+			<desc content="structured text">JUSTIFIED</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="6.37795" cy="490.874" width="51.43" height="17.6036"/>
+			<path d="M5.79 469.61 L5.79 490.87 L8.39 490.87 L8.39 505.2" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-14.23" y="486.074" width="40.4451" height="9.59985" class="st6"/>
+			<text x="-13.86" y="493.27" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>JUSTIFIED</text>		</g>
+		<g id="shape36-92" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(21.9723,-355.988)">
+			<title content="structured text">Process.36</title>
+			<desc content="structured text">Return new FactHandle</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="448.354" width="70.87" height="42.5197"/>
+			<rect x="0" y="427.094" width="70.8661" height="42.5197" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="14.97" y="445.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Return new <tspan x="14.97" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape37-96" v:mID="37" v:groupContext="shape" v:layerMember="1;0" transform="translate(319.047,-456.909)">
+			<title content="structured text">On-page reference.37</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 463.38 A6.23259 6.23259 0 0 1 12.47 463.38 A6.23259 6.23259 0 1 1 0 463.38 Z" class="st1"/>
+		</g>
+		<g id="shape38-98" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(332.248,-456.909)">
+			<title content="structured text">Dynamic connector.38</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-6.97 469.61 L-6.97 490.87 L-7.2 490.87 L-7.2 508.32" class="st4"/>
+		</g>
+		<g id="shape39-103" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(153.075,-95.2006)">
+			<title content="structured text">Decision.39</title>
+			<desc content="structured text">Discard Logical Assertion?</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="38.9764" cy="434.181" width="64.97" height="53.1496"/>
+			<path d="M0 434.18 L38.98 398.75 L77.95 434.18 L38.98 469.61 L0 434.18 Z" class="st1"/>
+			<text x="11.63" y="431.78" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Discard Logical <tspan x="20.07" dy="1.2em" class="st3">Assertion</tspan>?</text>		</g>
+		<g id="shape40-107" v:mID="40" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-105.122)">
+			<title content="structured text">Process.40</title>
+			<desc content="structured text">Override JUSTIFIED, and set to STATED, set existing handle to...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="444.102" width="85.04" height="51.0236"/>
+			<rect x="0" y="418.59" width="85.0394" height="51.0236" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="4.74" y="432.1" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Override JUSTIFIED, <tspan x="6.96" dy="1.2em" class="st3">and set to STATED</tspan>, <tspan x="4.95" dy="1.2em" class="st3">set existing handle to </tspan><tspan x="14.73" dy="1.2em" class="st3">the new Object</tspan>.</text>		</g>
+		<g id="shape41-113" v:mID="41" v:groupContext="shape" v:layerMember="0" transform="translate(150.476,-0.24)">
+			<title content="structured text">Process.41</title>
+			<desc content="structured text">Override JUSTIFIED and set to STATED, remove justifications a...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.5197" cy="444.102" width="85.04" height="51.0236"/>
+			<rect x="0" y="418.59" width="85.0394" height="51.0236" rx="5.66929" ry="5.66929" class="st1"/>
+			<text x="5.85" y="427.3" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Override JUSTIFIED <tspan x="6.96" dy="1.2em" class="st3">and set to STATED</tspan>, <tspan x="6.29" dy="1.2em" class="st3">remove justifications </tspan><tspan x="9.62" dy="1.2em" class="st3">and return existing </tspan><tspan x="22.07" dy="1.2em" class="st3">FactHandle</tspan></text>		</g>
+		<g id="shape42-120" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(153.075,-123.547)">
+			<title content="structured text">Dynamic connector.42</title>
+			<desc content="structured text">yes</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="-33.8976" cy="462.527" width="40" height="17.6036"/>
+			<path d="M0 462.53 L-62.28 462.53" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-40.4973" y="457.728" width="12.4494" height="9.59985" class="st6"/>
+			<text x="-40.12" y="464.93" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>yes</text>		</g>
+		<g id="shape43-127" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(185.437,-95.2006)">
+			<title content="structured text">Dynamic connector.43</title>
+			<desc content="structured text">no</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.55906" cy="491.11" width="40" height="17.6036"/>
+			<path d="M6.61 469.61 L6.61 490.87 L7.56 490.87 L7.56 508.03" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="2.73502" y="486.31" width="8.89838" height="9.59985" class="st6"/>
+			<text x="3.11" y="493.51" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>no</text>		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Stated_Assertion.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatefulSession.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatefulSession.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSession.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSession.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSessionResult.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/StatelessSessionResult.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Truth_Maintenance_System.drl.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Truth_Maintenance_System.drl.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 Two_Phase.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.06161in"
+		height="4.55391in" viewBox="0 0 508.436 327.882" xml:space="preserve" color-interpolation-filters="sRGB" class="st8">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr4-28);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#e8eef7;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+		.st7 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st8 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend4">
+			<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr4-28" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape17-1" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(0.24,-103.969)">
+			<title>Process.17</title>
+			<desc>Working Memory Action</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="94.5293" cy="264.366" width="189.06" height="127.03"/>
+			<rect x="0" y="200.851" width="189.059" height="127.03" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="2" y="210.05" class="st2" v:langID="2057"><v:paragraph/><v:tabList/>    Working Memory Action</text>		</g>
+		<g id="shape18-4" v:mID="18" v:groupContext="shape" v:layerMember="0" transform="translate(74.9268,-124.964)">
+			<title>Process.18</title>
+			<desc>retract</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="315.126" width="42.52" height="25.5118"/>
+			<rect x="0" y="302.37" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="9.91" y="317.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>retract</text>		</g>
+		<g id="shape19-7" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(121.698,-164.914)">
+			<title>Process.19</title>
+			<desc>update</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="315.126" width="42.52" height="25.5118"/>
+			<rect x="0" y="302.37" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="9.02" y="317.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>update</text>		</g>
+		<g id="shape21-10" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(24.3345,-164.914)">
+			<title>Process.21</title>
+			<desc>insert</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="315.126" width="42.52" height="25.5118"/>
+			<rect x="0" y="302.37" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="11.47" y="317.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>insert</text>		</g>
+		<g id="shape22-13" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(319.138,-43.6005)">
+			<title>Process.22</title>
+			<desc>Agenda Evaluation</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+			<v:textRect cx="94.5293" cy="203.998" width="189.06" height="247.767"/>
+			<rect x="0" y="80.1144" width="189.059" height="247.767" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="2" y="89.31" class="st2" v:langID="2057"><v:paragraph/><v:tabList/>     Agenda  Evaluation</text>		</g>
+		<g id="shape23-16" v:mID="23" v:groupContext="shape" v:layerMember="0" transform="translate(378.234,-146.224)">
+			<title>Decision.23</title>
+			<desc>Select Rule to Fire</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="306.622" width="59.06" height="31.8898"/>
+			<path d="M0 306.62 L35.43 285.36 L70.87 306.62 L35.43 327.88 L0 306.62 Z" class="st1"/>
+			<text x="24.31" y="304.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Select <v:newlineChar/><tspan
+						x="14.76" dy="1.2em" class="st3">Rule to Fire</tspan></text>		</g>
+		<g id="shape25-20" v:mID="25" v:groupContext="shape" v:layerMember="0" transform="translate(392.407,-0.24)">
+			<title>Process.25</title>
+			<desc>exit</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="315.126" width="42.52" height="25.5118"/>
+			<rect x="0" y="302.37" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="15.03" y="317.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>exit</text>		</g>
+		<g id="shape27-23" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(406.58,-146.224)">
+			<title>Dynamic connector.27</title>
+			<desc>No Rule Found</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="7.08661" cy="388.118" width="40" height="27.2035"/>
+			<path d="M7.09 327.88 L7.09 442.83" class="st4"/>
+			<rect v:rectContext="textBkgnd" x="-7.73937" y="378.518" width="28.9023" height="19.1997" class="st6"/>
+			<text x="-7.36" y="385.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>No Rule<v:newlineChar/><tspan
+						x="-4.26" dy="1.2em" class="st3">Found</tspan></text>		</g>
+		<g id="shape24-32" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(232.25,-154.728)">
+			<title>Process.24</title>
+			<desc>Fire Rule</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="315.126" width="42.52" height="25.5118"/>
+			<rect x="0" y="302.37" width="42.5197" height="25.5118" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="5.02" y="317.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Fire Rule</text>		</g>
+		<g id="shape26-35" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(378.234,-160.397)">
+			<title>Dynamic connector.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 320.79 L-97.94 320.79" class="st4"/>
+		</g>
+		<g id="shape28-40" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(232.25,-160.397)">
+			<title>Dynamic connector.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 320.79 L-37.43 320.79" class="st4"/>
+		</g>
+		<g id="shape29-45" v:mID="29" v:groupContext="shape" v:layerMember="0" transform="translate(186.895,-285.122)">
+			<title>Process.29</title>
+			<desc>Determine possible rules to fire</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="306.622" width="70.87" height="42.5197"/>
+			<rect x="0" y="285.362" width="70.8661" height="42.5197" rx="8.50394" ry="8.50394" class="st1"/>
+			<text x="16.97" y="299.42" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Determine <tspan
+						x="6.52" dy="1.2em" class="st3">possible rules to </tspan><tspan x="29.87" dy="1.2em" class="st3">fire</tspan></text>		</g>
+		<g id="shape30-50" v:mID="30" v:groupContext="shape" v:layerMember="1" transform="translate(94.7693,-230.999)">
+			<title>Dynamic connector.30</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 327.88 L0 252.5 L86.61 252.5" class="st4"/>
+		</g>
+		<g id="shape31-55" v:mID="31" v:groupContext="shape" v:layerMember="1" transform="translate(257.761,-306.382)">
+			<title>Dynamic connector.31</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 327.88 L155.91 327.88 L155.91 440" class="st4"/>
+		</g>
+		<g id="shape20-60" v:mID="20" v:groupContext="shape" transform="translate(284.297,-167.484)">
+			<title>Sheet.20</title>
+			<desc>Rule Found</desc>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="50" cy="321.882" width="100.01" height="12"/>
+			<rect x="0" y="315.882" width="100" height="12" class="st7"/>
+			<text x="41.77" y="314.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Rule<v:newlineChar/><tspan
+						x="38.66" dy="1.2em" class="st3">Found</tspan><v:newlineChar/></text>		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/Two_Phase.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemory.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemory.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemoryEventListener.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/WorkingMemoryEventListener.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/arch_overview.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/arch_overview.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="540"
+   height="299.96765"
+   id="svg2539"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="rule-engine-inkscape.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/mnt/data/images/inkscape/rule-engine/rule-engine-inkscape.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs2541">
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         id="path5756"
+         d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutS"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutS"
+       style="overflow:visible">
+      <path
+         id="path5890"
+         d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="scale(0.2,0.2)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send"
+       style="overflow:visible">
+      <path
+         id="path5774"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend"
+       style="overflow:visible">
+      <path
+         id="path5768"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+         transform="scale(-0.6,-0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible">
+      <path
+         id="path5744"
+         d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+    </marker>
+    <linearGradient
+       id="linearGradient5702">
+      <stop
+         style="stop-color:#dde9af;stop-opacity:1;"
+         offset="0"
+         id="stop5704" />
+      <stop
+         id="stop5710"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#dde9af;stop-opacity:1"
+         offset="1"
+         id="stop5706" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5669">
+      <stop
+         style="stop-color:#ffb380;stop-opacity:1;"
+         offset="0"
+         id="stop5671" />
+      <stop
+         id="stop5677"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#ffb380;stop-opacity:1"
+         offset="1"
+         id="stop5673" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5627">
+      <stop
+         style="stop-color:#ffaaee;stop-opacity:1;"
+         offset="0"
+         id="stop5629" />
+      <stop
+         id="stop5637"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#ffaaee;stop-opacity:1"
+         offset="1"
+         id="stop5631" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2547" />
+    <linearGradient
+       y2="92.25666"
+       x2="195.02586"
+       y1="92.25666"
+       x1="49.5"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2508"
+       xlink:href="#linearGradient4343"
+       inkscape:collect="always" />
+    <linearGradient
+       x1="49.5"
+       y1="92.25666"
+       x2="195.02586"
+       y2="92.25666"
+       id="linearGradient4349"
+       xlink:href="#linearGradient4343"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4343">
+      <stop
+         id="stop4345"
+         style="stop-color:#2c5aa0;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4355"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0.50135446" />
+      <stop
+         id="stop4347"
+         style="stop-color:#2c5aa0;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 100 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="200 : 100 : 1"
+       inkscape:persp3d-origin="100 : 66.666667 : 1"
+       id="perspective3166" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4619"
+       id="linearGradient4625"
+       x1="49.5"
+       y1="92.25666"
+       x2="200.01692"
+       y2="92.25666"
+       gradientUnits="userSpaceOnUse" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4087" />
+    <linearGradient
+       id="linearGradient4619">
+      <stop
+         style="stop-color:#2ca05a;stop-opacity:1"
+         offset="0"
+         id="stop4621" />
+      <stop
+         id="stop4627"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#2ca05a;stop-opacity:1"
+         offset="1"
+         id="stop4623" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5627"
+       id="linearGradient5635"
+       x1="390"
+       y1="260"
+       x2="580"
+       y2="260"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5669"
+       id="linearGradient5684"
+       gradientUnits="userSpaceOnUse"
+       x1="399.5"
+       y1="349.83334"
+       x2="550"
+       y2="350" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5702"
+       id="linearGradient5712"
+       gradientUnits="userSpaceOnUse"
+       x1="349.49982"
+       y1="259.98383"
+       x2="680"
+       y2="260"
+       gradientTransform="translate(5.0200959,20)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5702"
+       id="linearGradient12426"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.0200959,20)"
+       x1="349.49982"
+       y1="259.98383"
+       x2="680"
+       y2="260" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.2583333"
+     inkscape:cx="484.93681"
+     inkscape:cy="109.27152"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     showborder="true"
+     inkscape:showpageshadow="true"
+     inkscape:window-width="1680"
+     inkscape:window-height="977"
+     inkscape:window-x="0"
+     inkscape:window-y="25">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2549"
+       visible="true"
+       enabled="true"
+       spacingx="1px"
+       spacingy="1px" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata2544">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-200,-130)">
+    <g
+       id="g12419">
+      <rect
+         ry="6.7218855e-07"
+         y="130"
+         x="355.01993"
+         height="299.96765"
+         width="229.96016"
+         id="rect2795"
+         style="opacity:1;fill:url(#linearGradient12426);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <text
+         id="text2825"
+         y="180"
+         x="402.22931"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#445016;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         xml:space="preserve"><tspan
+           y="180"
+           x="402.22931"
+           id="tspan2827"
+           sodipodi:role="line">Inference Engine</tspan></text>
+      <text
+         id="text2829"
+         y="200"
+         x="414.17029"
+         style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#445016;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         xml:space="preserve"><tspan
+           y="200"
+           x="414.17029"
+           id="tspan2831"
+           sodipodi:role="line">(ReteOO / Leaps)</tspan></text>
+    </g>
+    <g
+       id="g2729"
+       transform="translate(150,190)">
+      <path
+         style="fill:url(#linearGradient2508);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         id="path3825"
+         d="M 150,35 C 150,26.72 150,126.72 150,135 C 150,143.28 127.6,150 100,150 C 72.4,150 50,143.28 50,135 C 50,126.72 50,26.72 50,35 C 50,43.28 72.4,50 100,50 C 127.6,50 150,43.28 150,35 z" />
+      <path
+         style="fill:#87aade;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path3823"
+         d="M 150,35 C 150,43.284271 127.61424,50 100,50 C 72.385763,50 50,43.284271 50,35 C 50,26.715729 72.385763,20 100,20 C 127.61424,20 150,26.715729 150,35 L 150,35 z" />
+      <path
+         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#214478;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         d="M 75.837143,74.144061 C 75.837133,75.071399 75.550379,75.754242 74.978483,76.182532 C 74.952866,76.20404 74.922994,76.224797 74.888857,76.244802 C 74.368166,76.595422 73.510313,76.661529 72.315297,76.443126 C 72.315297,76.443126 71.080706,76.160811 71.080706,76.160811 C 71.080706,76.160811 71.080706,79.462811 71.080706,79.462811 C 71.080706,79.462811 69.044753,79.037498 69.044753,79.037498 C 69.044753,79.037498 69.044753,76.807998 69.044753,74.578498 C 69.044753,72.348998 69.044753,70.119498 69.044753,70.119498 C 69.044753,70.119498 72.49455,70.832586 72.49455,70.832586 C 73.365207,70.985401 74.022464,71.222087 74.466332,71.542646 C 74.543145,71.599469 74.619968,71.660619 74.6968,71.726095 C 75.456488,72.3881 75.837133,73.190734 75.837143,74.144061 M 73.762124,73.863053 C 73.762114,73.074391 73.271306,72.593918 72.289689,72.421631 C 72.289689,72.421631 71.080706,72.169811 71.080706,72.169811 C 71.080706,72.169811 71.080706,74.535811 71.080706,74.535811 C 71.0807!
 06,74.535811 72.302493,74.789878 72.302493,74.789878 C 73.27558,74.960667 73.762114,74.651723 73.762124,73.863053 M 80.436283,76.166744 C 80.436283,76.166744 80.307155,76.151741 80.307155,76.151741 C 79.47213,76.054722 78.990953,76.468523 78.8623,77.403218 C 78.827989,77.623586 78.810839,77.902768 78.810839,78.240765 C 78.810839,78.240765 78.810839,80.762765 78.810839,80.762765 C 78.810839,80.762765 76.919639,80.488848 76.919639,80.488848 C 76.919639,80.488848 76.919639,78.837848 76.919639,77.186848 C 76.919639,75.535848 76.919639,73.884848 76.919639,73.884848 C 76.919639,73.884848 78.682186,74.140131 78.682186,74.140131 C 78.682186,74.140131 78.682186,75.375131 78.682186,75.375131 C 78.682186,75.375131 78.707916,75.378858 78.707916,75.378858 C 78.956642,74.504888 79.390352,74.108222 80.010163,74.180232 C 80.104853,74.191242 80.246893,74.216413 80.436283,74.255744 C 80.436283,74.255744 80.436283,76.166744 80.436283,76.166744 M 87.174169,78.372165 C 87.174159,79.464166 86.81!
 9505,80.308971 86.111666,80.887286 C 85.541926,81.356563 84.838399,81.
55393 84.001075,81.479385 C 82.852979,81.377172 81.996705,80.820054 81.428546,79.844038 C 81.066989,79.221363 80.886211,78.507026 80.886211,77.701023 C 80.886211,76.531028 81.247767,75.671705 81.97088,75.123054 C 82.513214,74.709409 83.189638,74.543151 84.001075,74.615385 C 85.183693,74.720678 86.059862,75.262347 86.629602,76.240397 C 86.992148,76.853345 87.174159,77.557502 87.174169,78.372165 M 85.127586,78.212676 C 85.127576,77.354679 85.04126,76.761995 84.868618,76.43462 C 84.635537,76.119208 84.350672,75.933515 84.014023,75.877537 C 83.314799,75.815293 82.952236,76.385418 82.926421,77.587081 C 82.926421,77.587081 82.926421,77.795081 82.926421,77.795081 C 82.926411,78.878416 83.08605,79.586591 83.405448,79.918357 C 83.560819,80.088191 83.759368,80.183867 84.001075,80.205385 C 84.726176,80.26994 85.10168,79.679371 85.127586,78.433676 C 85.127576,78.364345 85.127576,78.290678 85.127586,78.212676 M 93.873501,81.964882 C 93.873501,81.964882 92.054826,81.896726 92.054826,81.89!
 6726 C 92.054826,81.896726 92.054826,80.869726 92.054826,80.869726 C 92.054826,80.869726 92.028845,80.868753 92.028845,80.868753 C 91.639129,81.625482 91.054202,81.996251 90.275763,81.94728 C 89.159999,81.87709 88.433455,81.211718 88.096131,79.951164 C 87.966391,79.492338 87.901521,78.989924 87.901521,78.443921 C 87.901521,76.987926 88.251819,75.991631 88.952415,75.455031 C 89.315687,75.174557 89.769777,75.051457 90.314685,75.085729 C 91.006628,75.129265 91.539531,75.399088 91.91193,75.924371 C 91.929247,75.942359 91.946565,75.964675 91.963892,75.991318 C 91.963892,75.991318 91.963892,72.975318 91.963892,72.975318 C 91.963892,72.975318 93.873501,73.046882 93.873501,73.046882 C 93.873501,73.046882 93.873501,75.276382 93.873501,77.505882 C 93.873501,79.735382 93.873501,81.964882 93.873501,81.964882 M 91.963892,79.137318 C 91.963892,79.137318 91.963892,78.227318 91.963892,78.227318 C 91.963892,77.074656 91.656446,76.486803 91.041564,76.463754 C 90.30543,76.436172 89.929786,77.!
 080854 89.912491,78.440428 C 89.912491,78.492431 89.912491,78.553098 8
9.912491,78.622428 C 89.912491,79.905097 90.262132,80.581545 90.963621,80.607833 C 91.59582,80.631526 91.929247,80.189022 91.963892,79.280318 C 91.963892,79.228321 91.963892,79.180654 91.963892,79.137318 M 100.82798,82.031749 C 100.82798,82.031749 99.060159,82.053716 99.060159,82.053716 C 99.060159,82.053716 99.060159,80.922716 99.060159,80.922716 C 99.060159,80.922716 99.034161,80.922798 99.034161,80.922798 C 98.678858,81.73305 98.050593,82.145577 97.149355,82.160378 C 96.100793,82.147349 95.481197,81.671651 95.290546,80.733281 C 95.238552,80.48997 95.212554,80.207981 95.212554,79.887312 C 95.212554,79.887312 95.212554,75.402312 95.212554,75.402312 C 95.212554,75.402312 97.123357,75.426055 97.123357,75.426055 C 97.123357,75.426055 97.123357,79.586055 97.123357,79.586055 C 97.123357,80.088724 97.227347,80.406349 97.435325,80.538931 C 97.539314,80.600892 97.67797,80.632948 97.851282,80.6351 C 98.475219,80.642855 98.821843,80.274495 98.891176,79.530021 C 98.908504,79.382907 98!
 .917173,79.205347 98.917173,78.997344 C 98.917173,78.997344 98.917173,75.448344 98.917173,75.448344 C 98.917173,75.448344 100.82798,75.427749 100.82798,75.427749 C 100.82798,75.427749 100.82798,77.078749 100.82798,78.729749 C 100.82798,80.380749 100.82798,82.031749 100.82798,82.031749 M 108.06505,79.318358 C 107.9699,80.338346 107.51175,81.108973 106.68902,81.599137 C 106.21269,81.885655 105.67143,82.040272 105.0652,82.062991 C 103.90471,82.106481 103.03423,81.696669 102.45362,80.82855 C 102.07233,80.26129 101.88168,79.578993 101.88168,78.781657 C 101.88168,77.559662 102.27164,76.62315 103.05156,75.97212 C 103.6235,75.49702 104.3334,75.226423 105.18211,75.19461 C 106.13475,75.158916 106.88874,75.466365 107.4423,76.081534 C 107.80557,76.492021 108.01315,76.998961 108.06505,77.602358 C 108.06505,77.602358 106.24734,77.793689 106.24734,77.793689 C 106.24734,77.273694 106.0698,76.920681 105.71473,76.734649 C 105.57616,76.670514 105.42027,76.641689 105.24707,76.648175 C 104.4849!
 5,76.676741 104.09091,77.267841 104.06493,78.421477 C 104.06493,78.473
481 104.06493,78.525481 104.06493,78.577477 C 104.06493,79.38348 104.17319,79.916756 104.38969,80.177306 C 104.57156,80.395826 104.83137,80.498756 105.16912,80.486096 C 105.66276,80.467599 105.99619,80.195103 106.16939,79.66861 C 106.20404,79.554648 106.23002,79.432341 106.24734,79.301689 C 106.24734,79.301689 108.06505,79.318358 108.06505,79.318358 M 113.08325,81.425714 C 112.60847,81.563315 112.21139,81.646334 111.892,81.674768 C 110.93381,81.760074 110.30604,81.578049 110.01197,81.171881 C 109.77844,80.865906 109.66167,80.314253 109.66167,79.516918 C 109.66167,79.516918 109.66167,76.604918 109.66167,76.604918 C 109.66167,76.604918 108.58483,76.67266 108.58483,76.67266 C 108.58483,76.67266 108.58483,75.15166 108.58483,75.15166 C 108.58483,75.15166 109.73951,75.079021 109.73951,75.079021 C 109.73951,75.079021 109.90818,73.13141 109.90818,73.13141 C 109.90818,73.13141 111.56829,72.889588 111.56829,72.889588 C 111.56829,72.889588 111.56829,74.956588 111.56829,74.956588 C 111.!
 56829,74.956588 112.97967,74.830936 112.97967,74.830936 C 112.97967,74.830936 112.97967,76.351936 112.97967,76.351936 C 112.97967,76.351936 111.56829,76.477588 111.56829,76.477588 C 111.56829,76.477588 111.56829,79.220588 111.56829,79.220588 C 111.56828,79.645257 111.63734,79.903442 111.77546,79.995143 C 111.88768,80.071821 112.07759,80.098248 112.34519,80.074421 C 112.5092,80.059822 112.75522,80.029253 113.08325,79.982714 C 113.08325,79.982714 113.08325,81.425714 113.08325,81.425714 M 116.06994,73.945502 C 116.06994,73.945502 114.1691,74.140043 114.1691,74.140043 C 114.1691,74.140043 114.1691,72.294043 114.1691,72.294043 C 114.1691,72.294043 116.06994,72.099502 116.06994,72.099502 C 116.06994,72.099502 116.06994,73.945502 116.06994,73.945502 M 116.06994,81.147502 C 116.06994,81.147502 114.1691,81.342043 114.1691,81.342043 C 114.1691,81.342043 114.1691,79.691043 114.1691,78.040043 C 114.1691,76.389043 114.1691,74.738043 114.1691,74.738043 C 114.1691,74.738043 116.06994,74.5!
 43502 116.06994,74.543502 C 116.06994,74.543502 116.06994,76.194502 11
6.06994,77.845502 C 116.06994,79.496502 116.06994,81.147502 116.06994,81.147502 M 123.41843,76.882264 C 123.41843,77.974266 123.07157,78.921816 122.36827,79.665012 C 121.8022,80.267001 121.10318,80.628246 120.27123,80.748743 C 119.1305,80.913964 118.27498,80.566292 117.70682,79.722308 C 117.34527,79.183653 117.16449,78.511326 117.16449,77.705323 C 117.16449,76.535328 117.52604,75.591985 118.24916,74.875292 C 118.79149,74.335617 119.465,74.001523 120.27123,73.884743 C 121.44626,73.714562 122.3173,74.055192 122.88067,74.883645 C 123.23917,75.401396 123.41843,76.067602 123.41843,76.882264 M 121.39051,77.219629 C 121.39051,76.361633 121.30474,75.789057 121.1332,75.501897 C 120.90163,75.240777 120.61859,75.121438 120.2841,75.14388 C 119.58937,75.244509 119.22914,75.899015 119.20341,77.107404 C 119.20341,77.107404 119.20341,77.315404 119.20341,77.315404 C 119.20341,78.39874 119.36208,79.069092 119.67943,79.326459 C 119.83381,79.460099 120.03107,79.509528 120.27123,79.474743 C 120.!
 99169,79.370395 121.36478,78.692358 121.39051,77.440629 C 121.39051,77.371299 121.39051,77.297632 121.39051,77.219629 M 130,78.837568 C 130,78.837568 128.12947,79.228325 128.12947,79.228325 C 128.12947,79.228325 128.12947,75.341325 128.12947,75.341325 C 128.12947,74.682663 127.99374,74.303684 127.72228,74.204387 C 127.72228,74.204387 127.46778,74.166551 127.46778,74.166551 C 127.46778,74.166551 127.27691,74.193424 127.27691,74.193424 C 126.60674,74.333429 126.27166,74.958094 126.27166,76.067423 C 126.27166,76.067423 126.27166,79.616423 126.27166,79.616423 C 126.27166,79.616423 124.39231,79.961341 124.39231,79.961341 C 124.39231,79.961341 124.39231,78.310341 124.39231,76.659341 C 124.39231,75.008341 124.39231,73.357341 124.39231,73.357341 C 124.39231,73.357341 126.16986,73.033688 126.16986,73.033688 C 126.16986,73.033688 126.16986,74.151688 126.16986,74.151688 C 126.16986,74.151688 126.19531,74.146372 126.19531,74.146372 C 126.52616,73.340599 127.03091,72.827823 127.70955,72!
 .608045 C 127.81984,72.567681 127.93436,72.53509 128.05312,72.510274 C
 129.04565,72.302941 129.65643,72.617346 129.88548,73.453492 C 129.96183,73.758215 130,74.161906 130,74.664568 C 130,74.664568 130,78.837568 130,78.837568 M 86.606335,97.831325 C 86.606335,97.831325 84.534589,97.646882 84.534589,97.646882 C 84.534589,97.646882 84.534589,95.830132 84.534589,94.013382 C 84.534589,92.196632 84.534589,90.379882 84.534589,90.379882 C 84.534589,90.379882 84.482795,90.375271 84.482795,90.375271 C 84.482795,90.375271 83.932488,92.143029 83.382181,93.910786 C 82.831873,95.678543 82.283407,97.428367 82.283407,97.428367 C 82.283407,97.428367 80.863008,97.263327 80.863008,97.263327 C 80.863008,97.263327 80.323902,95.383937 79.784796,93.504546 C 79.24569,91.625156 78.70852,89.730945 78.70852,89.730945 C 78.70852,89.730945 78.68279,89.727218 78.68279,89.727218 C 78.68279,89.727218 78.68279,91.543968 78.68279,93.360718 C 78.68279,95.177468 78.68279,96.994218 78.68279,96.994218 C 78.68279,96.994218 76.945974,96.742662 76.945974,96.742662 C 76.945974,96.7426!
 62 76.945974,94.513162 76.945974,92.283662 C 76.945974,90.054162 76.945974,87.824662 76.945974,87.824662 C 76.945974,87.824662 80.178634,88.265808 80.178634,88.265808 C 80.178634,88.265808 80.566016,89.646568 80.953397,91.027329 C 81.340779,92.40809 81.72816,93.788851 81.72816,93.788851 C 81.72816,93.788851 82.134911,92.500363 82.541662,91.211874 C 82.948412,89.923386 83.356284,88.62398 83.356284,88.62398 C 83.356284,88.62398 86.606335,88.913325 86.606335,88.913325 C 86.606335,88.913325 86.606335,91.142825 86.606335,93.372325 C 86.606335,95.601825 86.606335,97.831325 86.606335,97.831325 M 94.133312,95.247619 C 94.133312,95.247619 89.899517,95.066611 89.899517,95.066611 C 89.899517,95.066611 89.886543,95.455795 89.886543,95.455795 C 89.886543,95.455795 89.886543,95.468795 89.886543,95.468795 C 89.886543,96.023464 90.098448,96.431128 90.522269,96.691788 C 90.712547,96.807759 90.924649,96.869373 91.158479,96.878135 C 91.565512,96.89339 91.890276,96.749562 92.132769,96.446647 C!
  92.262675,96.278185 92.327627,96.089952 92.327627,95.88195 C 92.32762
7,95.88195 94.09434,96.078159 94.09434,96.078159 C 94.09433,96.26016 94.007733,96.486582 93.83453,96.757422 C 93.340879,97.631589 92.591765,98.119182 91.587167,98.2202 C 91.422616,98.240034 91.258066,98.246867 91.093526,98.240701 C 89.959012,98.198184 89.090797,97.715403 88.485351,96.862649 C 88.052888,96.254778 87.836651,95.534843 87.836651,94.70284 C 87.836651,93.524178 88.199923,92.628365 88.926467,92.015399 C 89.48867,91.539439 90.192842,91.342954 91.041564,91.374754 C 92.297309,91.421821 93.18933,91.996916 93.717615,93.100041 C 93.994743,93.691097 94.133302,94.37229 94.133312,95.143619 C 94.133312,95.143619 94.133312,95.247619 94.133312,95.247619 M 92.223703,94.045055 C 92.171741,93.124447 91.803669,92.65132 91.119507,92.625674 C 90.37471,92.597769 89.964387,93.021031 89.886543,93.934795 C 89.886543,93.934795 92.223703,94.045055 92.223703,94.045055 M 104.51879,98.203468 C 104.51879,98.203468 102.60879,98.259622 102.60879,98.259622 C 102.60879,98.259622 102.60879,94.2686!
 22 102.60879,94.268622 C 102.60878,93.748627 102.53513,93.415875 102.38782,93.270367 C 102.24916,93.142095 102.03684,93.079733 101.75088,93.083282 C 101.17894,93.090394 100.86263,93.449657 100.80198,94.161073 C 100.79331,94.291184 100.78898,94.499238 100.78898,94.785234 C 100.78898,94.785234 100.78898,98.282234 100.78898,98.282234 C 100.78898,98.282234 98.878177,98.30186 98.878177,98.30186 C 98.878177,98.30186 98.878177,94.34986 98.878177,94.34986 C 98.878177,93.691198 98.713524,93.294819 98.384228,93.160722 C 98.384228,93.160722 98.098258,93.092169 98.098258,93.092169 C 98.098258,93.092169 98.020265,93.0912 98.020265,93.0912 C 97.465652,93.084313 97.153684,93.40977 97.084361,94.06757 C 97.067033,94.197359 97.058364,94.435584 97.058364,94.782247 C 97.058364,94.782247 97.058364,98.279247 97.058364,98.279247 C 97.058364,98.279247 95.147561,98.255504 95.147561,98.255504 C 95.147561,98.255504 95.147561,96.604504 95.147561,94.953504 C 95.147561,93.302504 95.147561,91.651504 95.1!
 47561,91.651504 C 95.147561,91.651504 96.967373,91.674117 96.967373,91
.674117 C 96.967373,91.674117 96.967373,92.688117 96.967373,92.688117 C 96.967373,92.688117 96.993371,92.68844 96.993371,92.68844 C 97.322667,91.929872 97.933604,91.55613 98.826183,91.567214 C 99.62343,91.577127 100.2127,91.915068 100.594,92.629657 C 100.61133,92.64678 100.62433,92.668286 100.633,92.694172 C 100.9103,92.0494 101.43024,91.670273 102.19284,91.55679 C 102.31415,91.537957 102.43547,91.527782 102.5568,91.526268 C 103.67467,91.512384 104.31959,91.975273 104.49281,92.965442 C 104.51878,93.129141 104.53177,93.30632 104.53178,93.496981 C 104.53178,93.496981 104.51879,98.203468 104.51879,98.203468 M 111.82968,94.550317 C 111.82968,95.642319 111.47612,96.545442 110.76688,97.231391 C 110.19603,97.787302 109.49111,98.091647 108.65212,98.144426 C 107.50177,98.216793 106.6403,97.798963 106.06872,96.910383 C 105.70498,96.34335 105.52311,95.656833 105.52311,94.85083 C 105.52311,93.680835 105.88685,92.765871 106.61432,92.105936 C 107.15992,91.60883 107.83909,91.33158 108.6521!
 2,91.280426 C 109.83708,91.20589 110.71611,91.629128 111.28584,92.505733 C 111.6484,93.054128 111.82968,93.735655 111.82968,94.550317 M 109.78086,94.70642 C 109.78086,93.848424 109.69436,93.268866 109.52138,92.967743 C 109.28785,92.687773 109.00242,92.545396 108.6651,92.54061 C 107.9645,92.584689 107.60123,93.209874 107.57528,94.416169 C 107.57528,94.416169 107.57528,94.624169 107.57528,94.624169 C 107.57528,95.707505 107.7353,96.390771 108.05532,96.67397 C 108.21101,96.820177 108.40994,96.885663 108.65212,96.870426 C 109.37867,96.824722 109.75491,96.177054 109.78086,94.92742 C 109.78086,94.85809 109.78086,94.784423 109.78086,94.70642 M 116.46236,92.554905 C 116.46236,92.554905 116.33324,92.569909 116.33324,92.569909 C 115.49821,92.666938 115.01579,93.196335 114.88632,94.16119 C 114.85179,94.389602 114.83451,94.672805 114.83452,95.010802 C 114.83452,95.010802 114.83452,97.532802 114.83452,97.532802 C 114.83452,97.532802 112.93111,97.702259 112.93111,97.702259 C 112.93111,97!
 .702259 112.93111,96.051259 112.93111,94.400259 C 112.93111,92.749259 
112.93111,91.098259 112.93111,91.098259 C 112.93111,91.098259 114.70504,90.940329 114.70504,90.940329 C 114.70504,90.940329 114.70504,92.175329 114.70504,92.175329 C 114.70504,92.175329 114.73094,92.173024 114.73094,92.173024 C 114.98127,91.240743 115.41642,90.739443 116.03624,90.667417 C 116.13093,90.656422 116.27297,90.648585 116.46236,90.643905 C 116.46236,90.643905 116.46236,92.554905 116.46236,92.554905 M 122.6306,89.916533 C 122.6306,89.916533 122.13309,91.542076 121.63456,93.161282 C 121.13603,94.780488 120.63749,96.399694 120.63749,96.399694 C 120.37161,97.278871 120.19578,97.811337 120.11002,97.997093 C 119.75836,98.802024 119.21506,99.294059 118.47473,99.432082 C 118.42307,99.438083 118.36712,99.444584 118.30687,99.451587 C 118.12608,99.472591 117.72578,99.488769 117.10598,99.500121 C 117.10598,99.500121 117.10598,98.005121 117.10598,98.005121 C 117.10598,98.005121 118.06152,97.985094 118.06152,97.985094 C 118.50055,97.934081 118.79775,97.762492 118.95214,97.462797!
  C 119.01217,97.350103 119.06363,97.208316 119.10652,97.037437 C 119.10652,97.037437 118.51024,95.462956 117.91303,93.881348 C 117.31582,92.29974 116.7186,90.718132 116.7186,90.718132 C 116.7186,90.718132 118.77172,90.479574 118.77172,90.479574 C 118.77172,90.479574 120.01996,94.227137 120.01996,94.227137 C 120.01996,94.227137 121.21643,90.127842 121.21643,90.127842 C 121.21643,90.127842 122.6306,89.916533 122.6306,89.916533 M 84.185988,121.19785 C 83.662763,121.98822 83.273912,122.85686 83.019456,123.80378 C 82.778536,124.70029 82.658879,125.65915 82.658879,126.696 C 82.658879,127.68869 82.780119,128.65852 83.024187,129.58984 C 83.272348,130.53674 83.646667,131.45193 84.147143,132.33539 C 84.147143,132.33539 82.736356,132.204 82.736356,132.204 C 82.156177,131.33505 81.711413,130.44932 81.402065,129.54681 C 81.082594,128.61475 80.907547,127.66479 80.876924,126.69695 C 80.876924,126.61895 80.876924,126.53662 80.876924,126.44995 C 80.876924,125.49696 81.007988,124.60426 81.27!
 0126,123.77183 C 81.534827,122.93125 81.933184,122.15214 82.465188,121
.43449 C 82.559878,121.30683 82.658879,121.18401 82.762181,121.066 C 82.762181,121.066 84.185988,121.19785 84.185988,121.19785 M 89.615107,125.72872 C 89.615107,125.72872 89.485367,125.72056 89.485367,125.72056 C 88.646378,125.66778 88.162009,126.11398 88.032279,127.05915 C 87.997678,127.2823 87.980373,127.56288 87.980383,127.90089 C 87.980383,127.90089 87.980383,130.42289 87.980383,130.42289 C 87.980383,130.42289 86.074643,130.28399 86.074643,130.28399 C 86.074643,130.28399 86.074643,128.63299 86.074643,126.98199 C 86.074643,125.33099 86.074643,123.67999 86.074643,123.67999 C 86.074643,123.67999 87.850643,123.81072 87.850643,123.81072 C 87.850643,123.81072 87.850643,125.04572 87.850643,125.04572 C 87.850643,125.04572 87.876591,125.04736 87.876591,125.04736 C 88.127418,124.15313 88.564203,123.72561 89.186965,123.76479 C 89.282094,123.77077 89.424808,123.78842 89.615107,123.81772 C 89.615107,123.81772 89.615107,125.72872 89.615107,125.72872 M 96.02964,130.76647 C 96.02964,130!
 .76647 94.262198,130.72945 94.262198,130.72945 C 94.262198,130.72945 94.262198,129.59845 94.262198,129.59845 C 94.262198,129.59845 94.236217,129.59748 94.236217,129.59748 C 93.881146,130.39883 93.253263,130.79564 92.352589,130.78789 C 91.304692,130.74862 90.685591,130.25506 90.495303,129.30709 C 90.443407,129.06116 90.417459,128.77787 90.417459,128.4572 C 90.417459,128.4572 90.417459,123.9722 90.417459,123.9722 C 90.417459,123.9722 92.326608,124.05291 92.326608,124.05291 C 92.326608,124.05291 92.326608,128.21291 92.326608,128.21291 C 92.326608,128.71558 92.430532,129.03581 92.638381,129.1736 C 92.742305,129.23816 92.880874,129.27369 93.054078,129.28018 C 93.677624,129.30354 94.024042,128.94386 94.093321,128.20112 C 94.110639,128.05444 94.119302,127.8771 94.119302,127.6691 C 94.119302,127.6691 94.119302,124.1201 94.119302,124.1201 C 94.119302,124.1201 96.02964,124.16247 96.02964,124.16247 C 96.02964,124.16247 96.02964,125.81347 96.02964,127.46447 C 96.02964,129.11547 96.0296!
 4,130.76647 96.02964,130.76647 M 99.345119,130.80018 C 99.345119,130.8
0018 97.434315,130.78392 97.434315,130.78392 C 97.434315,130.78392 97.434315,128.55442 97.434315,126.32492 C 97.434315,124.09542 97.434315,121.86592 97.434315,121.86592 C 97.434315,121.86592 99.345119,121.88218 99.345119,121.88218 C 99.345119,121.88218 99.345119,124.11168 99.345119,126.34118 C 99.345119,128.57068 99.345119,130.80018 99.345119,130.80018 M 106.72312,127.64386 C 106.72312,127.64386 102.48775,127.78413 102.48775,127.78413 C 102.48775,127.78413 102.47475,128.17429 102.47475,128.17429 C 102.47475,128.17429 102.47475,128.18729 102.47475,128.18729 C 102.47475,128.74196 102.68705,129.13365 103.11168,129.36238 C 103.30232,129.46401 103.51446,129.50611 103.74829,129.49735 C 104.15532,129.48209 104.48008,129.31392 104.72258,128.99283 C 104.85247,128.81464 104.91743,128.62153 104.91744,128.41353 C 104.91744,128.41353 106.68415,128.47732 106.68415,128.47732 C 106.68414,128.65932 106.59754,128.89224 106.42434,129.17606 C 105.93069,130.08722 105.18157,130.63096 104.17698,13!
 0.80728 C 104.01243,130.83945 103.84788,130.85861 103.68333,130.86478 C 102.54882,130.9073 101.67749,130.49386 101.07089,129.68673 C 100.63761,129.11145 100.42096,128.40781 100.42096,127.57581 C 100.42096,126.39714 100.78492,125.47396 101.51285,124.80624 C 102.07612,124.28791 102.78265,124.03453 103.63137,124.00273 C 104.88712,123.95567 105.77914,124.46391 106.30742,125.52744 C 106.58455,126.09773 106.72311,126.76853 106.72312,127.53986 C 106.72312,127.53986 106.72312,127.64386 106.72312,127.64386 M 104.81351,126.58443 C 104.76154,125.66771 104.39348,125.22217 103.70932,125.24781 C 102.96452,125.27572 102.55274,125.73366 102.47475,126.65329 C 102.47475,126.65329 104.81351,126.58443 104.81351,126.58443 M 113.16903,128.06208 C 113.16903,129.02408 112.68562,129.73012 111.71881,130.18019 C 111.27856,130.39271 110.78554,130.51022 110.24063,130.5445 C 108.72699,130.63972 107.7626,130.17605 107.34743,129.15351 C 107.30418,129.0349 107.26521,128.91055 107.23056,128.78185 C 107.2305!
 6,128.78185 108.87836,128.4462 108.87836,128.4462 C 108.9735,128.94288
 109.36705,129.20845 110.05899,129.24293 C 110.14549,129.24615 110.23631,129.24477 110.33145,129.23879 C 110.82446,129.20777 111.17065,129.07632 111.3692,128.83331 C 111.44689,128.7484 111.48574,128.64961 111.48574,128.53694 C 111.48574,128.25961 111.30017,128.09885 110.92825,128.04424 C 110.92825,128.04424 110.74662,128.02967 110.74662,128.02967 C 109.72599,127.9552 109.01675,127.83949 108.61888,127.68252 C 107.86639,127.39186 107.49014,126.8522 107.49014,126.06353 C 107.49014,125.07553 107.97883,124.37745 108.9562,123.9693 C 109.36272,123.80507 109.81249,123.70743 110.3055,123.67642 C 111.50775,123.60079 112.32738,123.99868 112.76763,124.91282 C 112.76763,124.91282 112.89711,125.20029 112.89711,125.20029 C 112.89711,125.20029 111.48574,125.70294 111.48574,125.70294 C 111.33036,125.12744 110.9023,124.86087 110.20171,124.90495 C 109.57896,124.97879 109.25028,125.19447 109.21568,125.55198 C 109.21568,125.82932 109.45354,126.00068 109.92925,126.06609 C 109.92925,126.06609 111.!
 45984,126.21225 111.45984,126.21225 C 112.38349,126.33801 112.93164,126.75288 113.10429,127.45684 C 113.14745,127.635 113.16903,127.83675 113.16903,128.06208 M 117.44857,126.42232 C 117.44857,127.39148 117.29955,128.3466 117.00151,129.2877 C 116.7132,130.19805 116.28545,131.09527 115.71826,131.97937 C 115.67522,132.04503 115.63218,132.1107 115.58914,132.17637 C 115.58914,132.17637 114.17901,132.31416 114.17901,132.31416 C 114.6807,131.43294 115.05584,130.51985 115.30331,129.56378 C 115.54551,128.62804 115.66661,127.66291 115.66661,126.66837 C 115.66661,125.63152 115.54648,124.66807 115.30624,123.77802 C 115.05247,122.83794 114.6634,121.96699 114.14016,121.17662 C 114.14016,121.17662 115.56331,121.03837 115.56331,121.03837 C 116.12344,121.69895 116.55873,122.43025 116.86918,123.23229 C 117.17422,124.02035 117.35875,124.87668 117.42274,125.80132 C 117.43996,126.00732 117.44857,126.21432 117.44857,126.42232"
+         id="text3172" />
+    </g>
+    <g
+       inkscape:label="Layer 1"
+       id="g2790"
+       transform="translate(590,190)">
+      <path
+         id="path4103"
+         style="fill:url(#linearGradient4625);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+         d="M 150,35 C 150,26.72 150,126.72 150,135 C 150,143.28 127.6,150 100,150 C 72.4,150 50,143.28 50,135 C 50,126.72 50,26.72 50,35 C 50,43.28 72.4,50 100,50 C 127.6,50 150,43.28 150,35 z"
+         sodipodi:nodetypes="ccsccsc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:1;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4101"
+         sodipodi:cx="90"
+         sodipodi:cy="67.5"
+         sodipodi:rx="50"
+         sodipodi:ry="15"
+         d="M 140,67.5 A 50,15 0 1 1 40,67.5 A 50,15 0 1 1 140,67.5 z"
+         transform="translate(10,-32.5)" />
+      <path
+         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#16502d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         d="M 88.62623,69.538312 C 88.62623,69.538312 88.070257,71.710149 87.514283,73.881986 C 86.95831,76.053823 86.402336,78.22566 86.402336,78.22566 C 86.402336,78.22566 84.359457,78.013782 84.359457,78.013782 C 84.359457,78.013782 83.997428,76.500734 83.635399,74.987686 C 83.273369,73.474639 82.911569,71.959667 82.911569,71.959667 C 82.911569,71.959667 82.885813,71.956116 82.885813,71.956116 C 82.885813,71.956116 82.53811,73.383678 82.190407,74.81124 C 81.842704,76.238802 81.495001,77.666364 81.495001,77.666364 C 81.495001,77.666364 79.488014,77.376295 79.488014,77.376295 C 79.488014,77.376295 78.920188,75.054763 78.352362,72.733231 C 77.784536,70.411699 77.21671,68.090167 77.21671,68.090167 C 77.21671,68.090167 79.321195,68.431257 79.321195,68.431257 C 79.321195,68.431257 79.658041,69.987353 79.994887,71.543448 C 80.331733,73.099543 80.670816,74.640733 80.670816,74.640733 C 80.670816,74.640733 80.696571,74.644284 80.696571,74.644284 C 80.696571,74.644284 81.053933,73.!
 192054 81.411295,71.739823 C 81.768656,70.287593 82.126018,68.835363 82.126018,68.835363 C 82.126018,68.835363 84.036217,69.062257 84.036217,69.062257 C 84.036217,69.062257 84.407943,70.602311 84.77967,72.142365 C 85.151396,73.682419 85.523122,75.222472 85.523122,75.222472 C 85.523122,75.222472 85.548982,75.225154 85.548982,75.225154 C 85.548982,75.225154 85.626559,74.8432 85.626559,74.8432 C 85.626559,74.8432 85.9498,73.472725 86.27304,72.10225 C 86.59628,70.731775 86.919521,69.3613 86.919521,69.3613 C 86.919521,69.3613 88.62623,69.538312 88.62623,69.538312 M 95.441433,75.642992 C 95.441426,76.734993 95.086779,77.580013 94.377489,78.178053 C 93.806588,78.663208 93.101617,78.880179 92.262577,78.828968 C 91.112131,78.758749 90.251461,78.251218 89.680567,77.306373 C 89.317268,76.703534 89.135619,75.999113 89.13562,75.193111 C 89.135619,74.023115 89.498917,73.143958 90.225514,72.555634 C 90.770458,72.112235 91.449479,71.915347 92.262577,71.964968 C 93.447615,72.037304 94.32558!
 4,72.554558 94.896486,73.51673 C 95.259777,74.119575 95.441426,74.8283
28 95.441433,75.642992 M 93.391395,75.530866 C 93.39139,74.67287 93.304891,74.082591 93.131897,73.760027 C 92.898344,73.451111 92.612896,73.273355 92.275552,73.22676 C 91.574903,73.184 91.211605,73.764159 91.185658,74.967237 C 91.185658,74.967237 91.185658,75.175237 91.185658,75.175237 C 91.185655,76.258573 91.34568,76.961672 91.66573,77.284539 C 91.821426,77.450043 92.020375,77.540186 92.262577,77.554968 C 92.989168,77.599317 93.36544,76.998284 93.391395,75.751866 C 93.39139,75.682536 93.39139,75.608869 93.391395,75.530866 M 100.09475,74.19547 C 100.09475,74.19547 99.964781,74.192857 99.964781,74.192857 C 99.124338,74.175967 98.639136,74.64288 98.509175,75.593596 C 98.474515,75.818235 98.457187,76.099554 98.457189,76.437551 C 98.457189,76.437551 98.457189,78.959551 98.457189,78.959551 C 98.457189,78.959551 96.546705,78.921146 96.546705,78.921146 C 96.546705,78.921146 96.546705,77.270146 96.546705,75.619146 C 96.546705,73.968146 96.546705,72.317146 96.546705,72.317146 C 96.5!
 46705,72.317146 98.327224,72.352938 98.327224,72.352938 C 98.327224,72.352938 98.327224,73.587938 98.327224,73.587938 C 98.327224,73.587938 98.353217,73.588461 98.353217,73.588461 C 98.60448,72.683518 99.042028,72.237315 99.665862,72.249848 C 99.761166,72.251771 99.904127,72.263311 100.09475,72.28447 C 100.09475,72.28447 100.09475,74.19547 100.09475,74.19547 M 107.43573,78.934958 C 107.43573,78.934958 105.29131,78.978066 105.29131,78.978066 C 105.29131,78.978066 103.90068,76.016021 103.90068,76.016021 C 103.90068,76.016021 102.83497,77.337444 102.83497,77.337444 C 102.83497,77.337444 102.83497,79.027444 102.83497,79.027444 C 102.83497,79.027444 100.92449,79.00915 100.92449,79.00915 C 100.92449,79.00915 100.92449,76.77965 100.92449,74.55015 C 100.92449,72.32065 100.92449,70.09115 100.92449,70.09115 C 100.92449,70.09115 102.83497,70.109444 102.83497,70.109444 C 102.83497,70.109444 102.83497,71.445194 102.83497,72.780944 C 102.83497,74.116694 102.83497,75.452444 102.83497,75.4!
 52444 C 103.18154,74.890814 103.96567,73.904387 105.18734,72.493156 C 
105.22199,72.449133 105.25665,72.409436 105.29131,72.374066 C 105.29131,72.374066 107.1758,72.336183 107.1758,72.336183 C 107.1758,72.336183 105.29131,74.623066 105.29131,74.623066 C 105.29131,74.623066 107.43573,78.934958 107.43573,78.934958 M 110.10542,71.637444 C 110.10542,71.637444 108.19663,71.717662 108.19663,71.717662 C 108.19663,71.717662 108.19663,69.871662 108.19663,69.871662 C 108.19663,69.871662 110.10542,69.791444 110.10542,69.791444 C 110.10542,69.791444 110.10542,71.637444 110.10542,71.637444 M 110.10542,78.839444 C 110.10542,78.839444 108.19663,78.919662 108.19663,78.919662 C 108.19663,78.919662 108.19663,77.268662 108.19663,75.617662 C 108.19663,73.966662 108.19663,72.315662 108.19663,72.315662 C 108.19663,72.315662 110.10542,72.235444 110.10542,72.235444 C 110.10542,72.235444 110.10542,73.886444 110.10542,75.537444 C 110.10542,77.188444 110.10542,78.839444 110.10542,78.839444 M 117.20685,78.335635 C 117.20685,78.335635 115.30532,78.522064 115.30532,78.52206!
 4 C 115.30532,78.522064 115.30532,74.635064 115.30532,74.635064 C 115.30532,73.976402 115.16692,73.577517 114.89012,73.438406 C 114.89012,73.438406 114.63062,73.363245 114.63062,73.363245 C 114.63062,73.363245 114.436,73.362124 114.436,73.362124 C 113.75265,73.403838 113.41098,73.979358 113.41098,75.088687 C 113.41098,75.088687 113.41098,78.637687 113.41098,78.637687 C 113.41098,78.637687 111.50367,78.754101 111.50367,78.754101 C 111.50367,78.754101 111.50367,77.103101 111.50367,75.452101 C 111.50367,73.801101 111.50367,72.150101 111.50367,72.150101 C 111.50367,72.150101 113.30718,72.040022 113.30718,72.040022 C 113.30718,72.040022 113.30718,73.158022 113.30718,73.158022 C 113.30718,73.158022 113.33313,73.156438 113.33313,73.156438 C 113.67048,72.399187 114.18515,71.960442 114.87715,71.840198 C 114.9896,71.816008 115.10637,71.800214 115.22747,71.792816 C 116.23951,71.731052 116.85775,72.079848 117.09049,72.939704 C 117.16807,73.25233 117.20685,73.659973 117.20685,74.162635 !
 C 117.20685,74.162635 117.20685,78.335635 117.20685,78.335635 M 125.11
805,70.938583 C 124.84429,70.939626 124.67765,70.946136 124.61756,70.954415 C 124.2398,71.006503 123.99941,71.182645 123.89639,71.482842 C 123.87922,71.528549 123.86634,71.577992 123.85776,71.631168 C 124.19257,72.001012 124.36428,72.40634 124.37288,72.847149 C 124.37287,73.653154 123.96506,74.290044 123.14948,74.75782 C 122.72878,75.00649 122.26518,75.165741 121.75866,75.235572 C 121.65563,75.24978 121.18998,75.26186 120.3625,75.278347 C 120.147,75.422033 120.03925,75.593542 120.03926,75.792872 C 120.03925,76.044208 120.16424,76.200244 120.41421,76.260983 C 120.66418,76.321725 121.24784,76.328668 122.15788,76.220532 C 123.23961,76.097394 123.98653,76.133083 124.39863,76.327598 C 124.85364,76.550867 125.07955,76.959491 125.07956,77.574822 C 125.07955,78.727489 124.22262,79.54553 122.50558,80.007594 C 122.13641,80.11049 121.73303,80.1932 121.29343,80.238795 C 119.35398,80.439944 118.24635,80.182155 117.97052,79.465431 C 117.92741,79.339901 117.90587,79.203468 117.90587,79.056!
 136 C 117.90587,78.553469 118.17307,78.161756 118.70751,77.880994 C 118.81094,77.826934 118.92299,77.780645 119.04368,77.742129 C 118.48339,77.51424 118.20325,77.148961 118.20325,76.646293 C 118.20325,76.065628 118.58252,75.562627 119.34106,75.137286 C 119.40139,75.105031 119.46173,75.072773 119.52207,75.040512 C 118.81525,74.845157 118.43167,74.408273 118.37134,73.72986 C 118.36271,73.670093 118.35841,73.609872 118.35841,73.549201 C 118.35841,72.647873 118.8799,71.974121 119.92289,71.527941 C 120.36249,71.343688 120.8452,71.22429 121.37101,71.169749 C 121.99162,71.105389 122.56996,71.111058 123.11084,71.227146 C 123.1881,70.601169 123.40273,70.18591 123.75474,69.981372 C 123.95218,69.867491 124.23121,69.785689 124.5918,69.735966 C 124.5918,69.735966 125.11805,69.703583 125.11805,69.703583 C 125.11805,69.703583 125.11805,70.938583 125.11805,70.938583 M 122.47982,73.056145 C 122.47981,72.588151 122.24372,72.317368 121.77154,72.243796 C 121.64275,72.218225 121.50029,72.209346!
  121.34515,72.225431 C 120.86243,72.275501 120.53919,72.499692 120.375
43,72.898006 C 120.3237,73.033376 120.29784,73.174724 120.29785,73.322052 C 120.29784,73.842057 120.53057,74.138585 120.99605,74.211638 C 121.1081,74.22602 121.22446,74.226951 121.34515,74.214431 C 121.87957,74.159007 122.23085,73.909476 122.40256,73.495798 C 122.45406,73.358701 122.47981,73.21215 122.47982,73.056145 M 123.27825,78.172065 C 123.27824,77.894732 123.04644,77.775025 122.58285,77.812941 C 122.58285,77.812941 120.0134,78.005554 120.0134,78.005554 C 119.73756,78.138162 119.59964,78.330133 119.59965,78.581466 C 119.59964,79.040799 120.21595,79.197877 121.44858,79.052703 C 121.57787,79.039293 121.65114,79.031693 121.66839,79.029906 C 122.74584,78.918156 123.27824,78.596732 123.27825,78.172065 M 88.274605,94.669843 C 88.274605,94.669843 86.205867,94.455283 86.205867,94.455283 C 86.205867,94.455283 86.205867,92.638533 86.205867,90.821783 C 86.205867,89.005033 86.205867,87.188283 86.205867,87.188283 C 86.205867,87.188283 86.154148,87.182919 86.154148,87.182919 C 86.154!
 148,87.182919 85.60464,88.942677 85.055131,90.702435 C 84.505622,92.462192 83.956114,94.22195 83.956114,94.22195 C 83.956114,94.22195 82.535595,94.059831 82.535595,94.059831 C 82.535595,94.059831 81.997943,92.168955 81.460291,90.278079 C 80.922639,88.387202 80.384987,86.496326 80.384987,86.496326 C 80.384987,86.496326 80.359231,86.492775 80.359231,86.492775 C 80.359231,86.492775 80.359231,88.309525 80.359231,90.126275 C 80.359231,91.943025 80.359231,93.759775 80.359231,93.759775 C 80.359231,93.759775 78.625749,93.486541 78.625749,93.486541 C 78.625749,93.486541 78.625749,91.257041 78.625749,89.027541 C 78.625749,86.798041 78.625749,84.568541 78.625749,84.568541 C 78.625749,84.568541 81.853067,85.047731 81.853067,85.047731 C 81.853067,85.047731 82.239404,86.436745 82.62574,87.82576 C 83.012077,89.214774 83.40014,90.589287 83.40014,90.589287 C 83.40014,90.589287 83.807423,89.295778 84.214706,88.00227 C 84.621989,86.708761 85.029272,85.415253 85.029272,85.415253 C 85.029272,85!
 .415253 88.274605,85.751843 88.274605,85.751843 C 88.274605,85.751843 
88.274605,87.981343 88.274605,90.210843 C 88.274605,92.440343 88.274605,94.669843 88.274605,94.669843 M 95.795651,92.179048 C 95.795651,92.179048 91.565479,91.92942 91.565479,91.92942 C 91.565479,91.92942 91.552504,92.318628 91.552504,92.318628 C 91.552504,92.318628 91.552504,92.331628 91.552504,92.331628 C 91.552501,92.886297 91.764424,93.293565 92.188275,93.553433 C 92.378571,93.669048 92.590494,93.733983 92.824047,93.748237 C 93.23059,93.773052 93.554962,93.63685 93.797166,93.339632 C 93.92691,93.17422 93.991785,92.987513 93.99179,92.779511 C 93.99179,92.779511 95.756662,93.010264 95.756662,93.010264 C 95.756655,93.192266 95.669873,93.423603 95.496881,93.690376 C 95.003828,94.552949 94.255608,95.022947 93.252219,95.100371 C 93.087866,95.11634 92.923516,95.119309 92.759172,95.109278 C 91.626026,95.040115 90.756707,94.579723 90.151212,93.728099 C 89.718714,93.121036 89.502465,92.401504 89.502466,91.569502 C 89.502465,90.39084 89.865763,89.494348 90.59236,88.880025 C 91.1546!
 04,88.403015 91.859575,88.190377 92.707272,88.24211 C 93.961509,88.31867 94.852453,88.914716 95.380107,90.030248 C 95.656898,90.627814 95.795644,91.303718 95.795651,92.075048 C 95.795651,92.075048 95.795651,92.179048 95.795651,92.179048 M 93.88799,90.940176 C 93.836086,90.018346 93.468463,89.536575 92.785122,89.494862 C 92.041222,89.449462 91.630351,89.883717 91.552504,90.797628 C 91.552504,90.797628 93.88799,90.940176 93.88799,90.940176 M 106.18066,95.210188 C 106.18066,95.210188 104.27017,95.248593 104.27017,95.248593 C 104.27017,95.248593 104.27017,91.257593 104.27017,91.257593 C 104.27016,90.737597 104.19651,90.405412 104.04923,90.261035 C 103.91059,90.133827 103.69832,90.073094 103.41241,90.078836 C 102.84055,90.090337 102.52431,90.452027 102.46366,91.163908 C 102.45499,91.294087 102.45066,91.502174 102.45067,91.78817 C 102.45067,91.78817 102.45067,95.28517 102.45067,95.28517 C 102.45067,95.28517 100.54018,95.251424 100.54018,95.251424 C 100.54018,95.251424 100.54018,9!
 1.299424 100.54018,91.299424 C 100.54018,90.640762 100.37555,90.24312 
100.04631,90.106496 C 100.04631,90.106496 99.760391,90.035748 99.760391,90.035748 C 99.760391,90.035748 99.682412,90.034181 99.682412,90.034181 C 99.127892,90.023039 98.815978,90.346101 98.746665,91.00337 C 98.729334,91.133026 98.720669,91.371185 98.720672,91.717848 C 98.720672,91.717848 98.720672,95.214848 98.720672,95.214848 C 98.720672,95.214848 96.810189,95.176442 96.810189,95.176442 C 96.810189,95.176442 96.810189,93.525442 96.810189,91.874442 C 96.810189,90.223442 96.810189,88.572442 96.810189,88.572442 C 96.810189,88.572442 98.629697,88.609019 98.629697,88.609019 C 98.629697,88.609019 98.629697,89.623019 98.629697,89.623019 C 98.629697,89.623019 98.65569,89.623541 98.65569,89.623541 C 98.984932,88.8675 99.595766,88.498446 100.48819,88.516379 C 101.28531,88.53241 101.87448,88.90392 102.25572,89.63091 C 102.27303,89.648597 102.28603,89.670526 102.29471,89.696694 C 102.57195,89.06094 103.09181,88.668288 103.85429,88.548954 C 103.97557,88.529188 104.09688,88.518084 104.21!
 819,88.515638 C 105.33588,88.493177 105.98136,88.978534 106.15467,89.971711 C 106.18065,90.13586 106.19364,90.313265 106.19365,90.503927 C 106.19365,90.503927 106.18066,95.210188 106.18066,95.210188 M 113.49441,91.632595 C 113.4944,92.724597 113.13975,93.612909 112.43046,94.297533 C 111.85956,94.852379 111.15459,95.155407 110.31555,95.206619 C 109.16511,95.276837 108.30314,94.842521 107.7313,93.944016 C 107.3674,93.370667 107.18545,92.680991 107.18545,91.874989 C 107.18545,90.704993 107.54935,89.796346 108.27715,89.149044 C 108.823,88.661411 109.50245,88.392254 110.31555,88.342619 C 111.50059,88.270296 112.37855,88.680375 112.94946,89.572856 C 113.31275,90.131353 113.4944,90.817932 113.49441,91.632595 M 111.44437,91.77072 C 111.44436,90.912725 111.35787,90.333005 111.18487,90.031559 C 110.95132,89.751153 110.66587,89.608241 110.32853,89.602827 C 109.62788,89.645596 109.26458,90.270103 109.23863,91.476349 C 109.23863,91.476349 109.23863,91.684349 109.23863,91.684349 C 109.23!
 863,92.767685 109.39865,93.45125 109.71871,93.735048 C 109.8744,93.881
545 110.07335,93.947403 110.31555,93.932619 C 111.04215,93.888271 111.41841,93.241307 111.44437,91.99172 C 111.44436,91.922391 111.44436,91.848724 111.44437,91.77072 M 118.13122,89.692764 C 118.13122,89.692764 118.00193,89.706174 118.00193,89.706174 C 117.16581,89.792897 116.68311,90.319627 116.55381,91.286366 C 116.51933,91.515278 116.50209,91.798733 116.50209,92.13673 C 116.50209,92.13673 116.50209,94.65873 116.50209,94.65873 C 116.50209,94.65873 114.59809,94.815231 114.59809,94.815231 C 114.59809,94.815231 114.59809,93.164231 114.59809,91.513231 C 114.59809,89.862231 114.59809,88.211231 114.59809,88.211231 C 114.59809,88.211231 116.37279,88.06814 116.37279,88.06814 C 116.37279,88.06814 116.37279,89.30314 116.37279,89.30314 C 116.37279,89.30314 116.39865,89.300458 116.39865,89.300458 C 116.64862,88.364538 117.08392,87.864392 117.70455,87.800017 C 117.79936,87.79019 117.94158,87.784105 118.13122,87.781764 C 118.13122,87.781764 118.13122,89.692764 118.13122,89.692764 M 124.3!
 12,87.155542 C 124.312,87.155542 123.81298,88.771342 123.31397,90.387141 C 122.81495,92.002941 122.31593,93.618741 122.31593,93.618741 C 122.04978,94.496101 121.87378,95.027366 121.78794,95.212536 C 121.43593,96.015065 120.88752,96.465892 120.14622,96.594777 C 120.0945,96.600139 120.03848,96.60595 119.97814,96.61221 C 119.79712,96.630982 119.39631,96.642219 118.77568,96.645923 C 118.77568,96.645923 118.77568,95.150923 118.77568,95.150923 C 118.77568,95.150923 119.73248,95.142689 119.73248,95.142689 C 120.17208,95.097094 120.46946,94.927585 120.62462,94.63416 C 120.68495,94.523903 120.73667,94.384205 120.77977,94.215068 C 120.77977,94.215068 120.18178,92.62609 119.58379,91.037111 C 118.98579,89.448132 118.3878,87.859153 118.3878,87.859153 C 118.3878,87.859153 120.4436,87.645934 120.4436,87.645934 C 120.4436,87.645934 121.69778,91.441857 121.69778,91.441857 C 121.69778,91.441857 122.89543,87.350845 122.89543,87.350845 C 122.89543,87.350845 124.312,87.155542 124.312,87.155542 !
 M 85.327461,117.94618 C 84.804988,118.72894 84.416706,119.59193 84.162
614,120.53515 C 83.922048,121.42816 83.801765,122.39309 83.801766,123.42994 C 83.801765,124.42263 83.923625,125.38641 84.167345,126.32128 C 84.415146,127.27179 84.788921,128.19242 85.288672,129.08316 C 85.288672,129.08316 83.879344,128.93699 83.879344,128.93699 C 83.298405,128.0752 82.853522,127.19108 82.545009,126.28198 C 82.226391,125.34311 82.051816,124.38942 82.021284,123.42092 C 82.021284,123.34292 82.021284,123.26059 82.021284,123.17392 C 82.021284,122.22093 82.151996,121.33102 82.413421,120.50419 C 82.677411,119.66924 83.075119,118.89504 83.607822,118.17083 C 83.702637,118.042 83.801764,117.91795 83.905203,117.79867 C 83.905203,117.79867 85.327461,117.94618 85.327461,117.94618 M 90.580195,119.84528 C 90.087144,119.7892 89.840621,119.76115 89.840624,119.76114 C 89.494623,119.74003 89.299999,119.89716 89.256753,120.23251 C 89.256753,120.23251 89.243778,120.68671 89.243778,120.68671 C 89.243778,120.68671 89.243778,120.82971 89.243778,120.82971 C 89.243778,120.82971 90.41!
 1521,120.90099 90.411521,120.90099 C 90.411521,120.90099 90.411521,122.38299 90.411521,122.38299 C 90.411521,122.38299 89.243778,122.31171 89.243778,122.31171 C 89.243778,122.31171 89.243778,127.26471 89.243778,127.26471 C 89.243778,127.26471 87.342662,127.07319 87.342662,127.07319 C 87.342662,127.07319 87.342662,122.12019 87.342662,122.12019 C 87.342662,122.12019 86.579815,122.04107 86.579815,122.04107 C 86.579815,122.04107 86.579815,120.55907 86.579815,120.55907 C 86.579815,120.55907 87.342662,120.63819 87.342662,120.63819 C 87.342661,119.95353 87.38576,119.49 87.471959,119.2476 C 87.515056,119.12208 87.571085,119.01089 87.640044,118.91403 C 87.984832,118.4298 88.521505,118.22464 89.256753,118.21751 C 89.325949,118.21307 89.395149,118.21296 89.464352,118.21718 C 89.464352,118.21718 90.580195,118.37628 90.580195,118.37628 C 90.580195,118.37628 90.580195,119.84528 90.580195,119.84528 M 96.898321,127.67821 C 96.898321,127.67821 95.001806,127.61616 95.001806,127.61616 C 94.93!
 2601,127.30861 94.902327,126.99042 94.910981,126.66162 C 94.910977,126
.63562 94.910977,126.60962 94.910981,126.58362 C 94.46118,127.20616 93.924884,127.5461 93.302091,127.60342 C 93.146389,127.61991 92.98204,127.62288 92.809044,127.61232 C 91.935397,127.559 91.325577,127.22711 90.979579,126.61666 C 90.81523,126.3293 90.733056,125.99494 90.733056,125.61361 C 90.733056,124.53895 91.386127,123.88114 92.692269,123.6402 C 93.029615,123.58279 93.73891,123.53075 94.820157,123.48407 C 94.820157,123.48407 94.820157,123.32807 94.820157,123.32807 C 94.820153,122.76474 94.694728,122.40176 94.443884,122.23911 C 94.296831,122.15213 94.106533,122.10152 93.872987,122.08726 C 93.328038,122.054 92.97339,122.22302 92.809044,122.59432 C 92.757142,122.70382 92.731192,122.83224 92.731194,122.97957 C 92.731194,122.97957 90.92768,122.70049 90.92768,122.70049 C 91.057429,121.67708 91.723474,121.06773 92.925818,120.87245 C 93.280463,120.81611 93.661061,120.80034 94.067611,120.82514 C 94.975852,120.88059 95.672315,121.11891 96.157521,121.52732 C 96.538745,121.85566 96.7!
 42357,122.33642 96.768356,122.9696 C 96.768356,122.9696 96.768356,123.6066 96.768356,123.6066 C 96.768356,123.6066 96.768356,126.6876 96.768356,126.6876 C 96.76835,127.0776 96.811672,127.4078 96.898321,127.67821 M 94.820157,124.44607 C 93.73026,124.50089 93.077189,124.72536 92.860943,125.11949 C 92.791741,125.24527 92.757142,125.38182 92.757144,125.52915 C 92.757142,125.97115 92.943115,126.25984 93.315066,126.39521 C 93.401562,126.42649 93.496712,126.4453 93.600514,126.45163 C 94.162757,126.48595 94.539029,126.19691 94.729332,125.58453 C 94.789877,125.38022 94.820153,125.15674 94.820157,124.91407 C 94.820157,124.91407 94.820157,124.44607 94.820157,124.44607 M 103.89125,125.27321 C 103.79593,126.28913 103.33672,127.03503 102.51362,127.51091 C 102.03707,127.78916 101.49556,127.90063 100.88906,127.88844 C 99.728033,127.8651 98.857269,127.40992 98.276761,126.52292 C 97.895531,125.94326 97.704915,125.25476 97.704916,124.45743 C 97.704915,123.23543 98.09481,122.31161 98.8746,121.!
 68594 C 99.446443,121.22945 100.15692,121.00973 101.00602,121.02679 C 
101.95909,121.04596 102.71289,121.37091 103.26742,122.00975 C 103.63131,122.43578 103.83925,122.9516 103.89125,123.55721 C 103.89125,123.55721 102.07174,123.68721 102.07174,123.68721 C 102.07173,123.16721 101.89411,122.80398 101.53888,122.5975 C 101.40025,122.52538 101.24429,122.48758 101.07101,122.4841 C 100.30854,122.46877 99.914316,123.03718 99.888326,124.18932 C 99.888323,124.24132 99.888323,124.29332 99.888326,124.34532 C 99.888323,125.15132 99.996626,125.69083 100.21324,125.96385 C 100.39519,126.19284 100.65511,126.31074 100.99303,126.31753 C 101.48689,126.32746 101.82047,126.07416 101.99376,125.55765 C 102.02841,125.44567 102.0544,125.32486 102.07174,125.19521 C 102.07174,125.19521 103.89125,125.27321 103.89125,125.27321 M 108.9217,127.64209 C 108.44516,127.747 108.04659,127.80268 107.72602,127.80912 C 106.76428,127.82846 106.13611,127.62875 105.84153,127.21001 C 105.60759,126.89404 105.49062,126.33739 105.49062,125.54006 C 105.49062,125.54006 105.49062,122.62806 105.!
 49062,122.62806 C 105.49062,122.62806 104.41192,122.64974 104.41192,122.64974 C 104.41192,122.64974 104.41192,121.12874 104.41192,121.12874 C 104.41192,121.12874 105.5686,121.10549 105.5686,121.10549 C 105.5686,121.10549 105.73756,119.1651 105.73756,119.1651 C 105.73756,119.1651 107.40111,119.00166 107.40111,119.00166 C 107.40111,119.00166 107.40111,121.06866 107.40111,121.06866 C 107.40111,121.06866 108.81773,121.04018 108.81773,121.04018 C 108.81773,121.04018 108.81773,122.56118 108.81773,122.56118 C 108.81773,122.56118 107.40111,122.58966 107.40111,122.58966 C 107.40111,122.58966 107.40111,125.33266 107.40111,125.33266 C 107.40111,125.75733 107.47042,126.02026 107.60905,126.12147 C 107.72168,126.20588 107.9123,126.24538 108.1809,126.23998 C 108.34551,126.23667 108.59245,126.22304 108.9217,126.19909 C 108.9217,126.19909 108.9217,127.64209 108.9217,127.64209 M 115.36868,125.1492 C 115.36867,126.1112 114.88427,126.80376 113.91548,127.22689 C 113.47434,127.42715 112.98129,12!
 7.54391 112.43634,127.57718 C 110.9226,127.66957 109.95813,127.2041 10
9.54293,126.18078 C 109.49969,126.06209 109.46076,125.93879 109.42616,125.8109 C 109.42616,125.8109 111.07398,125.47633 111.07398,125.47633 C 111.16912,125.97319 111.56269,126.2395 112.25469,126.27526 C 112.34119,126.27865 112.43201,126.27744 112.52717,126.27163 C 113.02021,126.24154 113.36621,126.10775 113.56516,125.87028 C 113.64301,125.78753 113.68194,125.68982 113.68194,125.57715 C 113.68194,125.29982 113.49596,125.1335 113.12401,125.0782 C 113.12401,125.0782 112.94237,125.06329 112.94237,125.06329 C 111.92167,124.98692 111.21237,124.86988 110.81448,124.71217 C 110.06193,124.4201 109.68566,123.87974 109.68566,123.09107 C 109.68566,122.10307 110.17438,121.40591 111.15183,120.99958 C 111.55837,120.8361 112.00817,120.73932 112.50122,120.70922 C 113.70355,120.63584 114.5253,121.06234 114.96645,121.98875 C 114.96645,121.98875 115.0962,122.27983 115.0962,122.27983 C 115.0962,122.27983 113.68194,122.74315 113.68194,122.74315 C 113.52624,122.16332 113.09806,121.89479 112.39742,1!
 21.93755 C 111.77462,122.01023 111.44592,122.2253 111.41132,122.58274 C 111.41132,122.86008 111.64919,123.03189 112.12494,123.09818 C 112.12494,123.09818 113.65599,123.25173 113.65599,123.25173 C 114.58153,123.40324 115.1308,123.83339 115.3038,124.54216 C 115.34705,124.72152 115.36867,124.92387 115.36868,125.1492 M 119.64904,123.51734 C 119.64904,124.48651 119.49982,125.43979 119.2014,126.37721 C 118.91271,127.284 118.4844,128.17595 117.91647,129.05304 C 117.87337,129.11817 117.83027,129.18331 117.78718,129.24845 C 117.78718,129.24845 116.37785,129.39462 116.37785,129.39462 C 116.87881,128.5061 117.25318,127.58534 117.50097,126.63233 C 117.74349,125.69958 117.86475,124.73594 117.86475,123.7414 C 117.86475,122.70455 117.74447,121.73962 117.5039,120.84661 C 117.24981,119.90339 116.86153,119.0404 116.33906,118.25764 C 116.33906,118.25764 117.76132,118.11013 117.76132,118.11013 C 118.32218,118.77762 118.75804,119.51429 119.0689,120.32016 C 119.37434,121.11198 119.5591,121.97061!
  119.62318,122.89603 C 119.64042,123.10224 119.64904,123.30934 119.649
04,123.51734"
+         id="text4629" />
+    </g>
+    <g
+       id="g5679"
+       transform="translate(15.076923,35.603668)">
+      <rect
+         ry="5.0369772e-07"
+         y="330"
+         x="400"
+         height="39.666664"
+         width="109.84615"
+         id="rect2799"
+         style="opacity:1;fill:url(#linearGradient5684);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <text
+         id="text2821"
+         y="354.39633"
+         x="424.95883"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#803300;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         xml:space="preserve"><tspan
+           y="354.39633"
+           x="424.95883"
+           id="tspan2823"
+           sodipodi:role="line">Agenda</tspan></text>
+    </g>
+    <g
+       id="g5639"
+       transform="translate(10,15)">
+      <rect
+         ry="7.6189576e-07"
+         y="220"
+         x="390"
+         height="80"
+         width="140"
+         id="rect2797"
+         style="fill:url(#linearGradient5635);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <text
+         id="text2815"
+         y="254.834"
+         x="459.5036"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#800066;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:UnBom;-inkscape-font-specification:UnBom Bold"
+         xml:space="preserve"><tspan
+           y="254.834"
+           x="459.5036"
+           id="tspan2817"
+           sodipodi:role="line"
+           style="fill:#800066;fill-opacity:1">Pattern</tspan><tspan
+           id="tspan2819"
+           y="277.33398"
+           x="459.5036"
+           sodipodi:role="line"
+           style="fill:#800066;fill-opacity:1">Matcher</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#a0a0a0;stroke-width:6.80000019;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300,275 L 400,275"
+       id="path5734"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#g2729"
+       inkscape:connection-end="#g5639" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#a0a0a0;stroke-width:6.80000019;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 640,275 L 540,275"
+       id="path5736"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#g2790"
+       inkscape:connection-end="#g5639" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#a0a0a0;stroke-width:6.80000019;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 470,315 L 470,365.60367"
+       id="path11858"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#g5639"
+       inkscape:connection-end="#g5679" />
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Engine/rule-engine-inkscape.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlowSimple.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/RuleFlowSimple.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 accumulate.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.51445in"
+		height="2.72591in" viewBox="0 0 325.04 196.266" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape49-1" v:mID="49" v:groupContext="shape" v:layerMember="0" transform="translate(27.3422,-180.796)">
+			<title>Process.49</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="189.596" width="29.8" height="13.3396"/>
+			<rect x="0" y="182.926" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.45" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape52-4" v:mID="52" v:groupContext="shape" v:layerMember="1" transform="translate(177.399,-187.466)">
+			<title>Dynamic connector.52</title>
+			<path d="M0 196.27 L28.35 196.27 A5.66929 5.66929 0 0 1 34.02 201.93 L34.02 209.13 A5.66929 5.66929 0 0 1 28.35 214.8
+						 L-167.24 214.8 A5.66929 5.66929 -180 0 0 -172.91 220.47 L-172.91 269.79 A4.25197 4.25197 -180 0 0 -168.66
+						 274.04 L-167.17 274.04" class="st3"/>
+		</g>
+		<g id="shape53-10" v:mID="53" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.985572,-181.629)">
+			<title>On-page reference.53</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 190.43 A5.83609 5.83609 0 1 1 11.67 190.43 A5.83609 5.83609 0 0 1 0 190.43 Z" class="st1"/>
+		</g>
+		<g id="shape55-12" v:mID="55" v:groupContext="shape" v:layerMember="1" transform="translate(12.6578,-180.379)">
+			<title>Dynamic connector.55</title>
+			<path d="M0 189.18 L11.92 189.18" class="st3"/>
+		</g>
+		<g id="shape60-17" v:mID="60" v:groupContext="shape" v:layerMember="0" transform="translate(80.3557,-180.796)">
+			<title>Process.60</title>
+			<desc>‘from’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="189.596" width="29.8" height="13.3396"/>
+			<rect x="0" y="182.926" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.12" y="192" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘from’</text>		</g>
+		<g id="shape61-20" v:mID="61" v:groupContext="shape" v:layerMember="0" transform="translate(125.71,-180.796)">
+			<title>Process.61</title>
+			<desc>‘accumulate’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.8443" cy="189.596" width="51.69" height="13.3396"/>
+			<rect x="0" y="182.926" width="51.6887" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.62" y="192" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘accumulate’</text>		</g>
+		<g id="shape65-23" v:mID="65" v:groupContext="shape" v:layerMember="1" transform="translate(110.148,-180.379)">
+			<title>Dynamic connector.65</title>
+			<path d="M0 189.18 L12.8 189.18" class="st3"/>
+		</g>
+		<g id="shape66-28" v:mID="66" v:groupContext="shape" v:layerMember="1" transform="translate(57.1348,-180.379)">
+			<title>Dynamic connector.66</title>
+			<path d="M0 189.18 L20.46 189.18" class="st3"/>
+		</g>
+		<g id="shape45-33" v:mID="45" v:groupContext="shape" v:layerMember="0" transform="translate(12.9892,-103.024)">
+			<title>Process.45</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="189.596" width="20.01" height="13.3396"/>
+			<rect x="0" y="182.926" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="192" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape74-37" v:mID="74" v:groupContext="shape" v:layerMember="1" transform="translate(121.327,-71.6064)">
+			<title>Dynamic connector.74</title>
+			<path d="M0 196.27 L9.45 196.27 A5.66929 5.66929 -180 0 0 15.12 190.6 L15.12 163.25 A5.66929 5.66929 0 0 1 20.79 157.58
+						 L27.53 157.58 A5.66929 5.66929 -180 0 0 33.2 151.91 L33.2 134.29 A5.06012 5.06012 0 0 1 38.26 129.23 L40.56
+						 129.23" class="st3"/>
+		</g>
+		<g id="shape75-42" v:mID="75" v:groupContext="shape" v:layerMember="1" transform="translate(32.9986,-109.693)">
+			<title>Dynamic connector.75</title>
+			<path d="M0 196.27 L5.31 196.27 A5.31496 5.31496 -180 0 0 10.63 190.95 L10.63 161.65 A5.66929 5.66929 0 0 1 16.3 155.98
+						 L40.21 155.98" class="st3"/>
+		</g>
+		<g id="shape76-47" v:mID="76" v:groupContext="shape" v:layerMember="0" transform="translate(75.9728,-143.306)">
+			<title>Process.76</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.8425" cy="189.596" width="39.69" height="13.3396"/>
+			<rect x="0" y="182.926" width="39.685" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.4" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape77-50" v:mID="77" v:groupContext="shape" v:layerMember="0" transform="translate(75.9728,-91.0598)">
+			<title>Process.77</title>
+			<desc>collect</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.8425" cy="189.596" width="39.69" height="13.3396"/>
+			<rect x="0" y="182.926" width="39.685" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.51" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>collect</text>		</g>
+		<g id="shape78-53" v:mID="78" v:groupContext="shape" v:layerMember="0" transform="translate(70.3035,-64.9366)">
+			<title>Process.78</title>
+			<desc>accumulate</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.5118" cy="189.596" width="51.03" height="13.3396"/>
+			<rect x="0" y="182.926" width="51.0236" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.04" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>accumulate</text>		</g>
+		<g id="shape79-56" v:mID="79" v:groupContext="shape" v:layerMember="0" transform="translate(80.919,-117.183)">
+			<title>Process.79</title>
+			<desc>from</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="189.596" width="29.8" height="13.3396"/>
+			<rect x="0" y="182.926" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.9" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>from</text>		</g>
+		<g id="shape80-59" v:mID="80" v:groupContext="shape" v:layerMember="1" transform="translate(32.9986,-109.686)">
+			<title>Dynamic connector.80</title>
+			<path d="M0 196.26 L5.31 196.26 A5.31496 5.31496 -180 0 0 10.63 190.94 L10.63 187.77 A5.66929 5.66929 0 0 1 16.3 182.1
+						 L45.16 182.1" class="st3"/>
+		</g>
+		<g id="shape81-64" v:mID="81" v:groupContext="shape" v:layerMember="1" transform="translate(32.9986,-110.798)">
+			<title>Dynamic connector.81</title>
+			<path d="M0 197.37 L5.31 197.37 A5.31496 5.31496 0 0 1 10.63 202.69 L10.63 203.66 A5.66929 5.66929 -180 0 0 16.3 209.33
+						 L40.21 209.33" class="st3"/>
+		</g>
+		<g id="shape82-69" v:mID="82" v:groupContext="shape" v:layerMember="1" transform="translate(32.9986,-109.693)">
+			<title>Dynamic connector.82</title>
+			<path d="M0 196.27 L5.31 196.27 A5.31496 5.31496 0 0 1 10.63 201.58 L10.63 228.68 A5.66929 5.66929 -180 0 0 16.3 234.35
+						 L34.54 234.35" class="st3"/>
+		</g>
+		<g id="shape83-74" v:mID="83" v:groupContext="shape" v:layerMember="1" transform="translate(115.658,-97.7296)">
+			<title>Dynamic connector.83</title>
+			<path d="M0 196.27 L15.12 196.27 A5.66929 5.66929 -180 0 0 20.79 190.6 L20.79 189.37 A5.66929 5.66929 0 0 1 26.46 183.7
+						 L33.08 183.7 A5.66929 5.66929 -180 0 0 38.75 178.03 L38.75 160.48 A5.11918 5.11918 0 0 1 43.87 155.36 L46.22
+						 155.36" class="st3"/>
+		</g>
+		<g id="shape84-79" v:mID="84" v:groupContext="shape" v:layerMember="1" transform="translate(110.712,-123.853)">
+			<title>Dynamic connector.84</title>
+			<path d="M0 196.27 L20.54 196.27 A5.66929 5.66929 0 0 1 26.21 201.93 L26.21 204.16 A5.66929 5.66929 -180 0 0 31.88 209.83
+						 L38.14 209.83 A5.66929 5.66929 -180 0 0 43.81 204.16 L43.81 186.54 A5.06012 5.06012 0 0 1 48.87 181.48 L51.17
+						 181.48" class="st3"/>
+		</g>
+		<g id="shape85-84" v:mID="85" v:groupContext="shape" v:layerMember="1" transform="translate(115.658,-151.393)">
+			<title>Dynamic connector.85</title>
+			<path d="M0 197.68 L15.59 197.68 A5.66929 5.66929 0 0 1 21.26 203.35 L21.26 231.7 A5.66929 5.66929 -180 0 0 26.93 237.37
+						 L33.2 237.37 A5.66929 5.66929 -180 0 0 38.86 231.7 L38.86 214.08 A5.06012 5.06012 0 0 1 43.92 209.02 L46.22
+						 209.02" class="st3"/>
+		</g>
+		<g id="shape86-89" v:mID="86" v:groupContext="shape" v:layerMember="0" transform="translate(165.809,-80.9439)">
+			<title>Process.86</title>
+			<desc>init</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="189.596" width="48.7" height="13.3396"/>
+			<rect x="0" y="182.926" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="19.24" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>init</text>		</g>
+		<g id="shape87-92" v:mID="87" v:groupContext="shape" v:layerMember="0" transform="translate(165.809,-56.2657)">
+			<title>Process.87</title>
+			<desc>action</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="189.596" width="48.7" height="13.3396"/>
+			<rect x="0" y="182.926" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.68" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>action</text>		</g>
+		<g id="shape88-95" v:mID="88" v:groupContext="shape" v:layerMember="0" transform="translate(167.477,-29.587)">
+			<title>Process.88</title>
+			<desc>reverse</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="189.596" width="48.7" height="13.3396"/>
+			<rect x="0" y="182.926" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.01" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>reverse</text>		</g>
+		<g id="shape89-98" v:mID="89" v:groupContext="shape" v:layerMember="0" transform="translate(169.146,-0.24)">
+			<title>Process.89</title>
+			<desc>result</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="189.596" width="48.7" height="13.3396"/>
+			<rect x="0" y="182.926" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="14.57" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>result</text>		</g>
+		<g id="shape90-101" v:mID="90" v:groupContext="shape" v:layerMember="1" transform="translate(207.413,-87.6138)">
+			<title>Dynamic connector.90</title>
+			<path d="M7.09 196.27 L12.4 196.27 A5.31496 5.31496 0 0 1 17.72 201.58 L17.72 215.63 A5.31496 5.31496 0 0 1 12.4 220.94
+						 L9.85 220.94" class="st3"/>
+		</g>
+		<g id="shape91-106" v:mID="91" v:groupContext="shape" v:layerMember="1" transform="translate(159.557,-62.9355)">
+			<title>Dynamic connector.91</title>
+			<path d="M6.25 196.27 L-4.08 196.27 A5.66929 5.66929 -180 0 0 -9.75 201.93 L-9.75 217.27 A5.66929 5.66929 -180 0 0 -4.08
+						 222.94 L5.16 222.94" class="st3"/>
+		</g>
+		<g id="shape92-111" v:mID="92" v:groupContext="shape" v:layerMember="1" transform="translate(160.391,-62.9355)">
+			<title>Dynamic connector.92</title>
+			<path d="M5.42 196.27 L-4.92 196.27 A5.66929 5.66929 -180 0 0 -10.59 201.93 L-10.59 246.62 A5.66929 5.66929 -180 0 0
+						 -4.92 252.29 L5.99 252.29" class="st3"/>
+		</g>
+		<g id="shape93-116" v:mID="93" v:groupContext="shape" v:layerMember="1" transform="translate(216.168,-36.2568)">
+			<title>Dynamic connector.93</title>
+			<path d="M0 196.27 L3.54 196.27 A3.54331 3.54331 0 0 1 7.09 199.81 L7.09 204.35 A5.66929 5.66929 0 0 1 1.42 210.02 L-51.98
+						 210.02 A5.66929 5.66929 -180 0 0 -57.65 215.69 L-57.65 220.3 A5.31496 5.31496 -180 0 0 -52.34 225.61 L-49.78
+						 225.61" class="st3"/>
+		</g>
+		<g id="shape94-121" v:mID="94" v:groupContext="shape" v:layerMember="0" transform="translate(164.643,-131.968)">
+			<title>Process.94</title>
+			<desc>accumulateFunction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="42.0472" cy="189.596" width="84.1" height="13.3396"/>
+			<rect x="0" y="182.926" width="84.0945" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.25" y="192" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>accumulateFunction</text>		</g>
+		<g id="shape95-124" v:mID="95" v:groupContext="shape" v:layerMember="1" transform="translate(115.658,-99.7583)">
+			<title>Dynamic connector.95</title>
+			<path d="M0 198.29 L15.12 198.29 A5.66929 5.66929 -180 0 0 20.79 192.62 L20.79 191.4 A5.66929 5.66929 0 0 1 26.46 185.73
+						 L33.39 185.73 A5.66929 5.66929 0 0 1 39.06 191.4 L39.06 202.87 A5.54388 5.54388 -180 0 0 44.61 208.41 L47.39
+						 208.41" class="st3"/>
+		</g>
+		<g id="shape97-129" v:mID="97" v:groupContext="shape" v:layerMember="0" transform="translate(270.554,-97.9518)">
+			<title>Process.97</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="189.596" width="20.01" height="13.3396"/>
+			<rect x="0" y="182.926" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="192" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape98-133" v:mID="98" v:groupContext="shape" v:layerMember="1;0" transform="translate(313.128,-98.7855)">
+			<title>On-page reference.98</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 190.43 A5.83609 5.83609 0 1 1 11.67 190.43 A5.83609 5.83609 0 0 1 0 190.43 Z" class="st1"/>
+		</g>
+		<g id="shape99-135" v:mID="99" v:groupContext="shape" v:layerMember="1" transform="translate(290.564,-97.535)">
+			<title>Dynamic connector.99</title>
+			<path d="M0 189.18 L19.8 189.18" class="st3"/>
+		</g>
+		<g id="shape100-140" v:mID="100" v:groupContext="shape" v:layerMember="1" transform="translate(248.737,-138.637)">
+			<title>Dynamic connector.100</title>
+			<path d="M0 196.27 L5.31 196.27 A5.31496 5.31496 0 0 1 10.63 201.58 L10.63 224.69 A5.59364 5.59364 -180 0 0 16.22 230.28
+						 L19.06 230.28" class="st3"/>
+		</g>
+		<g id="shape101-145" v:mID="101" v:groupContext="shape" v:layerMember="1" transform="translate(217.836,-6.90982)">
+			<title>Dynamic connector.101</title>
+			<path d="M0 196.27 L38.3 196.27 A5.66929 5.66929 -180 0 0 43.97 190.6 L43.97 102.93 A4.37522 4.37522 0 0 1 48.34 98.55
+						 L49.96 98.55" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/accumulate.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 and.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.32372in" height="1.22638in" viewBox="0 0 167.308 88.2995" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-13);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-13" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape88-1" v:mID="88" v:groupContext="shape" v:layerMember="0" transform="translate(110.375,-55.5299)">
+			<title content="structured text">Process.88</title>
+			<desc content="structured text">‘&amp;&amp;’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.63712" cy="81.6297" width="19.28" height="13.3396"/>
+			<rect x="0" y="74.9598" width="19.2742" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.51" y="84.03" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">&amp;&amp;</tspan>’</text>		</g>
+		<g id="shape89-5" v:mID="89" v:groupContext="shape" v:layerMember="0" transform="translate(38.7995,-37.7715)">
+			<title content="structured text">Process.89</title>
+			<desc content="structured text">column</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="81.6297" width="42.94" height="13.3396"/>
+			<rect x="0" y="74.9598" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.58" y="84.03" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>column</text>		</g>
+		<g id="shape97-8" v:mID="97" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-44.4413)">
+			<title content="structured text">Dynamic connector.97</title>
+			<path d="M0 88.3 L5.46 88.3 A5.46021 5.46021 -180 0 0 10.92 82.84 L10.92 76.21 A5.66929 5.66929 0 0 1 16.59 70.54 L25.88        70.54" class="st5"/>
+		</g>
+		<g id="shape98-14" v:mID="98" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-38.6052)">
+			<title content="structured text">On-page reference.98</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 82.46 A5.83609 5.83609 0 1 1 11.67 82.46 A5.83609 5.83609 0 0 1 0 82.46 Z" class="st1"/>
+		</g>
+		<g id="shape99-16" v:mID="99" v:groupContext="shape" v:layerMember="1;0" transform="translate(155.395,-38.6052)">
+			<title content="structured text">On-page reference.99</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 82.46 A5.83609 5.83609 0 1 1 11.67 82.46 A5.83609 5.83609 0 0 1 0 82.46 Z" class="st1"/>
+		</g>
+		<g id="shape100-18" v:mID="100" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-37.3547)">
+			<title content="structured text">Dynamic connector.100</title>
+			<path d="M0 81.21 L24.13 81.21" class="st5"/>
+		</g>
+		<g id="shape110-23" v:mID="110" v:groupContext="shape" v:layerMember="0" transform="translate(108.391,-21.0974)">
+			<title content="structured text">Process.110</title>
+			<desc content="structured text">‘and’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="81.6297" width="23.82" height="13.3396"/>
+			<rect x="0" y="74.9598" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.45" y="84.03" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">and</tspan>’</text>		</g>
+		<g id="shape111-27" v:mID="111" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-44.4413)">
+			<title content="structured text">Dynamic connector.111</title>
+			<path d="M0 88.3 L5.46 88.3 A5.46021 5.46021 0 0 1 10.92 93.76 L10.92 99.3 A5.66929 5.66929 -180 0 0 16.59 104.97 L23.89        104.97" class="st5"/>
+		</g>
+		<g id="shape91-32" v:mID="91" v:groupContext="shape" v:layerMember="1" transform="translate(120.012,-68.8696)">
+			<title content="structured text">Dynamic connector.91</title>
+			<path d="M0 88.3 L0 82.98 A5.31496 5.31496 -180 0 0 -5.31 77.67 L-86.17 77.67 A5.66929 5.66929 -180 0 0 -91.84 83.34        L-91.84 107.41 A5.31496 5.31496 -180 0 0 -86.53 112.73 L-83.97 112.73" class="st5"/>
+		</g>
+		<g id="shape112-37" v:mID="112" v:groupContext="shape" v:layerMember="1" transform="translate(120.296,-21.0974)">
+			<title content="structured text">Dynamic connector.112</title>
+			<path d="M0 88.3 L0.63 92.03 A5.66929 5.66929 0 0 1 0.71 92.97 L0.71 94.93 A5.66929 5.66929 0 0 1 -4.96 100.6 L-86.81        100.6 A5.66929 5.66929 0 0 1 -92.48 94.93 L-92.48 70.45 A5.49195 5.49195 0 0 1 -86.99 64.96 L-84.26 64.96" class="st5"/>
+		</g>
+		<g id="shape37-42" v:mID="37" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-51.5279)">
+			<title content="structured text">Dynamic connector.37</title>
+			<path d="M0 95.39 L70.9 95.39" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/and.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 collect.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.37613in"
+		height="1.28041in" viewBox="0 0 387.081 92.1892" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st4 {font-size:1em}
+		.st5 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-17" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape17-1" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(27.3422,-38.327)">
+			<title>Process.17</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="85.5194" width="29.8" height="13.3396"/>
+			<rect x="0" y="78.8496" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.45" y="87.92" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape18-4" v:mID="18" v:groupContext="shape" v:layerMember="0" transform="translate(188.824,-38.327)">
+			<title>Process.18</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="85.5194" width="20.01" height="13.3396"/>
+			<rect x="0" y="78.8496" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="87.92" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape19-8" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(332.595,-38.4242)">
+			<title>Process.19</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="85.5194" width="20.01" height="13.3396"/>
+			<rect x="0" y="78.8496" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="87.92" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape20-12" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(168.953,-37.9102)">
+			<title>Dynamic connector.20</title>
+			<path d="M0 85.1 L17.11 85.1" class="st5"/>
+		</g>
+		<g id="shape21-18" v:mID="21" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.985572,-39.1608)">
+			<title>On-page reference.21</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 86.35 A5.83609 5.83609 0 1 1 11.67 86.35 A5.83609 5.83609 0 0 1 0 86.35 Z" class="st1"/>
+		</g>
+		<g id="shape22-20" v:mID="22" v:groupContext="shape" v:layerMember="1;0" transform="translate(375.169,-39.258)">
+			<title>On-page reference.22</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 86.35 A5.83609 5.83609 0 1 1 11.67 86.35 A5.83609 5.83609 0 0 1 0 86.35 Z" class="st1"/>
+		</g>
+		<g id="shape23-22" v:mID="23" v:groupContext="shape" v:layerMember="1" transform="translate(12.6578,-37.9102)">
+			<title>Dynamic connector.23</title>
+			<path d="M0 85.1 L11.92 85.1" class="st5"/>
+		</g>
+		<g id="shape24-27" v:mID="24" v:groupContext="shape" v:layerMember="1" transform="translate(352.605,-38.0075)">
+			<title>Dynamic connector.24</title>
+			<path d="M0 85.1 L19.8 85.1" class="st5"/>
+		</g>
+		<g id="shape29-32" v:mID="29" v:groupContext="shape" v:layerMember="0" transform="translate(80.3557,-38.327)">
+			<title>Process.29</title>
+			<desc>‘from’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="85.5194" width="29.8" height="13.3396"/>
+			<rect x="0" y="78.8496" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.12" y="87.92" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘from’</text>		</g>
+		<g id="shape30-35" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(125.71,-38.327)">
+			<title>Process.30</title>
+			<desc>‘collect’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.6214" cy="85.5194" width="43.25" height="13.3396"/>
+			<rect x="0" y="78.8496" width="43.2427" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.51" y="87.92" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘collect’</text>		</g>
+		<g id="shape28-38" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(297.162,-6.90982)">
+			<title>Dynamic connector.28</title>
+			<path d="M0 92.19 L9.45 92.19 A5.66929 5.66929 -180 0 0 15.12 86.52 L15.12 59.67 A5.66929 5.66929 0 0 1 20.79 54 L32.67
+						 54" class="st5"/>
+		</g>
+		<g id="shape31-43" v:mID="31" v:groupContext="shape" v:layerMember="1" transform="translate(208.834,-44.9969)">
+			<title>Dynamic connector.31</title>
+			<path d="M0 92.19 L5.31 92.19 A5.31496 5.31496 -180 0 0 10.63 86.87 L10.63 57.58 A5.66929 5.66929 0 0 1 16.3 51.91 L40.21
+						 51.91" class="st5"/>
+		</g>
+		<g id="shape32-48" v:mID="32" v:groupContext="shape" v:layerMember="1" transform="translate(110.148,-37.9102)">
+			<title>Dynamic connector.32</title>
+			<path d="M0 85.1 L12.8 85.1" class="st5"/>
+		</g>
+		<g id="shape33-53" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(57.1348,-37.9102)">
+			<title>Dynamic connector.33</title>
+			<path d="M0 85.1 L20.46 85.1" class="st5"/>
+		</g>
+		<g id="shape1-58" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(251.808,-78.6096)">
+			<title>Process.1</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.8425" cy="85.5194" width="39.69" height="13.3396"/>
+			<rect x="0" y="78.8496" width="39.685" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.4" y="87.92" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape10-61" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(251.808,-26.3632)">
+			<title>Process.10</title>
+			<desc>collect</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.8425" cy="85.5194" width="39.69" height="13.3396"/>
+			<rect x="0" y="78.8496" width="39.685" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.51" y="87.92" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>collect</text>		</g>
+		<g id="shape35-64" v:mID="35" v:groupContext="shape" v:layerMember="0" transform="translate(246.139,-0.24)">
+			<title>Process.35</title>
+			<desc>accumulate</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.5118" cy="85.5194" width="51.03" height="13.3396"/>
+			<rect x="0" y="78.8496" width="51.0236" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.04" y="87.92" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>accumulate</text>		</g>
+		<g id="shape14-67" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(256.754,-52.4864)">
+			<title>Process.14</title>
+			<desc>from</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="85.5194" width="29.8" height="13.3396"/>
+			<rect x="0" y="78.8496" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.9" y="87.92" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>from</text>		</g>
+		<g id="shape25-70" v:mID="25" v:groupContext="shape" v:layerMember="1" transform="translate(208.834,-44.9899)">
+			<title>Dynamic connector.25</title>
+			<path d="M0 92.18 L5.31 92.18 A5.31496 5.31496 -180 0 0 10.63 86.87 L10.63 83.69 A5.66929 5.66929 0 0 1 16.3 78.02 L45.16
+						 78.02" class="st5"/>
+		</g>
+		<g id="shape26-75" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(208.834,-46.1015)">
+			<title>Dynamic connector.26</title>
+			<path d="M0 93.29 L5.31 93.29 A5.31496 5.31496 0 0 1 10.63 98.61 L10.63 99.59 A5.66929 5.66929 -180 0 0 16.3 105.26 L40.21
+						 105.26" class="st5"/>
+		</g>
+		<g id="shape27-80" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(208.834,-44.9969)">
+			<title>Dynamic connector.27</title>
+			<path d="M0 92.19 L5.31 92.19 A5.31496 5.31496 0 0 1 10.63 97.5 L10.63 124.61 A5.66929 5.66929 -180 0 0 16.3 130.28 L34.54
+						 130.28" class="st5"/>
+		</g>
+		<g id="shape36-85" v:mID="36" v:groupContext="shape" v:layerMember="1" transform="translate(291.493,-31.9769)">
+			<title>Dynamic connector.36</title>
+			<path d="M0 91.13 L15.12 91.13 A5.66929 5.66929 -180 0 0 20.79 85.46 L20.79 84.74 A5.66929 5.66929 0 0 1 26.46 79.07
+						 L38.34 79.07" class="st5"/>
+		</g>
+		<g id="shape38-90" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(286.547,-59.2117)">
+			<title>Dynamic connector.38</title>
+			<path d="M0 92.24 L20.54 92.24 A5.66929 5.66929 0 0 1 26.21 97.91 L26.21 100.64 A5.66929 5.66929 -180 0 0 31.88 106.31
+						 L43.29 106.31" class="st5"/>
+		</g>
+		<g id="shape39-95" v:mID="39" v:groupContext="shape" v:layerMember="1" transform="translate(291.493,-85.2794)">
+			<title>Dynamic connector.39</title>
+			<path d="M0 92.19 L15.59 92.19 A5.66929 5.66929 0 0 1 21.26 97.86 L21.26 126.71 A5.66929 5.66929 -180 0 0 26.93 132.37
+						 L38.34 132.37" class="st5"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/collect.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 compoundValueRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="6.35367in"
+		height="2.35807in" viewBox="0 0 457.464 169.781" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {marker-end:url(#mrkr2-8);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st3 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-8" class="st3" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape81-1" v:mID="81" v:groupContext="shape" v:layerMember="0;1" transform="translate(445.76,-142.801)">
+			<title>On-page reference.66</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 164.05 A5.73228 5.73228 0 0 1 11.46 164.05 A5.73228 5.73228 0 1 1 0 164.05 Z" class="st1"/>
+		</g>
+		<g id="shape82-3" v:mID="82" v:groupContext="shape" v:layerMember="0" transform="translate(96.618,-129.163)">
+			<title>Dynamic connector.83</title>
+			<path d="M0 162.69 L26.07 162.69" class="st2"/>
+		</g>
+		<g id="shape83-9" v:mID="83" v:groupContext="shape" v:layerMember="1" transform="translate(40.2069,-129.699)">
+			<title>Process.95</title>
+			<desc>‘in’ | ‘not in’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="28.2055" cy="163.23" width="56.42" height="13.1024"/>
+			<rect x="0" y="156.679" width="56.4111" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.49" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘in’ | ‘not in’</text>		</g>
+		<g id="shape84-12" v:mID="84" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-130.517)">
+			<title>On-page reference.96</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 164.05 A5.73228 5.73228 0 0 1 11.46 164.05 A5.73228 5.73228 0 1 1 0 164.05 Z" class="st1"/>
+		</g>
+		<g id="shape85-14" v:mID="85" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-129.163)">
+			<title>Dynamic connector.85</title>
+			<path d="M0 162.69 L25.74 162.69" class="st2"/>
+		</g>
+		<g id="shape86-19" v:mID="86" v:groupContext="shape" v:layerMember="1" transform="translate(406.119,-141.557)">
+			<title>Process.67</title>
+			<desc>‘)‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="162.658" width="21.37" height="14.2459"/>
+			<rect x="0" y="155.535" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="165.06" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>‘</text>		</g>
+		<g id="shape87-23" v:mID="87" v:groupContext="shape" v:layerMember="1" transform="translate(125.446,-129.127)">
+			<title>Process.87</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="162.658" width="21.37" height="14.2459"/>
+			<rect x="0" y="155.535" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="165.06" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape88-27" v:mID="88" v:groupContext="shape" v:layerMember="1" transform="translate(264.386,-117.39)">
+			<title>Process.98</title>
+			<desc>‘,‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="162.658" width="21.37" height="14.2459"/>
+			<rect x="0" y="155.535" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.79" y="165.06" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">,</tspan>‘</text>		</g>
+		<g id="shape89-31" v:mID="89" v:groupContext="shape" v:layerMember="1" transform="translate(178.693,-156.439)">
+			<title>Process.40</title>
+			<desc>variable</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6255" cy="163.23" width="41.26" height="13.1024"/>
+			<rect x="0" y="156.679" width="41.2511" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.62" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variable</text>		</g>
+		<g id="shape90-34" v:mID="90" v:groupContext="shape" v:layerMember="1" transform="translate(180.204,-129.777)">
+			<title>Process.41</title>
+			<desc>literal</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6255" cy="163.23" width="41.26" height="13.1024"/>
+			<rect x="0" y="156.679" width="41.2511" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.07" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literal</text>		</g>
+		<g id="shape91-37" v:mID="91" v:groupContext="shape" v:layerMember="1" transform="translate(178.693,-103.116)">
+			<title>Process.4</title>
+			<desc>returnValue</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.1688" cy="163.23" width="48.34" height="13.1024"/>
+			<rect x="0" y="156.679" width="48.3377" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.5" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValue</text>		</g>
+		<g id="shape92-40" v:mID="92" v:groupContext="shape" v:layerMember="1" transform="translate(313.338,-117.824)">
+			<title>Process.5</title>
+			<desc>variable</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6255" cy="163.23" width="41.26" height="13.1024"/>
+			<rect x="0" y="156.679" width="41.2511" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.62" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variable</text>		</g>
+		<g id="shape93-43" v:mID="93" v:groupContext="shape" v:layerMember="1" transform="translate(316.807,-73.8875)">
+			<title>Process.11</title>
+			<desc>literal</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6255" cy="163.23" width="41.26" height="13.1024"/>
+			<rect x="0" y="156.679" width="41.2511" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.07" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literal</text>		</g>
+		<g id="shape94-46" v:mID="94" v:groupContext="shape" v:layerMember="1" transform="translate(321.768,-46.4229)">
+			<title>Process.12</title>
+			<desc>returnValue</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.1688" cy="163.23" width="48.34" height="13.1024"/>
+			<rect x="0" y="156.679" width="48.3377" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.5" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValue</text>		</g>
+		<g id="shape95-49" v:mID="95" v:groupContext="shape" v:layerMember="0" transform="translate(146.815,-136.25)">
+			<title>Dynamic connector.33</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 -180 0 0 10.63 164.47 L10.63 148.71 A5.66929 5.66929 0 0 1 16.3 143.04
+						 L29.12 143.04" class="st2"/>
+		</g>
+		<g id="shape96-54" v:mID="96" v:groupContext="shape" v:layerMember="0" transform="translate(146.815,-129.202)">
+			<title>Dynamic connector.53</title>
+			<path d="M0 162.73 L10.59 162.73 a0.0393701 0.0393701 -180 0 0 0.0393701 -0.0393701 L10.63 162.69 a0.0393701 0.0393701
+						 0 0 1 0.0393701 -0.0393701 L30.63 162.66" class="st2"/>
+		</g>
+		<g id="shape97-59" v:mID="97" v:groupContext="shape" v:layerMember="0" transform="translate(146.815,-136.25)">
+			<title>Dynamic connector.54</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 0 0 1 10.63 175.1 L10.63 190.69 A5.66929 5.66929 -180 0 0 16.3 196.36
+						 L29.12 196.36" class="st2"/>
+		</g>
+		<g id="shape98-64" v:mID="98" v:groupContext="shape" v:layerMember="0" transform="translate(285.755,-131.531)">
+			<title>Dynamic connector.114</title>
+			<path d="M0 176.8 L10.56 176.8 a0.0684434 0.0684434 0 0 1 0.0684434 0.0684434 L10.63 176.87 a0.0684434 0.0684434 -180
+						 0 0 0.0684434 0.0684434 L24.82 176.94" class="st2"/>
+		</g>
+		<g id="shape99-69" v:mID="99" v:groupContext="shape" v:layerMember="0" transform="translate(285.755,-124.513)">
+			<title>Dynamic connector.99</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 0 0 1 10.63 175.1 L10.63 235.65 A5.66929 5.66929 -180 0 0 16.3 241.32
+						 L33.25 241.32" class="st2"/>
+		</g>
+		<g id="shape100-74" v:mID="100" v:groupContext="shape" v:layerMember="0" transform="translate(285.755,-124.513)">
+			<title>Dynamic connector.116</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 0 0 1 10.63 175.1 L10.63 208.19 A5.66929 5.66929 -180 0 0 16.3 213.85
+						 L28.29 213.85" class="st2"/>
+		</g>
+		<g id="shape101-79" v:mID="101" v:groupContext="shape" v:layerMember="0" transform="translate(219.944,-162.99)">
+			<title>Dynamic connector.101</title>
+			<path d="M0 169.78 L12.61 169.78 A5.66929 5.66929 0 0 1 18.28 175.45 L18.28 178.42 A5.66929 5.66929 -180 0 0 23.95 184.09
+						 L183.41 184.09" class="st2"/>
+		</g>
+		<g id="shape102-84" v:mID="102" v:groupContext="shape" v:layerMember="0" transform="translate(354.589,-124.376)">
+			<title>Dynamic connector.102</title>
+			<path d="M0 169.78 L20.48 169.78 A5.66929 5.66929 -180 0 0 26.15 164.11 L26.15 151.15 A5.66929 5.66929 0 0 1 31.82 145.48
+						 L48.77 145.48" class="st2"/>
+		</g>
+		<g id="shape103-89" v:mID="103" v:groupContext="shape" v:layerMember="0" transform="translate(358.058,-80.4387)">
+			<title>Dynamic connector.103</title>
+			<path d="M0 169.78 L17.01 169.78 A5.66929 5.66929 -180 0 0 22.68 164.11 L22.68 107.21 A5.66929 5.66929 0 0 1 28.35 101.54
+						 L45.3 101.54" class="st2"/>
+		</g>
+		<g id="shape104-94" v:mID="104" v:groupContext="shape" v:layerMember="0" transform="translate(370.106,-52.9741)">
+			<title>Dynamic connector.104</title>
+			<path d="M0 169.78 L12.05 169.78 A5.66929 5.66929 -180 0 0 17.72 164.11 L17.72 79.74 A5.66929 5.66929 0 0 1 23.39 74.08
+						 L33.25 74.08" class="st2"/>
+		</g>
+		<g id="shape105-99" v:mID="105" v:groupContext="shape" v:layerMember="0" transform="translate(354.589,-120.919)">
+			<title>Dynamic connector.105</title>
+			<path d="M0 166.32 L5.31 166.32 A5.31496 5.31496 -180 0 0 10.63 161.01 L10.63 147.69 A5.66929 5.66929 -180 0 0 4.96 142.02
+						 L-73.85 142.02 A5.66929 5.66929 -180 0 0 -79.52 147.69 L-79.52 156.3" class="st2"/>
+		</g>
+		<g id="shape106-104" v:mID="106" v:groupContext="shape" v:layerMember="0" transform="translate(370.106,-52.9741)">
+			<title>Dynamic connector.106</title>
+			<path d="M0 169.78 L5.6 169.78 A5.60486 5.60486 0 0 1 11.21 175.39 L11.21 178.82 A5.66929 5.66929 0 0 1 5.54 184.49 L-68.37
+						 184.49 A5.66929 5.66929 0 0 1 -72.39 182.82 A2.3622 2.3622 -180 0 0 -75.73 182.82 A5.66929 5.66929 0 0 1
+						 -79.75 184.49 L-89.37 184.49 A5.66929 5.66929 0 0 1 -95.03 178.82 L-95.03 108.13" class="st2"/>
+		</g>
+		<g id="shape107-109" v:mID="107" v:groupContext="shape" v:layerMember="0" transform="translate(358.058,-80.4387)">
+			<title>Dynamic connector.107</title>
+			<path d="M0 169.78 L5.74 169.78 A5.66929 5.66929 -180 0 0 11.41 164.11 L11.41 153.25 A5.66929 5.66929 -180 0 0 5.74 147.58
+						 L-55.92 147.58 A5.66929 5.66929 0 0 1 -60.01 145.83 A2.53119 2.53119 -180 0 0 -63.67 145.83 A5.66929 5.66929
+						 0 0 1 -67.77 147.58 L-77.32 147.58 A5.66929 5.66929 0 0 1 -82.99 141.91 L-82.99 135.59" class="st2"/>
+		</g>
+		<g id="shape108-114" v:mID="108" v:groupContext="shape" v:layerMember="0" transform="translate(221.455,-137.507)">
+			<title>Dynamic connector.125</title>
+			<path d="M0 170.96 L10.62 170.96 A5.66929 5.66929 0 0 1 16.29 176.63 L16.29 177.11 A5.66929 5.66929 -180 0 0 21.96 182.78
+						 L40.17 182.78" class="st2"/>
+		</g>
+		<g id="shape109-119" v:mID="109" v:groupContext="shape" v:layerMember="0" transform="translate(221.455,-135.417)">
+			<title>Dynamic connector.127</title>
+			<path d="M0 168.87 L10.62 168.87 A5.66929 5.66929 -180 0 0 16.29 163.2 L16.29 162.19 A5.66929 5.66929 0 0 1 21.96 156.52
+						 L181.9 156.52" class="st2"/>
+		</g>
+		<g id="shape110-124" v:mID="110" v:groupContext="shape" v:layerMember="0" transform="translate(227.03,-109.667)">
+			<title>Dynamic connector.128</title>
+			<path d="M0 169.78 L5.36 169.78 A5.35872 5.35872 -180 0 0 10.72 164.42 L10.72 136.44 A5.66929 5.66929 0 0 1 16.39 130.77
+						 L176.33 130.77" class="st2"/>
+		</g>
+		<g id="shape111-129" v:mID="111" v:groupContext="shape" v:layerMember="0" transform="translate(227.03,-109.667)">
+			<title>Dynamic connector.126</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 -180 0 0 10.63 164.47 L10.63 160.6 A5.66929 5.66929 0 0 1 16.3 154.94
+						 L34.6 154.94" class="st2"/>
+		</g>
+		<g id="shape137-134" v:mID="137" v:groupContext="shape" v:layerMember="0" transform="translate(427.487,-155.693)">
+			<title>Dynamic connector.137</title>
+			<path d="M0 176.79 L10.56 176.79 a0.0732889 0.0732889 0 0 1 0.0732889 0.0732889 L10.63 176.87 a0.0732889 0.0732889 -180
+						 0 0 0.0732889 0.0732889 L15.51 176.94" class="st2"/>
+		</g>
+		<g id="shape155-139" v:mID="155" v:groupContext="shape" v:layerMember="1" transform="translate(303.134,-15.2418)">
+			<title>Process.155</title>
+			<desc>qualifiedIdentifier</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="163.23" width="70.87" height="13.1024"/>
+			<rect x="0" y="156.679" width="70.8661" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.18" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifier</text>		</g>
+		<g id="shape156-142" v:mID="156" v:groupContext="shape" v:layerMember="0" transform="translate(374,-21.793)">
+			<title>Dynamic connector.156</title>
+			<path d="M0 169.78 L3.66 169.78 A3.65778 3.65778 0 0 1 7.32 173.44 L7.32 182 A5.66929 5.66929 0 0 1 1.65 187.67 L-93.26
+						 187.67 A5.66929 5.66929 0 0 1 -98.93 182 L-98.93 76.94" class="st2"/>
+		</g>
+		<g id="shape157-147" v:mID="157" v:groupContext="shape" v:layerMember="0" transform="translate(374,-21.793)">
+			<title>Dynamic connector.157</title>
+			<path d="M0 169.78 L8.15 169.78 A5.66929 5.66929 -180 0 0 13.82 164.11 L13.82 48.56 A5.66929 5.66929 0 0 1 19.49 42.89
+						 L29.36 42.89" class="st2"/>
+		</g>
+		<g id="shape158-152" v:mID="158" v:groupContext="shape" v:layerMember="0" transform="translate(285.755,-124.513)">
+			<title>Dynamic connector.158</title>
+			<path d="M0 169.78 L5.15 169.78 A5.14597 5.14597 0 0 1 10.29 174.93 L10.29 268.96 A3.54331 3.54331 -180 0 0 13.84 272.5
+						 L14.62 272.5" class="st2"/>
+		</g>
+		<g id="shape159-157" v:mID="159" v:groupContext="shape" v:layerMember="1" transform="translate(168.488,-75.8402)">
+			<title>Process.159</title>
+			<desc>qualifiedIdentifier</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="35.4331" cy="163.23" width="70.87" height="13.1024"/>
+			<rect x="0" y="156.679" width="70.8661" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.18" y="165.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifier</text>		</g>
+		<g id="shape160-160" v:mID="160" v:groupContext="shape" v:layerMember="0" transform="translate(146.815,-136.25)">
+			<title>Dynamic connector.160</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 0 0 1 10.63 175.1 L10.63 218.12 A5.52165 5.52165 -180 0 0 16.15 223.64
+						 L18.91 223.64" class="st2"/>
+		</g>
+		<g id="shape161-165" v:mID="161" v:groupContext="shape" v:layerMember="0" transform="translate(239.354,-82.3914)">
+			<title>Dynamic connector.161</title>
+			<path d="M0 169.78 L5.31 169.78 A5.31496 5.31496 -180 0 0 10.63 164.47 L10.63 133.33 A5.66929 5.66929 0 0 1 16.3 127.66
+						 L22.27 127.66" class="st2"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/compoundValueRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/conditional_elements.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 constraint.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.50842in"
+		height="1.03264in" viewBox="0 0 180.606 74.3502" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-12);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-12" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape18-1" v:mID="18" v:groupContext="shape" v:layerMember="0" transform="translate(48.3656,-60.7124)">
+			<title>Process.18</title>
+			<desc>fieldConstraint</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="67.7991" width="62.08" height="13.1024"/>
+			<rect x="0" y="61.2479" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.46" y="70.2" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>fieldConstraint</text>		</g>
+		<g id="shape19-4" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(48.3656,-32.6442)">
+			<title>Process.19</title>
+			<desc>inlineEvalConstraint</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="39.0711" cy="67.7991" width="78.15" height="13.1024"/>
+			<rect x="0" y="61.2479" width="78.1421" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.72" y="70.2" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>inlineEvalConstraint</text>		</g>
+		<g id="shape20-7" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-67.2636)">
+			<title>Dynamic connector.20</title>
+			<path d="M0 74.35 L12.76 74.35 A5.66929 5.66929 0 0 1 18.43 80.02 L18.43 96.75 A5.66929 5.66929 -180 0 0 24.09 102.42
+						 L33.9 102.42" class="st3"/>
+		</g>
+		<g id="shape21-13" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-60.177)">
+			<title>Dynamic connector.21</title>
+			<path d="M0 67.26 L33.9 67.26" class="st3"/>
+		</g>
+		<g id="shape22-18" v:mID="22" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-61.5313)">
+			<title>On-page reference.22</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 68.62 A5.73228 5.73228 0 0 1 11.46 68.62 A5.73228 5.73228 0 1 1 0 68.62 Z" class="st1"/>
+		</g>
+		<g id="shape23-20" v:mID="23" v:groupContext="shape" v:layerMember="0" transform="translate(48.7168,-0.24)">
+			<title>Process.23</title>
+			<desc>constraintGroup</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="67.7991" width="62.08" height="13.1024"/>
+			<rect x="0" y="61.2479" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.57" y="70.2" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraintGroup</text>		</g>
+		<g id="shape24-23" v:mID="24" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-67.2636)">
+			<title>Dynamic connector.24</title>
+			<path d="M0 74.35 L12.76 74.35 A5.66929 5.66929 0 0 1 18.43 80.02 L18.43 129.15 A5.66929 5.66929 -180 0 0 24.09 134.82
+						 L34.25 134.82" class="st3"/>
+		</g>
+		<g id="shape26-28" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(110.44,-60.177)">
+			<title>Dynamic connector.26</title>
+			<path d="M0 67.26 L55.7 67.26" class="st3"/>
+		</g>
+		<g id="shape27-33" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(110.791,-6.79118)">
+			<title>Dynamic connector.27</title>
+			<path d="M0 74.35 L21.39 74.35 A5.66929 5.66929 -180 0 0 27.06 68.68 L27.06 19.55 A5.66929 5.66929 0 0 1 32.72 13.88
+						 L55.35 13.88" class="st3"/>
+		</g>
+		<g id="shape28-38" v:mID="28" v:groupContext="shape" v:layerMember="1;0" transform="translate(168.901,-61.5313)">
+			<title>On-page reference.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 68.62 A5.73228 5.73228 0 0 1 11.46 68.62 A5.73228 5.73228 0 1 1 0 68.62 Z" class="st1"/>
+		</g>
+		<g id="shape153-40" v:mID="153" v:groupContext="shape" v:layerMember="1" transform="translate(126.508,-39.1954)">
+			<title>Dynamic connector.153</title>
+			<path d="M0 74.35 L5.67 74.35 A5.66929 5.66929 -180 0 0 11.34 68.68 L11.34 51.95 A5.66929 5.66929 0 0 1 17.01 46.28 L39.63
+						 46.28" class="st3"/>
+		</g>
+		<g id="shape154-45" v:mID="154" v:groupContext="shape" v:layerMember="1" transform="translate(110.791,-6.79118)">
+			<title>Dynamic connector.154</title>
+			<path d="M0 74.35 L21.39 74.35 A5.66929 5.66929 -180 0 0 27.06 68.68 L27.06 19.55 A5.66929 5.66929 0 0 1 32.72 13.88
+						 L55.35 13.88" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraint.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 constraintGroup.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.78069in"
+		height="0.244444in" viewBox="0 0 200.21 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape37-1" v:mID="37" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-2.56741)">
+			<title>On-page reference.185</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.37 A6.23259 6.23259 0 0 1 12.47 11.37 A6.23259 6.23259 0 1 1 0 11.37 Z" class="st1"/>
+		</g>
+		<g id="shape38-3" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(74.8813,-2.24882)">
+			<title>Process.187</title>
+			<desc>constraints</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.2236" cy="11.0488" width="50.45" height="13.1024"/>
+			<rect x="0" y="4.49764" width="50.4472" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.88" y="13.45" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraints</text>		</g>
+		<g id="shape39-6" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(12.7052,-1.71339)">
+			<title>Dynamic connector.190</title>
+			<path d="M0 10.51 L17.64 10.51" class="st3"/>
+		</g>
+		<g id="shape40-12" v:mID="40" v:groupContext="shape" v:layerMember="0" transform="translate(125.329,-1.71339)">
+			<title>Dynamic connector.188</title>
+			<path d="M0 10.51 L17.64 10.51" class="st3"/>
+		</g>
+		<g id="shape41-17" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(33.1088,-1.67704)">
+			<title>Process.191</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="10.477" width="21.37" height="14.2459"/>
+			<rect x="0" y="3.35409" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="12.88" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape42-21" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(145.732,-1.67704)">
+			<title>Process.195</title>
+			<desc>‘)‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="10.477" width="21.37" height="14.2459"/>
+			<rect x="0" y="3.35409" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="12.88" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>‘</text>		</g>
+		<g id="shape43-25" v:mID="43" v:groupContext="shape" v:layerMember="0;1" transform="translate(187.505,-2.56741)">
+			<title>On-page reference.186</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.37 A6.23259 6.23259 0 0 1 12.47 11.37 A6.23259 6.23259 0 1 1 0 11.37 Z" class="st1"/>
+		</g>
+		<g id="shape44-27" v:mID="44" v:groupContext="shape" v:layerMember="0" transform="translate(167.101,-1.71339)">
+			<title>Dynamic connector.196</title>
+			<path d="M0 10.51 L17.64 10.51" class="st3"/>
+		</g>
+		<g id="shape45-32" v:mID="45" v:groupContext="shape" v:layerMember="0" transform="translate(54.4777,-1.71339)">
+			<title>Dynamic connector.197</title>
+			<path d="M0 10.51 L17.64 10.51" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraintGroup.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 constraints.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.36887in"
+		height="0.561951in" viewBox="0 0 170.559 40.4605" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape49-1" v:mID="49" v:groupContext="shape" v:layerMember="0;1" transform="translate(158.854,-1.35433)">
+			<title>On-page reference.25</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 34.73 A5.73228 5.73228 0 0 1 11.46 34.73 A5.73228 5.73228 0 1 1 0 34.73 Z" class="st1"/>
+		</g>
+		<g id="shape50-3" v:mID="50" v:groupContext="shape" v:layerMember="1" transform="translate(48.3656,-0.535433)">
+			<title>Process.73</title>
+			<desc>constraint</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="33.9093" width="62.08" height="13.1024"/>
+			<rect x="0" y="27.3581" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.68" y="36.31" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraint</text>		</g>
+		<g id="shape53-6" v:mID="53" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-4.9738E-014)">
+			<title>Dynamic connector.79</title>
+			<path d="M0 33.37 L33.9 33.37" class="st3"/>
+		</g>
+		<g id="shape54-12" v:mID="54" v:groupContext="shape" v:layerMember="0" transform="translate(110.44,-4.9738E-014)">
+			<title>Dynamic connector.88</title>
+			<path d="M0 33.37 L22.14 33.37 L45.65 33.37" class="st3"/>
+		</g>
+		<g id="shape56-17" v:mID="56" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.93</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 34.73 A5.73228 5.73228 0 0 1 11.46 34.73 A5.73228 5.73228 0 1 1 0 34.73 Z" class="st1"/>
+		</g>
+		<g id="shape148-19" v:mID="148" v:groupContext="shape" v:layerMember="1" transform="translate(55.5156,-25.9746)">
+			<title>Process.148</title>
+			<desc>‘,’ | ‘&#38;&#38;’ | ‘||’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.6772" cy="33.3375" width="45.36" height="14.2459"/>
+			<rect x="0" y="26.2146" width="45.3543" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.29" y="35.74" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘,’ | ‘&#38;&#38;’ | ‘||’</text>		</g>
+		<g id="shape152-22" v:mID="152" v:groupContext="shape" v:layerMember="0" transform="translate(110.44,-4.9738E-014)">
+			<title>Dynamic connector.152</title>
+			<path d="M0 33.37 L45.65 33.37" class="st3"/>
+		</g>
+		<g id="shape51-27" v:mID="51" v:groupContext="shape" v:layerMember="0" transform="translate(112.742,-7.08661)">
+			<title>Dynamic connector.51</title>
+			<path d="M-2.3 40.46 L3.01 40.46 A5.31496 5.31496 -180 0 0 8.33 35.15 L8.33 20.12 A5.66929 5.66929 -180 0 0 2.66 14.45
+						 L-9.11 14.45" class="st3"/>
+		</g>
+		<g id="shape52-32" v:mID="52" v:groupContext="shape" v:layerMember="0" transform="translate(59.0272,-33.0975)">
+			<title>Dynamic connector.52</title>
+			<path d="M-3.51 40.46 L-15.62 40.46 A5.66929 5.66929 -180 0 0 -21.29 46.13 L-21.29 61.16 A5.31496 5.31496 -180 0 0 -15.98
+						 66.47 L-13.42 66.47" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/constraints.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 documentation.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.5755in" height="0.244444in" viewBox="0 0 185.436 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st6" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape38-1" v:mID="38" v:groupContext="shape" v:layerMember="0" transform="translate(30.7598,-1.34103)">
+			<title content="structured text">Process.186</title>
+			<desc content="structured text">‘/**’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.9075" cy="10.141" width="25.82" height="14.9179"/>
+			<rect x="0" y="2.68205" width="25.815" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.9" y="12.54" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘/**’</text>		</g>
+		<g id="shape39-4" v:mID="39" v:groupContext="shape" v:layerMember="1;0" transform="translate(172.143,-2.2734)">
+			<title content="structured text">On-page reference.187</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.07 A6.5266 6.5266 0 0 1 13.05 11.07 A6.5266 6.5266 0 1 1 0 11.07 Z" class="st1"/>
+		</g>
+		<g id="shape40-6" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(56.5748,-1.71339)">
+			<title content="structured text">Dynamic connector.188</title>
+			<path d="M0 10.51 L13.96 10.51" class="st3"/>
+		</g>
+		<g id="shape41-12" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(108.964,-1.71339)">
+			<title content="structured text">Dynamic connector.189</title>
+			<path d="M0 10.51 L15.67 10.51" class="st3"/>
+		</g>
+		<g id="shape42-17" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(149.766,-1.71339)">
+			<title content="structured text">Dynamic connector.190</title>
+			<path d="M0 10.51 L19.62 10.51" class="st3"/>
+		</g>
+		<g id="shape43-22" v:mID="43" v:groupContext="shape" v:layerMember="0" transform="translate(73.2993,-1.34103)">
+			<title content="structured text">Process.192</title>
+			<desc content="structured text">text</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="17.8321" cy="10.141" width="35.67" height="14.9179"/>
+			<rect x="0" y="2.68205" width="35.6643" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.38" y="12.54" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>text</text>		</g>
+		<g id="shape44-25" v:mID="44" v:groupContext="shape" v:layerMember="0" transform="translate(127.389,-1.34103)">
+			<title content="structured text">Process.193</title>
+			<desc content="structured text">‘*/’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.1885" cy="10.141" width="22.38" height="14.9179"/>
+			<rect x="0" y="2.68205" width="22.3769" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.75" y="12.54" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘*/’</text>		</g>
+		<g id="shape45-28" v:mID="45" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.2734)">
+			<title content="structured text">On-page reference.194</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.07 A6.5266 6.5266 0 0 1 13.05 11.07 A6.5266 6.5266 0 1 1 0 11.07 Z" class="st1"/>
+		</g>
+		<g id="shape46-30" v:mID="46" v:groupContext="shape" v:layerMember="1" transform="translate(13.2932,-1.71339)">
+			<title content="structured text">Dynamic connector.195</title>
+			<path d="M0 10.51 L14.71 10.51" class="st3"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/documentation.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 eval.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.26248in" height="0.244444in" viewBox="0 0 234.899 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st5 {font-size:1em}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape2-1" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(92.7584,-1.71339)">
+			<title content="structured text">Dynamic connector.130</title>
+			<path d="M0 10.51 L17.78 10.51" class="st1"/>
+		</g>
+		<g id="shape3-7" v:mID="3" v:groupContext="shape" v:layerMember="1" transform="translate(27.3422,-2.13018)">
+			<title content="structured text">Process.132</title>
+			<desc content="structured text">‘eval’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="10.9302" width="29.8" height="13.3396"/>
+			<rect x="0" y="4.26036" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="5.78" y="13.33" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">eval</tspan>’</text>		</g>
+		<g id="shape4-11" v:mID="4" v:groupContext="shape" v:layerMember="1" transform="translate(72.7489,-2.13018)">
+			<title content="structured text">Process.133</title>
+			<desc content="structured text">‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="10.9302" width="20.01" height="13.3396"/>
+			<rect x="0" y="4.26036" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.89" y="13.33" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape5-15" v:mID="5" v:groupContext="shape" v:layerMember="1" transform="translate(180.413,-2.13018)">
+			<title content="structured text">Process.134</title>
+			<desc content="structured text">‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="10.9302" width="20.01" height="13.3396"/>
+			<rect x="0" y="4.26036" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.89" y="13.33" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape6-19" v:mID="6" v:groupContext="shape" v:layerMember="0" transform="translate(57.1348,-1.71339)">
+			<title content="structured text">Dynamic connector.135</title>
+			<path d="M0 10.51 L12.85 10.51" class="st1"/>
+		</g>
+		<g id="shape7-24" v:mID="7" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.985572,-2.96391)">
+			<title content="structured text">On-page reference.136</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.76 A5.83609 5.83609 0 1 1 11.67 11.76 A5.83609 5.83609 0 0 1 0 11.76 Z" class="st3"/>
+		</g>
+		<g id="shape8-26" v:mID="8" v:groupContext="shape" v:layerMember="0;1" transform="translate(222.987,-2.96391)">
+			<title content="structured text">On-page reference.138</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.76 A5.83609 5.83609 0 1 1 11.67 11.76 A5.83609 5.83609 0 0 1 0 11.76 Z" class="st3"/>
+		</g>
+		<g id="shape9-28" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(12.6578,-1.71339)">
+			<title content="structured text">Dynamic connector.137</title>
+			<path d="M0 10.51 L11.92 10.51" class="st1"/>
+		</g>
+		<g id="shape10-33" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(200.423,-1.71339)">
+			<title content="structured text">Dynamic connector.131</title>
+			<path d="M0 10.51 L19.8 10.51" class="st1"/>
+		</g>
+		<g id="shape35-38" v:mID="35" v:groupContext="shape" v:layerMember="1" transform="translate(113.297,-2.13018)">
+			<title content="structured text">Process.193</title>
+			<desc content="structured text">expression</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="10.9302" width="48.7" height="13.3396"/>
+			<rect x="0" y="4.26036" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="5.01" y="13.33" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>expression</text>		</g>
+		<g id="shape36-41" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(161.988,-1.71339)">
+			<title content="structured text">Dynamic connector.194</title>
+			<path d="M0 10.51 L15.67 10.51" class="st1"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/eval.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 exists.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.6165in"
+		height="0.538941in" viewBox="0 0 260.388 38.8038" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-18);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-18" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape23-1" v:mID="23" v:groupContext="shape" v:layerMember="0" transform="translate(27.6709,-2.13018)">
+			<title>Process.23</title>
+			<desc>‘exists’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="32.134" width="29.8" height="13.3396"/>
+			<rect x="0" y="25.4641" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.9" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">exists</tspan>’</text>		</g>
+		<g id="shape24-5" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(75.8054,-25.2241)">
+			<title>Process.24</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="32.134" width="20.01" height="13.3396"/>
+			<rect x="0" y="25.4641" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape25-9" v:mID="25" v:groupContext="shape" v:layerMember="0" transform="translate(203.408,-24.8073)">
+			<title>Process.25</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="32.134" width="20.01" height="13.3396"/>
+			<rect x="0" y="25.4641" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape26-13" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(57.4634,-8.8)">
+			<title>Dynamic connector.26</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 -180 0 0 10.63 33.49 L10.63 19.57 A3.85604 3.85604 0 0 1 14.49 15.71 L15.58
+						 15.71" class="st4"/>
+		</g>
+		<g id="shape27-19" v:mID="27" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.656943,-2.96391)">
+			<title>On-page reference.27</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.97 A5.83609 5.83609 0 1 1 11.67 32.97 A5.83609 5.83609 0 0 1 0 32.97 Z" class="st1"/>
+		</g>
+		<g id="shape28-21" v:mID="28" v:groupContext="shape" v:layerMember="1;0" transform="translate(248.476,-2.96391)">
+			<title>On-page reference.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.97 A5.83609 5.83609 0 1 1 11.67 32.97 A5.83609 5.83609 0 0 1 0 32.97 Z" class="st1"/>
+		</g>
+		<g id="shape29-23" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(12.3291,-1.71339)">
+			<title>Dynamic connector.29</title>
+			<path d="M0 31.72 L12.58 31.72" class="st4"/>
+		</g>
+		<g id="shape30-28" v:mID="30" v:groupContext="shape" v:layerMember="1" transform="translate(223.417,-31.4772)">
+			<title>Dynamic connector.30</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 0 0 1 10.63 44.12 L10.63 55.81 A5.66929 5.66929 -180 0 0 16.3 61.48 L22.3
+						 61.48" class="st4"/>
+		</g>
+		<g id="shape31-33" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(112.676,-2.13018)">
+			<title>Process.31</title>
+			<desc>conditionalElement</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.2367" cy="32.134" width="72.48" height="13.3396"/>
+			<rect x="0" y="25.4641" width="72.4735" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.43" y="34.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>conditionalElement</text>		</g>
+		<g id="shape32-36" v:mID="32" v:groupContext="shape" v:layerMember="1" transform="translate(95.8149,-31.894)">
+			<title>Dynamic connector.32</title>
+			<path d="M0 38.8 L4.89 38.8 A4.8872 4.8872 0 0 1 9.77 43.69 L9.77 58.35 A3.54331 3.54331 -180 0 0 13.32 61.9 L14.1 61.9"
+					class="st4"/>
+		</g>
+		<g id="shape33-41" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(185.149,-8.8)">
+			<title>Dynamic connector.33</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 -180 0 0 10.63 33.49 L10.63 19.94 A3.81417 3.81417 0 0 1 14.44 16.13 L15.5
+						 16.13" class="st4"/>
+		</g>
+		<g id="shape156-46" v:mID="156" v:groupContext="shape" v:layerMember="1" transform="translate(57.4634,-1.71339)">
+			<title>Dynamic connector.156</title>
+			<path d="M0 31.72 L52.45 31.72" class="st4"/>
+		</g>
+		<g id="shape157-51" v:mID="157" v:groupContext="shape" v:layerMember="1" transform="translate(185.149,-1.71339)">
+			<title>Dynamic connector.157</title>
+			<path d="M0 31.72 L60.57 31.72" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/exists.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 expander.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.21694in" height="0.415247in" viewBox="0 0 231.62 29.8978" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st4 {font-size:1em}
+		.st5 {marker-end:url(#mrkr2-20);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-20" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape11-1" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(25.6963,-1.71339)">
+			<title content="structured text">Process.11</title>
+			<desc content="structured text">‘expander’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.1567" cy="22.8112" width="48.32" height="14.1732"/>
+			<rect x="0" y="15.7246" width="48.3134" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.69" y="25.21" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘expander’</text>		</g>
+		<g id="shape12-4" v:mID="12" v:groupContext="shape" v:layerMember="1;0" transform="translate(2.76331,-3.0298)">
+			<title content="structured text">On-page reference.12</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.13 A5.7702 5.7702 0 1 1 11.54 24.13 A5.7702 5.7702 0 0 1 0 24.13 Z" class="st1"/>
+		</g>
+		<g id="shape13-6" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(88.7014,-1.71339)">
+			<title content="structured text">Process.13</title>
+			<desc content="structured text">language_config.dsl</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="39.1665" cy="22.8112" width="78.34" height="14.1732"/>
+			<rect x="0" y="15.7246" width="78.3329" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.59" y="25.21" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>language_config.dsl</text>		</g>
+		<g id="shape17-9" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(182.61,-15.9875)">
+			<title content="structured text">Process.17</title>
+			<desc content="structured text">‘;’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.2527" cy="23.0627" width="20.51" height="13.6703"/>
+			<rect x="0" y="16.2275" width="20.5054" height="13.6703" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.36" y="25.46" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4" v:langID="2057">;</tspan>’</text>		</g>
+		<g id="shape18-13" v:mID="18" v:groupContext="shape" v:layerMember="1;0" transform="translate(218.375,-3.13071)">
+			<title content="structured text">On-page reference.18</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.13 A5.7702 5.7702 0 1 1 11.54 24.13 A5.7702 5.7702 0 0 1 0 24.13 Z" class="st1"/>
+		</g>
+		<g id="shape19-15" v:mID="19" v:groupContext="shape" v:layerMember="1" transform="translate(12.9134,-1.71339)">
+			<title content="structured text">Dynamic connector.19</title>
+			<path d="M1.39 22.81 L10.02 22.81" class="st5"/>
+		</g>
+		<g id="shape20-21" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(74.0096,-1.71339)">
+			<title content="structured text">Dynamic connector.20</title>
+			<path d="M0 22.81 L11.93 22.81" class="st5"/>
+		</g>
+		<g id="shape21-26" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(167.034,-8.72471)">
+			<title content="structured text">Dynamic connector.21</title>
+			<path d="M0 29.82 L4.25 29.82 A4.25197 4.25197 -180 0 0 8.5 25.57 L8.5 19.34 A3.53596 3.53596 0 0 1 12.04 15.8 L12.82        15.8" class="st5"/>
+		</g>
+		<g id="shape22-31" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(167.034,-1.76384)">
+			<title content="structured text">Dynamic connector.22</title>
+			<path d="M0 22.86 L8.5 22.86 L8.5 22.76 L48.58 22.76" class="st5"/>
+		</g>
+		<g id="shape100-36" v:mID="100" v:groupContext="shape" v:layerMember="1" transform="translate(203.116,-22.9484)">
+			<title content="structured text">Dynamic connector.100</title>
+			<path d="M0 30.02 L4.25 30.02 A4.25197 4.25197 0 0 1 8.5 34.28 L8.5 40.57 A3.37759 3.37759 -180 0 0 11.88 43.95 L12.5        43.95" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/expander.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 fieldConstraint.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.30841in"
+		height="0.334935in" viewBox="0 0 310.205 24.1153" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape58-1" v:mID="58" v:groupContext="shape" v:layerMember="0;1" transform="translate(298.501,-1.35433)">
+			<title>On-page reference.144</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 18.38 A5.73228 5.73228 0 0 1 11.46 18.38 A5.73228 5.73228 0 1 1 0 18.38 Z" class="st1"/>
+		</g>
+		<g id="shape59-3" v:mID="59" v:groupContext="shape" v:layerMember="1" transform="translate(231.815,-0.535433)">
+			<title>Process.145</title>
+			<desc>restriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.0359" cy="17.5641" width="44.08" height="13.1024"/>
+			<rect x="0" y="11.0129" width="44.0717" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.69" y="19.96" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>restriction</text>		</g>
+		<g id="shape66-6" v:mID="66" v:groupContext="shape" v:layerMember="0" transform="translate(207.169,1.06581E-014)">
+			<title>Dynamic connector.154</title>
+			<path d="M0 17.03 L21.89 17.03" class="st3"/>
+		</g>
+		<g id="shape67-12" v:mID="67" v:groupContext="shape" v:layerMember="0" transform="translate(275.886,1.06581E-014)">
+			<title>Dynamic connector.155</title>
+			<path d="M0 17.03 L19.85 17.03" class="st3"/>
+		</g>
+		<g id="shape72-17" v:mID="72" v:groupContext="shape" v:layerMember="1" transform="translate(156.232,-0.535433)">
+			<title>Process.164</title>
+			<desc>fieldName</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.4689" cy="17.5641" width="50.94" height="13.1024"/>
+			<rect x="0" y="11.0129" width="50.9378" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.47" y="19.96" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>fieldName</text>		</g>
+		<g id="shape73-20" v:mID="73" v:groupContext="shape" v:layerMember="1" transform="translate(36.3498,-0.535433)">
+			<title>Process.168</title>
+			<desc>fieldBinding</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.4689" cy="17.5641" width="50.94" height="13.1024"/>
+			<rect x="0" y="11.0129" width="50.9378" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.79" y="19.96" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>fieldBinding</text>		</g>
+		<g id="shape74-23" v:mID="74" v:groupContext="shape" v:layerMember="1" transform="translate(111.933,-0.535433)">
+			<title>Process.169</title>
+			<desc>:</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="17.5641" width="19.66" height="13.1024"/>
+			<rect x="0" y="11.0129" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.71" y="19.96" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>:</text>		</g>
+		<g id="shape75-26" v:mID="75" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.170</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 18.38 A5.73228 5.73228 0 0 1 11.46 18.38 A5.73228 5.73228 0 1 1 0 18.38 Z" class="st1"/>
+		</g>
+		<g id="shape76-28" v:mID="76" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,4.26326E-014)">
+			<title>Dynamic connector.171</title>
+			<path d="M0 17.03 L21.89 17.03" class="st3"/>
+		</g>
+		<g id="shape77-33" v:mID="77" v:groupContext="shape" v:layerMember="0" transform="translate(87.2876,1.06581E-014)">
+			<title>Dynamic connector.172</title>
+			<path d="M0 17.03 L21.89 17.03" class="st3"/>
+		</g>
+		<g id="shape78-38" v:mID="78" v:groupContext="shape" v:layerMember="0" transform="translate(131.586,1.06581E-014)">
+			<title>Dynamic connector.173</title>
+			<path d="M0 17.03 L21.89 17.03" class="st3"/>
+		</g>
+		<g id="shape79-43" v:mID="79" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,4.26326E-014)">
+			<title>Dynamic connector.174</title>
+			<path d="M0 17.03 L8.5 17.03 A5.66929 5.66929 -180 0 0 14.17 11.36 L14.17 9.57 A5.66929 5.66929 0 0 1 19.84 3.9 L118.35
+						 3.9 A5.66929 5.66929 0 0 1 124.02 9.57 L124.02 11.36 A5.66929 5.66929 -180 0 0 129.69 17.03 L141.77 17.03"
+					class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/fieldConstraint.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 field_constraints.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.84063in" height="0.244444in" viewBox="0 0 204.525 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-14);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-14" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape33-1" v:mID="33" v:groupContext="shape" v:layerMember="0" transform="translate(29.7203,-2.24882)">
+			<title content="structured text">Process.152</title>
+			<desc content="structured text">‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="11.0488" width="19.66" height="13.1024"/>
+			<rect x="0" y="4.49764" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.72" y="13.45" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape34-5" v:mID="34" v:groupContext="shape" v:layerMember="0" transform="translate(150.553,-2.24882)">
+			<title content="structured text">Process.153</title>
+			<desc content="structured text">‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="11.0488" width="19.66" height="13.1024"/>
+			<rect x="0" y="4.49764" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.72" y="13.45" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape35-9" v:mID="35" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-1.71339)">
+			<title content="structured text">Dynamic connector.162</title>
+			<path d="M0 10.51 L15.26 10.51" class="st4"/>
+		</g>
+		<g id="shape36-15" v:mID="36" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-3.06772)">
+			<title content="structured text">On-page reference.166</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+		<g id="shape37-17" v:mID="37" v:groupContext="shape" v:layerMember="1;0" transform="translate(192.821,-3.06772)">
+			<title content="structured text">On-page reference.167</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+		<g id="shape38-19" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(170.206,-1.71339)">
+			<title content="structured text">Dynamic connector.173</title>
+			<path d="M0 10.51 L19.85 10.51" class="st4"/>
+		</g>
+		<g id="shape39-24" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(69.0902,-2.24882)">
+			<title content="structured text">Process.174</title>
+			<desc content="structured text">expression</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="11.0488" width="62.08" height="13.1024"/>
+			<rect x="0" y="4.49764" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.68" y="13.45" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>expression</text>		</g>
+		<g id="shape40-27" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(49.3739,-1.71339)">
+			<title content="structured text">Dynamic connector.175</title>
+			<path d="M0 10.51 L16.96 10.51" class="st4"/>
+		</g>
+		<g id="shape41-32" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(131.165,-1.71339)">
+			<title content="structured text">Dynamic connector.176</title>
+			<path d="M0 10.51 L16.63 10.51" class="st4"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/field_constraints.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 forall.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.3938in"
+		height="0.484719in" viewBox="0 0 244.353 34.8997" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-18);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-18" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape2-1" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(27.3422,-2.13018)">
+			<title>Process.132</title>
+			<desc>‘foralll’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="28.2299" width="29.8" height="13.3396"/>
+			<rect x="0" y="21.5601" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.56" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">foralll</tspan>’</text>		</g>
+		<g id="shape3-5" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(72.7489,-2.13018)">
+			<title>Process.133</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="28.2299" width="20.01" height="13.3396"/>
+			<rect x="0" y="21.5601" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape4-9" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(189.868,-2.13018)">
+			<title>Process.134</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="28.2299" width="20.01" height="13.3396"/>
+			<rect x="0" y="21.5601" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape5-13" v:mID="5" v:groupContext="shape" v:layerMember="1" transform="translate(57.1348,-1.71339)">
+			<title>Dynamic connector.135</title>
+			<path d="M0 27.81 L12.85 27.81" class="st4"/>
+		</g>
+		<g id="shape6-19" v:mID="6" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.985572,-2.96391)">
+			<title>On-page reference.136</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape7-21" v:mID="7" v:groupContext="shape" v:layerMember="1;0" transform="translate(232.441,-2.96391)">
+			<title>On-page reference.138</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape8-23" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(12.6578,-1.71339)">
+			<title>Dynamic connector.137</title>
+			<path d="M0 27.81 L11.92 27.81" class="st4"/>
+		</g>
+		<g id="shape9-28" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(209.877,-1.71339)">
+			<title>Dynamic connector.131</title>
+			<path d="M0 27.81 L19.8 27.81" class="st4"/>
+		</g>
+		<g id="shape11-33" v:mID="11" v:groupContext="shape" v:layerMember="1" transform="translate(164.8,-1.71339)">
+			<title>Dynamic connector.194</title>
+			<path d="M0 27.81 L22.31 27.81" class="st4"/>
+		</g>
+		<g id="shape13-38" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(116.11,-2.13018)">
+			<title>Process.13</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.3453" cy="28.2299" width="48.7" height="13.3396"/>
+			<rect x="0" y="21.5601" width="48.6906" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.9" y="30.63" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape15-41" v:mID="15" v:groupContext="shape" v:layerMember="1" transform="translate(92.7584,-1.71339)">
+			<title>Dynamic connector.15</title>
+			<path d="M0 27.81 L20.59 27.81" class="st4"/>
+		</g>
+		<g id="shape16-46" v:mID="16" v:groupContext="shape" v:layerMember="1" transform="translate(164.8,-1.71339)">
+			<title>Dynamic connector.16</title>
+			<path d="M0 27.81 L5.31 27.81 A5.31496 5.31496 -180 0 0 10.63 22.5 L10.63 16.18 A5.66929 5.66929 -180 0 0 4.96 10.51
+						 L-53.65 10.51 A5.66929 5.66929 -180 0 0 -59.32 16.18 L-59.32 22.5 A5.31496 5.31496 -180 0 0 -54.01 27.81
+						 L-51.45 27.81" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/forall.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 from.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.33807in"
+		height="0.245214in" viewBox="0 0 240.341 17.6554" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {marker-end:url(#mrkr2-12);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-12" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape34-1" v:mID="34" v:groupContext="shape" v:layerMember="0" transform="translate(96.618,-2.18562)">
+			<title>Process.34</title>
+			<desc>‘from’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="10.9856" width="29.8" height="13.3396"/>
+			<rect x="0" y="4.3158" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.12" y="13.39" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘from’</text>		</g>
+		<g id="shape37-4" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(153.311,-2.18562)">
+			<title>Process.37</title>
+			<desc>expression</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.6214" cy="10.9856" width="43.25" height="13.3396"/>
+			<rect x="0" y="4.3158" width="43.2427" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.28" y="13.39" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>expression</text>		</g>
+		<g id="shape40-7" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(126.411,-1.76883)">
+			<title>Dynamic connector.40</title>
+			<path d="M0 10.57 L24.14 10.57" class="st3"/>
+		</g>
+		<g id="shape41-13" v:mID="41" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-3.01935)">
+			<title>On-page reference.41</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.82 A5.83609 5.83609 0 1 1 11.67 11.82 A5.83609 5.83609 0 0 1 0 11.82 Z" class="st1"/>
+		</g>
+		<g id="shape42-15" v:mID="42" v:groupContext="shape" v:layerMember="1;0" transform="translate(228.429,-3.01935)">
+			<title>On-page reference.42</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.82 A5.83609 5.83609 0 1 1 11.67 11.82 A5.83609 5.83609 0 0 1 0 11.82 Z" class="st1"/>
+		</g>
+		<g id="shape44-17" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(196.554,-1.76883)">
+			<title>Dynamic connector.44</title>
+			<path d="M0 10.57 L29.12 10.57" class="st3"/>
+		</g>
+		<g id="shape43-22" v:mID="43" v:groupContext="shape" v:layerMember="0" transform="translate(37.9353,-2.13018)">
+			<title>Process.43</title>
+			<desc>pattern</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="10.9856" width="29.8" height="13.3396"/>
+			<rect x="0" y="4.3158" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.45" y="13.39" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>		</g>
+		<g id="shape46-25" v:mID="46" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-15.9143)">
+			<title>Dynamic connector.46</title>
+			<path d="M0 24.71 L10.63 24.71 L10.63 24.77 L23.26 24.77" class="st3"/>
+		</g>
+		<g id="shape50-30" v:mID="50" v:groupContext="shape" v:layerMember="1" transform="translate(67.7278,-1.74111)">
+			<title>Dynamic connector.50</title>
+			<path d="M0 10.6 L10.63 10.6 L10.63 10.54 L26.13 10.54" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/from.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 function.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.07412in" height="2.05191in" viewBox="0 0 221.336 147.737" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-17" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(201.52,-56.8562)">
+			<title content="structured text">Process.1</title>
+			<desc content="structured text">‘{‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.7884" cy="141.212" width="19.58" height="13.0512"/>
+			<rect x="0" y="134.686" width="19.5768" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.69" y="143.61" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">{</tspan>‘</text>		</g>
+		<g id="shape2-5" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(35.7813,-85.7637)">
+			<title content="structured text">Process.34</title>
+			<desc content="structured text">‘function’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.5847" cy="141.212" width="45.17" height="13.0512"/>
+			<rect x="0" y="134.686" width="45.1694" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.79" y="143.61" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">function</tspan>’</text>		</g>
+		<g id="shape3-9" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(37.002,-56.8562)">
+			<title content="structured text">Process.36</title>
+			<desc content="structured text">name</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.314" cy="141.212" width="32.63" height="13.0512"/>
+			<rect x="0" y="134.686" width="32.628" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.32" y="143.61" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name</text>		</g>
+		<g id="shape4-12" v:mID="4" v:groupContext="shape" v:layerMember="1" transform="translate(69.63,-56.2952)">
+			<title content="structured text">Dynamic connector.37</title>
+			<path d="M0 140.65 L13.05 140.65" class="st5"/>
+		</g>
+		<g id="shape5-18" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(35.7322,-0.561013)">
+			<title content="structured text">Process.37</title>
+			<desc content="structured text">‘}’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.7884" cy="141.212" width="19.58" height="13.0512"/>
+			<rect x="0" y="134.686" width="19.5768" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.69" y="143.61" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">}</tspan>’</text>		</g>
+		<g id="shape6-22" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(211.308,-56.8562)">
+			<title content="structured text">Dynamic connector.52</title>
+			<path d="M0 147.74 L0 163.49 A5.66929 5.66929 0 0 1 -5.67 169.16 L-96.97 169.16" class="st5"/>
+		</g>
+		<g id="shape7-27" v:mID="7" v:groupContext="shape" v:layerMember="1" transform="translate(55.309,-1.42109E-013)">
+			<title content="structured text">Dynamic connector.55</title>
+			<path d="M0 140.65 L20.18 140.65" class="st5"/>
+		</g>
+		<g id="shape8-32" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(11.6598,-141.787)">
+			<title content="structured text">Dynamic connector.123</title>
+			<path d="M0 147.74 L4.92 147.74 A4.92002 4.92002 0 0 1 9.84 152.66 L9.84 191.57 A5.66929 5.66929 -180 0 0 15.51 197.24        L21.36 197.24" class="st5"/>
+		</g>
+		<g id="shape9-37" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(35.6731,-114.057)">
+			<title content="structured text">Process.124</title>
+			<desc content="structured text">documentation</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.628" cy="141.212" width="65.26" height="13.0512"/>
+			<rect x="0" y="134.686" width="65.256" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.38" y="143.61" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>documentation</text>		</g>
+		<g id="shape10-40" v:mID="10" v:groupContext="shape" v:layerMember="1" transform="translate(11.6598,-141.787)">
+			<title content="structured text">Dynamic connector.127</title>
+			<path d="M0 147.74 L4.92 147.74 A4.92002 4.92002 0 0 1 9.84 152.66 L9.84 163.27 A5.66929 5.66929 -180 0 0 15.51 168.94        L21.25 168.94" class="st5"/>
+		</g>
+		<g id="shape12-45" v:mID="12" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-136.078)">
+			<title content="structured text">On-page reference.130</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 142.03 A5.7099 5.7099 0 0 1 11.42 142.03 A5.7099 5.7099 0 1 1 -0 142.03 Z" class="st1"/>
+		</g>
+		<g id="shape13-47" v:mID="13" v:groupContext="shape" v:layerMember="1;0" transform="translate(78.2519,-1.37671)">
+			<title content="structured text">On-page reference.132</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 142.03 A5.7099 5.7099 0 0 1 11.42 142.03 A5.7099 5.7099 0 1 1 -0 142.03 Z" class="st1"/>
+		</g>
+		<g id="shape15-49" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(78.9458,-28.9075)">
+			<title content="structured text">Process.5</title>
+			<desc content="structured text">code</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.314" cy="141.212" width="32.63" height="13.0512"/>
+			<rect x="0" y="134.686" width="32.628" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.65" y="143.61" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>code</text>		</g>
+		<g id="shape16-52" v:mID="16" v:groupContext="shape" v:layerMember="1" transform="translate(78.9458,-35.4331)">
+			<title content="structured text">Dynamic connector.8</title>
+			<path d="M0 147.74 L-51.78 147.74 A5.66929 5.66929 -180 0 0 -57.45 153.41 L-57.45 170.41 A5.66929 5.66929 -180 0 0 -51.78        176.08 L-45.97 176.08" class="st5"/>
+		</g>
+		<g id="shape20-57" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(100.929,-120.583)">
+			<title content="structured text">Dynamic connector.167</title>
+			<path d="M0 147.74 L14.17 147.74 A5.66929 5.66929 0 0 1 19.84 153.41 L19.84 156.27 A5.66929 5.66929 0 0 1 14.17 161.94        L-73.7 161.94 A5.66929 5.66929 -180 0 0 -79.37 167.61 L-79.37 170.36 A5.66929 5.66929 -180 0 0 -73.7 176.03        L-67.91 176.03" class="st5"/>
+		</g>
+		<g id="shape21-62" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(85.4353,-56.8562)">
+			<title content="structured text">Process.9</title>
+			<desc content="structured text">‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.7884" cy="141.212" width="19.58" height="13.0512"/>
+			<rect x="0" y="134.686" width="19.5768" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.69" y="143.61" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘(‘</text>		</g>
+		<g id="shape22-65" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(162.621,-56.8562)">
+			<title content="structured text">Process.12</title>
+			<desc content="structured text">‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.7884" cy="141.212" width="19.58" height="13.0512"/>
+			<rect x="0" y="134.686" width="19.5768" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.69" y="143.61" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘)’</text>		</g>
+		<g id="shape23-68" v:mID="23" v:groupContext="shape" v:layerMember="1" transform="translate(182.198,-56.2952)">
+			<title content="structured text">Dynamic connector.35</title>
+			<path d="M0 140.65 L16.56 140.65" class="st5"/>
+		</g>
+		<g id="shape24-73" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(117.197,-56.8562)">
+			<title content="structured text">Process.53</title>
+			<desc content="structured text">params</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.9857" cy="141.212" width="37.98" height="13.0512"/>
+			<rect x="0" y="134.686" width="37.9715" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.64" y="143.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>params</text>		</g>
+		<g id="shape25-76" v:mID="25" v:groupContext="shape" v:layerMember="1" transform="translate(104.018,-56.2952)">
+			<title content="structured text">Dynamic connector.7</title>
+			<path d="M0.99 140.65 L10.42 140.65" class="st5"/>
+		</g>
+		<g id="shape26-81" v:mID="26" v:groupContext="shape" v:layerMember="1" transform="translate(151.808,-56.2952)">
+			<title content="structured text">Dynamic connector.41</title>
+			<path d="M3.36 140.65 L8.05 140.65" class="st5"/>
+		</g>
+		<g id="shape27-86" v:mID="27" v:groupContext="shape" v:layerMember="0" transform="translate(100.453,-85.7637)">
+			<title content="structured text">Process.54</title>
+			<desc content="structured text">return-type</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="29.9722" cy="141.212" width="59.95" height="13.0512"/>
+			<rect x="0" y="134.686" width="59.9444" height="13.0512" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="10.63" y="143.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>return-type</text>		</g>
+		<g id="shape28-89" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(160.397,-92.2893)">
+			<title content="structured text">Dynamic connector.82</title>
+			<path d="M0 147.74 L16.66 147.74 A5.66929 5.66929 0 0 1 22.33 153.41 L22.33 156.8 A5.66929 5.66929 0 0 1 16.66 162.47        L-132.87 162.47 A5.66929 5.66929 -180 0 0 -138.54 168.14 L-138.54 170.98 A5.66929 5.66929 -180 0 0 -132.87        176.64 L-126.16 176.64" class="st5"/>
+		</g>
+		<g id="shape29-94" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(80.9507,-85.2027)">
+			<title content="structured text">Dynamic connector.25</title>
+			<path d="M0 140.65 L16.74 140.65" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/function.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 global.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.37442in" height="0.415247in" viewBox="0 0 242.958 29.8978" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-17" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape69-1" v:mID="69" v:groupContext="shape" v:layerMember="0" transform="translate(25.6963,-1.71339)">
+			<title content="structured text">Process.69</title>
+			<desc content="structured text">‘global’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.322" cy="22.8112" width="42.65" height="14.1732"/>
+			<rect x="0" y="15.7246" width="42.6441" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.87" y="25.21" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘global’</text>		</g>
+		<g id="shape70-4" v:mID="70" v:groupContext="shape" v:layerMember="1;0" transform="translate(2.76331,-3.0298)">
+			<title content="structured text">On-page reference.70</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.13 A5.7702 5.7702 0 1 1 11.54 24.13 A5.7702 5.7702 0 0 1 0 24.13 Z" class="st1"/>
+		</g>
+		<g id="shape72-6" v:mID="72" v:groupContext="shape" v:layerMember="0" transform="translate(193.949,-15.9875)">
+			<title content="structured text">Process.72</title>
+			<desc content="structured text">‘;’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.2527" cy="23.0627" width="20.51" height="13.6703"/>
+			<rect x="0" y="16.2275" width="20.5054" height="13.6703" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.36" y="25.46" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">;</tspan>’</text>		</g>
+		<g id="shape73-10" v:mID="73" v:groupContext="shape" v:layerMember="1;0" transform="translate(229.713,-3.13071)">
+			<title content="structured text">On-page reference.73</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.13 A5.7702 5.7702 0 1 1 11.54 24.13 A5.7702 5.7702 0 0 1 0 24.13 Z" class="st1"/>
+		</g>
+		<g id="shape74-12" v:mID="74" v:groupContext="shape" v:layerMember="1" transform="translate(12.9134,-1.71339)">
+			<title content="structured text">Dynamic connector.74</title>
+			<path d="M1.39 22.81 L10.02 22.81" class="st4"/>
+		</g>
+		<g id="shape75-18" v:mID="75" v:groupContext="shape" v:layerMember="1" transform="translate(68.2782,-1.71339)">
+			<title content="structured text">Dynamic connector.75</title>
+			<path d="M0.06 22.81 L11.35 22.81" class="st4"/>
+		</g>
+		<g id="shape76-23" v:mID="76" v:groupContext="shape" v:layerMember="1" transform="translate(178.892,-8.72471)">
+			<title content="structured text">Dynamic connector.76</title>
+			<path d="M0 29.82 L4.25 29.82 A4.25197 4.25197 -180 0 0 8.5 25.57 L8.5 19.08 A3.27668 3.27668 0 0 1 11.78 15.8 L12.3        15.8" class="st4"/>
+		</g>
+		<g id="shape77-28" v:mID="77" v:groupContext="shape" v:layerMember="1" transform="translate(178.892,-1.76384)">
+			<title content="structured text">Dynamic connector.77</title>
+			<path d="M0 22.86 L8.5 22.86 L8.5 22.76 L48.06 22.76" class="st4"/>
+		</g>
+		<g id="shape78-33" v:mID="78" v:groupContext="shape" v:layerMember="1" transform="translate(214.454,-22.9484)">
+			<title content="structured text">Dynamic connector.78</title>
+			<path d="M0 30.02 L4.25 30.02 A4.25197 4.25197 0 0 1 8.5 34.28 L8.5 40.57 A3.37759 3.37759 -180 0 0 11.88 43.95 L12.5        43.95" class="st4"/>
+		</g>
+		<g id="shape71-38" v:mID="71" v:groupContext="shape" v:layerMember="0" transform="translate(82.3892,-1.71339)">
+			<title content="structured text">Process.71</title>
+			<desc content="structured text">class</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.322" cy="22.8112" width="42.65" height="14.1732"/>
+			<rect x="0" y="15.7246" width="42.6441" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="12.21" y="25.21" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>class</text>		</g>
+		<g id="shape101-41" v:mID="101" v:groupContext="shape" v:layerMember="0" transform="translate(136.247,-1.71339)">
+			<title content="structured text">Process.101</title>
+			<desc content="structured text">name</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.322" cy="22.8112" width="42.65" height="14.1732"/>
+			<rect x="0" y="15.7246" width="42.6441" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.32" y="25.21" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name</text>		</g>
+		<g id="shape23-44" v:mID="23" v:groupContext="shape" v:layerMember="1" transform="translate(123.554,-1.71339)">
+			<title content="structured text">Dynamic connector.23</title>
+			<path d="M1.48 22.81 L9.93 22.81" class="st4"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/global.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 group.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.8008in" height="1.0672in" viewBox="0 0 201.657 76.8385" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape51-1" v:mID="51" v:groupContext="shape" v:layerMember="0" transform="translate(83.6951,-48.9657)">
+			<title content="structured text">Process.51</title>
+			<desc content="structured text">and</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="70.1687" width="42.94" height="13.3396"/>
+			<rect x="0" y="63.4988" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="14.8" y="72.57" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>and</text>		</g>
+		<g id="shape52-4" v:mID="52" v:groupContext="shape" v:layerMember="1" transform="translate(105.164,-66.057)">
+			<title content="structured text">Dynamic connector.52</title>
+			<path d="M0 80.59 L0 75.28 A5.31496 5.31496 -180 0 0 -5.31 69.96 L-26.43 69.96 A5.66929 5.66929 -180 0 0 -32.1 75.63        L-32.1 81.95 A5.31496 5.31496 -180 0 0 -26.78 87.26 L-24.23 87.26" class="st3"/>
+		</g>
+		<g id="shape53-10" v:mID="53" v:groupContext="shape" v:layerMember="0" transform="translate(28.2526,-31.9578)">
+			<title content="structured text">Process.53</title>
+			<desc content="structured text">‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="70.1687" width="20.01" height="13.3396"/>
+			<rect x="0" y="63.4988" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="72.57" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6" v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape54-14" v:mID="54" v:groupContext="shape" v:layerMember="0" transform="translate(83.277,-14.5332)">
+			<title content="structured text">Process.54</title>
+			<desc content="structured text">or</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="70.1687" width="42.94" height="13.3396"/>
+			<rect x="0" y="63.4988" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="17.92" y="72.57" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>or</text>		</g>
+		<g id="shape55-17" v:mID="55" v:groupContext="shape" v:layerMember="0" transform="translate(154.561,-31.9578)">
+			<title content="structured text">Process.55</title>
+			<desc content="structured text">‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="70.1687" width="20.01" height="13.3396"/>
+			<rect x="0" y="63.4988" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="72.57" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6" v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape57-21" v:mID="57" v:groupContext="shape" v:layerMember="1" transform="translate(104.746,-10.7814)">
+			<title content="structured text">Dynamic connector.57</title>
+			<path d="M0 73.09 L0 78.4 A5.31496 5.31496 0 0 1 -5.31 83.72 L-26.43 83.72 A5.66929 5.66929 0 0 1 -32.1 78.05 L-32.1        71.73 A5.31496 5.31496 0 0 1 -26.78 66.42 L-24.23 66.42" class="st3"/>
+		</g>
+		<g id="shape58-26" v:mID="58" v:groupContext="shape" v:layerMember="1" transform="translate(126.633,-55.6355)">
+			<title content="structured text">Dynamic connector.58</title>
+			<path d="M0 76.84 L8.44 76.84 A5.66929 5.66929 0 0 1 14.11 82.51 L14.11 88.18 A5.66929 5.66929 -180 0 0 19.78 93.85 L25.17        93.85" class="st3"/>
+		</g>
+		<g id="shape59-31" v:mID="59" v:groupContext="shape" v:layerMember="1" transform="translate(126.215,-21.203)">
+			<title content="structured text">Dynamic connector.59</title>
+			<path d="M0 76.84 L8.86 76.84 A5.66929 5.66929 -180 0 0 14.53 71.17 L14.53 65.08 A5.66929 5.66929 0 0 1 20.2 59.41 L25.59        59.41" class="st3"/>
+		</g>
+		<g id="shape60-36" v:mID="60" v:groupContext="shape" v:layerMember="1" transform="translate(48.262,-38.6276)">
+			<title content="structured text">Dynamic connector.60</title>
+			<path d="M0 76.84 L8.5 76.84 A5.66929 5.66929 -180 0 0 14.17 71.17 L14.17 65.5 A5.66929 5.66929 0 0 1 19.84 59.83 L32.67        59.83" class="st3"/>
+		</g>
+		<g id="shape61-41" v:mID="61" v:groupContext="shape" v:layerMember="1" transform="translate(48.262,-38.6276)">
+			<title content="structured text">Dynamic connector.61</title>
+			<path d="M0 76.84 L7.09 76.84 A5.66929 5.66929 0 0 1 12.76 82.51 L12.76 88.59 A5.66929 5.66929 -180 0 0 18.43 94.26 L32.25        94.26" class="st3"/>
+		</g>
+		<g id="shape56-46" v:mID="56" v:groupContext="shape" v:layerMember="1" transform="translate(104.746,-27.8728)">
+			<title content="structured text">Dynamic connector.56</title>
+			<path d="M0 76.84 L0 73.62 A3.22021 3.22021 -180 0 0 -3.22 70.4 L-26.01 70.4 A5.66929 5.66929 0 0 1 -31.68 64.73 L-31.68        54.39 A5.31496 5.31496 0 0 1 -26.37 49.08 L-23.81 49.08" class="st3"/>
+		</g>
+		<g id="shape62-51" v:mID="62" v:groupContext="shape" v:layerMember="1" transform="translate(105.164,-48.9657)">
+			<title content="structured text">Dynamic connector.62</title>
+			<path d="M0 76.84 L0 79.74 A2.89711 2.89711 0 0 1 -2.9 82.63 L-26.85 82.63 A5.66929 5.66929 -180 0 0 -32.52 88.3 L-32.52        99.29 A5.31496 5.31496 -180 0 0 -27.2 104.6 L-24.65 104.6" class="st3"/>
+		</g>
+		<g id="shape65-56" v:mID="65" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-32.7915)">
+			<title content="structured text">On-page reference.65</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 71 A5.83609 5.83609 0 1 1 11.67 71 A5.83609 5.83609 0 0 1 0 71 Z" class="st1"/>
+		</g>
+		<g id="shape66-58" v:mID="66" v:groupContext="shape" v:layerMember="1;0" transform="translate(188.744,-32.7915)">
+			<title content="structured text">On-page reference.66</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 71 A5.83609 5.83609 0 1 1 11.67 71 A5.83609 5.83609 0 0 1 0 71 Z" class="st1"/>
+		</g>
+		<g id="shape68-60" v:mID="68" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-31.541)">
+			<title content="structured text">Dynamic connector.68</title>
+			<path d="M0 69.75 L13.58 69.75" class="st3"/>
+		</g>
+		<g id="shape69-65" v:mID="69" v:groupContext="shape" v:layerMember="1" transform="translate(174.571,-31.541)">
+			<title content="structured text">Dynamic connector.69</title>
+			<path d="M0 69.75 L11.41 69.75" class="st3"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/group.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 identifier.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.13265in"
+		height="0.244444in" viewBox="0 0 153.551 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape44-1" v:mID="44" v:groupContext="shape" v:layerMember="0" transform="translate(109.23,-1.71339)">
+			<title>Dynamic connector.44</title>
+			<path d="M0 10.51 L29.86 10.51" class="st1"/>
+		</g>
+		<g id="shape45-7" v:mID="45" v:groupContext="shape" v:layerMember="0;1" transform="translate(141.846,-3.06772)">
+			<title>On-page reference.45</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st3"/>
+		</g>
+		<g id="shape77-9" v:mID="77" v:groupContext="shape" v:layerMember="1" transform="translate(47.1556,-2.24882)">
+			<title>Process.77</title>
+			<desc>identifier</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="11.0488" width="62.08" height="13.1024"/>
+			<rect x="0" y="4.49764" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="15.91" y="13.45" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>identifier</text>		</g>
+		<g id="shape78-12" v:mID="78" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-3.06772)">
+			<title>On-page reference.78</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st3"/>
+		</g>
+		<g id="shape79-14" v:mID="79" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-1.71339)">
+			<title>Dynamic connector.79</title>
+			<path d="M0 10.51 L32.69 10.51" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/identifier.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 import.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.93887in" height="0.413845in" viewBox="0 0 211.599 29.7969" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st4 {font-size:1em}
+		.st5 {marker-end:url(#mrkr2-20);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-20" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape16-1" v:mID="16" v:groupContext="shape" v:layerMember="0" transform="translate(25.6963,-1.71339)">
+			<title content="structured text">Process.16</title>
+			<desc content="structured text">‘import’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.5099" cy="22.7103" width="55.02" height="14.1732"/>
+			<rect x="0" y="15.6236" width="55.0198" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="14.61" y="25.11" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘import’</text>		</g>
+		<g id="shape90-4" v:mID="90" v:groupContext="shape" v:layerMember="1;0" transform="translate(2.76331,-3.0298)">
+			<title content="structured text">On-page reference.90</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.03 A5.7702 5.7702 0 1 1 11.54 24.03 A5.7702 5.7702 0 0 1 0 24.03 Z" class="st1"/>
+		</g>
+		<g id="shape92-6" v:mID="92" v:groupContext="shape" v:layerMember="0" transform="translate(94.8893,-1.71339)">
+			<title content="structured text">Process.92</title>
+			<desc content="structured text">class</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.5099" cy="22.7103" width="55.02" height="14.1732"/>
+			<rect x="0" y="15.6236" width="55.0198" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="18.39" y="25.11" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>class</text>		</g>
+		<g id="shape93-9" v:mID="93" v:groupContext="shape" v:layerMember="0" transform="translate(162.589,-15.8866)">
+			<title content="structured text">Process.93</title>
+			<desc content="structured text">‘;’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.2527" cy="22.9617" width="20.51" height="13.6703"/>
+			<rect x="0" y="16.1266" width="20.5054" height="13.6703" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.36" y="25.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4" v:langID="2057">;</tspan>’</text>		</g>
+		<g id="shape94-13" v:mID="94" v:groupContext="shape" v:layerMember="1;0" transform="translate(199.67,-3.0298)">
+			<title content="structured text">On-page reference.94</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 24.03 A5.7702 5.7702 0 1 1 11.54 24.03 A5.7702 5.7702 0 0 1 0 24.03 Z" class="st1"/>
+		</g>
+		<g id="shape95-15" v:mID="95" v:groupContext="shape" v:layerMember="1" transform="translate(12.9134,-1.71339)">
+			<title content="structured text">Dynamic connector.95</title>
+			<path d="M1.39 22.71 L10.02 22.71" class="st5"/>
+		</g>
+		<g id="shape96-21" v:mID="96" v:groupContext="shape" v:layerMember="1" transform="translate(80.7161,-1.71339)">
+			<title content="structured text">Dynamic connector.96</title>
+			<path d="M0 22.71 L11.41 22.71" class="st5"/>
+		</g>
+		<g id="shape97-26" v:mID="97" v:groupContext="shape" v:layerMember="1" transform="translate(149.163,-8.67426)">
+			<title content="structured text">Dynamic connector.97</title>
+			<path d="M0.75 29.67 L4.25 29.67 A3.5055 3.5055 -180 0 0 7.76 26.17 L7.76 18.58 A2.83465 2.83465 0 0 1 10.59 15.75 L10.67        15.75" class="st5"/>
+		</g>
+		<g id="shape98-31" v:mID="98" v:groupContext="shape" v:layerMember="1" transform="translate(149.909,-15.8866)">
+			<title content="structured text">Dynamic connector.98</title>
+			<path d="M0 36.88 L47 36.88" class="st5"/>
+		</g>
+		<g id="shape99-36" v:mID="99" v:groupContext="shape" v:layerMember="1" transform="translate(183.095,-22.8475)">
+			<title content="structured text">Dynamic connector.99</title>
+			<path d="M0 29.92 L4.25 29.92 A4.25197 4.25197 0 0 1 8.5 34.17 L8.5 39.81 A4.0358 4.0358 -180 0 0 12.54 43.84 L13.82        43.84" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/import.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 infixAnd.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.41681in"
+		height="0.519256in" viewBox="0 0 246.01 37.3865" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape89-1" v:mID="89" v:groupContext="shape" v:layerMember="0" transform="translate(90.7815,-2.13018)">
+			<title>Process.89</title>
+			<desc>CE</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="30.7166" width="42.94" height="13.3396"/>
+			<rect x="0" y="24.0468" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.92" y="33.12" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>CE</text>		</g>
+		<g id="shape97-4" v:mID="97" v:groupContext="shape" v:layerMember="1" transform="translate(135.887,-8.8)">
+			<title>Dynamic connector.97</title>
+			<path d="M-2.17 37.39 L3.15 37.39 A5.31496 5.31496 -180 0 0 8.46 32.07 L8.46 21.38 A5.66929 5.66929 -180 0 0 2.79 15.71
+						 L-9.25 15.71" class="st3"/>
+		</g>
+		<g id="shape98-10" v:mID="98" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.96391)">
+			<title>On-page reference.98</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 31.55 A5.83609 5.83609 0 1 1 11.67 31.55 A5.83609 5.83609 0 0 1 0 31.55 Z" class="st1"/>
+		</g>
+		<g id="shape99-12" v:mID="99" v:groupContext="shape" v:layerMember="1;0" transform="translate(234.098,-2.96391)">
+			<title>On-page reference.99</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 31.55 A5.83609 5.83609 0 1 1 11.67 31.55 A5.83609 5.83609 0 0 1 0 31.55 Z" class="st1"/>
+		</g>
+		<g id="shape100-14" v:mID="100" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-1.71339)">
+			<title>Dynamic connector.100</title>
+			<path d="M0 30.3 L55.03 30.3 L76.11 30.3" class="st3"/>
+		</g>
+		<g id="shape91-19" v:mID="91" v:groupContext="shape" v:layerMember="1" transform="translate(52.2556,-29.7679)">
+			<title>Dynamic connector.91</title>
+			<path d="M0 37.39 L3.76 37.39 A3.75599 3.75599 0 0 1 7.51 41.14 L7.51 52.69 A5.66929 5.66929 -180 0 0 13.18 58.35 L35.77
+						 58.35" class="st3"/>
+		</g>
+		<g id="shape37-24" v:mID="37" v:groupContext="shape" v:layerMember="1" transform="translate(133.719,-15.8866)">
+			<title>Dynamic connector.37</title>
+			<path d="M0 44.47 L24.51 44.47 L97.62 44.47" class="st3"/>
+		</g>
+		<g id="shape79-29" v:mID="79" v:groupContext="shape" v:layerMember="0" transform="translate(100.07,-23.8068)">
+			<title>Process.79</title>
+			<desc>‘and’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="30.7166" width="23.82" height="13.3396"/>
+			<rect x="0" y="24.0468" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.45" y="33.12" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">and</tspan>’</text>		</g>
+		<g id="shape80-33" v:mID="80" v:groupContext="shape" v:layerMember="1" transform="translate(102.513,-30.4766)">
+			<title>Dynamic connector.80</title>
+			<path d="M-2.44 37.39 L-18.65 37.39 A5.66929 5.66929 -180 0 0 -24.32 43.06 L-24.32 53.39 A5.66929 5.66929 -180 0 0 -18.65
+						 59.06 L-14.49 59.06" class="st3"/>
+		</g>
+		<g id="shape81-38" v:mID="81" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-8.8)">
+			<title>Dynamic connector.81</title>
+			<path d="M0 37.39 L5.31 37.39 A5.31496 5.31496 -180 0 0 10.63 32.07 L10.63 21.78 A5.36084 5.36084 0 0 1 15.99 16.42 L18.59
+						 16.42" class="st3"/>
+		</g>
+		<g id="shape48-43" v:mID="48" v:groupContext="shape" v:layerMember="0" transform="translate(33.2638,-23.0981)">
+			<title>Process.48</title>
+			<desc>‘(’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="30.7166" width="19" height="13.3396"/>
+			<rect x="0" y="24.0468" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="33.12" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>’</text>		</g>
+		<g id="shape82-47" v:mID="82" v:groupContext="shape" v:layerMember="0" transform="translate(179.673,-23.0981)">
+			<title>Process.82</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="30.7166" width="19" height="13.3396"/>
+			<rect x="0" y="24.0468" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="33.12" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape85-51" v:mID="85" v:groupContext="shape" v:layerMember="1" transform="translate(133.719,-8.8)">
+			<title>Dynamic connector.85</title>
+			<path d="M0 37.39 L30.93 37.39 A5.66929 5.66929 -180 0 0 36.6 31.72 L36.6 21.1 A4.67733 4.67733 0 0 1 41.28 16.42 L43.19
+						 16.42" class="st3"/>
+		</g>
+		<g id="shape86-56" v:mID="86" v:groupContext="shape" v:layerMember="1" transform="translate(198.665,-29.7679)">
+			<title>Dynamic connector.86</title>
+			<path d="M0 37.39 L8.5 37.39 A5.66929 5.66929 0 0 1 14.17 43.06 L14.17 52.69 A5.66929 5.66929 -180 0 0 19.84 58.35 L32.67
+						 58.35" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixAnd.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 infixOr.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.09525in"
+		height="0.474097in" viewBox="0 0 366.858 34.135" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape39-1" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(211.629,-2.13018)">
+			<title>Process.39</title>
+			<desc>CE</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="27.4652" width="42.94" height="13.3396"/>
+			<rect x="0" y="20.7954" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.92" y="29.87" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>CE</text>		</g>
+		<g id="shape40-4" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(256.296,-8.8)">
+			<title>Dynamic connector.40</title>
+			<path d="M-1.73 34.14 L3.59 34.14 A5.31496 5.31496 -180 0 0 8.9 28.82 L8.9 21.38 A5.66929 5.66929 -180 0 0 3.23 15.71
+						 L-9.68 15.71" class="st3"/>
+		</g>
+		<g id="shape42-10" v:mID="42" v:groupContext="shape" v:layerMember="1;0" transform="translate(354.946,-2.96391)">
+			<title>On-page reference.42</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 28.3 A5.83609 5.83609 0 1 1 11.67 28.3 A5.83609 5.83609 0 0 1 0 28.3 Z" class="st1"/>
+		</g>
+		<g id="shape43-12" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-1.71339)">
+			<title>Dynamic connector.43</title>
+			<path d="M0 27.05 L196.96 27.05" class="st3"/>
+		</g>
+		<g id="shape44-17" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(173.103,-27.2252)">
+			<title>Dynamic connector.44</title>
+			<path d="M0 34.14 L3.76 34.14 A3.75599 3.75599 0 0 1 7.51 37.89 L7.51 46.89 A5.66929 5.66929 -180 0 0 13.18 52.56 L35.77
+						 52.56" class="st3"/>
+		</g>
+		<g id="shape45-22" v:mID="45" v:groupContext="shape" v:layerMember="1" transform="translate(254.567,-15.8866)">
+			<title>Dynamic connector.45</title>
+			<path d="M0 41.22 L97.62 41.22" class="st3"/>
+		</g>
+		<g id="shape46-27" v:mID="46" v:groupContext="shape" v:layerMember="0" transform="translate(220.042,-20.5554)">
+			<title>Process.46</title>
+			<desc>‘or’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="27.4652" width="23.82" height="13.3396"/>
+			<rect x="0" y="20.7954" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.57" y="29.87" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">or</tspan>’</text>		</g>
+		<g id="shape47-31" v:mID="47" v:groupContext="shape" v:layerMember="1" transform="translate(222.922,-27.2252)">
+			<title>Dynamic connector.47</title>
+			<path d="M-2.88 34.14 L-18.21 34.14 A5.66929 5.66929 -180 0 0 -23.88 39.8 L-23.88 46.89 A5.66929 5.66929 -180 0 0 -18.21
+						 52.56 L-14.05 52.56" class="st3"/>
+		</g>
+		<g id="shape67-36" v:mID="67" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-8.8)">
+			<title>Dynamic connector.67</title>
+			<path d="M0 34.14 L125.9 34.14 A5.66929 5.66929 -180 0 0 131.57 28.47 L131.57 21.02 A5.31496 5.31496 0 0 1 136.88 15.71
+						 L139.44 15.71" class="st3"/>
+		</g>
+		<g id="shape87-41" v:mID="87" v:groupContext="shape" v:layerMember="0" transform="translate(154.111,-20.5554)">
+			<title>Process.87</title>
+			<desc>‘(’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="27.4652" width="19" height="13.3396"/>
+			<rect x="0" y="20.7954" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="29.87" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>’</text>		</g>
+		<g id="shape88-45" v:mID="88" v:groupContext="shape" v:layerMember="0" transform="translate(300.521,-20.5554)">
+			<title>Process.88</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="27.4652" width="19" height="13.3396"/>
+			<rect x="0" y="20.7954" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="29.87" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape104-49" v:mID="104" v:groupContext="shape" v:layerMember="1" transform="translate(254.567,-8.8)">
+			<title>Dynamic connector.104</title>
+			<path d="M0 34.14 L30.93 34.14 A5.66929 5.66929 -180 0 0 36.6 28.47 L36.6 20.39 A4.67733 4.67733 0 0 1 41.28 15.71 L43.19
+						 15.71" class="st3"/>
+		</g>
+		<g id="shape105-54" v:mID="105" v:groupContext="shape" v:layerMember="1" transform="translate(319.513,-27.2252)">
+			<title>Dynamic connector.105</title>
+			<path d="M0 34.14 L8.5 34.14 A5.66929 5.66929 0 0 1 14.17 39.8 L14.17 46.89 A5.66929 5.66929 -180 0 0 19.84 52.56 L32.67
+						 52.56" class="st3"/>
+		</g>
+		<g id="shape151-59" v:mID="151" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.96391)">
+			<title>On-page reference.151</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 28.3 A5.83609 5.83609 0 1 1 11.67 28.3 A5.83609 5.83609 0 0 1 0 28.3 Z" class="st1"/>
+		</g>
+		<g id="shape153-61" v:mID="153" v:groupContext="shape" v:layerMember="0" transform="translate(37.7568,-20.5554)">
+			<title>Process.153</title>
+			<desc>patternBinding</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.8469" cy="27.4652" width="55.7" height="13.3396"/>
+			<rect x="0" y="20.7954" width="55.6937" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.05" y="29.87" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>patternBinding</text>		</g>
+		<g id="shape154-64" v:mID="154" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-8.8)">
+			<title>Dynamic connector.154</title>
+			<path d="M0 34.14 L5.31 34.14 A5.31496 5.31496 -180 0 0 10.63 28.82 L10.63 21.38 A5.66929 5.66929 0 0 1 16.3 15.71 L23.08
+						 15.71" class="st3"/>
+		</g>
+		<g id="shape155-69" v:mID="155" v:groupContext="shape" v:layerMember="1" transform="translate(93.4505,-27.2252)">
+			<title>Dynamic connector.155</title>
+			<path d="M0 34.14 L6.17 34.14 A5.66929 5.66929 0 0 1 11.84 39.8 L11.84 46.89 A5.66929 5.66929 -180 0 0 17.51 52.56 L115.42
+						 52.56" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/infixOr.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 inlineEvalConstraint.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.68181in"
+		height="0.244444in" viewBox="0 0 193.09 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-15);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-15" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape127-1" v:mID="127" v:groupContext="shape" v:layerMember="0" transform="translate(27.0236,-2.24882)">
+			<title>Process.175</title>
+			<desc>‘eval(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.5115" cy="11.0488" width="29.03" height="13.1024"/>
+			<rect x="0" y="4.49764" width="29.023" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.05" y="13.45" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">eval</tspan><tspan class="st3" v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape128-6" v:mID="128" v:groupContext="shape" v:layerMember="0" transform="translate(143.244,-2.24882)">
+			<title>Process.176</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="11.0488" width="19.66" height="13.1024"/>
+			<rect x="0" y="4.49764" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.72" y="13.45" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape129-10" v:mID="129" v:groupContext="shape" v:layerMember="1" transform="translate(12.9134,-1.71339)">
+			<title>Dynamic connector.177</title>
+			<path d="M0.06 10.51 L11.35 10.51" class="st4"/>
+		</g>
+		<g id="shape130-16" v:mID="130" v:groupContext="shape" v:layerMember="1;0" transform="translate(181.386,-3.06772)">
+			<title>On-page reference.178</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+		<g id="shape131-18" v:mID="131" v:groupContext="shape" v:layerMember="1" transform="translate(162.898,-1.71339)">
+			<title>Dynamic connector.179</title>
+			<path d="M0 10.51 L15.73 10.51" class="st4"/>
+		</g>
+		<g id="shape132-23" v:mID="132" v:groupContext="shape" v:layerMember="0" transform="translate(75.763,-2.24882)">
+			<title>Process.180</title>
+			<desc>expression</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.4689" cy="11.0488" width="50.94" height="13.1024"/>
+			<rect x="0" y="4.49764" width="50.9378" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.13" y="13.45" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>expression</text>		</g>
+		<g id="shape133-26" v:mID="133" v:groupContext="shape" v:layerMember="1" transform="translate(56.0466,-1.71339)">
+			<title>Dynamic connector.181</title>
+			<path d="M0 10.51 L16.96 10.51" class="st4"/>
+		</g>
+		<g id="shape134-31" v:mID="134" v:groupContext="shape" v:layerMember="1" transform="translate(126.701,-1.71339)">
+			<title>Dynamic connector.182</title>
+			<path d="M0 10.51 L13.78 10.51" class="st4"/>
+		</g>
+		<g id="shape135-36" v:mID="135" v:groupContext="shape" v:layerMember="1;0" transform="translate(1.51181,-3.06772)">
+			<title>On-page reference.183</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/inlineEvalConstraint.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 lhs.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.01454in"
+		height="0.484719in" viewBox="0 0 145.047 34.8997" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape84-1" v:mID="84" v:groupContext="shape" v:layerMember="0" transform="translate(28.1683,-2.13018)">
+			<title>Process.84</title>
+			<desc>conditionalElement</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="40.6028" cy="28.2299" width="81.21" height="13.3396"/>
+			<rect x="0" y="21.5601" width="81.2056" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.8" y="30.63" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>conditionalElement</text>		</g>
+		<g id="shape92-4" v:mID="92" v:groupContext="shape" v:layerMember="1" transform="translate(109.374,-5.0483)">
+			<title>Dynamic connector.92</title>
+			<path d="M0 31.15 L5.31 31.15 A5.31496 5.31496 -180 0 0 10.63 25.83 L10.63 19.52 A5.66929 5.66929 -180 0 0 4.96 13.85
+						 L-35.29 13.85 A5.31496 5.31496 -180 0 0 -40.6 19.16 L-40.6 21.72" class="st3"/>
+		</g>
+		<g id="shape130-10" v:mID="130" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.96391)">
+			<title>On-page reference.130</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape131-12" v:mID="131" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-1.71339)">
+			<title>Dynamic connector.131</title>
+			<path d="M0 27.81 L13.5 27.81" class="st3"/>
+		</g>
+		<g id="shape132-17" v:mID="132" v:groupContext="shape" v:layerMember="1;0" transform="translate(133.135,-2.96391)">
+			<title>On-page reference.132</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape133-19" v:mID="133" v:groupContext="shape" v:layerMember="1" transform="translate(109.374,-1.71339)">
+			<title>Dynamic connector.133</title>
+			<path d="M0 27.81 L21 27.81" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/lhs.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 literal.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.46817in"
+		height="1.32456in" viewBox="0 0 177.708 95.3687" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-20);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-20" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape39-1" v:mID="39" v:groupContext="shape" v:layerMember="0;1" transform="translate(166.004,-82.5498)">
+			<title>On-page reference.42</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 89.64 A5.73228 5.73228 0 0 1 11.46 89.64 A5.73228 5.73228 0 1 1 0 89.64 Z" class="st1"/>
+		</g>
+		<g id="shape40-3" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(59.5782,-81.7309)">
+			<title>Process.99</title>
+			<desc>numeric</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="88.8175" width="62.08" height="13.1024"/>
+			<rect x="0" y="82.2663" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="16.8" y="91.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>numeric</text>		</g>
+		<g id="shape41-6" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(59.5782,-52.6494)">
+			<title>Process.100</title>
+			<desc>date</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="88.8175" width="62.08" height="13.1024"/>
+			<rect x="0" y="82.2663" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="23.24" y="91.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>date</text>		</g>
+		<g id="shape42-9" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(59.5782,-24.8958)">
+			<title>Process.101</title>
+			<desc>string</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="88.8175" width="62.08" height="13.1024"/>
+			<rect x="0" y="82.2663" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="21.24" y="91.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>string</text>		</g>
+		<g id="shape43-12" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(59.5782,-0.24)">
+			<title>Process.102</title>
+			<desc>boolean</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="88.8175" width="62.08" height="13.1024"/>
+			<rect x="0" y="82.2663" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="16.79" y="91.22" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>boolean</text>		</g>
+		<g id="shape46-15" v:mID="46" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-88.2821)">
+			<title>Dynamic connector.105</title>
+			<path d="M0 95.37 L23.97 95.37 A5.66929 5.66929 0 0 1 29.64 101.04 L29.64 171.19 A5.66929 5.66929 -180 0 0 35.31 176.86
+						 L45.11 176.86" class="st3"/>
+		</g>
+		<g id="shape47-21" v:mID="47" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-88.2821)">
+			<title>Dynamic connector.106</title>
+			<path d="M0 95.37 L23.97 95.37 A5.66929 5.66929 0 0 1 29.64 101.04 L29.64 146.53 A5.66929 5.66929 -180 0 0 35.31 152.2
+						 L45.11 152.2" class="st3"/>
+		</g>
+		<g id="shape48-26" v:mID="48" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-88.2821)">
+			<title>Dynamic connector.107</title>
+			<path d="M0 95.37 L23.97 95.37 A5.66929 5.66929 0 0 1 29.64 101.04 L29.64 118.78 A5.66929 5.66929 -180 0 0 35.31 124.45
+						 L45.11 124.45" class="st3"/>
+		</g>
+		<g id="shape49-31" v:mID="49" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-81.1954)">
+			<title>Dynamic connector.108</title>
+			<path d="M0 88.28 L45.11 88.28" class="st3"/>
+		</g>
+		<g id="shape51-36" v:mID="51" v:groupContext="shape" v:layerMember="0" transform="translate(121.653,-95.3687)">
+			<title>Dynamic connector.110</title>
+			<path d="M0 102.46 L41.59 102.46" class="st3"/>
+		</g>
+		<g id="shape52-41" v:mID="52" v:groupContext="shape" v:layerMember="0" transform="translate(121.653,-59.2006)">
+			<title>Dynamic connector.111</title>
+			<path d="M0 95.37 L8.98 95.37 A5.66929 5.66929 -180 0 0 14.65 89.7 L14.65 71.96 A5.66929 5.66929 0 0 1 20.32 66.29 L41.59
+						 66.29" class="st3"/>
+		</g>
+		<g id="shape53-46" v:mID="53" v:groupContext="shape" v:layerMember="0" transform="translate(121.653,-31.447)">
+			<title>Dynamic connector.112</title>
+			<path d="M0 95.37 L8.98 95.37 A5.66929 5.66929 -180 0 0 14.65 89.7 L14.65 44.2 A5.66929 5.66929 0 0 1 20.32 38.53 L41.59
+						 38.53" class="st3"/>
+		</g>
+		<g id="shape54-51" v:mID="54" v:groupContext="shape" v:layerMember="0" transform="translate(121.653,-6.79118)">
+			<title>Dynamic connector.113</title>
+			<path d="M0 95.37 L8.98 95.37 A5.66929 5.66929 -180 0 0 14.65 89.7 L14.65 19.55 A5.66929 5.66929 0 0 1 20.32 13.88 L41.59
+						 13.88" class="st3"/>
+		</g>
+		<g id="shape55-56" v:mID="55" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-82.5498)">
+			<title>On-page reference.115</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 89.64 A5.73228 5.73228 0 0 1 11.46 89.64 A5.73228 5.73228 0 1 1 0 89.64 Z" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literal.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 literalRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.113in"
+		height="0.19685in" viewBox="0 0 224.136 14.1732" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape7-1" v:mID="7" v:groupContext="shape" v:layerMember="0;1" transform="translate(212.432,-1.35433)">
+			<title>On-page reference.188</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+		<g id="shape8-3" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(141.282,-0.535433)">
+			<title>Process.190</title>
+			<desc>literal</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0669" cy="7.62205" width="36.14" height="13.1024"/>
+			<rect x="0" y="1.07087" width="36.1339" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.52" y="10.02" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literal</text>		</g>
+		<g id="shape9-6" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(91.6546,7.81597E-014)">
+			<title>Dynamic connector.197</title>
+			<path d="M0 7.09 L46.87 7.09" class="st3"/>
+		</g>
+		<g id="shape10-12" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(177.416,1.42109E-014)">
+			<title>Dynamic connector.199</title>
+			<path d="M0 7.09 L32.26 7.09" class="st3"/>
+		</g>
+		<g id="shape17-17" v:mID="17" v:groupContext="shape" v:layerMember="1" transform="translate(29.5802,-0.535433)">
+			<title>Process.13</title>
+			<desc>operator</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="7.62205" width="62.08" height="13.1024"/>
+			<rect x="0" y="1.07087" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="16.13" y="10.02" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>operator</text>		</g>
+		<g id="shape18-20" v:mID="18" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.43</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+		<g id="shape19-22" v:mID="19" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,7.81597E-014)">
+			<title>Dynamic connector.44</title>
+			<path d="M0 7.09 L15.12 7.09" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/literalRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 multiRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.3295in"
+		height="0.863263in" viewBox="0 0 167.724 62.1549" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape60-1" v:mID="60" v:groupContext="shape" v:layerMember="0;1" transform="translate(156.02,-25.7518)">
+			<title>On-page reference.60</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 56.42 A5.73228 5.73228 0 0 1 11.46 56.42 A5.73228 5.73228 0 1 1 0 56.42 Z" class="st1"/>
+		</g>
+		<g id="shape61-3" v:mID="61" v:groupContext="shape" v:layerMember="1" transform="translate(56.8695,-48.8126)">
+			<title>Process.61</title>
+			<desc>restriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="55.6038" width="62.08" height="13.1024"/>
+			<rect x="0" y="49.0526" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.69" y="58" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>restriction</text>		</g>
+		<g id="shape64-6" v:mID="64" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-31.4841)">
+			<title>Dynamic connector.64</title>
+			<path d="M0 62.15 L14.05 62.15 A5.66929 5.66929 -180 0 0 19.72 56.49 L19.72 43.94 A5.66929 5.66929 0 0 1 25.39 38.28
+						 L42.4 38.28" class="st3"/>
+		</g>
+		<g id="shape65-12" v:mID="65" v:groupContext="shape" v:layerMember="0" transform="translate(118.944,-55.3638)">
+			<title>Dynamic connector.65</title>
+			<path d="M0 62.15 L18.54 62.15 A5.66929 5.66929 0 0 1 24.21 67.82 L24.21 80.37 A5.66929 5.66929 -180 0 0 29.88 86.03
+						 L34.32 86.03" class="st3"/>
+		</g>
+		<g id="shape68-17" v:mID="68" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-25.7518)">
+			<title>On-page reference.68</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 56.42 A5.73228 5.73228 0 0 1 11.46 56.42 A5.73228 5.73228 0 1 1 0 56.42 Z" class="st1"/>
+		</g>
+		<g id="shape69-19" v:mID="69" v:groupContext="shape" v:layerMember="1" transform="translate(65.4369,-24.3345)">
+			<title>Process.69</title>
+			<desc>‘&#38;&#38;’ | ‘||’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.6772" cy="55.032" width="45.36" height="14.2459"/>
+			<rect x="0" y="47.909" width="45.3543" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.44" y="57.43" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘&#38;&#38;’ | ‘||’</text>		</g>
+		<g id="shape144-22" v:mID="144" v:groupContext="shape" v:layerMember="0" transform="translate(118.944,-55.3638)">
+			<title>Dynamic connector.144</title>
+			<path d="M0 62.15 L18.54 62.15 A5.66929 5.66929 0 0 1 24.21 67.82 L24.21 80.37 A5.66929 5.66929 -180 0 0 29.88 86.03
+						 L34.32 86.03" class="st3"/>
+		</g>
+		<g id="shape145-27" v:mID="145" v:groupContext="shape" v:layerMember="0" transform="translate(121.954,-55.3638)">
+			<title>Dynamic connector.145</title>
+			<path d="M-3.01 62.15 L2.3 62.15 A5.31496 5.31496 0 0 1 7.62 67.47 L7.62 80.39 A5.66929 5.66929 0 0 1 1.95 86.06 L-8.4
+						 86.06" class="st3"/>
+		</g>
+		<g id="shape146-32" v:mID="146" v:groupContext="shape" v:layerMember="0" transform="translate(68.2398,-31.4574)">
+			<title>Dynamic connector.146</title>
+			<path d="M-2.8 62.15 L-16.33 62.15 A5.66929 5.66929 0 0 1 -22 56.49 L-22 43.56 A5.31496 5.31496 0 0 1 -16.69 38.25 L-14.13
+						 38.25" class="st3"/>
+		</g>
+		<g id="shape29-37" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(57.0768,-0.24)">
+			<title>Process.29</title>
+			<desc>restrictionGroup</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="55.6038" width="62.08" height="13.1024"/>
+			<rect x="0" y="49.0526" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.57" y="58" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>restrictionGroup</text>		</g>
+		<g id="shape30-40" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(122.058,-6.79118)">
+			<title>Dynamic connector.30</title>
+			<path d="M-2.91 62.15 L2.41 62.15 A5.31496 5.31496 -180 0 0 7.72 56.84 L7.72 43.16 A5.66929 5.66929 -180 0 0 2.05 37.49
+						 L-8.51 37.49" class="st3"/>
+		</g>
+		<g id="shape31-45" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(68.3435,-31.4574)">
+			<title>Dynamic connector.31</title>
+			<path d="M-2.91 62.15 L-16.23 62.15 A5.66929 5.66929 -180 0 0 -21.9 67.82 L-21.9 81.51 A5.31496 5.31496 -180 0 0 -16.58
+						 86.82 L-14.03 86.82" class="st3"/>
+		</g>
+		<g id="shape32-50" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-31.4841)">
+			<title>Dynamic connector.32</title>
+			<path d="M0 62.15 L14.05 62.15 A5.66929 5.66929 0 0 1 19.72 67.82 L19.72 81.18 A5.66929 5.66929 -180 0 0 25.39 86.85
+						 L42.61 86.85" class="st3"/>
+		</g>
+		<g id="shape33-55" v:mID="33" v:groupContext="shape" v:layerMember="0" transform="translate(119.151,-6.79118)">
+			<title>Dynamic connector.33</title>
+			<path d="M0 62.15 L18.54 62.15 A5.66929 5.66929 -180 0 0 24.21 56.49 L24.21 43.13 A5.66929 5.66929 0 0 1 29.88 37.46
+						 L34.11 37.46" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multiRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 multi_line_comment.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.5755in" height="0.244444in" viewBox="0 0 185.436 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st6" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape25-1" v:mID="25" v:groupContext="shape" v:layerMember="0" transform="translate(30.7598,-1.34103)">
+			<title content="structured text">Process.25</title>
+			<desc content="structured text">‘/*’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.9075" cy="10.141" width="25.82" height="14.9179"/>
+			<rect x="0" y="2.68205" width="25.815" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.45" y="12.54" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘/*’</text>		</g>
+		<g id="shape26-4" v:mID="26" v:groupContext="shape" v:layerMember="1;0" transform="translate(172.143,-2.2734)">
+			<title content="structured text">On-page reference.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.07 A6.5266 6.5266 0 0 1 13.05 11.07 A6.5266 6.5266 0 1 1 0 11.07 Z" class="st1"/>
+		</g>
+		<g id="shape27-6" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(56.5748,-1.71339)">
+			<title content="structured text">Dynamic connector.27</title>
+			<path d="M0 10.51 L13.96 10.51" class="st3"/>
+		</g>
+		<g id="shape28-12" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(108.964,-1.71339)">
+			<title content="structured text">Dynamic connector.28</title>
+			<path d="M0 10.51 L15.67 10.51" class="st3"/>
+		</g>
+		<g id="shape29-17" v:mID="29" v:groupContext="shape" v:layerMember="1" transform="translate(149.766,-1.71339)">
+			<title content="structured text">Dynamic connector.29</title>
+			<path d="M0 10.51 L19.62 10.51" class="st3"/>
+		</g>
+		<g id="shape30-22" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(73.2993,-1.34103)">
+			<title content="structured text">Process.30</title>
+			<desc content="structured text">text</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="17.8321" cy="10.141" width="35.67" height="14.9179"/>
+			<rect x="0" y="2.68205" width="35.6643" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.38" y="12.54" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>text</text>		</g>
+		<g id="shape31-25" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(127.389,-1.34103)">
+			<title content="structured text">Process.31</title>
+			<desc content="structured text">‘*/’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.1885" cy="10.141" width="22.38" height="14.9179"/>
+			<rect x="0" y="2.68205" width="22.3769" height="14.9179" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.75" y="12.54" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘*/’</text>		</g>
+		<g id="shape32-28" v:mID="32" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.2734)">
+			<title content="structured text">On-page reference.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.07 A6.5266 6.5266 0 0 1 13.05 11.07 A6.5266 6.5266 0 1 1 0 11.07 Z" class="st1"/>
+		</g>
+		<g id="shape33-30" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(13.2932,-1.71339)">
+			<title content="structured text">Dynamic connector.33</title>
+			<path d="M0 10.51 L14.71 10.51" class="st3"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/multi_line_comment.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 not.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.6165in"
+		height="0.538941in" viewBox="0 0 260.388 38.8038" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-18);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-18" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape12-1" v:mID="12" v:groupContext="shape" v:layerMember="0" transform="translate(27.6709,-2.13018)">
+			<title>Process.141</title>
+			<desc>‘not’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="14.8963" cy="32.134" width="29.8" height="13.3396"/>
+			<rect x="0" y="25.4641" width="29.7926" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.56" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">not</tspan>’</text>		</g>
+		<g id="shape13-5" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(75.8054,-25.2241)">
+			<title>Process.142</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="32.134" width="20.01" height="13.3396"/>
+			<rect x="0" y="25.4641" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape14-9" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(203.408,-24.8073)">
+			<title>Process.143</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="32.134" width="20.01" height="13.3396"/>
+			<rect x="0" y="25.4641" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="34.53" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape15-13" v:mID="15" v:groupContext="shape" v:layerMember="1" transform="translate(57.4634,-8.8)">
+			<title>Dynamic connector.144</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 -180 0 0 10.63 33.49 L10.63 19.57 A3.85604 3.85604 0 0 1 14.49 15.71 L15.58
+						 15.71" class="st4"/>
+		</g>
+		<g id="shape16-19" v:mID="16" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.656943,-2.96391)">
+			<title>On-page reference.145</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.97 A5.83609 5.83609 0 1 1 11.67 32.97 A5.83609 5.83609 0 0 1 0 32.97 Z" class="st1"/>
+		</g>
+		<g id="shape17-21" v:mID="17" v:groupContext="shape" v:layerMember="1;0" transform="translate(248.476,-2.96391)">
+			<title>On-page reference.146</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.97 A5.83609 5.83609 0 1 1 11.67 32.97 A5.83609 5.83609 0 0 1 0 32.97 Z" class="st1"/>
+		</g>
+		<g id="shape18-23" v:mID="18" v:groupContext="shape" v:layerMember="1" transform="translate(12.3291,-1.71339)">
+			<title>Dynamic connector.147</title>
+			<path d="M0 31.72 L12.58 31.72" class="st4"/>
+		</g>
+		<g id="shape19-28" v:mID="19" v:groupContext="shape" v:layerMember="1" transform="translate(223.417,-31.4772)">
+			<title>Dynamic connector.148</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 0 0 1 10.63 44.12 L10.63 55.81 A5.66929 5.66929 -180 0 0 16.3 61.48 L22.3
+						 61.48" class="st4"/>
+		</g>
+		<g id="shape20-33" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(112.676,-2.13018)">
+			<title>Process.149</title>
+			<desc>conditionalElement</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.2367" cy="32.134" width="72.48" height="13.3396"/>
+			<rect x="0" y="25.4641" width="72.4735" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.43" y="34.53" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>conditionalElement</text>		</g>
+		<g id="shape21-36" v:mID="21" v:groupContext="shape" v:layerMember="1" transform="translate(95.8149,-31.894)">
+			<title>Dynamic connector.150</title>
+			<path d="M0 38.8 L4.89 38.8 A4.8872 4.8872 0 0 1 9.77 43.69 L9.77 58.35 A3.54331 3.54331 -180 0 0 13.32 61.9 L14.1 61.9"
+					class="st4"/>
+		</g>
+		<g id="shape22-41" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(185.149,-8.8)">
+			<title>Dynamic connector.151</title>
+			<path d="M0 38.8 L5.31 38.8 A5.31496 5.31496 -180 0 0 10.63 33.49 L10.63 19.94 A3.81417 3.81417 0 0 1 14.44 16.13 L15.5
+						 16.13" class="st4"/>
+		</g>
+		<g id="shape41-46" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(57.4634,-1.71339)">
+			<title>Dynamic connector.41</title>
+			<path d="M0 31.72 L52.45 31.72" class="st4"/>
+		</g>
+		<g id="shape152-51" v:mID="152" v:groupContext="shape" v:layerMember="1" transform="translate(185.149,-1.71339)">
+			<title>Dynamic connector.152</title>
+			<path d="M0 31.72 L60.57 31.72" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/not.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 operator.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.20439in"
+		height="0.314191in" viewBox="0 0 374.716 22.6217" xml:space="preserve" color-interpolation-filters="sRGB" class="st6">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-25);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-25" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape11-1" v:mID="11" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-5.64157)">
+			<title>On-page reference.210</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 16.95 A5.66929 5.66929 0 1 1 11.34 16.95 A5.66929 5.66929 0 0 1 0 16.95 Z" class="st1"/>
+		</g>
+		<g id="shape12-3" v:mID="12" v:groupContext="shape" v:layerMember="1" transform="translate(38.7354,-0.24)">
+			<title>Process.211</title>
+			<desc>&#39;&#60;&#39; | &#39;&#60;=&#39; | &#39;&#62;&#39; | &#39;&#62;=&#39; | &#39;==&#39; | &#39;!=&#39; | ‘contains’ | ‘not con...</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="155.823" cy="11.5509" width="311.65" height="22.1417"/>
+			<rect x="0" y="0.48" width="311.646" height="22.1417" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="59.52" y="9.15" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>&#39;&#60;&#39; | &#39;&#60;=&#39; | &#39;&#62;&#39; | &#39;&#62;=&#39; | &#39;==&#39; | &#39;!=&#39;<tspan
+						class="st3" v:langID="2057"> | </tspan><tspan class="st3" v:langID="2057">‘contains’ </tspan><tspan
+						class="st3" v:langID="2057">| </tspan><tspan class="st3" v:langID="2057">‘not contains’ </tspan><tspan
+						class="st3" v:langID="2057">| <v:newlineChar/></tspan><tspan x="59.34" dy="1.2em" class="st3"
+						v:langID="2057">‘memberof’ </tspan><tspan class="st3" v:langID="2057">| </tspan><tspan class="st3"
+						v:langID="2057">‘not memberof’ </tspan><tspan class="st3" v:langID="2057">| </tspan><tspan class="st3"
+						v:langID="2057">‘matches’ </tspan><tspan class="st3" v:langID="2057">| </tspan><tspan class="st3"
+						v:langID="2057">‘not matches’</tspan></text>		</g>
+		<g id="shape13-18" v:mID="13" v:groupContext="shape" v:layerMember="0;1" transform="translate(363.012,-5.57858)">
+			<title>On-page reference.212</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 16.89 A5.73228 5.73228 0 0 1 11.46 16.89 A5.73228 5.73228 0 1 1 0 16.89 Z" class="st1"/>
+		</g>
+		<g id="shape14-20" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(11.5786,-4.22425)">
+			<title>Dynamic connector.213</title>
+			<path d="M0 15.54 L24.4 15.54" class="st4"/>
+		</g>
+		<g id="shape15-26" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(349.61,-4.22425)">
+			<title>Dynamic connector.214</title>
+			<path d="M0.77 15.54 L10.64 15.54" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/operator.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 or.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.32372in" height="1.20322in" viewBox="0 0 167.308 86.632" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-13);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-13" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape39-1" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(110.375,-53.8625)">
+			<title content="structured text">Process.39</title>
+			<desc content="structured text">‘||’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.63712" cy="79.9622" width="19.28" height="13.3396"/>
+			<rect x="0" y="73.2924" width="19.2742" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.77" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">||</tspan>’</text>		</g>
+		<g id="shape40-5" v:mID="40" v:groupContext="shape" v:layerMember="0" transform="translate(38.7995,-36.1041)">
+			<title content="structured text">Process.40</title>
+			<desc content="structured text">column</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="79.9622" width="42.94" height="13.3396"/>
+			<rect x="0" y="73.2924" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.58" y="82.36" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>column</text>		</g>
+		<g id="shape41-8" v:mID="41" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-42.7739)">
+			<title content="structured text">Dynamic connector.41</title>
+			<path d="M0 86.63 L5.46 86.63 A5.46021 5.46021 -180 0 0 10.92 81.17 L10.92 74.54 A5.66929 5.66929 0 0 1 16.59 68.87 L25.88        68.87" class="st5"/>
+		</g>
+		<g id="shape42-14" v:mID="42" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-36.9378)">
+			<title content="structured text">On-page reference.42</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 80.8 A5.83609 5.83609 0 1 1 11.67 80.8 A5.83609 5.83609 0 0 1 0 80.8 Z" class="st1"/>
+		</g>
+		<g id="shape43-16" v:mID="43" v:groupContext="shape" v:layerMember="1;0" transform="translate(155.395,-36.9378)">
+			<title content="structured text">On-page reference.43</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 80.8 A5.83609 5.83609 0 1 1 11.67 80.8 A5.83609 5.83609 0 0 1 0 80.8 Z" class="st1"/>
+		</g>
+		<g id="shape44-18" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-35.6873)">
+			<title content="structured text">Dynamic connector.44</title>
+			<path d="M0 79.55 L24.13 79.55" class="st5"/>
+		</g>
+		<g id="shape45-23" v:mID="45" v:groupContext="shape" v:layerMember="0" transform="translate(108.391,-19.4299)">
+			<title content="structured text">Process.45</title>
+			<desc content="structured text">‘or’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="79.9622" width="23.82" height="13.3396"/>
+			<rect x="0" y="73.2924" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.57" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">or</tspan>’</text>		</g>
+		<g id="shape46-27" v:mID="46" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-42.7739)">
+			<title content="structured text">Dynamic connector.46</title>
+			<path d="M0 86.63 L5.46 86.63 A5.46021 5.46021 0 0 1 10.92 92.09 L10.92 97.64 A5.66929 5.66929 -180 0 0 16.59 103.31        L23.89 103.31" class="st5"/>
+		</g>
+		<g id="shape47-32" v:mID="47" v:groupContext="shape" v:layerMember="1" transform="translate(120.012,-67.2021)">
+			<title content="structured text">Dynamic connector.47</title>
+			<path d="M0 86.63 L0 81.32 A5.31496 5.31496 -180 0 0 -5.31 76 L-86.17 76 A5.66929 5.66929 -180 0 0 -91.84 81.67 L-91.84        105.75 A5.31496 5.31496 -180 0 0 -86.53 111.06 L-83.97 111.06" class="st5"/>
+		</g>
+		<g id="shape48-37" v:mID="48" v:groupContext="shape" v:layerMember="1" transform="translate(120.296,-19.4299)">
+			<title content="structured text">Dynamic connector.48</title>
+			<path d="M0 86.63 L0 91.95 A5.31496 5.31496 0 0 1 -5.31 97.26 L-86.46 97.26 A5.66929 5.66929 0 0 1 -92.13 91.59 L-92.13        68.6 A5.31496 5.31496 0 0 1 -86.81 63.29 L-84.26 63.29" class="st5"/>
+		</g>
+		<g id="shape67-42" v:mID="67" v:groupContext="shape" v:layerMember="1" transform="translate(81.7374,-49.8605)">
+			<title content="structured text">Dynamic connector.67</title>
+			<path d="M0 93.72 L70.9 93.72" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 or_with_binding.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.48387in" height="1.20322in" viewBox="0 0 322.838 86.632" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-13);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-13" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape71-1" v:mID="71" v:groupContext="shape" v:layerMember="0" transform="translate(241.395,-53.8625)">
+			<title content="structured text">Process.71</title>
+			<desc content="structured text">‘||’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.63712" cy="79.9622" width="19.28" height="13.3396"/>
+			<rect x="0" y="73.2924" width="19.2742" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.77" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">||</tspan>’</text>		</g>
+		<g id="shape74-5" v:mID="74" v:groupContext="shape" v:layerMember="0" transform="translate(169.819,-35.372)">
+			<title content="structured text">Process.74</title>
+			<desc content="structured text">column</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="79.9622" width="42.94" height="13.3396"/>
+			<rect x="0" y="73.2924" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.58" y="82.36" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>column</text>		</g>
+		<g id="shape78-8" v:mID="78" v:groupContext="shape" v:layerMember="1" transform="translate(212.757,-42.0419)">
+			<title content="structured text">Dynamic connector.78</title>
+			<path d="M0 86.63 L5.46 86.63 A5.46021 5.46021 -180 0 0 10.92 81.17 L10.92 73.81 A5.66929 5.66929 0 0 1 16.59 68.14 L25.88        68.14" class="st5"/>
+		</g>
+		<g id="shape81-14" v:mID="81" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.615941,-36.2058)">
+			<title content="structured text">On-page reference.81</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 80.8 A5.83609 5.83609 0 1 1 11.67 80.8 A5.83609 5.83609 0 0 1 0 80.8 Z" class="st1"/>
+		</g>
+		<g id="shape82-16" v:mID="82" v:groupContext="shape" v:layerMember="1;0" transform="translate(310.926,-36.2058)">
+			<title content="structured text">On-page reference.82</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 80.8 A5.83609 5.83609 0 1 1 11.67 80.8 A5.83609 5.83609 0 0 1 0 80.8 Z" class="st1"/>
+		</g>
+		<g id="shape85-18" v:mID="85" v:groupContext="shape" v:layerMember="1" transform="translate(149.769,-49.1285)">
+			<title content="structured text">Dynamic connector.85</title>
+			<path d="M0 93.72 L17.29 93.72" class="st5"/>
+		</g>
+		<g id="shape86-23" v:mID="86" v:groupContext="shape" v:layerMember="0" transform="translate(239.411,-19.4299)">
+			<title content="structured text">Process.86</title>
+			<desc content="structured text">‘or’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="79.9622" width="23.82" height="13.3396"/>
+			<rect x="0" y="73.2924" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.57" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">or</tspan>’</text>		</g>
+		<g id="shape87-27" v:mID="87" v:groupContext="shape" v:layerMember="1" transform="translate(212.757,-42.0419)">
+			<title content="structured text">Dynamic connector.87</title>
+			<path d="M0 86.63 L5.46 86.63 A5.46021 5.46021 0 0 1 10.92 92.09 L10.92 96.9 A5.66929 5.66929 -180 0 0 16.59 102.57 L23.89        102.57" class="st5"/>
+		</g>
+		<g id="shape104-32" v:mID="104" v:groupContext="shape" v:layerMember="1" transform="translate(251.032,-67.2021)">
+			<title content="structured text">Dynamic connector.104</title>
+			<path d="M0 86.63 L0 81.32 A5.31496 5.31496 -180 0 0 -5.31 76 L-86.17 76 A5.66929 5.66929 -180 0 0 -91.84 81.67 L-91.84        106.48 A5.31496 5.31496 -180 0 0 -86.53 111.79 L-83.97 111.79" class="st5"/>
+		</g>
+		<g id="shape105-37" v:mID="105" v:groupContext="shape" v:layerMember="1" transform="translate(251.316,-19.4299)">
+			<title content="structured text">Dynamic connector.105</title>
+			<path d="M0 86.63 L0 91.95 A5.31496 5.31496 0 0 1 -5.31 97.26 L-86.46 97.26 A5.66929 5.66929 0 0 1 -92.13 91.59 L-92.13        69.34 A5.31496 5.31496 0 0 1 -86.81 64.02 L-84.26 64.02" class="st5"/>
+		</g>
+		<g id="shape108-42" v:mID="108" v:groupContext="shape" v:layerMember="1" transform="translate(212.757,-34.9552)">
+			<title content="structured text">Dynamic connector.108</title>
+			<path d="M0 79.55 L53.22 79.55" class="st5"/>
+		</g>
+		<g id="shape113-47" v:mID="113" v:groupContext="shape" v:layerMember="0" transform="translate(129.759,-35.372)">
+			<title content="structured text">Process.113</title>
+			<desc content="structured text">‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="79.9622" width="20.01" height="13.3396"/>
+			<rect x="0" y="73.2924" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape114-51" v:mID="114" v:groupContext="shape" v:layerMember="0" transform="translate(27.7119,-34.9189)">
+			<title content="structured text">Process.114</title>
+			<desc content="structured text">factBinding</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.7849" cy="79.5091" width="49.57" height="14.2459"/>
+			<rect x="0" y="72.3861" width="49.5698" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.98" y="81.91" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>factBinding</text>		</g>
+		<g id="shape115-54" v:mID="115" v:groupContext="shape" v:layerMember="0" transform="translate(92.9087,-34.9189)">
+			<title content="structured text">Process.115</title>
+			<desc content="structured text">‘:’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="79.5091" width="21.37" height="14.2459"/>
+			<rect x="0" y="72.3861" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.79" y="81.91" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">:</tspan>’</text>		</g>
+		<g id="shape116-58" v:mID="116" v:groupContext="shape" v:layerMember="1" transform="translate(114.278,-34.9552)">
+			<title content="structured text">Dynamic connector.116</title>
+			<path d="M0 79.55 L12.72 79.55" class="st5"/>
+		</g>
+		<g id="shape117-63" v:mID="117" v:groupContext="shape" v:layerMember="1" transform="translate(77.2817,-34.9552)">
+			<title content="structured text">Dynamic connector.117</title>
+			<path d="M0 79.55 L12.87 79.55" class="st5"/>
+		</g>
+		<g id="shape118-68" v:mID="118" v:groupContext="shape" v:layerMember="0" transform="translate(268.74,-35.372)">
+			<title content="structured text">Process.118</title>
+			<desc content="structured text">‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.0047" cy="79.9622" width="20.01" height="13.3396"/>
+			<rect x="0" y="73.2924" width="20.0095" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.89" y="82.36" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3" v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape119-72" v:mID="119" v:groupContext="shape" v:layerMember="1" transform="translate(288.75,-34.9552)">
+			<title content="structured text">Dynamic connector.119</title>
+			<path d="M0 79.55 L19.42 79.55" class="st5"/>
+		</g>
+		<g id="shape120-77" v:mID="120" v:groupContext="shape" v:layerMember="1" transform="translate(12.2881,-34.9552)">
+			<title content="structured text">Dynamic connector.120</title>
+			<path d="M0 79.55 L12.66 79.55" class="st5"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/or_with_binding.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 package.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.19807in" height="3.63542in" viewBox="0 0 230.261 261.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-12);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-12" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(42.236,-194.795)">
+			<title content="structured text">Process.1</title>
+			<desc content="structured text">import</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="26.9193" cy="254.663" width="53.84" height="14.1732"/>
+			<rect x="0" y="247.577" width="53.8386" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.81" y="257.06" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>import</text>		</g>
+		<g id="shape3-4" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(47.8955,-52.7819)">
+			<title content="structured text">Process.97</title>
+			<desc content="structured text">rule</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.4451" cy="254.318" width="38.9" height="14.8647"/>
+			<rect x="0" y="246.885" width="38.8902" height="14.8647" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="12.78" y="256.72" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>rule</text>		</g>
+		<g id="shape4-7" v:mID="4" v:groupContext="shape" v:layerMember="1" transform="translate(86.7857,-53.1276)">
+			<title content="structured text">Dynamic connector.102</title>
+			<path d="M0 254.66 L20.16 254.66 A5.66929 5.66929 -180 0 0 25.83 248.99 L25.83 246.22 A5.66929 5.66929 -180 0 0 20.16        240.56 L-53.18 240.56 A5.66929 5.66929 -180 0 0 -58.85 246.22 L-58.85 248.99 A5.66929 5.66929 -180 0 0 -53.18        254.66 L-41.65 254.66" class="st3"/>
+		</g>
+		<g id="shape5-13" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(45.8971,-109.475)">
+			<title content="structured text">Process.103</title>
+			<desc content="structured text">function</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="23.2582" cy="254.663" width="46.52" height="14.1732"/>
+			<rect x="0" y="247.577" width="46.5163" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.24" y="257.06" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>function</text>		</g>
+		<g id="shape6-16" v:mID="6" v:groupContext="shape" v:layerMember="0" transform="translate(45.2971,-138.102)">
+			<title content="structured text">Process.104</title>
+			<desc content="structured text">global</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="23.8582" cy="254.663" width="47.72" height="14.1732"/>
+			<rect x="0" y="247.577" width="47.7165" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.17" y="257.06" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>global</text>		</g>
+		<g id="shape7-19" v:mID="7" v:groupContext="shape" v:layerMember="1" transform="translate(93.0135,-138.102)">
+			<title content="structured text">Dynamic connector.105</title>
+			<path d="M0 254.66 L14.29 254.66 A5.66929 5.66929 -180 0 0 19.96 248.99 L19.96 246.16 A5.66929 5.66929 -180 0 0 14.29        240.49 L-59.41 240.49 A5.66929 5.66929 -180 0 0 -65.08 246.16 L-65.08 248.99 A5.66929 5.66929 -180 0 0 -59.41        254.66 L-50.48 254.66" class="st3"/>
+		</g>
+		<g id="shape8-24" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(92.4135,-109.475)">
+			<title content="structured text">Dynamic connector.39</title>
+			<path d="M0 254.66 L14.89 254.66 A5.66929 5.66929 -180 0 0 20.56 248.99 L20.56 245.88 A5.66929 5.66929 -180 0 0 14.89        240.21 L-58.81 240.21 A5.66929 5.66929 -180 0 0 -64.48 245.88 L-64.48 248.99 A5.66929 5.66929 -180 0 0 -58.81        254.66 L-49.28 254.66" class="st3"/>
+		</g>
+		<g id="shape15-29" v:mID="15" v:groupContext="shape" v:layerMember="1" transform="translate(11.7804,-255.74)">
+			<title content="structured text">Dynamic connector.113</title>
+			<path d="M0 261.75 L10.48 261.75 A5.66929 5.66929 0 0 1 16.15 267.42 L16.15 281.59 A5.66929 5.66929 -180 0 0 21.82 287.26        L27.57 287.26" class="st3"/>
+		</g>
+		<g id="shape36-34" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(42.3879,-166.449)">
+			<title content="structured text">Process.175</title>
+			<desc content="structured text">expander</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.5569" cy="254.663" width="55.12" height="14.1732"/>
+			<rect x="0" y="247.577" width="55.1139" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="10.87" y="257.06" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>expander</text>		</g>
+		<g id="shape58-37" v:mID="58" v:groupContext="shape" v:layerMember="0" transform="translate(47.7197,-24.4354)">
+			<title content="structured text">Process.17</title>
+			<desc content="structured text">EOF</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="17.8044" cy="254.663" width="35.61" height="14.1732"/>
+			<rect x="0" y="247.577" width="35.6089" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.58" y="257.06" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>EOF</text>		</g>
+		<g id="shape59-40" v:mID="59" v:groupContext="shape" v:layerMember="1" transform="translate(83.3285,-31.522)">
+			<title content="structured text">Dynamic connector.78</title>
+			<path d="M0 261.75 L10.16 261.75 A5.66929 5.66929 0 0 1 15.82 267.42 L15.82 281.59 A5.66929 5.66929 -180 0 0 21.49 287.26        L26.88 287.26" class="st3"/>
+		</g>
+		<g id="shape60-45" v:mID="60" v:groupContext="shape" v:layerMember="1" transform="translate(173.291,-229.977)">
+			<title content="structured text">Dynamic connector.11</title>
+			<path d="M0 261.75 L47.4 261.75 A5.66929 5.66929 0 0 1 53.07 267.42 L53.07 270 A5.66929 5.66929 0 0 1 47.4 275.67 L-139.69        275.67 A5.66929 5.66929 -180 0 0 -145.36 281.34 L-145.36 425.84 A5.66929 5.66929 -180 0 0 -139.69 431.51        L-128.16 431.51" class="st3"/>
+		</g>
+		<g id="shape61-50" v:mID="61" v:groupContext="shape" v:layerMember="0" transform="translate(42.1058,-223.141)">
+			<title content="structured text">Process.23</title>
+			<desc content="structured text">‘package’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.5099" cy="254.663" width="55.02" height="14.1732"/>
+			<rect x="0" y="247.577" width="55.0198" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="10.6" y="257.06" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘package’</text>		</g>
+		<g id="shape62-53" v:mID="62" v:groupContext="shape" v:layerMember="1" transform="translate(86.7857,-60.2142)">
+			<title content="structured text">Dynamic connector.18</title>
+			<path d="M0 261.75 L20.16 261.75 A5.66929 5.66929 0 0 1 25.83 267.42 L25.83 270.6 A5.66929 5.66929 0 0 1 20.16 276.27        L-53.18 276.27 A5.66929 5.66929 -180 0 0 -58.85 281.94 L-58.85 284.77 A5.66929 5.66929 -180 0 0 -53.18 290.44        L-41.83 290.44" class="st3"/>
+		</g>
+		<g id="shape64-58" v:mID="64" v:groupContext="shape" v:layerMember="1" transform="translate(92.4135,-116.561)">
+			<title content="structured text">Dynamic connector.223</title>
+			<path d="M0 261.75 L14.89 261.75 A5.66929 5.66929 0 0 1 20.56 267.42 L20.56 270.25 A5.66929 5.66929 0 0 1 14.89 275.92        L-58.81 275.92 A5.66929 5.66929 -180 0 0 -64.48 281.59 L-64.48 284.43 A5.66929 5.66929 -180 0 0 -58.81 290.1        L-47.28 290.1" class="st3"/>
+		</g>
+		<g id="shape65-63" v:mID="65" v:groupContext="shape" v:layerMember="0" transform="translate(47.8955,-81.1283)">
+			<title content="structured text">Process.224</title>
+			<desc content="structured text">query</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="19.4451" cy="254.663" width="38.9" height="14.1732"/>
+			<rect x="0" y="247.577" width="38.8902" height="14.1732" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.44" y="257.06" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>query</text>		</g>
+		<g id="shape66-66" v:mID="66" v:groupContext="shape" v:layerMember="1" transform="translate(86.7857,-81.1283)">
+			<title content="structured text">Dynamic connector.225</title>
+			<path d="M0 254.66 L20.16 254.66 A5.66929 5.66929 -180 0 0 25.83 248.99 L25.83 246.16 A5.66929 5.66929 -180 0 0 20.16        240.49 L-53.12 240.49 A5.66929 5.66929 -180 0 0 -58.79 246.16 L-58.79 248.99 A5.66929 5.66929 -180 0 0 -53.12        254.66 L-41.65 254.66" class="st3"/>
+		</g>
+		<g id="shape67-71" v:mID="67" v:groupContext="shape" v:layerMember="1" transform="translate(173.291,-229.977)">
+			<title content="structured text">Dynamic connector.30</title>
+			<path d="M0 261.75 L47.4 261.75 A5.66929 5.66929 0 0 1 53.07 267.42 L53.07 270 A5.66929 5.66929 0 0 1 47.4 275.67 L-139.69        275.67 A5.66929 5.66929 -180 0 0 -145.36 281.34 L-145.36 284.18 A5.66929 5.66929 -180 0 0 -139.69 289.85        L-133.82 289.85" class="st3"/>
+		</g>
+		<g id="shape83-76" v:mID="83" v:groupContext="shape" v:layerMember="1" transform="translate(97.5018,-166.449)">
+			<title content="structured text">Dynamic connector.83</title>
+			<path d="M0 254.66 L9.8 254.66 A5.66929 5.66929 -180 0 0 15.47 248.99 L15.47 246.16 A5.66929 5.66929 -180 0 0 9.8 240.49        L-63.9 240.49 A5.66929 5.66929 -180 0 0 -69.57 246.16 L-69.57 248.99 A5.66929 5.66929 -180 0 0 -63.9 254.66        L-57.87 254.66" class="st3"/>
+		</g>
+		<g id="shape84-81" v:mID="84" v:groupContext="shape" v:layerMember="1" transform="translate(96.0746,-201.882)">
+			<title content="structured text">Dynamic connector.84</title>
+			<path d="M0 261.75 L11.23 261.75 A5.66929 5.66929 0 0 1 16.9 267.42 L16.9 270.25 A5.66929 5.66929 0 0 1 11.23 275.92        L-62.47 275.92 A5.66929 5.66929 -180 0 0 -68.14 281.59 L-68.14 284.43 A5.66929 5.66929 -180 0 0 -62.47 290.1        L-56.45 290.1" class="st3"/>
+		</g>
+		<g id="shape85-86" v:mID="85" v:groupContext="shape" v:layerMember="1" transform="translate(97.5018,-173.535)">
+			<title content="structured text">Dynamic connector.106</title>
+			<path d="M0 261.75 L9.8 261.75 A5.66929 5.66929 0 0 1 15.47 267.42 L15.47 270.25 A5.66929 5.66929 0 0 1 9.8 275.92 L-63.9        275.92 A5.66929 5.66929 -180 0 0 -69.57 281.59 L-69.57 284.43 A5.66929 5.66929 -180 0 0 -63.9 290.1 L-54.96        290.1" class="st3"/>
+		</g>
+		<g id="shape86-91" v:mID="86" v:groupContext="shape" v:layerMember="1" transform="translate(86.7857,-88.2149)">
+			<title content="structured text">Dynamic connector.115</title>
+			<path d="M0 261.75 L20.52 261.75 A5.66929 5.66929 0 0 1 26.19 267.42 L26.19 269.97 A5.66929 5.66929 0 0 1 20.52 275.64        L-53.18 275.64 A5.66929 5.66929 -180 0 0 -58.85 281.31 L-58.85 312.77 A5.66929 5.66929 -180 0 0 -53.18 318.44        L-41.83 318.44" class="st3"/>
+		</g>
+		<g id="shape63-96" v:mID="63" v:groupContext="shape" v:layerMember="1" transform="translate(96.0746,-194.795)">
+			<title content="structured text">Dynamic connector.63</title>
+			<path d="M0 254.66 L10.87 254.66 A5.66929 5.66929 -180 0 0 16.54 248.99 L16.54 246.16 A5.66929 5.66929 -180 0 0 10.87        240.49 L-62.47 240.49 A5.66929 5.66929 -180 0 0 -68.14 246.16 L-68.14 248.99 A5.66929 5.66929 -180 0 0 -62.47        254.66 L-56.6 254.66" class="st3"/>
+		</g>
+		<g id="shape79-101" v:mID="79" v:groupContext="shape" v:layerMember="1" transform="translate(93.0135,-145.189)">
+			<title content="structured text">Dynamic connector.79</title>
+			<path d="M0 261.75 L14.29 261.75 A5.66929 5.66929 0 0 1 19.96 267.42 L19.96 270.25 A5.66929 5.66929 0 0 1 14.29 275.92        L-59.41 275.92 A5.66929 5.66929 -180 0 0 -65.08 281.59 L-65.08 284.71 A5.66929 5.66929 -180 0 0 -59.41 290.38        L-49.88 290.38" class="st3"/>
+		</g>
+		<g id="shape80-106" v:mID="80" v:groupContext="shape" v:layerMember="1" transform="translate(86.7857,-88.2149)">
+			<title content="structured text">Dynamic connector.80</title>
+			<path d="M0 261.75 L20.52 261.75 A5.66929 5.66929 0 0 1 26.19 267.42 L26.19 269.97 A5.66929 5.66929 0 0 1 20.52 275.64        L-53.18 275.64 A5.66929 5.66929 -180 0 0 -58.85 281.31 L-58.85 284.08 A5.66929 5.66929 -180 0 0 -53.18 289.75        L-41.65 289.75" class="st3"/>
+		</g>
+		<g id="shape82-111" v:mID="82" v:groupContext="shape" v:layerMember="0" transform="translate(112.972,-223.141)">
+			<title content="structured text">Process.82</title>
+			<desc content="structured text">namespace</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="30.1596" cy="254.915" width="60.32" height="13.6703"/>
+			<rect x="0" y="248.08" width="60.3191" height="13.6703" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.47" y="257.31" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>namespace</text>		</g>
+		<g id="shape87-114" v:mID="87" v:groupContext="shape" v:layerMember="0" transform="translate(190.925,-240.149)">
+			<title content="structured text">Process.87</title>
+			<desc content="structured text">‘;’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.2527" cy="254.915" width="20.51" height="13.6703"/>
+			<rect x="0" y="248.08" width="20.5054" height="13.6703" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.36" y="257.31" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6" v:langID="2057">;</tspan>’</text>		</g>
+		<g id="shape88-118" v:mID="88" v:groupContext="shape" v:layerMember="1" transform="translate(173.291,-229.977)">
+			<title content="structured text">Dynamic connector.88</title>
+			<path d="M0 261.75 L5.27 261.75 A5.27351 5.27351 -180 0 0 10.55 256.48 L10.55 248.29 A3.54331 3.54331 0 0 1 14.09 244.74        L14.87 244.74" class="st3"/>
+		</g>
+		<g id="shape89-123" v:mID="89" v:groupContext="shape" v:layerMember="1" transform="translate(211.43,-246.984)">
+			<title content="structured text">Dynamic connector.89</title>
+			<path d="M0 261.75 L9.26 261.75 A5.66929 5.66929 0 0 1 14.93 267.42 L14.93 287.01 A5.66929 5.66929 0 0 1 9.26 292.68        L-177.83 292.68 A5.66929 5.66929 -180 0 0 -183.5 298.35 L-183.5 301.18 A5.66929 5.66929 -180 0 0 -177.83        306.85 L-171.95 306.85" class="st3"/>
+		</g>
+		<g id="shape91-128" v:mID="91" v:groupContext="shape" v:layerMember="1" transform="translate(97.1256,-237.189)">
+			<title content="structured text">Dynamic connector.91</title>
+			<path d="M0 268.71 L8.5 268.71 L8.5 268.96 L13.09 268.96" class="st3"/>
+		</g>
+		<g id="shape14-133" v:mID="14" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-249.97)">
+			<title content="structured text">On-page reference.14</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 255.98 A5.7702 5.7702 0 1 1 11.54 255.98 A5.7702 5.7702 0 0 1 0 255.98 Z" class="st1"/>
+		</g>
+		<g id="shape81-135" v:mID="81" v:groupContext="shape" v:layerMember="1;0" transform="translate(112.972,-0.24)">
+			<title content="structured text">On-page reference.81</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 255.98 A5.7702 5.7702 0 1 1 11.54 255.98 A5.7702 5.7702 0 0 1 0 255.98 Z" class="st1"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/package.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 pattern.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.28226in"
+		height="0.493833in" viewBox="0 0 380.323 35.556" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st4 {font-size:1em}
+		.st5 {marker-end:url(#mrkr2-13);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-13" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0" transform="translate(150.043,-1.67704)">
+			<title>Process.89</title>
+			<desc>patternType</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="24.1157" cy="28.433" width="48.24" height="14.2459"/>
+			<rect x="0" y="21.3101" width="48.2314" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.78" y="30.83" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>patternType</text>		</g>
+		<g id="shape2-4" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(219.534,-1.67704)">
+			<title>Process.90</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="28.433" width="21.37" height="14.2459"/>
+			<rect x="0" y="21.3101" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="30.83" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape3-8" v:mID="3" v:groupContext="shape" v:layerMember="1" transform="translate(198.275,-1.71339)">
+			<title>Dynamic connector.166</title>
+			<path d="M0 28.47 L18.5 28.47" class="st5"/>
+		</g>
+		<g id="shape4-14" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(327.024,-1.67704)">
+			<title>Process.70</title>
+			<desc>‘)‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="28.433" width="21.37" height="14.2459"/>
+			<rect x="0" y="21.3101" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="30.83" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st4"
+						v:langID="2057">)</tspan>‘</text>		</g>
+		<g id="shape5-18" v:mID="5" v:groupContext="shape" v:layerMember="1;0" transform="translate(367.617,-2.56741)">
+			<title>On-page reference.71</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.32 A6.23259 6.23259 0 0 1 12.47 29.32 A6.23259 6.23259 0 1 1 0 29.32 Z" class="st1"/>
+		</g>
+		<g id="shape6-20" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(307.914,-1.71339)">
+			<title>Dynamic connector.72</title>
+			<path d="M0 28.47 L16.35 28.47" class="st5"/>
+		</g>
+		<g id="shape7-25" v:mID="7" v:groupContext="shape" v:layerMember="0" transform="translate(260.013,-2.24882)">
+			<title>Process.22</title>
+			<desc>constraints</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="23.9506" cy="29.0048" width="47.91" height="13.1024"/>
+			<rect x="0" y="22.4536" width="47.9011" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.61" y="31.4" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraints</text>		</g>
+		<g id="shape8-28" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(240.903,-1.71339)">
+			<title>Dynamic connector.86</title>
+			<path d="M0 28.47 L16.35 28.47" class="st5"/>
+		</g>
+		<g id="shape9-33" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(348.393,-1.71339)">
+			<title>Dynamic connector.1</title>
+			<path d="M0 28.47 L16.46 28.47" class="st5"/>
+		</g>
+		<g id="shape10-38" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(30.7754,-2.24882)">
+			<title>Process.150</title>
+			<desc>patternBinding</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="30.7953" cy="29.0048" width="61.6" height="13.1024"/>
+			<rect x="0" y="22.4536" width="61.5906" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5" y="31.4" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>patternBinding</text>		</g>
+		<g id="shape11-41" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(106.539,-2.24882)">
+			<title>Process.159</title>
+			<desc>:</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="29.0048" width="19.66" height="13.1024"/>
+			<rect x="0" y="22.4536" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.71" y="31.4" class="st3" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>:</text>		</g>
+		<g id="shape12-44" v:mID="12" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-3.06772)">
+			<title>On-page reference.192</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.82 A5.73228 5.73228 0 0 1 11.46 29.82 A5.73228 5.73228 0 1 1 0 29.82 Z" class="st1"/>
+		</g>
+		<g id="shape13-46" v:mID="13" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-1.71339)">
+			<title>Dynamic connector.193</title>
+			<path d="M0 28.47 L16.31 28.47" class="st5"/>
+		</g>
+		<g id="shape14-51" v:mID="14" v:groupContext="shape" v:layerMember="1" transform="translate(92.366,-1.71339)">
+			<title>Dynamic connector.194</title>
+			<path d="M0 28.47 L11.41 28.47" class="st5"/>
+		</g>
+		<g id="shape15-56" v:mID="15" v:groupContext="shape" v:layerMember="1" transform="translate(126.193,-1.71339)">
+			<title>Dynamic connector.199</title>
+			<path d="M0 28.47 L21.09 28.47" class="st5"/>
+		</g>
+		<g id="shape16-61" v:mID="16" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-1.71339)">
+			<title>Dynamic connector.201</title>
+			<path d="M0 28.47 L16.31 28.47" class="st5"/>
+		</g>
+		<g id="shape17-66" v:mID="17" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,-15.8866)">
+			<title>Dynamic connector.202</title>
+			<path d="M0 42.64 L6.31 42.64 A5.66929 5.66929 -180 0 0 11.98 36.97 L11.98 30.36 A5.66929 5.66929 0 0 1 17.65 24.69 L122.04
+						 24.69 A5.66929 5.66929 0 0 1 127.71 30.36 L127.71 37.33 A5.31496 5.31496 -180 0 0 133.02 42.64 L135.58 42.64"
+					class="st5"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/pattern.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,814 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 patternER.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.17377in"
+		height="6.98627in" viewBox="0 0 372.511 503.012" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-start:url(#mrkr13-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {marker-end:url(#mrkr13-12);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr13-6" class="st2" v:arrowType="13" v:arrowSize="2" v:setback="33" refX="33" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend13" transform="scale(11.5) "/>
+		</marker>
+		<marker id="mrkr13-12" class="st2" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend13" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<g id="shape20-1" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(160.382,-480.838)">
+			<title>Dynamic connector.7</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.92 495.93 L8.28 495.93 L43.24 495.93" class="st1"/>
+		</g>
+		<g id="shape21-7" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(231.972,-479.421)">
+			<title>Dynamic connector.21</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 503.01 L-7.09 534.67" class="st3"/>
+		</g>
+		<g id="shape22-13" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(224.886,-422.476)">
+			<title>Dynamic connector.22</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 524.15 L-116.22 524.15 L-116.22 536.62" class="st3"/>
+		</g>
+		<g id="shape24-18" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(227.012,-323.846)">
+			<title>Dynamic connector.24</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 484.84 L-38.27 484.84 L-38.27 461.25" class="st1"/>
+		</g>
+		<g id="shape25-23" v:mID="25" v:groupContext="shape" v:layerMember="0" transform="translate(151.894,-325.012)">
+			<title>Dynamic connector.25</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 486 L36.85 486 L36.85 462.41" class="st1"/>
+		</g>
+		<g id="shape26-28" v:mID="26" v:groupContext="shape" v:layerMember="0" transform="translate(76.0668,-372.083)">
+			<title>Dynamic connector.26</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L-10.63 503.01 L-10.63 444.11 L107.94 444.11" class="st3"/>
+		</g>
+		<g id="shape27-33" v:mID="27" v:groupContext="shape" v:layerMember="0" transform="translate(172.445,-282.492)">
+			<title>Dynamic connector.27</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 489.55 L54.57 489.55 L54.57 478.67" class="st1"/>
+		</g>
+		<g id="shape28-38" v:mID="28" v:groupContext="shape" v:layerMember="0" transform="translate(95.9093,-237.232)">
+			<title>Dynamic connector.28</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 489.14 L77.95 489.14 L77.95 474.76" class="st1"/>
+		</g>
+		<g id="shape29-43" v:mID="29" v:groupContext="shape" v:layerMember="0" transform="translate(156.854,-237.736)">
+			<title>Dynamic connector.29</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 489.14 L17.01 489.14 L17.01 475.26" class="st1"/>
+		</g>
+		<g id="shape30-48" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(162.523,-220.728)">
+			<title>Dynamic connector.30</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-5.67 503.01 L-5.67 514.38 L-8.5 514.38 L-8.5 528.54" class="st3"/>
+		</g>
+		<g id="shape31-53" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(156.854,-220.728)">
+			<title>Dynamic connector.31</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 514.38 L43.94 514.38 L43.94 529.55" class="st3"/>
+		</g>
+		<g id="shape32-58" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(234.098,-158.067)">
+			<title>Dynamic connector.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 495.09 L-7.09 494.73 L-7.09 354.24" class="st1"/>
+		</g>
+		<g id="shape33-63" v:mID="33" v:groupContext="shape" v:layerMember="0" transform="translate(283.705,-278.24)">
+			<title>Dynamic connector.33</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 485.04 L-56.69 485.04 L-56.69 474.41" class="st1"/>
+		</g>
+		<g id="shape35-68" v:mID="35" v:groupContext="shape" v:layerMember="0" transform="translate(290.791,-224.177)">
+			<title>Dynamic connector.35</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 495.09 L-7.09 494.73 L-7.09 481.55 L-7.09 465.96" class="st1"/>
+		</g>
+		<g id="shape16-73" v:mID="16" v:groupContext="shape" v:layerMember="0" transform="translate(316.303,-215.673)">
+			<title>Dynamic connector.16</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L47.48 503.01 L47.48 403.34 L-48.41 403.34" class="st3"/>
+		</g>
+		<g id="shape37-78" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(234.098,-114.13)">
+			<title>Dynamic connector.37</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M-7.09 495.09 L-7.09 494.73 L-7.09 476.08" class="st1"/>
+		</g>
+		<g id="group40-83" transform="translate(95.1849,-479.421)" v:mID="40" v:groupContext="group">
+			<title>Sheet.40</title>
+			<g id="shape2-84" v:mID="2" v:groupContext="shape">
+				<title>Rounded rectangle.2</title>
+				<desc>patternBinding</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+				<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+				<text x="6.8" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>patternBinding</text>			</g>
+			<g id="shape39-87" v:mID="39" v:groupContext="shape" transform="translate(62.7244,-6.04724)">
+				<title>Sheet.39</title>
+				<desc>0..1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="13.1181" cy="495.012" width="26.24" height="16"/>
+				<rect x="0" y="487.012" width="26.2362" height="16" class="st6"/>
+				<text x="6.45" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..1</text>			</g>
+		</g>
+		<g id="group41-90" transform="translate(189.453,-463.421)" v:mID="41" v:groupContext="group">
+			<title>Sheet.41</title>
+			<g id="shape42-91" v:mID="42" v:groupContext="shape" transform="translate(32.5984,5.68434E-014)">
+				<title>Sheet.42</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+			<g id="shape1-94" v:mID="1" v:groupContext="shape" transform="translate(14.1732,-16)">
+				<title>Rounded rectangle</title>
+				<desc>pattern</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="21.2598" cy="494.508" width="42.52" height="17.0079"/>
+				<path d="M34.02 503.01 A8.504 8.504 -180 0 0 42.52 494.51 A8.504 8.504 -180 0 0 34.02 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L34.02 503.01 Z" class="st4"/>
+				<text x="8.8" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>pattern</text>			</g>
+			<g id="shape38-97" v:mID="38" v:groupContext="shape" transform="translate(0,-22.1732)">
+				<title>Sheet.38</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="shape62-100" v:mID="62" v:groupContext="shape" v:layerMember="0" transform="translate(156.854,-220.728)">
+			<title>Dynamic connector.62</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 514.38 L-54.21 514.38 L-54.21 528.54" class="st3"/>
+		</g>
+		<g id="shape66-105" v:mID="66" v:groupContext="shape" v:layerMember="0" transform="translate(227.012,-56.8857)">
+			<title>Dynamic connector.66</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L-0 524.67 L24.09 524.67 L24.09 533.87" class="st3"/>
+		</g>
+		<g id="shape67-110" v:mID="67" v:groupContext="shape" v:layerMember="0" transform="translate(227.012,-56.8857)">
+			<title>Dynamic connector.67</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L-0 524.67 L66.61 524.67 L66.61 534.37" class="st3"/>
+		</g>
+		<g id="shape69-115" v:mID="69" v:groupContext="shape" v:layerMember="0" transform="translate(227.012,-56.8857)">
+			<title>Dynamic connector.69</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 524.67 L-29.41 524.67 L-29.41 533.46" class="st3"/>
+		</g>
+		<g id="shape70-120" v:mID="70" v:groupContext="shape" v:layerMember="0" transform="translate(219.925,-73.8935)">
+			<title>Dynamic connector.70</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M7.09 495.09 L7.09 494.73 L7.09 479.78" class="st1"/>
+		</g>
+		<g id="shape4-125" v:mID="4" v:groupContext="shape" transform="translate(76.0668,-363.579)">
+			<title>Rounded rectangle.4</title>
+			<desc>constraintGroup</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+			<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180 0
+						 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+			<text x="4.14" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraintGroup</text>		</g>
+		<g id="shape44-128" v:mID="44" v:groupContext="shape" transform="translate(224.161,-437.657)">
+			<title>Sheet.44</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.063" cy="495.012" width="24.13" height="16"/>
+			<rect x="0" y="487.012" width="24.126" height="16" class="st6"/>
+			<text x="5.4" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape48-131" v:mID="48" v:groupContext="shape" transform="translate(63.2794,-369.752)">
+			<title>Sheet.48</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape5-134" v:mID="5" v:groupContext="shape" transform="translate(156.146,-365.61)">
+			<title>Rounded rectangle.5</title>
+			<desc>fieldConstraint</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+			<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180 0
+						 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+			<text x="7.03" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>fieldConstraint</text>		</g>
+		<g id="shape47-137" v:mID="47" v:groupContext="shape" transform="translate(173.122,-343.437)">
+			<title>Sheet.47</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="group89-140" transform="translate(119.295,-308.004)" v:mID="89" v:groupContext="group">
+			<title>Sheet.89</title>
+			<g id="shape6-141" v:mID="6" v:groupContext="shape">
+				<title>Rounded rectangle.6</title>
+				<desc>fieldName</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+				<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+				<text x="14.59" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>fieldName</text>			</g>
+			<g id="shape50-144" v:mID="50" v:groupContext="shape" transform="translate(14.8661,-13.2598)">
+				<title>Sheet.50</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group90-147" transform="translate(194.413,-306.838)" v:mID="90" v:groupContext="group">
+			<title>Sheet.90</title>
+			<g id="shape7-148" v:mID="7" v:groupContext="shape">
+				<title>Rounded rectangle.7</title>
+				<desc>restriction</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+				<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+				<text x="15.26" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>restriction</text>			</g>
+			<g id="shape51-151" v:mID="51" v:groupContext="shape" transform="translate(28.3465,-14.6772)">
+				<title>Sheet.51</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group92-154" transform="translate(128.508,-250.397)" v:mID="92" v:groupContext="group">
+			<title>Sheet.92</title>
+			<g id="shape83-155" v:mID="83" v:groupContext="shape" transform="translate(29.7323,0)">
+				<title>Sheet.83</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+			<g id="group91-158" transform="translate(0,-15.0866)" v:mID="91" v:groupContext="group">
+				<title>Sheet.91</title>
+				<g id="shape8-159" v:mID="8" v:groupContext="shape">
+					<title>Rounded rectangle.8</title>
+					<desc>singleValueRestriction</desc>
+					<v:userDefs>
+						<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+					<v:textRect cx="43.937" cy="494.508" width="87.88" height="17.0079"/>
+					<path d="M79.37 503.01 A8.504 8.504 -180 0 0 87.87 494.51 A8.504 8.504 -180 0 0 79.37 486 L8.5 486 A8.504 8.504
+								 -180 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L79.37 503.01 Z" class="st4"/>
+					<text x="4.35" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>singleValueRestriction</text>				</g>
+				<g id="shape52-162" v:mID="52" v:groupContext="shape" transform="translate(24.7874,-14.1732)">
+					<title>Sheet.52</title>
+					<desc>1</desc>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+					<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+					<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+					<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>				</g>
+			</g>
+		</g>
+		<g id="group93-165" transform="translate(70.3975,-220.224)" v:mID="93" v:groupContext="group">
+			<title>Sheet.93</title>
+			<g id="shape11-166" v:mID="11" v:groupContext="shape">
+				<title>Rounded rectangle.11</title>
+				<desc>operator</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="25.5118" cy="494.508" width="51.03" height="17.0079"/>
+				<path d="M42.52 503.01 A8.504 8.504 -180 0 0 51.02 494.51 A8.504 8.504 -180 0 0 42.52 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L42.52 503.01 Z" class="st4"/>
+				<text x="10.6" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>operator</text>			</g>
+			<g id="shape84-169" v:mID="84" v:groupContext="shape" transform="translate(7.77953,-15.5906)">
+				<title>Sheet.84</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group95-172" transform="translate(239.768,-261.232)" v:mID="95" v:groupContext="group">
+			<title>Sheet.95</title>
+			<g id="shape10-173" v:mID="10" v:groupContext="shape">
+				<title>Rounded rectangle.10</title>
+				<desc>multiRestriction</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="43.937" cy="494.508" width="87.88" height="17.0079"/>
+				<path d="M79.37 503.01 A8.504 8.504 -180 0 0 87.87 494.51 A8.504 8.504 -180 0 0 79.37 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L79.37 503.01 Z" class="st4"/>
+				<text x="16.59" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>multiRestriction</text>			</g>
+			<g id="shape53-176" v:mID="53" v:groupContext="shape" transform="translate(41.0709,-13.7638)">
+				<title>Sheet.53</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="shape14-179" v:mID="14" v:groupContext="shape" transform="translate(251.106,-207.169)">
+			<title>Rounded rectangle.14</title>
+			<desc>restrictionGroup</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+			<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180 0
+						 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+			<text x="4.14" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>restrictionGroup</text>		</g>
+		<g id="shape55-182" v:mID="55" v:groupContext="shape" transform="translate(281.579,-222.555)">
+			<title>Sheet.55</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.7559" cy="495.012" width="25.52" height="16"/>
+			<rect x="0" y="487.012" width="25.5118" height="16" class="st6"/>
+			<text x="6.08" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="group99-185" transform="translate(174.571,-125.972)" v:mID="99" v:groupContext="group">
+			<title>Sheet.99</title>
+			<g id="shape9-186" v:mID="9" v:groupContext="shape" transform="translate(0,-15.0866)">
+				<title>Rounded rectangle.9</title>
+				<desc>compoundValueRestriction</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="52.4409" cy="494.508" width="104.89" height="17.0079"/>
+				<path d="M96.38 503.01 A8.504 8.504 -180 0 0 104.88 494.51 A8.504 8.504 -180 0 0 96.38 486 L8.5 486 A8.504 8.504
+							 -180 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L96.38 503.01 Z" class="st4"/>
+				<text x="4.65" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>compoundValueRestriction</text>			</g>
+			<g id="shape60-189" v:mID="60" v:groupContext="shape" transform="translate(51.0236,-30.6772)">
+				<title>Sheet.60</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+			<g id="shape71-192" v:mID="71" v:groupContext="shape" transform="translate(50.2992,0)">
+				<title>Sheet.71</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group100-195" transform="translate(194.413,-82.9487)" v:mID="100" v:groupContext="group">
+			<title>Sheet.100</title>
+			<g id="shape17-196" v:mID="17" v:groupContext="shape" transform="translate(5.19584E-014,-14.1732)">
+				<title>Rounded rectangle.17</title>
+				<desc>‘in’ | ‘not in’</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+				<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+				<text x="12.89" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘in’ | ‘not in’</text>			</g>
+			<g id="shape72-199" v:mID="72" v:groupContext="shape" transform="translate(29.7638,-28.3465)">
+				<title>Sheet.72</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+			<g id="shape73-202" v:mID="73" v:groupContext="shape" transform="translate(29.0394,0)">
+				<title>Sheet.73</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group101-205" transform="translate(201.5,-42.303)" v:mID="101" v:groupContext="group">
+			<title>Sheet.101</title>
+			<g id="shape63-206" v:mID="63" v:groupContext="shape" transform="translate(3.9968E-015,-14.5827)">
+				<title>Rounded rectangle.63</title>
+				<desc>value</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="25.5118" cy="494.508" width="51.03" height="17.0079"/>
+				<path d="M42.52 503.01 A8.504 8.504 -180 0 0 51.02 494.51 A8.504 8.504 -180 0 0 42.52 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L42.52 503.01 Z" class="st4"/>
+				<text x="15.94" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>value</text>			</g>
+			<g id="shape74-209" v:mID="74" v:groupContext="shape" transform="translate(24.0945,-29.2598)">
+				<title>Sheet.74</title>
+				<desc>0..n</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="12.7559" cy="495.012" width="25.52" height="16"/>
+				<rect x="0" y="487.012" width="25.5118" height="16" class="st6"/>
+				<text x="6.08" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>			</g>
+			<g id="shape79-212" v:mID="79" v:groupContext="shape" transform="translate(22.6457,0)">
+				<title>Sheet.79</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group102-215" transform="translate(76.0668,-169.909)" v:mID="102" v:groupContext="group">
+			<title>Sheet.102</title>
+			<g id="shape61-216" v:mID="61" v:groupContext="shape">
+				<title>Rounded rectangle.61</title>
+				<desc>returnValue</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="26.5748" cy="494.508" width="53.15" height="17.0079"/>
+				<path d="M44.65 503.01 A8.504 8.504 -180 0 0 53.15 494.51 A8.504 8.504 -180 0 0 44.65 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L44.65 503.01 Z" class="st4"/>
+				<text x="5.9" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValue</text>			</g>
+			<g id="shape76-219" v:mID="76" v:groupContext="shape" transform="translate(24.7874,-14.6772)">
+				<title>Sheet.76</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group103-222" transform="translate(134.886,-169.909)" v:mID="103" v:groupContext="group">
+			<title>Sheet.103</title>
+			<g id="shape18-223" v:mID="18" v:groupContext="shape">
+				<title>Rounded rectangle.18</title>
+				<desc>literal</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="19.1339" cy="494.508" width="38.27" height="17.0079"/>
+				<path d="M29.76 503.01 A8.504 8.504 -180 0 0 38.27 494.51 A8.504 8.504 -180 0 0 29.76 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L29.76 503.01 Z" class="st4"/>
+				<text x="9.57" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literal</text>			</g>
+			<g id="shape77-226" v:mID="77" v:groupContext="shape" transform="translate(16.9764,-13.7638)">
+				<title>Sheet.77</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group104-229" transform="translate(181.657,-168.901)" v:mID="104" v:groupContext="group">
+			<title>Sheet.104</title>
+			<g id="shape19-230" v:mID="19" v:groupContext="shape">
+				<title>Rounded rectangle.19</title>
+				<desc>variable</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="19.1339" cy="494.508" width="38.27" height="17.0079"/>
+				<path d="M29.76 503.01 A8.504 8.504 -180 0 0 38.27 494.51 A8.504 8.504 -180 0 0 29.76 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L29.76 503.01 Z" class="st4"/>
+				<text x="5.12" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variable</text>			</g>
+			<g id="shape78-233" v:mID="78" v:groupContext="shape" transform="translate(16.2992,-13.7638)">
+				<title>Sheet.78</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group105-236" transform="translate(131.342,-206.146)" v:mID="105" v:groupContext="group">
+			<title>Sheet.105</title>
+			<g id="shape75-237" v:mID="75" v:groupContext="shape" transform="translate(21.9528,0)">
+				<title>Sheet.75</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+			<g id="group94-240" transform="translate(0,-14.5827)" v:mID="94" v:groupContext="group">
+				<title>Sheet.94</title>
+				<g id="shape12-241" v:mID="12" v:groupContext="shape">
+					<title>Rounded rectangle.12</title>
+					<desc>value</desc>
+					<v:userDefs>
+						<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+					<v:textRect cx="25.5118" cy="494.508" width="51.03" height="17.0079"/>
+					<path d="M42.52 503.01 A8.504 8.504 -180 0 0 51.02 494.51 A8.504 8.504 -180 0 0 42.52 486 L8.5 486 A8.504 8.504
+								 -180 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L42.52 503.01 Z" class="st4"/>
+					<text x="15.94" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>value</text>				</g>
+				<g id="shape85-244" v:mID="85" v:groupContext="shape" transform="translate(20.5354,-13.2598)">
+					<title>Sheet.85</title>
+					<desc>1</desc>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+					<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+					<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+					<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>				</g>
+			</g>
+		</g>
+		<g id="group106-247" transform="translate(274.492,-0.24)" v:mID="106" v:groupContext="group">
+			<title>Sheet.106</title>
+			<g id="shape65-248" v:mID="65" v:groupContext="shape">
+				<title>Rounded rectangle.65</title>
+				<desc>variable</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="19.1339" cy="494.508" width="38.27" height="17.0079"/>
+				<path d="M29.76 503.01 A8.504 8.504 -180 0 0 38.27 494.51 A8.504 8.504 -180 0 0 29.76 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L29.76 503.01 Z" class="st4"/>
+				<text x="5.12" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variable</text>			</g>
+			<g id="shape82-251" v:mID="82" v:groupContext="shape" transform="translate(16.2677,-14.6772)">
+				<title>Sheet.82</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group107-254" transform="translate(231.972,-0.743937)" v:mID="107" v:groupContext="group">
+			<title>Sheet.107</title>
+			<g id="shape64-255" v:mID="64" v:groupContext="shape">
+				<title>Rounded rectangle.64</title>
+				<desc>literal</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="19.1339" cy="494.508" width="38.27" height="17.0079"/>
+				<path d="M29.76 503.01 A8.504 8.504 -180 0 0 38.27 494.51 A8.504 8.504 -180 0 0 29.76 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L29.76 503.01 Z" class="st4"/>
+				<text x="9.57" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literal</text>			</g>
+			<g id="shape81-258" v:mID="81" v:groupContext="shape" transform="translate(15.5591,-15.5906)">
+				<title>Sheet.81</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="group108-261" transform="translate(171.027,-1.15339)" v:mID="108" v:groupContext="group">
+			<title>Sheet.108</title>
+			<g id="shape68-262" v:mID="68" v:groupContext="shape">
+				<title>Rounded rectangle.68</title>
+				<desc>returnValue</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="26.5748" cy="494.508" width="53.15" height="17.0079"/>
+				<path d="M44.65 503.01 A8.504 8.504 -180 0 0 53.15 494.51 A8.504 8.504 -180 0 0 44.65 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L44.65 503.01 Z" class="st4"/>
+				<text x="5.9" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValue</text>			</g>
+			<g id="shape80-265" v:mID="80" v:groupContext="shape" transform="translate(23.3701,-14.6772)">
+				<title>Sheet.80</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="shape46-268" v:mID="46" v:groupContext="shape" transform="translate(192.287,-422.476)">
+			<title>Rounded rectangle.46</title>
+			<desc>constraint</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+			<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180 0
+						 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+			<text x="15.26" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>constraint</text>		</g>
+		<g id="shape87-271" v:mID="87" v:groupContext="shape" transform="translate(227.012,-366.413)">
+			<title>Rounded rectangle.87</title>
+			<desc>InlineEval</desc>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="32.5984" cy="494.508" width="65.2" height="17.0079"/>
+			<path d="M56.69 503.01 A8.504 8.504 -180 0 0 65.2 494.51 A8.504 8.504 -180 0 0 56.69 486 L8.5 486 A8.504 8.504 -180 0
+						 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L56.69 503.01 Z" class="st4"/>
+			<text x="15.26" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>InlineEval</text>		</g>
+		<g id="shape88-274" v:mID="88" v:groupContext="shape" v:layerMember="0" transform="translate(259.61,-383.421)">
+			<title>Dynamic connector.88</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 485.09 L-34.72 485.09 L-34.72 463.96" class="st1"/>
+		</g>
+		<g id="shape97-279" v:mID="97" v:groupContext="shape" v:layerMember="0" transform="translate(188.744,-382.618)">
+			<title>Dynamic connector.97</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 495.09 L0 494.73 L0 484.29 L36.14 484.29 L36.14 463.15" class="st1"/>
+		</g>
+		<g id="shape109-284" v:mID="109" v:groupContext="shape" v:layerMember="0" transform="translate(156.854,-220.728)">
+			<title>Dynamic connector.109</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 514.38 L-121.18 514.38 L-121.18 528.34" class="st3"/>
+		</g>
+		<g id="group112-289" transform="translate(0.24,-170.114)" v:mID="112" v:groupContext="group">
+			<title>Sheet.112</title>
+			<g id="shape110-290" v:mID="110" v:groupContext="shape">
+				<title>Rounded rectangle.61</title>
+				<desc>qualifiedIdentifier</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="35.4331" cy="494.508" width="70.87" height="17.0079"/>
+				<path d="M62.36 503.01 A8.504 8.504 -180 0 0 70.87 494.51 A8.504 8.504 -180 0 0 62.36 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L62.36 503.01 Z" class="st4"/>
+				<text x="5.18" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifier</text>			</g>
+			<g id="shape111-293" v:mID="111" v:groupContext="shape" transform="translate(31.1811,-14.1732)">
+				<title>Sheet.111</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="shape113-296" v:mID="113" v:groupContext="shape" v:layerMember="0" transform="translate(227.012,-56.8857)">
+			<title>Dynamic connector.113</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L0 524.67 L-95.67 524.67 L-95.67 533.96" class="st3"/>
+		</g>
+		<g id="group114-301" transform="translate(95.9093,-0.649449)" v:mID="114" v:groupContext="group">
+			<title>Sheet.114</title>
+			<g id="shape115-302" v:mID="115" v:groupContext="shape">
+				<title>Rounded rectangle.61</title>
+				<desc>qualifiedIdentifier</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="35.4331" cy="494.508" width="70.87" height="17.0079"/>
+				<path d="M62.36 503.01 A8.504 8.504 -180 0 0 70.87 494.51 A8.504 8.504 -180 0 0 62.36 486 L8.5 486 A8.504 8.504 -180
+							 0 0 0 494.51 A8.504 8.504 -180 0 0 8.5 503.01 L62.36 503.01 Z" class="st4"/>
+				<text x="5.18" y="496.91" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifier</text>			</g>
+			<g id="shape116-305" v:mID="116" v:groupContext="shape" transform="translate(31.1811,-14.1732)">
+				<title>Sheet.116</title>
+				<desc>1</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+				<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+				<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>			</g>
+		</g>
+		<g id="shape3-308" v:mID="3" v:groupContext="shape" transform="translate(210.681,-406.886)">
+			<title>Sheet.3</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape43-311" v:mID="43" v:groupContext="shape" transform="translate(105.799,-377.752)">
+			<title>Sheet.43</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.063" cy="495.012" width="24.13" height="16"/>
+			<rect x="0" y="487.012" width="24.126" height="16" class="st6"/>
+			<text x="5.4" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape45-314" v:mID="45" v:groupContext="shape" transform="translate(186.618,-380.586)">
+			<title>Sheet.45</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.063" cy="495.012" width="24.13" height="16"/>
+			<rect x="0" y="487.012" width="24.126" height="16" class="st6"/>
+			<text x="5.4" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape49-317" v:mID="49" v:groupContext="shape" transform="translate(257.484,-381.09)">
+			<title>Sheet.49</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.063" cy="495.012" width="24.13" height="16"/>
+			<rect x="0" y="487.012" width="24.126" height="16" class="st6"/>
+			<text x="5.4" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape86-320" v:mID="86" v:groupContext="shape" transform="translate(167.468,-415.232)">
+			<title>Sheet.86</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.063" cy="495.012" width="24.13" height="16"/>
+			<rect x="0" y="487.012" width="24.126" height="16" class="st6"/>
+			<text x="5.4" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape23-323" v:mID="23" v:groupContext="shape" transform="translate(278.744,-245.437)">
+			<title>Sheet.23</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape117-326" v:mID="117" v:groupContext="shape" v:layerMember="0" transform="translate(327.642,-269.736)">
+			<title>Dynamic connector.117</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<path d="M0 503.01 L36.14 503.01 L36.14 457.41 L-59.75 457.41" class="st3"/>
+		</g>
+		<g id="shape118-331" v:mID="118" v:groupContext="shape" transform="translate(324.067,-266.697)">
+			<title>Sheet.118</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+		<g id="shape119-334" v:mID="119" v:groupContext="shape" transform="translate(256.067,-301.72)">
+			<title>Sheet.119</title>
+			<desc>0..n</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.7559" cy="495.012" width="25.52" height="16"/>
+			<rect x="0" y="487.012" width="25.5118" height="16" class="st6"/>
+			<text x="6.08" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>0..n</text>		</g>
+		<g id="shape13-337" v:mID="13" v:groupContext="shape" transform="translate(309.925,-211.925)">
+			<title>Sheet.13</title>
+			<desc>1</desc>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.22835" cy="495.012" width="18.46" height="16"/>
+			<rect x="0" y="487.012" width="18.4567" height="16" class="st6"/>
+			<text x="7" y="497.41" class="st5" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text>		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/patternER.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 prefixAnd.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.61366in"
+		height="0.484719in" viewBox="0 0 260.184 34.8997" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-19);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-19" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape108-1" v:mID="108" v:groupContext="shape" v:layerMember="0" transform="translate(34.4225,-2.13018)">
+			<title>Process.108</title>
+			<desc>‘(’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="28.2299" width="19" height="13.3396"/>
+			<rect x="0" y="21.5601" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>’</text>		</g>
+		<g id="shape110-5" v:mID="110" v:groupContext="shape" v:layerMember="0" transform="translate(69.8556,-2.13018)">
+			<title>Process.110</title>
+			<desc>‘and’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="28.2299" width="23.82" height="13.3396"/>
+			<rect x="0" y="21.5601" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.45" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">and</tspan>’</text>		</g>
+		<g id="shape111-9" v:mID="111" v:groupContext="shape" v:layerMember="0" transform="translate(126.549,-2.13018)">
+			<title>Process.111</title>
+			<desc>CE</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="28.2299" width="42.94" height="13.3396"/>
+			<rect x="0" y="21.5601" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.92" y="30.63" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>CE</text>		</g>
+		<g id="shape112-12" v:mID="112" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.96391)">
+			<title>On-page reference.112</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape113-14" v:mID="113" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-1.71339)">
+			<title>Dynamic connector.113</title>
+			<path d="M0 27.81 L19.75 27.81" class="st5"/>
+		</g>
+		<g id="shape114-20" v:mID="114" v:groupContext="shape" v:layerMember="1" transform="translate(53.4143,-1.71339)">
+			<title>Dynamic connector.114</title>
+			<path d="M0 27.81 L13.68 27.81" class="st5"/>
+		</g>
+		<g id="shape115-25" v:mID="115" v:groupContext="shape" v:layerMember="1" transform="translate(93.666,-1.71339)">
+			<title>Dynamic connector.115</title>
+			<path d="M0 27.81 L30.12 27.81" class="st5"/>
+		</g>
+		<g id="shape116-30" v:mID="116" v:groupContext="shape" v:layerMember="1" transform="translate(169.486,-1.71339)">
+			<title>Dynamic connector.116</title>
+			<path d="M0 27.81 L5.31 27.81 A5.31496 5.31496 -180 0 0 10.63 22.5 L10.63 16.18 A5.66929 5.66929 -180 0 0 4.96 10.51
+						 L-47.9 10.51 A5.66929 5.66929 -180 0 0 -53.57 16.18 L-53.57 22.5 A5.31496 5.31496 -180 0 0 -48.25 27.81
+						 L-45.7 27.81" class="st5"/>
+		</g>
+		<g id="shape117-35" v:mID="117" v:groupContext="shape" v:layerMember="0" transform="translate(204.501,-2.13018)">
+			<title>Process.117</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="28.2299" width="19" height="13.3396"/>
+			<rect x="0" y="21.5601" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="30.63" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape118-39" v:mID="118" v:groupContext="shape" v:layerMember="1;0" transform="translate(248.271,-2.96391)">
+			<title>On-page reference.118</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 29.06 A5.83609 5.83609 0 1 1 11.67 29.06 A5.83609 5.83609 0 0 1 0 29.06 Z" class="st1"/>
+		</g>
+		<g id="shape119-41" v:mID="119" v:groupContext="shape" v:layerMember="1" transform="translate(169.486,-1.71339)">
+			<title>Dynamic connector.119</title>
+			<path d="M0 27.81 L32.25 27.81" class="st5"/>
+		</g>
+		<g id="shape120-46" v:mID="120" v:groupContext="shape" v:layerMember="1" transform="translate(223.493,-1.71339)">
+			<title>Dynamic connector.120</title>
+			<path d="M0 27.81 L22.02 27.81" class="st5"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixAnd.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 prefixOr.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.81213in"
+		height="0.474097in" viewBox="0 0 346.474 34.135" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {marker-end:url(#mrkr2-19);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st6 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-19" class="st6" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape121-1" v:mID="121" v:groupContext="shape" v:layerMember="0" transform="translate(120.712,-2.13018)">
+			<title>Process.121</title>
+			<desc>‘(’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="27.4652" width="19" height="13.3396"/>
+			<rect x="0" y="20.7954" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="29.87" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>’</text>		</g>
+		<g id="shape122-5" v:mID="122" v:groupContext="shape" v:layerMember="0" transform="translate(156.146,-2.13018)">
+			<title>Process.122</title>
+			<desc>‘or’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="11.9052" cy="27.4652" width="23.82" height="13.3396"/>
+			<rect x="0" y="20.7954" width="23.8103" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.57" y="29.87" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">or</tspan>’</text>		</g>
+		<g id="shape123-9" v:mID="123" v:groupContext="shape" v:layerMember="0" transform="translate(212.838,-2.13018)">
+			<title>Process.123</title>
+			<desc>CE</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.4689" cy="27.4652" width="42.94" height="13.3396"/>
+			<rect x="0" y="20.7954" width="42.9378" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.92" y="29.87" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>CE</text>		</g>
+		<g id="shape124-12" v:mID="124" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-2.96391)">
+			<title>On-page reference.124</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 28.3 A5.83609 5.83609 0 1 1 11.67 28.3 A5.83609 5.83609 0 0 1 0 28.3 Z" class="st1"/>
+		</g>
+		<g id="shape140-14" v:mID="140" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-1.71339)">
+			<title>Dynamic connector.140</title>
+			<path d="M0 27.05 L106.04 27.05" class="st5"/>
+		</g>
+		<g id="shape141-20" v:mID="141" v:groupContext="shape" v:layerMember="1" transform="translate(139.704,-1.71339)">
+			<title>Dynamic connector.141</title>
+			<path d="M0 27.05 L13.68 27.05" class="st5"/>
+		</g>
+		<g id="shape142-25" v:mID="142" v:groupContext="shape" v:layerMember="1" transform="translate(179.956,-1.71339)">
+			<title>Dynamic connector.142</title>
+			<path d="M0 27.05 L30.12 27.05" class="st5"/>
+		</g>
+		<g id="shape143-30" v:mID="143" v:groupContext="shape" v:layerMember="1" transform="translate(255.776,-1.71339)">
+			<title>Dynamic connector.143</title>
+			<path d="M0 27.05 L5.31 27.05 A5.31496 5.31496 -180 0 0 10.63 21.73 L10.63 16.48 A5.66929 5.66929 -180 0 0 4.96 10.81
+						 L-47.9 10.81 A5.66929 5.66929 -180 0 0 -53.57 16.48 L-53.57 21.73 A5.31496 5.31496 -180 0 0 -48.25 27.05
+						 L-45.7 27.05" class="st5"/>
+		</g>
+		<g id="shape144-35" v:mID="144" v:groupContext="shape" v:layerMember="0" transform="translate(290.791,-2.13018)">
+			<title>Process.144</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.49589" cy="27.4652" width="19" height="13.3396"/>
+			<rect x="0" y="20.7954" width="18.9918" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.39" y="29.87" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape145-39" v:mID="145" v:groupContext="shape" v:layerMember="1;0" transform="translate(334.561,-2.96391)">
+			<title>On-page reference.145</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 28.3 A5.83609 5.83609 0 1 1 11.67 28.3 A5.83609 5.83609 0 0 1 0 28.3 Z" class="st1"/>
+		</g>
+		<g id="shape146-41" v:mID="146" v:groupContext="shape" v:layerMember="1" transform="translate(255.776,-1.71339)">
+			<title>Dynamic connector.146</title>
+			<path d="M0 27.05 L32.25 27.05" class="st5"/>
+		</g>
+		<g id="shape147-46" v:mID="147" v:groupContext="shape" v:layerMember="1" transform="translate(309.783,-1.71339)">
+			<title>Dynamic connector.147</title>
+			<path d="M0 27.05 L22.02 27.05" class="st5"/>
+		</g>
+		<g id="shape148-51" v:mID="148" v:groupContext="shape" v:layerMember="0" transform="translate(37.7568,-20.5554)">
+			<title>Process.148</title>
+			<desc>patternBinding</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="27.8469" cy="27.4652" width="55.7" height="13.3396"/>
+			<rect x="0" y="20.7954" width="55.6937" height="13.3396" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="2.05" y="29.87" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>patternBinding</text>		</g>
+		<g id="shape149-54" v:mID="149" v:groupContext="shape" v:layerMember="1" transform="translate(11.9122,-8.8)">
+			<title>Dynamic connector.149</title>
+			<path d="M0 34.14 L5.31 34.14 A5.31496 5.31496 -180 0 0 10.63 28.82 L10.63 21.38 A5.66929 5.66929 0 0 1 16.3 15.71 L23.08
+						 15.71" class="st5"/>
+		</g>
+		<g id="shape150-59" v:mID="150" v:groupContext="shape" v:layerMember="1" transform="translate(93.4505,-27.2252)">
+			<title>Dynamic connector.150</title>
+			<path d="M0 34.14 L6.17 34.14 A5.66929 5.66929 0 0 1 11.84 39.8 L11.84 46.89 A5.66929 5.66929 -180 0 0 17.51 52.56 L24.5
+						 52.56" class="st5"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/prefixOr.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 qualifiedIdentifier.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.13265in"
+		height="0.574199in" viewBox="0 0 153.551 41.3424" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape30-1" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(109.23,1.42109E-014)">
+			<title>Dynamic connector.30</title>
+			<path d="M0 34.26 L29.86 34.26" class="st1"/>
+		</g>
+		<g id="shape31-7" v:mID="31" v:groupContext="shape" v:layerMember="0;1" transform="translate(141.846,-1.35433)">
+			<title>On-page reference.31</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 35.61 A5.73228 5.73228 0 0 1 11.46 35.61 A5.73228 5.73228 0 1 1 0 35.61 Z" class="st3"/>
+		</g>
+		<g id="shape32-9" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(109.23,-7.08661)">
+			<title>Dynamic connector.32</title>
+			<path d="M0 41.34 L5.31 41.34 A5.31496 5.31496 -180 0 0 10.63 36.03 L10.63 19.55 A5.66929 5.66929 -180 0 0 4.96 13.88
+						 L-16.77 13.88" class="st1"/>
+		</g>
+		<g id="shape33-14" v:mID="33" v:groupContext="shape" v:layerMember="1" transform="translate(63.8462,-28)">
+			<title>Process.33</title>
+			<desc>.</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="12.9292" cy="34.7912" width="25.86" height="13.1024"/>
+			<rect x="0" y="28.24" width="25.8585" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="11.81" y="37.19" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>.</text>		</g>
+		<g id="shape34-17" v:mID="34" v:groupContext="shape" v:layerMember="1" transform="translate(47.1556,-0.535433)">
+			<title>Process.34</title>
+			<desc>identifier</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="34.7912" width="62.08" height="13.1024"/>
+			<rect x="0" y="28.24" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="15.91" y="37.19" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>identifier</text>		</g>
+		<g id="shape35-20" v:mID="35" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.35</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 35.61 A5.73228 5.73228 0 0 1 11.46 35.61 A5.73228 5.73228 0 1 1 0 35.61 Z" class="st3"/>
+		</g>
+		<g id="shape36-22" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,1.42109E-014)">
+			<title>Dynamic connector.36</title>
+			<path d="M0 34.26 L32.69 34.26" class="st1"/>
+		</g>
+		<g id="shape70-27" v:mID="70" v:groupContext="shape" v:layerMember="0" transform="translate(63.8462,-34.5512)">
+			<title>Dynamic connector.70</title>
+			<path d="M0 41.34 L-21.65 41.34 A5.66929 5.66929 -180 0 0 -27.32 47.01 L-27.32 63.49 A5.31496 5.31496 -180 0 0 -22.01
+						 68.81 L-19.45 68.81" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifier.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 qualifiedIdentifierRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.4378in"
+		height="0.19685in" viewBox="0 0 247.522 14.1732" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape68-1" v:mID="68" v:groupContext="shape" v:layerMember="0" transform="translate(91.6546,1.42109E-014)">
+			<title>Dynamic connector.68</title>
+			<path d="M0 7.09 L29.56 7.09" class="st1"/>
+		</g>
+		<g id="shape69-7" v:mID="69" v:groupContext="shape" v:layerMember="0;1" transform="translate(235.817,-1.35433)">
+			<title>On-page reference.69</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st3"/>
+		</g>
+		<g id="shape71-9" v:mID="71" v:groupContext="shape" v:layerMember="0" transform="translate(214.684,1.42109E-014)">
+			<title>Dynamic connector.71</title>
+			<path d="M0 7.09 L18.37 7.09" class="st1"/>
+		</g>
+		<g id="shape72-14" v:mID="72" v:groupContext="shape" v:layerMember="1" transform="translate(123.975,-0.535433)">
+			<title>Process.72</title>
+			<desc>qualifiedIdentifierValue</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="45.3543" cy="7.62205" width="90.71" height="13.1024"/>
+			<rect x="0" y="1.07087" width="90.7087" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="4.88" y="10.02" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifierValue</text>		</g>
+		<g id="shape73-17" v:mID="73" v:groupContext="shape" v:layerMember="1" transform="translate(29.5802,-0.535433)">
+			<title>Process.73</title>
+			<desc>operator</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="7.62205" width="62.08" height="13.1024"/>
+			<rect x="0" y="1.07087" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="16.13" y="10.02" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>operator</text>		</g>
+		<g id="shape74-20" v:mID="74" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.74</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st3"/>
+		</g>
+		<g id="shape75-22" v:mID="75" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,1.42109E-014)">
+			<title>Dynamic connector.75</title>
+			<path d="M0 7.09 L15.12 7.09" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/qualifiedIdentifierRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 query.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.6136in"
+		height="2.52947in" viewBox="0 0 332.179 182.122" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st5 {font-size:1em}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape2-1" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(63.889,-143.921)">
+			<title>Dynamic connector.4</title>
+			<path d="M0.15 175.04 L11.26 175.04" class="st1"/>
+		</g>
+		<g id="shape3-7" v:mID="3" v:groupContext="shape" v:layerMember="1" transform="translate(30.9702,-144.394)">
+			<title>Process.1</title>
+			<desc>‘query’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.5354" cy="175.508" width="33.08" height="13.2283"/>
+			<rect x="0" y="168.893" width="33.0709" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="4.74" y="177.91" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5"
+						v:langID="2057">query</tspan>’</text>		</g>
+		<g id="shape9-11" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(61.8191,-21.1455)">
+			<title>Process.58</title>
+			<desc>‘end’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6693" cy="175.508" width="41.34" height="13.2283"/>
+			<rect x="0" y="168.893" width="41.3386" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="12.22" y="177.91" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5"
+						v:langID="2057">end</tspan>’</text>		</g>
+		<g id="shape20-15" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(82.3407,-48.5471)">
+			<title>Process.69</title>
+			<desc>LHS</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0856" cy="175.508" width="36.18" height="13.2283"/>
+			<rect x="0" y="168.893" width="36.1713" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="10.29" y="177.91" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>LHS</text>		</g>
+		<g id="shape24-18" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(118.512,-55.1613)">
+			<title>Dynamic connector.73</title>
+			<path d="M0 182.12 L5.31 182.12 A5.31496 5.31496 0 0 1 10.63 187.44 L10.63 190.15 A5.66929 5.66929 0 0 1 4.96 195.82
+						 L-61.65 195.82 A5.66929 5.66929 -180 0 0 -67.32 201.49 L-67.32 204.21 A5.31496 5.31496 -180 0 0 -62.01 209.52
+						 L-59.45 209.52" class="st1"/>
+		</g>
+		<g id="shape31-23" v:mID="31" v:groupContext="shape" v:layerMember="0;1" transform="translate(2.29152,-170.307)">
+			<title>On-page reference.135</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 176.33 A5.7874 5.7874 0 0 1 11.57 176.33 A5.7874 5.7874 0 1 1 0 176.33 Z" class="st3"/>
+		</g>
+		<g id="shape32-25" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(13.8663,-176.094)">
+			<title>Dynamic connector.136</title>
+			<path d="M0 182.12 L3.07 182.12 A3.06684 3.06684 0 0 1 6.13 185.19 L6.13 201.72 A5.48508 5.48508 -180 0 0 11.62 207.21
+						 L14.34 207.21" class="st1"/>
+		</g>
+		<g id="shape34-30" v:mID="34" v:groupContext="shape" v:layerMember="0;1" transform="translate(123.945,-0.24)">
+			<title>On-page reference.138</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 176.33 A5.7874 5.7874 0 0 1 11.57 176.33 A5.7874 5.7874 0 1 1 0 176.33 Z" class="st3"/>
+		</g>
+		<g id="shape36-32" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(103.158,-27.7597)">
+			<title>Dynamic connector.140</title>
+			<path d="M0 182.12 L5.31 182.12 A5.31496 5.31496 0 0 1 10.63 187.44 L10.63 198.78 A5.07874 5.07874 -180 0 0 15.71 203.85
+						 L18.03 203.85" class="st1"/>
+		</g>
+		<g id="shape6-37" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(77.9101,-144.394)">
+			<title>Process.6</title>
+			<desc>name</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.5354" cy="175.508" width="33.08" height="13.2283"/>
+			<rect x="0" y="168.893" width="33.0709" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.52" y="177.91" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name</text>		</g>
+		<g id="shape37-40" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(110.981,-151.008)">
+			<title>Dynamic connector.37</title>
+			<path d="M0 182.12 L5.31 182.12 A5.31496 5.31496 0 0 1 10.63 187.44 L10.63 191.1 A5.66929 5.66929 0 0 1 4.96 196.77 L-64.78
+						 196.77 A5.66929 5.66929 -180 0 0 -70.45 202.44 L-70.45 272.3 A5.66929 5.66929 -180 0 0 -64.78 277.97 L-31.4
+						 277.97" class="st1"/>
+		</g>
+		<g id="shape38-45" v:mID="38" v:groupContext="shape" v:layerMember="1" transform="translate(151.288,-111.854)">
+			<title>Process.38</title>
+			<desc>type</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.5354" cy="175.508" width="33.08" height="13.2283"/>
+			<rect x="0" y="168.893" width="33.0709" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="8.96" y="177.91" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>type</text>		</g>
+		<g id="shape39-48" v:mID="39" v:groupContext="shape" v:layerMember="1" transform="translate(220.264,-111.854)">
+			<title>Process.39</title>
+			<desc>identifier</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.2598" cy="175.508" width="42.52" height="13.2283"/>
+			<rect x="0" y="168.893" width="42.5197" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.13" y="177.91" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>identifier</text>		</g>
+		<g id="shape40-51" v:mID="40" v:groupContext="shape" v:layerMember="0" transform="translate(110.981,-143.921)">
+			<title>Dynamic connector.40</title>
+			<path d="M0 175.04 L23.2 175.04" class="st1"/>
+		</g>
+		<g id="shape41-56" v:mID="41" v:groupContext="shape" v:layerMember="0" transform="translate(154.536,-151.008)">
+			<title>Dynamic connector.41</title>
+			<path d="M0 182.12 L49.43 182.12 A5.66929 5.66929 0 0 1 55.1 187.79 L55.1 209.35 A5.31496 5.31496 -180 0 0 60.41 214.66
+						 L62.97 214.66" class="st1"/>
+		</g>
+		<g id="shape42-61" v:mID="42" v:groupContext="shape" v:layerMember="0" transform="translate(184.358,-111.382)">
+			<title>Dynamic connector.42</title>
+			<path d="M0 175.04 L33.15 175.04" class="st1"/>
+		</g>
+		<g id="shape43-66" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(287.705,-111.854)">
+			<title>Process.43</title>
+			<desc>‘,’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="8.79921" cy="175.508" width="17.6" height="13.2283"/>
+			<rect x="0" y="168.893" width="17.5984" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="5.91" y="177.91" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5"
+						v:langID="2057">,</tspan>’</text>		</g>
+		<g id="shape44-70" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(136.937,-144.394)">
+			<title>Process.44</title>
+			<desc>‘(’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="8.79921" cy="175.508" width="17.6" height="13.2283"/>
+			<rect x="0" y="168.893" width="17.5984" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="5.69" y="177.91" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5"
+						v:langID="2057">(</tspan>’</text>		</g>
+		<g id="shape45-74" v:mID="45" v:groupContext="shape" v:layerMember="0" transform="translate(159.998,-151.008)">
+			<title>Dynamic connector.45</title>
+			<path d="M-5.46 182.12 L-0.15 182.12 A5.31496 5.31496 0 0 1 5.17 187.44 L5.17 191.75 A5.66929 5.66929 0 0 1 -0.5 197.42
+						 L-13.67 197.42 A5.66929 5.66929 -180 0 0 -19.34 203.09 L-19.34 209.35 A5.31496 5.31496 -180 0 0 -14.03 214.66
+						 L-11.47 214.66" class="st1"/>
+		</g>
+		<g id="shape46-79" v:mID="46" v:groupContext="shape" v:layerMember="0" transform="translate(138.059,-80.2006)">
+			<title>Dynamic connector.46</title>
+			<path d="M0 182.12 L-60.68 182.12 A5.66929 5.66929 -180 0 0 -66.35 187.79 L-66.35 201.85 A5.31496 5.31496 -180 0 0 -61.03
+						 207.16 L-58.48 207.16" class="st1"/>
+		</g>
+		<g id="shape47-84" v:mID="47" v:groupContext="shape" v:layerMember="1" transform="translate(138.059,-73.5865)">
+			<title>Process.47</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="8.79921" cy="175.508" width="17.6" height="13.2283"/>
+			<rect x="0" y="168.893" width="17.5984" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="5.69" y="177.91" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape48-88" v:mID="48" v:groupContext="shape" v:layerMember="0" transform="translate(305.303,-111.382)">
+			<title>Dynamic connector.48</title>
+			<path d="M0 175.04 L5.31 175.04 A5.31496 5.31496 0 0 1 10.63 180.35 L10.63 190.98 A5.66929 5.66929 0 0 1 4.96 196.65
+						 L-90 196.65 A5.66929 5.66929 0 0 1 -95.67 190.98 L-95.67 180.35 A5.31496 5.31496 0 0 1 -90.35 175.04 L-87.8
+						 175.04" class="st1"/>
+		</g>
+		<g id="shape49-93" v:mID="49" v:groupContext="shape" v:layerMember="0" transform="translate(305.303,-111.382)">
+			<title>Dynamic connector.49</title>
+			<path d="M0 175.04 L5.31 175.04 A5.31496 5.31496 0 0 1 10.63 180.35 L10.63 190.98 A5.66929 5.66929 0 0 1 4.96 196.65
+						 L-171.5 196.65 A5.66929 5.66929 0 0 1 -177.17 190.98 L-177.17 180.7 A5.66929 5.66929 0 0 1 -171.5 175.04
+						 L-156.78 175.04" class="st1"/>
+		</g>
+		<g id="shape50-98" v:mID="50" v:groupContext="shape" v:layerMember="0" transform="translate(262.784,-118.468)">
+			<title>Dynamic connector.50</title>
+			<path d="M0 182.12 L4.4 182.12 A4.39961 4.39961 -180 0 0 8.8 177.72 L8.8 173.62 A5.66929 5.66929 0 0 1 14.47 167.95 L59.82
+						 167.95 A5.66929 5.66929 0 0 1 65.49 173.62 L65.49 214.72 A5.66929 5.66929 0 0 1 59.82 220.39 L-104.37 220.39"
+					class="st1"/>
+		</g>
+		<g id="shape51-103" v:mID="51" v:groupContext="shape" v:layerMember="0" transform="translate(262.784,-111.382)">
+			<title>Dynamic connector.51</title>
+			<path d="M0 175.04 L22.16 175.04" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/query.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 regexpRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.09507in"
+		height="0.244444in" viewBox="0 0 222.845 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape30-1" v:mID="30" v:groupContext="shape" v:layerMember="0;1" transform="translate(211.14,-3.06772)">
+			<title>On-page reference.56</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+		<g id="shape31-3" v:mID="31" v:groupContext="shape" v:layerMember="1" transform="translate(151.329,-2.24882)">
+			<title>Process.31</title>
+			<desc>regexp</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="21.3466" cy="11.0488" width="42.7" height="13.1024"/>
+			<rect x="0" y="4.49764" width="42.6931" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.12" y="13.45" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>regexp</text>		</g>
+		<g id="shape32-6" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(128.338,-1.71339)">
+			<title>Dynamic connector.58</title>
+			<path d="M0 10.51 L20.23 10.51" class="st3"/>
+		</g>
+		<g id="shape33-12" v:mID="33" v:groupContext="shape" v:layerMember="0" transform="translate(194.022,-1.71339)">
+			<title>Dynamic connector.33</title>
+			<path d="M0 10.51 L14.36 10.51" class="st3"/>
+		</g>
+		<g id="shape34-17" v:mID="34" v:groupContext="shape" v:layerMember="1" transform="translate(29.5802,-2.24882)">
+			<title>Process.60</title>
+			<desc>‘matches’ | ‘not matches’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="49.3791" cy="11.0488" width="98.76" height="13.1024"/>
+			<rect x="0" y="4.49764" width="98.7581" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="5.65" y="13.45" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘matches’ | ‘not matches’</text>		</g>
+		<g id="shape35-20" v:mID="35" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-3.06772)">
+			<title>On-page reference.61</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/>
+		</g>
+		<g id="shape36-22" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-1.71339)">
+			<title>Dynamic connector.62</title>
+			<path d="M0 10.51 L15.12 10.51" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/regexpRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 restriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.33093in"
+		height="0.93203in" viewBox="0 0 167.827 67.1061" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-17" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape63-1" v:mID="63" v:groupContext="shape" v:layerMember="0;1" transform="translate(156.122,-54.2872)">
+			<title>On-page reference.63</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 61.37 A5.73228 5.73228 0 0 1 11.46 61.37 A5.73228 5.73228 0 1 1 0 61.37 Z" class="st1"/>
+		</g>
+		<g id="shape70-3" v:mID="70" v:groupContext="shape" v:layerMember="1" transform="translate(36.3498,-53.4683)">
+			<title>Process.70</title>
+			<desc>singleValueRestrion</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="47.5636" cy="60.555" width="95.13" height="13.1024"/>
+			<rect x="0" y="54.0038" width="95.1273" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="12" y="62.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>singleValueRestrion</text>		</g>
+		<g id="shape116-6" v:mID="116" v:groupContext="shape" v:layerMember="1" transform="translate(35.6093,-26.8542)">
+			<title>Process.116</title>
+			<desc>compoundValueRestrion</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="47.5636" cy="60.555" width="95.13" height="13.1024"/>
+			<rect x="0" y="54.0038" width="95.1273" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="3.77" y="62.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>compoundValueRestrion</text>		</g>
+		<g id="shape117-9" v:mID="117" v:groupContext="shape" v:layerMember="1" transform="translate(35.6093,-0.24)">
+			<title>Process.117</title>
+			<desc>multiRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="47.5636" cy="60.555" width="95.13" height="13.1024"/>
+			<rect x="0" y="54.0038" width="95.1273" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="20.24" y="62.95" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>multiRestriction</text>		</g>
+		<g id="shape124-12" v:mID="124" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-60.0195)">
+			<title>Dynamic connector.124</title>
+			<path d="M0 67.11 L7.5 67.11 A5.66929 5.66929 0 0 1 13.17 72.78 L13.17 114.97 A5.36783 5.36783 -180 0 0 18.54 120.33
+						 L21.14 120.33" class="st3"/>
+		</g>
+		<g id="shape138-18" v:mID="138" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-60.0195)">
+			<title>Dynamic connector.138</title>
+			<path d="M0 67.11 L7.4 67.11 A5.66929 5.66929 0 0 1 13.07 72.78 L13.07 88.3 A5.41668 5.41668 -180 0 0 18.49 93.72 L21.14
+						 93.72" class="st3"/>
+		</g>
+		<g id="shape139-23" v:mID="139" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-52.9329)">
+			<title>Dynamic connector.139</title>
+			<path d="M0 60.02 L21.89 60.02" class="st3"/>
+		</g>
+		<g id="shape140-28" v:mID="140" v:groupContext="shape" v:layerMember="0" transform="translate(131.477,-67.1061)">
+			<title>Dynamic connector.140</title>
+			<path d="M0 74.19 L21.89 74.19" class="st3"/>
+		</g>
+		<g id="shape141-33" v:mID="141" v:groupContext="shape" v:layerMember="0" transform="translate(130.737,-33.4054)">
+			<title>Dynamic connector.141</title>
+			<path d="M0 67.11 L5.31 67.11 A5.31496 5.31496 -180 0 0 10.63 61.79 L10.63 46.16 A5.66929 5.66929 0 0 1 16.3 40.49 L22.63
+						 40.49" class="st3"/>
+		</g>
+		<g id="shape142-38" v:mID="142" v:groupContext="shape" v:layerMember="0" transform="translate(130.737,-6.79118)">
+			<title>Dynamic connector.142</title>
+			<path d="M0 67.11 L5.31 67.11 A5.31496 5.31496 -180 0 0 10.63 61.79 L10.63 19.55 A5.66929 5.66929 0 0 1 16.3 13.88 L22.63
+						 13.88" class="st3"/>
+		</g>
+		<g id="shape143-43" v:mID="143" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-54.2872)">
+			<title>On-page reference.143</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 61.37 A5.73228 5.73228 0 0 1 11.46 61.37 A5.73228 5.73228 0 1 1 0 61.37 Z" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 restrictionGroup.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.91346in"
+		height="0.204527in" viewBox="0 0 209.769 14.7259" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-9);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st6 {font-size:1em}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-9" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape34-1" v:mID="34" v:groupContext="shape" v:layerMember="0" transform="translate(71.6694,-0.811775)">
+			<title>Process.34</title>
+			<desc>multiRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="34.0157" cy="8.17473" width="68.04" height="13.1024"/>
+			<rect x="0" y="1.62355" width="68.0315" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.69" y="10.57" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>multiRestriction</text>		</g>
+		<g id="shape35-4" v:mID="35" v:groupContext="shape" v:layerMember="1" transform="translate(139.701,-0.276342)">
+			<title>Dynamic connector.35</title>
+			<path d="M0 7.64 L12.83 7.64" class="st3"/>
+		</g>
+		<g id="shape36-10" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(32.9308,-0.24)">
+			<title>Process.36</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="7.60296" width="21.37" height="14.2459"/>
+			<rect x="0" y="0.48" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="10" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape37-14" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(155.291,-0.24)">
+			<title>Process.37</title>
+			<desc>‘)‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.6844" cy="7.60296" width="21.37" height="14.2459"/>
+			<rect x="0" y="0.48" width="21.3689" height="14.2459" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.57" y="10" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st6"
+						v:langID="2057">)</tspan>‘</text>		</g>
+		<g id="shape39-18" v:mID="39" v:groupContext="shape" v:layerMember="1;0" transform="translate(197.064,-1.13037)">
+			<title>On-page reference.39</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.49 A6.23259 6.23259 0 0 1 12.47 8.49 A6.23259 6.23259 0 1 1 0 8.49 Z" class="st1"/>
+		</g>
+		<g id="shape55-20" v:mID="55" v:groupContext="shape" v:layerMember="1" transform="translate(176.66,-0.276342)">
+			<title>Dynamic connector.55</title>
+			<path d="M0 7.64 L17.64 7.64" class="st3"/>
+		</g>
+		<g id="shape147-25" v:mID="147" v:groupContext="shape" v:layerMember="1" transform="translate(54.2997,-0.276342)">
+			<title>Dynamic connector.147</title>
+			<path d="M0 7.64 L14.61 7.64" class="st3"/>
+		</g>
+		<g id="shape149-30" v:mID="149" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-1.09403)">
+			<title>On-page reference.149</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.49 A6.23259 6.23259 0 0 1 12.47 8.49 A6.23259 6.23259 0 1 1 0 8.49 Z" class="st1"/>
+		</g>
+		<g id="shape150-32" v:mID="150" v:groupContext="shape" v:layerMember="1" transform="translate(12.7052,-0.258171)">
+			<title>Dynamic connector.150</title>
+			<path d="M0 7.66 L10.61 7.66 a0.0181708 0.0181708 -180 0 0 0.0181708 -0.0181708 L10.63 7.64 a0.0181708 0.0181708 0 0
+						 1 0.0181708 -0.0181708 L17.47 7.62" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/restrictionGroup.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 returnValue.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.82338in"
+		height="0.19685in" viewBox="0 0 203.283 14.1732" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-14);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-14" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape57-1" v:mID="57" v:groupContext="shape" v:layerMember="0" transform="translate(29.8693,-0.535433)">
+			<title>Process.17</title>
+			<desc>‘(‘</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="7.62205" width="19.66" height="13.1024"/>
+			<rect x="0" y="1.07087" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.72" y="10.02" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">(</tspan>‘</text>		</g>
+		<g id="shape58-5" v:mID="58" v:groupContext="shape" v:layerMember="0" transform="translate(149.248,-0.535433)">
+			<title>Process.18</title>
+			<desc>‘)’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="9.82677" cy="7.62205" width="19.66" height="13.1024"/>
+			<rect x="0" y="1.07087" width="19.6535" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.72" y="10.02" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">)</tspan>’</text>		</g>
+		<g id="shape59-9" v:mID="59" v:groupContext="shape" v:layerMember="1" transform="translate(11.7046,7.81597E-014)">
+			<title>Dynamic connector.21</title>
+			<path d="M0 7.09 L15.4 7.09" class="st4"/>
+		</g>
+		<g id="shape60-15" v:mID="60" v:groupContext="shape" v:layerMember="1;0" transform="translate(191.579,-1.35433)">
+			<title>On-page reference.23</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+		<g id="shape61-17" v:mID="61" v:groupContext="shape" v:layerMember="1" transform="translate(168.901,7.81597E-014)">
+			<title>Dynamic connector.24</title>
+			<path d="M0 7.09 L19.92 7.09" class="st4"/>
+		</g>
+		<g id="shape62-22" v:mID="62" v:groupContext="shape" v:layerMember="0" transform="translate(69.2392,-0.535433)">
+			<title>Process.26</title>
+			<desc>expression</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.4689" cy="7.62205" width="50.94" height="13.1024"/>
+			<rect x="0" y="1.07087" width="50.9378" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.13" y="10.02" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>expression</text>		</g>
+		<g id="shape63-25" v:mID="63" v:groupContext="shape" v:layerMember="1" transform="translate(49.5229,7.81597E-014)">
+			<title>Dynamic connector.63</title>
+			<path d="M0 7.09 L16.96 7.09" class="st4"/>
+		</g>
+		<g id="shape64-30" v:mID="64" v:groupContext="shape" v:layerMember="1" transform="translate(120.177,7.81597E-014)">
+			<title>Dynamic connector.29</title>
+			<path d="M0 7.09 L26.31 7.09" class="st4"/>
+		</g>
+		<g id="shape65-35" v:mID="65" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.32</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValue.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 returnValueRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.113in"
+		height="0.19685in" viewBox="0 0 224.136 14.1732" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape3-1" v:mID="3" v:groupContext="shape" v:layerMember="0" transform="translate(91.6546,1.42109E-014)">
+			<title>Dynamic connector.177</title>
+			<path d="M0 7.09 L46.87 7.09" class="st1"/>
+		</g>
+		<g id="shape4-7" v:mID="4" v:groupContext="shape" v:layerMember="0;1" transform="translate(212.432,-1.35433)">
+			<title>On-page reference.179</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st3"/>
+		</g>
+		<g id="shape5-9" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(192.22,1.42109E-014)">
+			<title>Dynamic connector.180</title>
+			<path d="M0 7.09 L17.45 7.09" class="st1"/>
+		</g>
+		<g id="shape6-14" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(141.282,-0.535433)">
+			<title>Process.181</title>
+			<desc>returnValue</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="25.4689" cy="7.62205" width="50.94" height="13.1024"/>
+			<rect x="0" y="1.07087" width="50.9378" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="4.8" y="10.02" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValue</text>		</g>
+		<g id="shape20-17" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(29.5802,-0.535433)">
+			<title>Process.7</title>
+			<desc>operator</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="7.62205" width="62.08" height="13.1024"/>
+			<rect x="0" y="1.07087" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="16.13" y="10.02" class="st4" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>operator</text>		</g>
+		<g id="shape21-20" v:mID="21" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.45</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st3"/>
+		</g>
+		<g id="shape22-22" v:mID="22" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,1.42109E-014)">
+			<title>Dynamic connector.22</title>
+			<path d="M0 7.09 L15.12 7.09" class="st1"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/returnValueRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 rule.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="1.73077in" height="3.19794in" viewBox="0 0 124.616 230.252" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {marker-end:url(#mrkr2-6);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st3 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st5 {font-size:1em}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-6" class="st2" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape2-1" v:mID="2" v:groupContext="shape" v:layerMember="0" transform="translate(61.8374,-205.988)">
+			<title content="structured text">Dynamic connector.4</title>
+			<path d="M0.15 237.1 L6.96 237.1 L6.96 237.57 L11.26 237.57" class="st1"/>
+		</g>
+		<g id="shape3-7" v:mID="3" v:groupContext="shape" v:layerMember="1" transform="translate(28.9186,-192.523)">
+			<title content="structured text">Process.1</title>
+			<desc content="structured text">‘rule’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.5354" cy="223.637" width="33.08" height="13.2283"/>
+			<rect x="0" y="217.023" width="33.0709" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="8.08" y="226.04" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">rule</tspan>’</text>		</g>
+		<g id="shape4-11" v:mID="4" v:groupContext="shape" v:layerMember="1" transform="translate(49.8906,-163.705)">
+			<title content="structured text">Process.4</title>
+			<desc content="structured text">attributes</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="22.6329" cy="223.637" width="45.27" height="13.2283"/>
+			<rect x="0" y="217.023" width="45.2657" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.17" y="226.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>attribute<tspan class="st5" v:langID="1033">s</tspan></text>		</g>
+		<g id="shape7-15" v:mID="7" v:groupContext="shape" v:layerMember="0" transform="translate(108.929,-198.665)">
+			<title content="structured text">Dynamic connector.3</title>
+			<path d="M0 230.25 L6.11 230.25 A5.66929 5.66929 0 0 1 11.78 235.92 L11.78 238.76 A5.66929 5.66929 0 0 1 6.11 244.42        L-67.23 244.42 A5.66929 5.66929 -180 0 0 -72.9 250.09 L-72.9 252.93 A5.66929 5.66929 -180 0 0 -67.23 258.6        L-61.8 258.6" class="st1"/>
+		</g>
+		<g id="shape9-20" v:mID="9" v:groupContext="shape" v:layerMember="1" transform="translate(28.5865,-21.9723)">
+			<title content="structured text">Process.58</title>
+			<desc content="structured text">‘end’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6693" cy="223.637" width="41.34" height="13.2283"/>
+			<rect x="0" y="217.023" width="41.3386" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="12.22" y="226.04" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">end</tspan>’</text>		</g>
+		<g id="shape11-24" v:mID="11" v:groupContext="shape" v:layerMember="0" transform="translate(95.1563,-163.232)">
+			<title content="structured text">Dynamic connector.60</title>
+			<path d="M0 223.17 L12.8 223.17 A5.66929 5.66929 -180 0 0 18.47 217.5 L18.47 214.66 A5.66929 5.66929 -180 0 0 12.8 208.99        L-53.46 208.99 A5.66929 5.66929 -180 0 0 -59.13 214.66 L-59.13 217.5 A5.66929 5.66929 -180 0 0 -53.46 223.17        L-48.03 223.17" class="st1"/>
+		</g>
+		<g id="shape12-29" v:mID="12" v:groupContext="shape" v:layerMember="1" transform="translate(50.5254,-134.886)">
+			<title content="structured text">Process.61</title>
+			<desc content="structured text">‘when’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0856" cy="223.637" width="36.18" height="13.2283"/>
+			<rect x="0" y="217.023" width="36.1713" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.74" y="226.04" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">when</tspan>’</text>		</g>
+		<g id="shape13-33" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(95.1563,-170.319)">
+			<title content="structured text">Dynamic connector.62</title>
+			<path d="M0 230.25 L12.8 230.25 A5.66929 5.66929 0 0 1 18.47 235.92 L18.47 238.76 A5.66929 5.66929 0 0 1 12.8 244.42        L-53.81 244.42 A5.66929 5.66929 -180 0 0 -59.48 250.09 L-59.48 253.4 A5.66929 5.66929 -180 0 0 -53.81 259.07        L-47.39 259.07" class="st1"/>
+		</g>
+		<g id="shape14-38" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(108.929,-198.665)">
+			<title content="structured text">Dynamic connector.64</title>
+			<path d="M0 230.25 L6.11 230.25 A5.66929 5.66929 0 0 1 11.78 235.92 L11.78 238.76 A5.66929 5.66929 0 0 1 6.11 244.42        L-67.59 244.42 A5.66929 5.66929 -180 0 0 -73.26 250.09 L-73.26 281.75 A5.66929 5.66929 -180 0 0 -67.59 287.42        L-61.16 287.42" class="st1"/>
+		</g>
+		<g id="shape19-43" v:mID="19" v:groupContext="shape" v:layerMember="1" transform="translate(50.5254,-78.6652)">
+			<title content="structured text">Process.62</title>
+			<desc content="structured text">‘then’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0856" cy="223.637" width="36.18" height="13.2283"/>
+			<rect x="0" y="217.023" width="36.1713" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="8.51" y="226.04" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st5" v:langID="2057">then</tspan>’</text>		</g>
+		<g id="shape20-47" v:mID="20" v:groupContext="shape" v:layerMember="1" transform="translate(71.7853,-106.539)">
+			<title content="structured text">Process.69</title>
+			<desc content="structured text">LHS</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0856" cy="223.637" width="36.18" height="13.2283"/>
+			<rect x="0" y="217.023" width="36.1713" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="10.29" y="226.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>LHS</text>		</g>
+		<g id="shape24-50" v:mID="24" v:groupContext="shape" v:layerMember="0" transform="translate(107.957,-113.153)">
+			<title content="structured text">Dynamic connector.73</title>
+			<path d="M0 230.25 L7.09 230.25 A5.66929 5.66929 0 0 1 12.76 235.92 L12.76 238.28 A5.66929 5.66929 0 0 1 7.09 243.95        L-66.61 243.95 A5.66929 5.66929 -180 0 0 -72.28 249.62 L-72.28 252.46 A5.66929 5.66929 -180 0 0 -66.61 258.13        L-60.19 258.13" class="st1"/>
+		</g>
+		<g id="shape31-55" v:mID="31" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-218.437)">
+			<title content="structured text">On-page reference.135</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 224.46 A5.7874 5.7874 0 0 1 11.57 224.46 A5.7874 5.7874 0 1 1 0 224.46 Z" class="st3"/>
+		</g>
+		<g id="shape32-57" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(11.8148,-224.224)">
+			<title content="structured text">Dynamic connector.136</title>
+			<path d="M0 230.25 L3.07 230.25 A3.06684 3.06684 0 0 1 6.13 233.32 L6.13 249.85 A5.48508 5.48508 -180 0 0 11.62 255.34        L14.34 255.34" class="st1"/>
+		</g>
+		<g id="shape34-62" v:mID="34" v:groupContext="shape" v:layerMember="0;1" transform="translate(89.5313,-0.24)">
+			<title content="structured text">On-page reference.138</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 224.46 A5.7874 5.7874 0 0 1 11.57 224.46 A5.7874 5.7874 0 1 1 0 224.46 Z" class="st3"/>
+		</g>
+		<g id="shape36-64" v:mID="36" v:groupContext="shape" v:layerMember="0" transform="translate(69.925,-28.5865)">
+			<title content="structured text">Dynamic connector.140</title>
+			<path d="M0 230.25 L5.31 230.25 A5.31496 5.31496 0 0 1 10.63 235.57 L10.63 248.32 A4.48819 4.48819 -180 0 0 15.12 252.81        L16.85 252.81" class="st1"/>
+		</g>
+		<g id="shape6-69" v:mID="6" v:groupContext="shape" v:layerMember="1" transform="translate(75.8586,-192.051)">
+			<title content="structured text">Process.6</title>
+			<desc content="structured text">name</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="16.5354" cy="223.637" width="33.08" height="13.2283"/>
+			<rect x="0" y="217.023" width="33.0709" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="6.52" y="226.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>name</text>		</g>
+		<g id="shape37-72" v:mID="37" v:groupContext="shape" v:layerMember="0" transform="translate(86.6967,-141.5)">
+			<title content="structured text">Dynamic connector.37</title>
+			<path d="M0 230.25 L21.26 230.25 A5.66929 5.66929 0 0 1 26.93 235.92 L26.93 238.28 A5.66929 5.66929 0 0 1 21.26 243.95        L-24.45 243.95 A5.66929 5.66929 -180 0 0 -30.12 249.62 L-30.12 252.93 A5.66929 5.66929 -180 0 0 -24.45 258.6        L-17.67 258.6" class="st1"/>
+		</g>
+		<g id="shape28-77" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(71.7853,-50.3187)">
+			<title content="structured text">Process.28</title>
+			<desc content="structured text">RHS</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.0856" cy="223.637" width="36.18" height="13.2283"/>
+			<rect x="0" y="217.023" width="36.1713" height="13.2283" rx="2.83465" ry="2.83465" class="st3"/>
+			<text x="9.63" y="226.04" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>RHS</text>		</g>
+		<g id="shape38-80" v:mID="38" v:groupContext="shape" v:layerMember="0" transform="translate(107.957,-56.9329)">
+			<title content="structured text">Dynamic connector.38</title>
+			<path d="M0 230.25 L5.31 230.25 A5.31496 5.31496 0 0 1 10.63 235.57 L10.63 238.76 A5.66929 5.66929 0 0 1 4.96 244.42        L-84.33 244.42 A5.66929 5.66929 -180 0 0 -90 250.09 L-90 253.28 A5.31496 5.31496 -180 0 0 -84.69 258.6 L-82.13        258.6" class="st1"/>
+		</g>
+		<g id="shape39-85" v:mID="39" v:groupContext="shape" v:layerMember="0" transform="translate(86.6967,-85.2794)">
+			<title content="structured text">Dynamic connector.39</title>
+			<path d="M0 230.25 L21.26 230.25 A5.66929 5.66929 0 0 1 26.93 235.92 L26.93 238.76 A5.66929 5.66929 0 0 1 21.26 244.42        L-31.18 244.42 A5.66929 5.66929 -180 0 0 -36.85 250.09 L-36.85 252.93 A5.66929 5.66929 -180 0 0 -31.18 258.6        L-17.67 258.6" class="st1"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.vsd
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule.vsd
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,423 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 rule_attributes.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.90316in"
+		height="4.06922in" viewBox="0 0 281.027 292.984" xml:space="preserve" color-interpolation-filters="sRGB" class="st7">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {font-size:1em}
+		.st4 {marker-end:url(#mrkr2-16);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st6 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st7 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-16" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape5-1" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(64.9004,-263.849)">
+			<title>Process.89</title>
+			<desc>‘no-loop’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="23.2137" cy="286.277" width="46.43" height="13.4147"/>
+			<rect x="0" y="279.569" width="46.4273" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.1" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘n<tspan class="st3"
+						v:langID="2057">o</tspan><tspan class="st3" v:langID="2057">-</tspan>l<tspan class="st3" v:langID="2057">oop</tspan>’</text>		</g>
+		<g id="shape8-7" v:mID="8" v:groupContext="shape" v:layerMember="0" transform="translate(64.9004,-216.257)">
+			<title>Process.90</title>
+			<desc>‘salience’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="23.2137" cy="286.277" width="46.43" height="13.4147"/>
+			<rect x="0" y="279.569" width="46.4273" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.77" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">salience</tspan>’</text>		</g>
+		<g id="shape10-11" v:mID="10" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-263.469)">
+			<title>Dynamic connector.91</title>
+			<path d="M0 285.9 L50.16 285.9" class="st4"/>
+		</g>
+		<g id="shape27-17" v:mID="27" v:groupContext="shape" v:layerMember="1" transform="translate(18.3206,-270.556)">
+			<title>Dynamic connector.92</title>
+			<path d="M0 292.98 L11.64 292.98 A5.66929 5.66929 0 0 1 17.31 298.65 L17.31 334.91 A5.66929 5.66929 -180 0 0 22.98 340.58
+						 L43.82 340.58" class="st4"/>
+		</g>
+		<g id="shape35-22" v:mID="35" v:groupContext="shape" v:layerMember="0" transform="translate(51.2499,-192.461)">
+			<title>Process.93</title>
+			<desc>‘agenda-group’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="10.19" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘a<tspan class="st3"
+						v:langID="2057">genda</tspan><tspan class="st3" v:langID="2057">-</tspan>g<tspan class="st3"
+						v:langID="2057">roup</tspan>’</text>		</g>
+		<g id="shape41-28" v:mID="41" v:groupContext="shape" v:layerMember="0" transform="translate(58.7694,-2.09267)">
+			<title>Process.94</title>
+			<desc>‘duration’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="29.3446" cy="286.277" width="58.69" height="13.4147"/>
+			<rect x="0" y="279.569" width="58.6892" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.12" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">duration</tspan>’</text>		</g>
+		<g id="shape42-32" v:mID="42" v:groupContext="shape" v:layerMember="1" transform="translate(18.3206,-270.556)">
+			<title>Dynamic connector.95</title>
+			<path d="M0 292.98 L11.64 292.98 A5.66929 5.66929 0 0 1 17.31 298.65 L17.31 358.7 A5.66929 5.66929 -180 0 0 22.98 364.37
+						 L30.17 364.37" class="st4"/>
+		</g>
+		<g id="shape43-37" v:mID="43" v:groupContext="shape" v:layerMember="1" transform="translate(18.3206,-270.556)">
+			<title>Dynamic connector.96</title>
+			<path d="M0 292.98 L11.64 292.98 A5.66929 5.66929 0 0 1 17.31 298.65 L17.31 549.07 A5.66929 5.66929 -180 0 0 22.98 554.74
+						 L37.69 554.74" class="st4"/>
+		</g>
+		<g id="shape44-42" v:mID="44" v:groupContext="shape" v:layerMember="1" transform="translate(111.328,-277.643)">
+			<title>Dynamic connector.98</title>
+			<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+			<path d="M0 300.07 L32.06 300.07" class="st4"/>
+		</g>
+		<g id="shape45-47" v:mID="45" v:groupContext="shape" v:layerMember="1" transform="translate(117.459,-1.71339)">
+			<title>Dynamic connector.99</title>
+			<path d="M0 285.9 L25.13 285.9" class="st4"/>
+		</g>
+		<g id="shape46-52" v:mID="46" v:groupContext="shape" v:layerMember="1" transform="translate(111.328,-222.964)">
+			<title>Dynamic connector.100</title>
+			<path d="M0 292.98 L22.5 292.98 A5.66929 5.66929 -180 0 0 28.17 287.31 L28.17 248.72 A3.32794 3.32794 0 0 1 31.5 245.39
+						 L32.06 245.39" class="st4"/>
+		</g>
+		<g id="shape47-57" v:mID="47" v:groupContext="shape" v:layerMember="1" transform="translate(124.978,-199.168)">
+			<title>Dynamic connector.101</title>
+			<path d="M0 292.98 L8.71 292.98 A5.66929 5.66929 -180 0 0 14.38 287.31 L14.38 224.99 A3.39596 3.39596 0 0 1 17.78 221.6
+						 L18.41 221.6" class="st4"/>
+		</g>
+		<g id="shape48-62" v:mID="48" v:groupContext="shape" v:layerMember="0" transform="translate(146.152,-263.849)">
+			<title>Process.156</title>
+			<desc>value</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="18.4976" cy="286.277" width="37" height="13.4147"/>
+			<rect x="0" y="279.569" width="36.9953" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.94" y="288.68" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>value</text>		</g>
+		<g id="shape49-65" v:mID="49" v:groupContext="shape" v:layerMember="1;0" transform="translate(255.158,-264.687)">
+			<title>On-page reference.157</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 287.12 A5.86892 5.86892 0 0 1 11.74 287.12 A5.86892 5.86892 0 0 1 0 287.12 Z" class="st1"/>
+		</g>
+		<g id="shape50-67" v:mID="50" v:groupContext="shape" v:layerMember="0" transform="translate(206.89,-279.329)">
+			<title>Process.160</title>
+			<desc>;</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.061" cy="286.277" width="20.13" height="13.4147"/>
+			<rect x="0" y="279.569" width="20.122" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="8.94" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>;</text>		</g>
+		<g id="shape51-70" v:mID="51" v:groupContext="shape" v:layerMember="1" transform="translate(183.147,-270.556)">
+			<title>Dynamic connector.161</title>
+			<path d="M0 292.98 L5.31 292.98 A5.31496 5.31496 -180 0 0 10.63 287.67 L10.63 283.17 A5.66929 5.66929 0 0 1 16.3 277.5
+						 L20.98 277.5" class="st4"/>
+		</g>
+		<g id="shape52-75" v:mID="52" v:groupContext="shape" v:layerMember="1" transform="translate(227.012,-286.037)">
+			<title>Dynamic connector.162</title>
+			<path d="M0 292.98 L5.31 292.98 A5.31496 5.31496 0 0 1 10.63 298.3 L10.63 302.8 A5.66929 5.66929 -180 0 0 16.3 308.46
+						 L25.39 308.46" class="st4"/>
+		</g>
+		<g id="shape53-80" v:mID="53" v:groupContext="shape" v:layerMember="1" transform="translate(183.147,-263.469)">
+			<title>Dynamic connector.163</title>
+			<path d="M0 285.9 L69.25 285.9" class="st4"/>
+		</g>
+		<g id="shape54-85" v:mID="54" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-264.687)">
+			<title>On-page reference.164</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 287.12 A5.86892 5.86892 0 0 1 11.74 287.12 A5.86892 5.86892 0 0 1 0 287.12 Z" class="st1"/>
+		</g>
+		<g id="shape58-87" v:mID="58" v:groupContext="shape" v:layerMember="0" transform="translate(145.346,-2.09267)">
+			<title>Process.201</title>
+			<desc>duration-value (ms)</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="48.6282" cy="286.277" width="97.26" height="13.4147"/>
+			<rect x="0" y="279.569" width="97.2563" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="14.17" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>duration-value (ms)</text>		</g>
+		<g id="shape59-90" v:mID="59" v:groupContext="shape" v:layerMember="1" transform="translate(242.602,-8.8)">
+			<title>Dynamic connector.202</title>
+			<path d="M0 292.98 L12.76 292.98 A5.66929 5.66929 -180 0 0 18.43 287.31 L18.43 39.86" class="st4"/>
+		</g>
+		<g id="shape60-95" v:mID="60" v:groupContext="shape" v:layerMember="0" transform="translate(51.4584,-168.665)">
+			<title>Process.60</title>
+			<desc>‘auto-focus’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="16.42" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">auto</tspan><tspan class="st3" v:langID="2057">-</tspan><tspan class="st3" v:langID="2057">focus</tspan>’</text>		</g>
+		<g id="shape61-101" v:mID="61" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.61</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 382.5 A5.66929 5.66929 -180 0 0 29.53 388.17
+						 L36.72 388.17" class="st4"/>
+		</g>
+		<g id="shape62-106" v:mID="62" v:groupContext="shape" v:layerMember="1" transform="translate(125.187,-175.372)">
+			<title>Dynamic connector.62</title>
+			<path d="M0 292.98 L8.5 292.98 A5.66929 5.66929 -180 0 0 14.17 287.31 L14.17 201.2 A3.39596 3.39596 0 0 1 17.57 197.8
+						 L18.21 197.8" class="st4"/>
+		</g>
+		<g id="shape63-111" v:mID="63" v:groupContext="shape" v:layerMember="0" transform="translate(56.9329,-240.053)">
+			<title>Process.63</title>
+			<desc>‘lock-on-active’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="30.4724" cy="286.277" width="60.95" height="13.4147"/>
+			<rect x="0" y="279.569" width="60.9449" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.02" y="288.68" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘<tspan class="st3"
+						v:langID="2057">lock</tspan><tspan class="st3" v:langID="2057">-</tspan><tspan class="st3" v:langID="2057">on</tspan><tspan
+						class="st3" v:langID="2057">-</tspan><tspan class="st3" v:langID="2057">active</tspan>’</text>		</g>
+		<g id="shape64-119" v:mID="64" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.64</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 311.11 A5.66929 5.66929 -180 0 0 29.53 316.78
+						 L42.2 316.78" class="st4"/>
+		</g>
+		<g id="shape65-124" v:mID="65" v:groupContext="shape" v:layerMember="1" transform="translate(117.878,-246.76)">
+			<title>Dynamic connector.65</title>
+			<path d="M0 292.98 L15.81 292.98 A5.66929 5.66929 -180 0 0 21.48 287.31 L21.48 272.58 A3.39596 3.39596 0 0 1 24.88 269.19
+						 L25.51 269.19" class="st4"/>
+		</g>
+		<g id="shape66-129" v:mID="66" v:groupContext="shape" v:layerMember="0" transform="translate(51.5944,-144.869)">
+			<title>Process.66</title>
+			<desc>‘ruleflow-group’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="9.75" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘ruleflow-<tspan
+						class="st3" v:langID="1033">g</tspan>roup<tspan class="st3" v:langID="1033">’</tspan></text>		</g>
+		<g id="shape67-134" v:mID="67" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.67</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 406.29 A5.66929 5.66929 -180 0 0 29.53 411.96
+						 L36.86 411.96" class="st4"/>
+		</g>
+		<g id="shape68-139" v:mID="68" v:groupContext="shape" v:layerMember="1" transform="translate(125.323,-151.576)">
+			<title>Dynamic connector.68</title>
+			<path d="M0 292.98 L8.5 292.98 A5.66929 5.66929 -180 0 0 14.17 287.31 L14.17 177.33 A3.32794 3.32794 0 0 1 17.5 174 L18.07
+						 174" class="st4"/>
+		</g>
+		<g id="shape69-144" v:mID="69" v:groupContext="shape" v:layerMember="0" transform="translate(50.7224,-121.073)">
+			<title>Process.69</title>
+			<desc>‘activation-group’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.64" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘activation-<tspan
+						class="st3" v:langID="1033">g</tspan>roup<tspan class="st3" v:langID="1033">’</tspan></text>		</g>
+		<g id="shape70-149" v:mID="70" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.70</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 430.09 A5.66929 5.66929 -180 0 0 29.53 435.76
+						 L35.98 435.76" class="st4"/>
+		</g>
+		<g id="shape71-154" v:mID="71" v:groupContext="shape" v:layerMember="1" transform="translate(124.451,-127.78)">
+			<title>Dynamic connector.71</title>
+			<path d="M0 292.98 L9.24 292.98 A5.66929 5.66929 -180 0 0 14.91 287.31 L14.91 153.6 A3.39596 3.39596 0 0 1 18.31 150.21
+						 L18.94 150.21" class="st4"/>
+		</g>
+		<g id="shape72-159" v:mID="72" v:groupContext="shape" v:layerMember="0" transform="translate(53.1578,-97.2767)">
+			<title>Process.72</title>
+			<desc>‘dialect’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="23.54" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘dialect’</text>		</g>
+		<g id="shape73-162" v:mID="73" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.73</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 453.89 A5.66929 5.66929 -180 0 0 29.53 459.56
+						 L38.42 459.56" class="st4"/>
+		</g>
+		<g id="shape74-167" v:mID="74" v:groupContext="shape" v:layerMember="1" transform="translate(126.886,-103.984)">
+			<title>Dynamic connector.74</title>
+			<path d="M0 292.98 L6.8 292.98 A5.66929 5.66929 -180 0 0 12.47 287.31 L12.47 129.81 A3.39596 3.39596 0 0 1 15.87 126.41
+						 L16.51 126.41" class="st4"/>
+		</g>
+		<g id="shape75-172" v:mID="75" v:groupContext="shape" v:layerMember="0" transform="translate(52.2857,-73.4807)">
+			<title>Process.75</title>
+			<desc>‘date-effective’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.08" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘date-effective’</text>		</g>
+		<g id="shape76-175" v:mID="76" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.76</title>
+			<path d="M0 292.98 L17.99 292.98 A5.66929 5.66929 0 0 1 23.66 298.65 L23.66 477.68 A5.66929 5.66929 -180 0 0 29.32 483.35
+						 L37.55 483.35" class="st4"/>
+		</g>
+		<g id="shape77-180" v:mID="77" v:groupContext="shape" v:layerMember="1" transform="translate(126.014,-80.188)">
+			<title>Dynamic connector.77</title>
+			<path d="M0 292.98 L7.81 292.98 A5.66929 5.66929 -180 0 0 13.48 287.31 L13.48 105.94 A3.32794 3.32794 0 0 1 16.81 102.62
+						 L17.38 102.62" class="st4"/>
+		</g>
+		<g id="shape78-185" v:mID="78" v:groupContext="shape" v:layerMember="0" transform="translate(55.1928,-49.6847)">
+			<title>Process.78</title>
+			<desc>‘date-expires’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="13.09" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘date-expires’</text>		</g>
+		<g id="shape79-188" v:mID="79" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.79</title>
+			<path d="M0 292.98 L18.19 292.98 A5.66929 5.66929 0 0 1 23.86 298.65 L23.86 501.48 A5.66929 5.66929 -180 0 0 29.53 507.15
+						 L40.45 507.15" class="st4"/>
+		</g>
+		<g id="shape80-193" v:mID="80" v:groupContext="shape" v:layerMember="1" transform="translate(128.921,-56.392)">
+			<title>Dynamic connector.80</title>
+			<path d="M0 292.98 L5.22 292.98 A5.2194 5.2194 -180 0 0 10.44 287.76 L10.44 82.22 A3.39596 3.39596 0 0 1 13.83 78.82
+						 L14.47 78.82" class="st4"/>
+		</g>
+		<g id="shape81-198" v:mID="81" v:groupContext="shape" v:layerMember="0" transform="translate(54.3208,-25.8887)">
+			<title>Process.81</title>
+			<desc>‘enabled’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="36.8641" cy="286.277" width="73.73" height="13.4147"/>
+			<rect x="0" y="279.569" width="73.7282" height="13.4147" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="20.86" y="288.68" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>‘enabled’</text>		</g>
+		<g id="shape82-201" v:mID="82" v:groupContext="shape" v:layerMember="1" transform="translate(11.9778,-270.556)">
+			<title>Dynamic connector.82</title>
+			<path d="M0 292.98 L17.99 292.98 A5.66929 5.66929 0 0 1 23.66 298.65 L23.66 525.27 A5.66929 5.66929 -180 0 0 29.32 530.94
+						 L39.58 530.94" class="st4"/>
+		</g>
+		<g id="shape83-206" v:mID="83" v:groupContext="shape" v:layerMember="1" transform="translate(128.049,-32.596)">
+			<title>Dynamic connector.83</title>
+			<path d="M0 292.98 L5.78 292.98 A5.66929 5.66929 -180 0 0 11.45 287.31 L11.45 58.35 A3.32794 3.32794 0 0 1 14.77 55.02
+						 L15.34 55.02" class="st4"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/rule_attributes.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/ruleflow_nodes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/ruleflow_nodes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 singleValueRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.80282in"
+		height="1.34127in" viewBox="0 0 201.803 96.5711" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-17" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape112-1" v:mID="112" v:groupContext="shape" v:layerMember="0;1" transform="translate(190.098,-83.7522)">
+			<title>On-page reference.129</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 90.84 A5.73228 5.73228 0 0 1 11.46 90.84 A5.73228 5.73228 0 1 1 0 90.84 Z" class="st1"/>
+		</g>
+		<g id="shape113-3" v:mID="113" v:groupContext="shape" v:layerMember="1" transform="translate(56.9644,-82.9333)">
+			<title>Process.130</title>
+			<desc>literalRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="43.937" cy="90.0199" width="87.88" height="13.1024"/>
+			<rect x="0" y="83.4687" width="87.874" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="15.47" y="92.42" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>literalRestriction</text>		</g>
+		<g id="shape114-6" v:mID="114" v:groupContext="shape" v:layerMember="1" transform="translate(56.9644,-53.8519)">
+			<title>Process.131</title>
+			<desc>variableRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="43.937" cy="90.0199" width="87.88" height="13.1024"/>
+			<rect x="0" y="83.4687" width="87.874" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="11.02" y="92.42" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variableRestriction</text>		</g>
+		<g id="shape115-9" v:mID="115" v:groupContext="shape" v:layerMember="1" transform="translate(56.9644,-26.0983)">
+			<title>Process.115</title>
+			<desc>returnValueRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="43.937" cy="90.0199" width="87.88" height="13.1024"/>
+			<rect x="0" y="83.4687" width="87.874" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.35" y="92.42" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>returnValueRestriction</text>		</g>
+		<g id="shape118-12" v:mID="118" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-89.4845)">
+			<title>Dynamic connector.135</title>
+			<path d="M0 96.57 L17.38 96.57 A5.66929 5.66929 0 0 1 23.05 102.24 L23.05 147.74 A5.66929 5.66929 -180 0 0 28.72 153.41
+						 L42.5 153.41" class="st3"/>
+		</g>
+		<g id="shape119-18" v:mID="119" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-89.4845)">
+			<title>Dynamic connector.136</title>
+			<path d="M0 96.57 L17.28 96.57 A5.66929 5.66929 0 0 1 22.95 102.24 L22.95 119.98 A5.66929 5.66929 -180 0 0 28.62 125.65
+						 L42.5 125.65" class="st3"/>
+		</g>
+		<g id="shape120-23" v:mID="120" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-82.3979)">
+			<title>Dynamic connector.137</title>
+			<path d="M0 89.48 L42.5 89.48" class="st3"/>
+		</g>
+		<g id="shape121-28" v:mID="121" v:groupContext="shape" v:layerMember="0" transform="translate(144.838,-82.3979)">
+			<title>Dynamic connector.138</title>
+			<path d="M0 89.48 L42.5 89.48" class="st3"/>
+		</g>
+		<g id="shape122-33" v:mID="122" v:groupContext="shape" v:layerMember="0" transform="translate(144.838,-60.4031)">
+			<title>Dynamic connector.142</title>
+			<path d="M0 96.57 L15.25 96.57 A5.66929 5.66929 -180 0 0 20.92 90.9 L20.92 73.16 A5.66929 5.66929 0 0 1 26.59 67.49 L42.5
+						 67.49" class="st3"/>
+		</g>
+		<g id="shape123-38" v:mID="123" v:groupContext="shape" v:layerMember="0" transform="translate(144.838,-32.6494)">
+			<title>Dynamic connector.143</title>
+			<path d="M0 96.57 L15.25 96.57 A5.66929 5.66929 -180 0 0 20.92 90.9 L20.92 45.41 A5.66929 5.66929 0 0 1 26.59 39.74 L42.5
+						 39.74" class="st3"/>
+		</g>
+		<g id="shape125-43" v:mID="125" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-83.7522)">
+			<title>On-page reference.145</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 90.84 A5.73228 5.73228 0 0 1 11.46 90.84 A5.73228 5.73228 0 1 1 0 90.84 Z" class="st1"/>
+		</g>
+		<g id="shape162-45" v:mID="162" v:groupContext="shape" v:layerMember="1" transform="translate(50.9565,-0.24)">
+			<title>Process.162</title>
+			<desc>qualifiedIdentifierRestriction</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="53.1496" cy="90.0199" width="106.3" height="13.1024"/>
+			<rect x="0" y="83.4687" width="106.299" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="4.01" y="92.42" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>qualifiedIdentifierRestriction</text>		</g>
+		<g id="shape163-48" v:mID="163" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-89.4845)">
+			<title>Dynamic connector.163</title>
+			<path d="M0 96.57 L17.38 96.57 A5.66929 5.66929 0 0 1 23.05 102.24 L23.05 173.6 A5.66929 5.66929 -180 0 0 28.72 179.26
+						 L36.49 179.26" class="st3"/>
+		</g>
+		<g id="shape164-53" v:mID="164" v:groupContext="shape" v:layerMember="0" transform="translate(157.256,-6.79118)">
+			<title>Dynamic connector.164</title>
+			<path d="M0 96.57 L4.25 96.57 A4.25197 4.25197 -180 0 0 8.5 92.32 L8.5 19.55 A5.66929 5.66929 0 0 1 14.17 13.88 L30.08
+						 13.88" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/singleValueRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 single_line_comment.svg Page-1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.13202in" height="0.536847in" viewBox="0 0 153.505 38.653" xml:space="preserve" color-interpolation-filters="sRGB" class="st5" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css" xml:space="preserve">
+	
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em}
+		.st3 {marker-end:url(#mrkr2-14);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker xmlns="http://www.w3.org/TR/xhtml1/transitional" overflow="visible" id="mrkr2-14" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" markerUnits="strokeWidth" preserveAspectRatio="xMidYMid meet">
+			<use xmlns="http://www.w3.org/2000/svg" xlink:href="#lend2" transform="scale(-11.5,-11.5) " xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title content="structured text">Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Flowchart" v:index="0"/>
+		<v:layer v:name="Connector" v:index="1"/>
+		<g id="shape47-1" v:mID="47" v:groupContext="shape" v:layerMember="0" transform="translate(38.9519,-0.24)">
+			<title content="structured text">Process.43</title>
+			<desc content="structured text">‘//’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.8944" cy="31.39" width="21.79" height="14.5259"/>
+			<rect x="0" y="24.1271" width="21.7889" height="14.5259" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.9" y="33.79" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘//’</text>		</g>
+		<g id="shape48-4" v:mID="48" v:groupContext="shape" v:layerMember="1;0" transform="translate(0.24,-18.3974)">
+			<title content="structured text">On-page reference.44</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.3 A6.35509 6.35509 0 0 1 12.71 32.3 A6.35509 6.35509 0 1 1 0 32.3 Z" class="st1"/>
+		</g>
+		<g id="shape49-6" v:mID="49" v:groupContext="shape" v:layerMember="0" transform="translate(90.9487,-23.8871)">
+			<title content="structured text">Process.46</title>
+			<desc content="structured text">EOL</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="15.5971" cy="31.39" width="31.2" height="14.5259"/>
+			<rect x="0" y="24.1271" width="31.1942" height="14.5259" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="7.6" y="33.79" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>EOL</text>		</g>
+		<g id="shape50-9" v:mID="50" v:groupContext="shape" v:layerMember="1" transform="translate(122.143,-38.1485)">
+			<title content="structured text">Dynamic connector.191</title>
+			<path d="M0 45.65 L10.63 45.65 L10.63 45.83 L15.65 45.83" class="st3"/>
+		</g>
+		<g id="shape52-15" v:mID="52" v:groupContext="shape" v:layerMember="1;0" transform="translate(140.555,-24.6186)">
+			<title content="structured text">On-page reference.197</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 32.3 A6.35509 6.35509 0 0 1 12.71 32.3 A6.35509 6.35509 0 1 1 0 32.3 Z" class="st1"/>
+		</g>
+		<g id="shape53-17" v:mID="53" v:groupContext="shape" v:layerMember="0" transform="translate(38.9519,-23.8446)">
+			<title content="structured text">Process.198</title>
+			<desc content="structured text">‘#’</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="10.8944" cy="31.39" width="21.79" height="14.5259"/>
+			<rect x="0" y="24.1271" width="21.7889" height="14.5259" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.9" y="33.79" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>‘#’</text>		</g>
+		<g id="shape54-20" v:mID="54" v:groupContext="shape" v:layerMember="1" transform="translate(12.9502,-20.8434)">
+			<title content="structured text">Dynamic connector.45</title>
+			<path d="M0 34.74 L7.45 34.74 A3.17755 3.17755 -180 0 0 10.63 31.57 L10.63 31.57 A3.17755 3.17755 0 0 1 13.81 28.39 L23.24        28.39" class="st3"/>
+		</g>
+		<g id="shape55-25" v:mID="55" v:groupContext="shape" v:layerMember="1" transform="translate(12.9502,-24.7525)">
+			<title content="structured text">Dynamic connector.48</title>
+			<path d="M0 38.65 L5.31 38.65 A5.31496 5.31496 0 0 1 10.63 43.97 L10.63 50.23 A5.66929 5.66929 -180 0 0 16.3 55.9 L23.24        55.9" class="st3"/>
+		</g>
+		<g id="shape56-30" v:mID="56" v:groupContext="shape" v:layerMember="1" transform="translate(60.7407,-24.0422)">
+			<title content="structured text">Dynamic connector.199</title>
+			<path d="M0 31.59 L10.61 31.59 a0.0212272 0.0212272 -180 0 0 0.0212272 -0.0212272 L10.63 31.57 a0.0212272 0.0212272 0        0 1 0.0212272 -0.0212272 L27.45 31.55" class="st3"/>
+		</g>
+		<g id="shape57-35" v:mID="57" v:groupContext="shape" v:layerMember="1" transform="translate(60.7407,-7.50296)">
+			<title content="structured text">Dynamic connector.200</title>
+			<path d="M0 38.65 L5.31 38.65 A5.31496 5.31496 -180 0 0 10.63 33.34 L10.63 20.68 A5.66929 5.66929 0 0 1 16.3 15.01 L27.45        15.01" class="st3"/>
+		</g>
+	</g>
+</svg>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/single_line_comment.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 variableRestriction.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.113in"
+		height="0.19685in" viewBox="0 0 224.136 14.1732" xml:space="preserve" color-interpolation-filters="sRGB" class="st5">
+	<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st2 {fill:#000000;font-family:Arial;font-size:0.666664em;font-style:italic}
+		.st3 {marker-end:url(#mrkr2-11);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+		.st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913}
+		.st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend2">
+			<path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr2-11" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto"
+				markerUnits="strokeWidth">
+			<use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<v:layer v:name="Flowchart" v:index="1"/>
+		<g id="shape24-1" v:mID="24" v:groupContext="shape" v:layerMember="0;1" transform="translate(212.432,-1.35433)">
+			<title>On-page reference.48</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+		<g id="shape25-3" v:mID="25" v:groupContext="shape" v:layerMember="1" transform="translate(141.282,-0.535433)">
+			<title>Process.49</title>
+			<desc>variable</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="20.6255" cy="7.62205" width="41.26" height="13.1024"/>
+			<rect x="0" y="1.07087" width="41.2511" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="6.62" y="10.02" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>variable</text>		</g>
+		<g id="shape26-6" v:mID="26" v:groupContext="shape" v:layerMember="0" transform="translate(91.6546,7.81597E-014)">
+			<title>Dynamic connector.26</title>
+			<path d="M0 7.09 L46.87 7.09" class="st3"/>
+		</g>
+		<g id="shape27-12" v:mID="27" v:groupContext="shape" v:layerMember="0" transform="translate(182.533,1.42109E-014)">
+			<title>Dynamic connector.27</title>
+			<path d="M0 7.09 L27.14 7.09" class="st3"/>
+		</g>
+		<g id="shape28-17" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(29.5802,-0.535433)">
+			<title>Process.52</title>
+			<desc>operator</desc>
+			<v:custProps>
+				<v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+				<v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+				<v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+			</v:custProps>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<v:textRect cx="31.0372" cy="7.62205" width="62.08" height="13.1024"/>
+			<rect x="0" y="1.07087" width="62.0744" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/>
+			<text x="16.13" y="10.02" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>operator</text>		</g>
+		<g id="shape37-20" v:mID="37" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-1.35433)">
+			<title>On-page reference.63</title>
+			<v:userDefs>
+				<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
+			</v:userDefs>
+			<v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/>
+			<path d="M0 8.44 A5.73228 5.73228 0 0 1 11.46 8.44 A5.73228 5.73228 0 1 1 0 8.44 Z" class="st1"/>
+		</g>
+		<g id="shape38-22" v:mID="38" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,7.81597E-014)">
+			<title>Dynamic connector.38</title>
+			<path d="M0 7.09 L15.12 7.09" class="st3"/>
+		</g>
+	</g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/Chapter-Rule_Language/variableRestriction.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-expert/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 
+    <modelVersion>4.0.0</modelVersion>
+ 
+  <parent>
+    <artifactId>drools-docs</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.0.0.SNAPSHOT</version>
+  </parent>  
+  
+    <artifactId>drools-docs-flow</artifactId>
+    <packaging>jdocbook</packaging>
+    <name>Drools :: Documentation :: Drools :: Flow</name>
+    <description>Drools Flow Documentation</description>
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/Chapter-Debugging.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/Chapter-Debugging.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/Chapter-Debugging.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./" >
+
+  <title>Debugging processes</title>
+
+  <para>This section describes how to debug processes.  This means
+  that the current state of your running processes can be inspected
+  and visualized during the execution.  We use a simple example
+  throughout this section to illustrate the debugging capabilities.
+  The example will be introduced first, followed by an illustration
+  on how to use the debugging capabilities.
+  </para>
+
+  <section>
+    <title>A simple example</title>
+    <para>Our example contains two processes and some rules (used
+    inside the ruleflow groups):</para>
+      <orderedlist>
+        <listitem>
+          <para>The main process contains some of the most common
+          nodes: a start and end node (obviously), two ruleflow groups,
+          an action (that simply prints a string to the default output),
+          a milestone (a wait state that is trigger when a specific
+          Event is inserted in the working memory) and a subprocess.</para>
+
+          <mediaobject>
+            <imageobject>
+	        <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example.bmp"/>
+            </imageobject>
+          </mediaobject>
+
+        </listitem>
+        <listitem>
+          <para>The SubProcess simply contains a milestone that also
+          waits for (another) specific Event in the working memory.</para>
+        </listitem>
+        <listitem>
+          <para>There are only two rules (one for each ruleflow group) that
+          simply print out either a hello world or goodbye world to default
+          output.</para>
+        </listitem>
+      </orderedlist>
+
+    <para>We will simulate the execution of this process by starting the process,
+    firing all rules (resulting in the executing of the hello rule), then adding
+    the specific milestone events for both the milestones (in the main process
+    and in the subprocess) and finally by firing all rules again (resulting in 
+    the executing of the goodbye rule). The console will look something like this:
+    </para>
+
+    <programlisting>Hello World
+Executing action
+Goodbye cruel world</programlisting>
+
+  </section>
+
+  <section>
+    <title>Debugging the process</title>
+    <para>We now add four breakpoints during the execution of the process (in the
+    order in which they will be encountered):</para>
+      <orderedlist>
+        <listitem>
+          <para>At the start of the consequence of the hello rule</para>
+        </listitem>
+        <listitem>
+          <para>Before inserting the triggering event for the milestone in the main process</para>
+        </listitem>
+        <listitem>
+          <para>Before inserting the triggering event for the milestone in the subprocess</para>
+        </listitem>
+        <listitem>
+          <para>At the start of the consequence of the goodbye rule</para>
+        </listitem>
+      </orderedlist>
+    
+    <para>When debugging the application, one can use the following debug views to
+    track the execution of the process:</para>
+      <orderedlist>
+        <listitem>
+          <para>The working memory view, showing the contents (data) in the working memory.</para>
+        </listitem>
+        <listitem>
+          <para>The agenda view, showing all activations in the agenda.</para>
+        </listitem>
+        <listitem>
+          <para>The global data view, showing the globals.</para>
+        </listitem>
+        <listitem>
+          <para>The default Java Debug views, showing the current line and the
+          value of the known variables, and this both for normal Java code as
+          for rules.</para>
+        </listitem>
+        <listitem>
+          <para>The process instances view, showing all running processes (and their state).</para>
+        </listitem>
+        <listitem>
+          <para>The audit view, showing the audit log.</para>
+        </listitem>
+      </orderedlist>
+
+    <section>
+      <title>The Process Instances View</title>
+
+      <mediaobject>
+        <imageobject>
+	    <imagedata align="center" format="BMP" role="" 
+                     fileref="images/Chapter-Debugging/process-instances.bmp"/>
+        </imageobject>
+      </mediaobject>
+
+      <para>The process instances view shows the currently running process instances.
+      The example shows that there is currently one running process (instance),
+      currently executing one node (instance), i.e. RuleSet node. When double-clicking
+      a process instance, the process instance viewer will graphically show the progress
+      of the process instance. At each of the breakpoints, this will look like:</para>
+      <orderedlist>
+        <listitem>
+          <para>At the start of the consequence of the hello rule, only the hello ruleflow
+          group is active, waiting on the execution of the hello rule:</para>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-1.bmp"/>
+            </imageobject>
+          </mediaobject>
+        </listitem>
+        <listitem>
+          <para>Once that rule has been executed, the action, the milestone and the 
+          subprocess will be triggered. The action will be executed immediately,
+          triggering the join (which will simply wait until all incomming connections
+          have been triggered). The subprocess will wait at the milestone. So, before
+          inserting the triggering event for the milestone in the main process, there
+          now are two process instances, looking like this:</para>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-2a.bmp"/>
+            </imageobject>
+          </mediaobject>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-2b.bmp"/>
+            </imageobject>
+          </mediaobject>
+        </listitem>
+        <listitem>
+          <para>When triggering the event for the milestone in the main process, this
+          will also trigger the join (which will simply wait until all incomming
+          connections have been triggered). So at that point (before inserting the
+          triggering event for the milestone in the subprocess), the processes will 
+          look like this:</para>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-3a.bmp"/>
+            </imageobject>
+          </mediaobject>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-2b.bmp"/>
+            </imageobject>
+          </mediaobject>
+        </listitem>
+        <listitem>
+          <para>When triggering the event for the milestone in the subprocess, this
+          process instance will be completed and this will also trigger the join,
+          which will then continue and trigger the goodbye ruleflow group, as all its
+          incomming connections have been triggered. Firing all the rules will trigger
+          the breakpoint in the goodbye rule. At that point, the situation looks like
+          this:</para>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" format="BMP" role="" 
+                         fileref="images/Chapter-Debugging/example-debug-4.bmp"/>
+            </imageobject>
+          </mediaobject>
+        </listitem>
+        <listitem>
+          <para>After executing the goodbye rule, the main process will also be
+          completed and the execution will have reached the end.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+
+    <section>
+      <title>The Audit View</title>
+      <para>For those who want to look at the result in the audit view, this
+      will look something like this [Note: the object insertion events might
+      seem a little out of place, which is caused by the fact that they are
+      only logged after (and never before) they are inserted, making it difficult
+      to exactly pinpoint their location.]</para>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" format="BMP" role="" 
+                     fileref="images/Chapter-Debugging/audit.bmp"/>
+        </imageobject>
+      </mediaobject>
+    </section>
+
+  </section>
+
+</chapter>
+


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Debugging/Chapter-Debugging.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./" >
+  <title>Domain-specific processes</title>
+
+<section>
+  <title>Introduction</title>
+
+<para>One of the goals of our unified rules and processes framework is to allow users to extend the default programming constructs with domain-specific extensions that simplify development in a particular application domain.  While Drools has been offering constructs to create domain-specific rule languages for some time now, this tutorial describes our first steps towards domain-specific process languages.
+</para>
+
+<para>Most process languages offer some generic action (node) construct that allows plugging in custum user actions.  However, these actions are usually low-level, where the user is required to write custom code to implement the work that should be incorporated in the process.  The code is also closely linked to a specific target environment, making it difficult to reuse the process in different contexts.
+</para>
+
+<para>Domain-specific languages are targeted to one particular application domain and therefore can offer constructs that are closely related to the problem the user is trying to solve.  This makes the processes and easier to understand and self-documenting.  We will show you how to define domain-specific work items, which represent atomic units of work that need to be executed.  These work items specify the work that should be executed in the context of a process in a declarative manner, i.e. specifying what should be executed (and not how) on a higher level (no code) and hiding implementation details.
+</para>
+
+<para>So we want work items that are:
+  <orderedlist>
+    <listitem>
+      <para>domain-specific</para>
+    </listitem>
+    <listitem>
+      <para>declarative (what, not how)</para>
+    </listitem>
+    <listitem>
+      <para>high-level (no code)</para>
+    </listitem>
+    <listitem>
+      <para>customizable to the context</para>
+    </listitem>
+  </orderedlist>
+</para>
+
+<para>Users can easily define their own set of domain-specific work items and integrate them in our process language(s).  For example, the next figure shows an example of a process in a healthcare context.  The process includes domain-specific work items for ordering nursing tasks (e.g. measuring blood pressure), prescribing medication and notifying care providers.</para>
+
+<mediaobject>
+  <imageobject>
+    <imagedata align="center" format="BMP" role="" 
+               fileref="images/Chapter-DomainSpecificProcesses/CDSSExample.bmp"/>
+  </imageobject>
+</mediaobject>
+</section>
+
+  <section>
+    <title>Example: Notifications</title>
+
+<para>Let's start by showing you how to include a simple work item for sending notifications.  A work item represent an atomic unit of work in a declarative way.  It is defined by a unique name and additional parameters that can be used to describe the work in more detail.  Work items can also return information after they have been executed, specified as results.  Our notification work item could thus be defined using a work definition with four parameters and no results:</para>
+
+<programlisting>
+  Name: "Notification"
+  Parameters
+  From [String]
+  To [String]
+  Message [String]
+  Priority [String]
+</programlisting>
+
+  <section>
+    <title>Creating the work definition</title>
+
+<para>All work definitions must be specified in one or more configuration files in the project classpath, where all the properties are specified as name-value pairs.  Parameters and results are maps where each parameter name is also mapped to the expected data type. Note that this configuration file also includes some additional user interface information, like the icon and the display name of the work item. (We use MVEL for reading in the configuration file, which allows us to do more advanced configuration files).  Our MyWorkDefinitions.conf file looks like this:</para>
+
+<programlisting>
+import org.drools.process.core.datatype.impl.type.StringDataType;
+[
+  // the Notification work item
+  [
+    "name" : "Notification",
+    "parameters" : [
+      "Message" : new StringDataType(),
+      "From" : new StringDataType(),
+      "To" : new StringDataType(),
+      "Priority" : new StringDataType(),
+    ],
+    "displayName" : "Notification",
+    "icon" : "icons/notification.gif"
+  ]
+
+  // add more work items here ...
+]
+</programlisting>
+
+  </section>
+
+  <section>
+    <title>Registering the work definition</title>
+
+<para>The Drools Configuration API can be used to register work definition files for your project using the drools.workDefinitions property, which represents a list of files containing work definitions (separated usings spaces). For example, include a drools.rulebase.conf file in the META-INF directory of your project and add the following line:</para>
+
+<programlisting>
+  drools.workDefinitions = MyWorkDefinitions.conf
+</programlisting>
+
+  </section>
+
+  <section>
+    <title>Using your new work item in your processes</title>
+
+<para>Once our work definition has been created and registered, we can start using it in our processes.  The process editor contains a separate section in the palette where the different work items that have been defined for the project appear.</para>
+
+<mediaobject>
+  <imageobject>
+    <imagedata align="center" format="BMP" role="" 
+               fileref="images/Chapter-DomainSpecificProcesses/NotificationPalette.bmp"/>
+  </imageobject>
+</mediaobject>
+
+<para>Using drag and drop, a notification node can be created inside your process.  The properties can be filled in using the properties view.</para>
+
+<para>Apart from the properties defined by for this work item, all work items also have these three properties:</para>
+<orderedlist>
+  <listitem>
+    <para>Parameter Mapping: Allows you map the value of a variable in the process to a parameter of the work item.  This allows you to customize the work item based on the current state of the actual process instance (for example, the priority of the notification could be dependent of some process-specific information).</para>
+  </listitem>
+  <listitem>
+    <para>Result Mapping: Allows you to map a result (returned once a work item has been 	executed) to a variable of the process.  This allows you to use results in the remainder of the process.</para>
+  </listitem>
+  <listitem>
+    <para>Wait for completion: By default, the process waits until the requested work item has been 	completed before continuing with the process.  It is also possible to continue immediately after the work item has been requested (and not waiting for the results) by setting "wait for completion" to false.</para>
+  </listitem>
+</orderedlist>
+
+  </section>
+
+  <section>
+    <title>Executing work items</title>
+
+<para>The Drools engine contains a WorkItemManager that is responsible for executing work items whenever necessary.  The WorkItemManager is responsible for delegating the work items to WorkItemHandlers that execute the work item and notify the WorkItemManager when the work item has been completed.  For executing notification work items, a NotificationWorkItemHandler should be created (implementing the WorkItemHandler interface):</para>
+
+<programlisting>
+package com.sample;
+
+import org.drools.process.instance.WorkItem;
+import org.drools.process.instance.WorkItemHandler;
+import org.drools.process.instance.WorkItemManager;
+
+public class NotificationWorkItemHandler implements WorkItemHandler {
+
+  public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
+    // extract parameters
+    String from = (String) workItem.getParameter("From");
+    String to = (String) workItem.getParameter("To");
+    String message = (String) workItem.getParameter("Message");
+    String priority = (String) workItem.getParameter("Priority");
+    // send email
+    EmailService service = ServiceRegistry.getInstance().getEmailService();
+    service.sendEmail(from, to, "Notification", message);
+    // notify manager that work item has been completed
+    manager.completeWorkItem(workItem.getId(), null);
+  }
+
+  public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
+    // Do nothing, notifications cannot be aborted
+  }
+
+}
+</programlisting>
+
+<para>This WorkItemHandler sends a notification as an email and then immediate notifies the WorkItemManager that the work item has been completed.  Note that not all work items can be completed directly.  In cases where executing a work item takes some time, execution can continue asynchronously and the work item manager can be notified later.  In these situations, it might also be possible that a work item is being aborted before it has been completed.  The abort method can be used to specify how to abort such work items.</para>
+
+<para>WorkItemHandlers should be registered at the WorkItemManager, using the following API:</para>
+
+<programlisting>
+  workingMemory.getWorkItemManager().registerWorkItemHandler(
+    "Notification", new NotificationWorkItemHandler());
+</programlisting>
+
+<para>Decoupling the execution of work items from the process itself has the following advantages:</para>
+<orderedlist>
+  <listitem>
+    <para>The process is more declarative, specifying what should be executed, not how.</para>
+  </listitem>
+  <listitem>
+    <para>Changes to the environment can be implemented by adapting the work item handler.  The process itself should not be changed.  It is also possible to use the same process in different environments, where the work item handler is responsible for integrating with the right services.</para>
+  </listitem>
+  <listitem>
+    <para>It is easy to share work item handlers across processes and projects (which would be more difficult if the code would be embedded in the process itself).</para>
+  </listitem>
+  <listitem>
+    <para>Different work item handlers could be used depending on the context.  For example, during testing or simulation, it might not be necessary to actually execute the work items.  The next section shows an example of how to use specialized work item handlers during testing.</para>
+  </listitem>
+</orderedlist>
+
+  </section>
+
+</section>
+
+<section>
+  <title>Testing processes using work items</title>
+
+<para>Customizable execution depending on context, 
+easier to manage changes in environment (by changing handler),
+sharing processes accross contexts (using different handlers),
+testing, simulation (custom test handlers)</para>
+
+</section>
+
+<section>
+  <title>Future</title>
+
+<para>Our process framework is based on the (already well-known) idea of a Process Virtual Machine (PVM), where the process framework can be used as a basis for multiple process languages.  This allows users to more easily create their own process languages, where common services provided by the process framework (e.g. persistence, audit) can be (re)used by the process language designer.  Processes are represented as a graph of nodes, each node describing a part of the process logic. Different types of nodes are used for expressing different kinds of functionality, like creating or merging parallel flows (split and join), invoking a sub process, invoking external services, etc.  One of our goals is creating a truly pluggable process language, where language designers can easily plug in their own node implementations.</para>
+
+</section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/Chapter-Eclipse.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/Chapter-Eclipse.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/Chapter-Eclipse.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./">
+
+  <title>Drools Eclipse IDE features</title>
+
+  <para>The Drools plugin for the Eclipse IDE provides a few additional features that
+  might be interesting for developers.</para>
+
+  <section>
+    <title>Process skins</title>
+
+    <para>We have introduced the concept of a (process) skin, which controls how the
+    different nodes inside a process are visualized. This allows you to change the 
+    visualization of the different node types the way you like them (by implementing
+    your own SkinProvider).</para>
+
+    <para>BPMN is a popular language used by business users for modeling business
+    processes. BPMN defines terminology, different types of nodes, how these should
+    be visualized, etc. People who are familiar with BPMN might find it easier to
+    implement an executable process (possibly based on a BPMN process diagram) using
+    a similar visualization. We have therefore created a BPMN skin that maps the Drools
+    Flow concepts to the equivalent BPMN visualization.</para>
+
+    <para>For example, the following figure shows a process using some of the different
+    types of nodes in the RuleFlow language using the default skin ...</para>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Eclipse/RuleFlow.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+
+    <para>Simply by switching the preferred process skin in the Drools preferences ...</para>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Eclipse/preferences.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+
+    <para>and then reopening the editor shows the same process using the BPMN skin ...</para>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Eclipse/BPMN.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+
+  </section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Eclipse/Chapter-Eclipse.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/Chapter-RuleFlow.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/Chapter-RuleFlow.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/Chapter-RuleFlow.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,819 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./" >
+  <title>Rule Flow</title>
+
+  <figure>
+    <title>Ruleflow</title>
+
+    <mediaobject>
+      <imageobject>
+	      <imagedata align="center" fileref="images/Chapter-Flow/RuleFlow.png" format="PNG" role="" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <para>A RuleFlow is a process that describes the order in which a series of steps need to
+  be executed, using a flow chart.  A process consists of a collection of nodes that are
+  linked to each other using connections.  Each of the nodes represents one step in the
+  overall process while the connections specify how to transition from one node to the other.
+  A large selection of predefined node types have been defined.  This chapter describes how
+  to define such processes and use them in your application.</para>
+
+  <section>
+    <title>Creating a RuleFlow process</title>
+
+    <para>Processes can be created by using one of the following three methods:
+    <orderedlist>
+       <listitem>Using the graphical RuleFlow editor in the Drools plug-in for Eclipse</listitem>
+       <listitem>As an XML file, according to the XML process format as defined in the
+       'drools-processes' XML Schema Definition.</listitem>
+       <listitem>By directly creating a process using the Process API.</listitem>
+    </orderedlist>
+    </para>
+
+    <section>
+      <title>Using the graphical RuleFlow editor</title>
+
+      <para>The graphical RuleFlow editor is a editor that allows you to create a process
+      by dragging and dropping different nodes on a canvas and editing the properties of these
+      nodes.  The graphical RuleFlow editor is part of the Drools plug-in for Eclipse.  Once
+      you have set up a Drools project (check the IDE chapter if you do not know how to do this),
+      you can start adding processes.  When in a project, launch the 'New' wizard (use "Ctrl+N"
+      or by right-clicking the directory you would like to put your ruleflow in and selecting
+      "New ... -> Other ...".  Choose the section on "Drools" and then pick "RuleFlow file".
+      This will create a new .rf file.</para>
+
+      <figure>
+        <title>Creating a new RuleFlow file</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Flow/RFNewWizard.png" format="PNG" role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Next you will see the graphical ruleflow editor. Now would be a good time to
+      switch to the "Drools Perspective" (if you haven't done so already) - this will tweak the UI so
+      it is optimal for rules. Then ensure that you can see the "Properties" view down the bottom of
+      the Eclipse window, as it will be necessary to fill in the different properties of the elements
+      in your process.  If you cannot see the properties view, open it using the menu Window ->
+      Show View -> Other ..., and under the General folder select the properties view.</para>
+
+      <figure>
+        <title>New RuleFlow process</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Flow/NewRF.png" format="PNG" role="" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The RuleFlow editor consists of a palette, a canvas and an outline view.  To add
+      new elements to the canvas, select the element you would like to create in the palette
+      and then add them to the canvas by clicking on the preferred location.  For example, 
+      click on the RuleFlowGroup icon in the Component Pallette of the GUI
+      - you can then draw a few rule flow groups. Clicking on an element in your ruleflow 
+      allows you to set the properties of that element.You can link the nodes together (as
+      long as it is allowed by the different types of nodes) by using "Connection Creation"
+      from the component palette.</para>
+
+      <para>You can keep adding nodes and connections to your process until it represents the
+      business logic that you want to specify.  You'll probably need to check the process for
+      any missing information (by pressing the green "check" icon in the IDE menu bar) before
+      trying to use it in your application.</para>
+
+    </section>
+
+    <section>
+      <title>Defining processes using XML</title>
+
+      <para>It is also possible to specify processes using the underlying XML directly.  The
+      syntax of these XML processes is defined using an XML Schema Definition. For example,
+      the following XML fragment shows a simple process that contains a sequence of
+      a start node, an action node that prints "Hello World" to the console, and an end node.</para>
+
+<programlisting>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;process xmlns="http://drools.org/drools-4.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0/process drools-processes-4.0.xsd"
+         type="RuleFlow" name="ruleflow" id="com.sample.ruleflow" package-name="com.sample" &gt;
+
+  &lt;header&gt;
+  &lt;/header&gt;
+
+  &lt;nodes&gt;
+    &lt;start id="1" name="Start" x="16" y="16" /&gt;
+    &lt;actionNode id="2" name="Hello" x="128" y="16" &gt;
+      &lt;action type="expression" dialect="mvel" &gt;System.out.println("Hello World");&lt;/action&gt;
+    &lt;/actionNode&gt;
+    &lt;end id="3" name="End" x="240" y="16" /&gt;
+  &lt;/nodes&gt;
+
+  &lt;connections&gt;
+    &lt;connection from="1" to="2" /&gt;
+    &lt;connection from="2" to="3" /&gt;
+  &lt;/connections&gt;
+
+&lt;/process&gt;
+</programlisting>
+
+      <para>The process XML file should consist of exactly one &lt;process&gt; element. This element
+      contains parameters related to the process (the type, name, id and package name of the process),
+      and consists of three main subsections: a &lt;header&gt; (where process-level information like variables,
+      globals, imports and swimlanes can be defined), a &lt;nodes&gt; section that defines each of the nodes in
+      the process (there is a specific element for each of the different node types that defines the
+      various parameters and possibly sub-elements for that node type), and a &lt;connections&gt; section that
+      contains the connections between all the nodes in the process.</para>
+
+    </section>
+
+    <section>
+      <title>Defining processes using the Process API</title>
+
+      <para>While it is recommended to define processes using the graphical editor or the underlying XML (to
+      shield yourself from internal APIs), it is also possible to define a process using the Process API directly.
+      The most important process elements are defined in the org.drools.workflow.core and the
+      org.drools.workflow.core.node packages.Note that creating a process using this API can be rather complex
+      and error-prone, and should only be used if the above mentioned methods are not sufficient (for example
+      when automatically generating processes from input that is not XML-based). You can however use the process
+      validator (org.drools.ruleflow.core.validation.RuleFlowProcessValidator) to validate processes that were
+      manually created using the API.</para>
+
+    </section>
+
+  </section>
+
+  <section>
+    <title>Using a process in your application</title>
+
+    <para>There are two things you need to do to be able to execute processes from
+    within your application: (1) you need to create a rulebase that contain
+    the definition of the process; and (2) you need to start the process by creating
+    a session to communicate with the process engine and start the process.</para>
+
+    <orderedlist>
+
+       <listitem><para><emphasis>Creating a rulebase</emphasis>: Once you
+       have a valid process, you can add a process to a package (just like adding a rule):
+      <programlisting>
+PackageBuilder builder = new PackageBuilder();
+Reader processReader = ... (process reader, select your *.rf file here)
+builder.addProcessFromXml(processReader);</programlisting>
+      Alternatively, you can upload the .rf file to Guvnor (as a
+      process asset) and it will automatically be included in packages that are
+      deployed from it.</para>
+      <para>Next you need to create a rulebase that contains all the necessary rules
+      and processes, like this:
+      <programlisting>
+RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ruleBase.addPackage(builder.getPackage());</programlisting>
+      </para></listitem>
+
+      <listitem><para><emphasis>Starting a process</emphasis>: Processes are only executed
+      if you explicitly state that they should be executed.  This is because you could
+      potentially define a lot of processes in your rulebase and the engine has no way
+      to know when you would like to start each of these.  To activate a particular process,
+      you will need to start the process by calling the startProcess method on your session.
+      For example:
+      <programlisting>StatefulSession session = ruleBase.newStatefulSession();
+session.startProcess("com.sample.MyProcess");</programlisting>
+      The parameter of the startProcess method represents the id of the process that needs to
+      be started (the process id needs to be specified as a property of the process, which are
+      shown in the properties view when you click the background canvas of your process). 
+      If your process also requires the execution of rules during the execution of the process,
+      you also need to call the session.fireAllRules() method. Thats it !</para>
+      <para>You can also specify additional parameters that are used to pass on additional data
+      to the process, using the startProcess(String processId, Map parameters)
+      method, that takes an additional set of parameters as name-value pairs.
+      </para></listitem>
+
+    </orderedlist>
+    
+    <para>You can also start a process from within a rule consequence using
+    <programlisting>drools.getWorkingMemory().startProcess("...");</programlisting>
+    </para>
+  </section>
+
+  <section>
+    <title>Detailed explanation of the different node types</title>
+
+    <para>A ruleflow process is a flow chart where different types of nodes are linked using connections.  The process itself exposes the following properties:
+      <itemizedlist>
+        <listitem><para><emphasis>Id</emphasis>: The unique id of the process.</para></listitem>
+        <listitem><para><emphasis>Name</emphasis>: The display name of the process.</para></listitem>
+        <listitem><para><emphasis>Version</emphasis>: The version number of the process.</para></listitem>
+        <listitem><para><emphasis>Package</emphasis>: The package (namespace) the process is defined in.</para></listitem>
+        <listitem><para><emphasis>Variables</emphasis>: Variables can be defined to store data during the execution of your process (see the 'data' section for more details).</para></listitem>
+        <listitem><para><emphasis>Swimlanes</emphasis>: Specify the actor that is responsible for the execution of human tasks (see the 'human tasks' section for more details).</para></listitem>
+        <listitem><para><emphasis>Exception Handlers</emphasis>: Specify the behaviour when a fault occurs in the process (see the 'exceptions' section for more details).</para></listitem>
+        <listitem><para><emphasis>Connection Layout</emphasis>: Specify how the connections are visualized on the canvas using the connection layout property: 
+          <itemizedlist>
+            <listitem>
+              <para>'Manual' always draws your connections as lines going straight from their start to end point (with the possibility to use intermediate break points).</para>
+            </listitem>
+            <listitem>
+              <para>'Shortest path' is similar, but it tries to go around any obstacles is might encounter between the start and end point (to avoid lines crossing nodes).</para>
+            </listitem>
+            <listitem>
+              <para>'Manhatten' draws connections by only using horizontal and vertical lines.</para>
+            </listitem>
+          </itemizedlist></para></listitem>
+      </itemizedlist>
+    </para>
+   
+    <para>A RuleFlow process supports different types of nodes:
+
+         <figure>
+          <title>The different types of ruleflow nodes</title>
+           <mediaobject>
+             <imageobject>
+		     <imagedata align="center" fileref="images/Chapter-Flow/ruleflow_nodes.png" format="PNG" role="" />
+             </imageobject>
+           </mediaobject>
+        </figure>
+
+    <orderedlist>
+
+      <!-- START -->
+      <listitem>
+        <para><emphasis role="strong">Start</emphasis>: The start of the ruleflow.  A ruleflow should have exactly one start node.  The start node cannot have incoming connections and should have one outgoing connection.  Whenever ruleflow process is started, the ruleflow will start executing here, and will then automatically continue to the first node linked to this start node, etc.  It contains the following properties:
+        </para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Triggers</emphasis>: A start node can also specify additional triggers that can be used to automatically start the process.  Examples are a 'constraint' trigger that automatically starts the process if a given rule / contraint is satisfied, or an 'event' trigger that automatically starts the process if a specific event is signalled.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- END -->
+      <listitem>
+        <para><emphasis role="strong">End</emphasis>: The end of the ruleflow.  A ruleflow should have one or more end nodes.  The end node should have one incoming connection and cannot have outgoing connections.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Terminate</emphasis>: An end node can be terminating (default) or not.  When a terminating end node is reached in the ruleflow, the ruleflow is terminated.  If a ruleflow is terminated, all nodes that are still active in this ruleflow are cancelled first (which is possible if parallel paths are used).  Non-terminating end nodes are simply end nodes in the process where the flow ends but other parallel paths still continue.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- RULESET -->
+      <listitem>
+        <para><emphasis role="strong">RuleFlowGroup</emphasis>: Represents a set of rules that need to be evaluated.  The rules are evaluated when the node is reached.  A RuleFlowGroup node should have one incoming connection and one outgoing connection.  Rules can become part of a specific ruleflow group using the "ruleflow-group" attribute in the header. When a RuleSet node is reached in the ruleflow, the engine will start executing rules that are part of the corresponding ruleflow-group (if any).  Execution will automatically continue to the next node if there are no more active rules in this ruleflow-group.  This means that, during the execution of a ruleflow-group, it is possible that new activations belonging to the currently active ruleflow-group are added to the agenda due to changes made to the facts by the other rules. Note that the ruleflow will immediately continue with the next node if it encounters a ruleflow-group where there are no active rules at that point!
 .  If the ruleflow-group was already active, the ruleflow-group will remain active and exeution will only continue if all active rules of the ruleflow-group has been completed.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>RuleFlowGroup</emphasis>: The name of the ruleflow-group that represents the set of rules of this RuleFlowGroup node.</para></listitem>
+          <listitem><para><emphasis>Timers</emphasis>: Timers that are linked to this node (see the 'timers' section for more details).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- SPLIT -->
+      <listitem>
+        <para><emphasis role="strong">Split</emphasis>: Allows you to create branches in your ruleflow.  A split node should have one incoming connection and two or more outgoing connections.  There are three types of splits currently supported:
+          <itemizedlist>
+           <listitem>
+            <para>AND means that the control flow will continue in all outgoing connections simultaneously (paralellism).
+            </para>
+           </listitem>
+           <listitem>
+             <para>XOR means that exactly one of the outgoing connections will be chosen (decision).  Which connection is decided by evaluating the constraints that are linked to each of the outgoing connections.  Constraints are specified using the same syntax as the left-hand side of a rule. The constraint with the lowest priority number that evaluates to true is selected.  Note that you should always make sure that at least one of the outgoing connections will evaluate to true at runtime (the ruleflow will throw an exception at runtime if it cannot find at least one outgoing connection).  For example, you could use a connection which is always true (default) with a high priority number to specify what should happen if none of the other connections can be taken.
+             </para>
+           </listitem>
+           <listitem>
+             <para>OR means that all outgoing connections whose condition evaluates to true are selected.  Conditions are similar to the XOR split, except that the priorities are not taken into account.  Note that you should make sure that at least one of the outgoing connections will evaluate to true at runtime (the ruleflow will throw an exception at runtime if it cannot find an outgoing connection).
+             </para>
+           </listitem>
+          </itemizedlist>
+        It contains the following properties:
+        </para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Type</emphasis>: The type of the split node, t.e. AND, XOR or OR (see above).</para></listitem>
+          <listitem><para><emphasis>Constraints</emphasis>: The constraints linked to each of the outgoing connections (in case of an (X)OR split).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- JOIN -->
+      <listitem>
+        <para><emphasis role="strong">Join</emphasis>: Allows you to synchronize multiple branches.  A join node should have two or more incoming connections and one outgoing connection.  There are three types of splits currently supported:
+          <itemizedlist>
+           <listitem>
+            <para>AND means that is will wait until all incoming branches are completed before continuing.
+            </para>
+           </listitem>
+           <listitem>
+             <para>XOR means that it continues if one of its incoming branches has been completed.
+             </para>
+           </listitem>
+           <listitem>
+             <para>Discriminator means that it continues if one of its incoming branches has been completed.
+             </para>
+           </listitem>
+          </itemizedlist>
+        It contains the following properties:
+        </para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Type</emphasis>: The type of the join node, t.e. AND, XOR or Discriminator (see above).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- EVENT WAIT -->
+      <listitem>
+        <para><emphasis role="strong">Event wait (or milestone)</emphasis>: Represents a wait state.  An event wait should have one incoming connection and one outgoing connection.  It specifies a constraint which defines how long the process should wait in this state before continuing.  For example, a constraint in an order entry application might specify that the process should wait until no more errors are found in the given order.  Constraints are specified using the same syntax as the left-hand side of a rule.   When a wait node is reached in the ruleflow, the engine will check the associated constraint.  If the constraint evaluates to true directly, the flow will continue imediately.  Otherwise, the flow will continue if the constraint is satisfied later on, for example when a fact is inserted in, updated or removed from the working memory.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Constraint</emphasis>: Defines when the process can leave this state and continue.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- SUBPROCESS -->
+      <listitem>
+        <para><emphasis role="strong">SubFlow</emphasis>: represents the invocation of another process from withing this process.  A sub-process node should have one incoming connection and one outgoing connection.  When a SubProcess node is reached in the ruleflow, the engine will start the process with the given id.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>ProcessId</emphasis>: The id of the process that should be executed.</para></listitem>
+          <listitem><para><emphasis>Wait for completion</emphasis>: If this property is true, the subflow node will only continue if that subflow process has terminated its execution (completed or aborted); otherwise it will continue immediately after starting the sub-process.</para></listitem>
+          <listitem><para><emphasis>Independent</emphasis>: If this property is true, the sub-process is started as an independent process, which means that the subflow process will not be terminated if this process reaches an end node; otherwise the active sub-process will be cancelled on termination (or abortion) of the process.</para></listitem>
+          <listitem><para><emphasis>On entry/exit actions</emphasis>: Actions that are executed upon entry / exit of this node.</para></listitem>
+          <listitem><para><emphasis>Parameter in/out mapping</emphasis>: A SubFlow node can also define in- and out-mappings for variables.  The value of variables in this process with given variable name in the in-mappings will be used as parameters (with the associated parameter name) when starting the process.  The value of the variables in the sub-process with the given variable name in the out-mappings will be copied to the variables of this process when the sub-process has been completed.  Note that can only use out-mappings when "Wait for completion" is set to true.</para></listitem>
+          <listitem><para><emphasis>Timers</emphasis>: Timers that are linked to this node (see the 'timers' section for more details).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- ACTION -->
+      <listitem>
+        <para><emphasis role="strong">Action</emphasis>: represents an action that should be executed in this ruleflow.  An action node should have one incoming connection and one outgoing connection.  The associated action specifies what should be executed.  An action should specify which dialect is used to specify the action (e.g. Java or MVEL), and the actual action code.  The action code can refer to any globals, the special 'drools' variable which implements KnowledgeHelper (can for example be used to access the working memory (drools.getWorkingMemory())) and the special 'context' variable which implements the ProcessContext (can for example be used to access the current ProcessInstance or NodeInstance and get/set variables). When an action node is reached in the ruleflow, it will execute the action and continue with the next node.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Action</emphasis>: The action associated with this action node.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- TIMER -->
+      <listitem>
+        <para><emphasis role="strong">Timer</emphasis>: represents a timer that can trigger one or multiple times after a given period of time.  A Timer node should have one incoming connection and one outgoing connection.  The timer delay specifies how long (in milliseconds) the timer should wait before triggering the first time.  The timerperiod specifies the time between two subsequenct triggers.  A period of 0 means that the timer should only be triggered once.  When a timer node is reached in the ruleflow, it will execute the associated timer.  The timer is cancelled if the timer node is cancelled (e.g. by completing or aborting the process).  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Timer delay</emphasis>: The delay (in milliseconds) that the node should wait before triggering the first time.</para></listitem>
+          <listitem><para><emphasis>Timer period</emphasis>: The period (in milliseconds) between two subsequent triggers.  If the period is 0, the timer should only be triggered once.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- FAULT -->
+      <listitem>
+        <para><emphasis role="strong">Fault</emphasis>: A fault node can be used to signal an exceptional condition in the process.  A fault node should have one incoming connection and no outgoing connections.  When a fault node is reached in the ruleflow, it will throw a fault with the given name.  The process will search for an appropriate exception handler that is capable of handling this kind of fault.  If no fault handler is found, the process instance will be aborted.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>FaultName</emphasis>: The name of the fault.  This name is used to search for appriopriate exception handlers that is capable of handling this kind of fault.</para></listitem>
+          <listitem><para><emphasis>FaultVariable</emphasis>: The name of the variable that contains the data associated with this fault.  This data is also passed on to the exception handler (if one is found).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- EVENT -->
+      <listitem>
+        <para><emphasis role="strong">Event</emphasis>: An event node can be used to respond to (internal/external) events during the execution of the process.  An event node should have no incoming connections and one outgoing connection.  An event node specifies the type of event that is expected.  Whenever that type of event is detected, the node connected to this event node will be triggered.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>EventType</emphasis>: The type of event that is expected.</para></listitem>
+          <listitem><para><emphasis>VariableName</emphasis>: The name of the variable that will contain the data associated with this event (if any) when this event occurs.</para></listitem>
+          <listitem><para><emphasis>Scope</emphasis>: An event could be used to listen to internal events only, i.e. events that are signalled to this process instance directly, using processInstance.signalEvent(String type, Object data).  When an event node is defined as external, it will also be listening to (external) events that are signalled to the process engine directly, using workingMemory.signalEvent(String type, Object event).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- HUMAN TASK -->
+      <listitem>
+        <para><emphasis role="strong">Human Task</emphasis>: Processes can also involve tasks that need to executed by human actors.  A task node represents an atomic task that needs to be executed by a human actor.  A human task node should have one incoming connection and one outgoing connection.  Human task nodes can be used in combination with swimlanes to assign multiple human tasks to the similar actors. For more detail, check the 'human tasks' chapter.  A human task node is actually nothing more than a specific type of work item node (of type "Human Task").  A human task node contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>TaskName</emphasis>: The name of the human task.</para></listitem>
+          <listitem><para><emphasis>Priority</emphasis>: An integer indicating the priority of the human task.</para></listitem>
+          <listitem><para><emphasis>Comment</emphasis>: A comment associated with the human task.</para></listitem>
+          <listitem><para><emphasis>ActorId</emphasis>: The actor id that is responsible for executing the human task.  A list of actor id's can be specified using a comma (',') as separator.</para></listitem>
+          <listitem><para><emphasis>Skippable</emphasis>: Specifies whether the human task can be skipped (i.e. the actor decides not to execute the human task).</para></listitem>
+          <listitem><para><emphasis>Wait for completion</emphasis>: If this property is true, the human task node will only continue if the human task has been terminated (i.e. completed or any other terminal state); otherwise it will continue immediately after creating the human task.</para></listitem>
+          <listitem><para><emphasis>On entry/exit actions</emphasis>: Actions that are executed upon entry / exit of this node.</para></listitem>
+          <listitem><para><emphasis>Parameter mapping</emphasis>: Allows copying the value of process variables to parameters of the human task.  Upon creation of the human tasks, the values will be copied.</para></listitem>
+          <listitem><para><emphasis>Result mapping</emphasis>: Allows copying the value of result parameters of the human task to a process variable.  Upon completion of the human task, the values will be copied.  Note that can only use result mappings when "Wait for completion" is set to true.</para></listitem>
+          <listitem><para><emphasis>Timers</emphasis>: Timers that are linked to this node (see the 'timers' section for more details).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- COMPOSITE -->
+      <listitem>
+        <para><emphasis role="strong">Composite</emphasis>: A composite node is a node that can contain other nodes (i.e. acts as a node container).  It thus allows creating a part of the flow embedded inside a composite node.  It also allows you to define additional variables and exception handlers that are accessible for all nodes inside this container. A composite node should have one incoming connection and one outgoing connection. It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>StartNodeId</emphasis>: The id of the node (inside this node container) that should be triggered when this node is triggered.</para></listitem>
+          <listitem><para><emphasis>EndNodeId</emphasis>: The id of the node (inside this node container) that represents the end of the flow contained in this node.  When this node is completed, the composite node will also be completed and trigger its outgoing connection.  All other executing nodes within this composite node will be cancelled.</para></listitem>
+          <listitem><para><emphasis>Variables</emphasis>: Additional variables can be defined to store data during the execution of this node (see the 'data' section for more details).</para></listitem>
+          <listitem><para><emphasis>Exception Handlers</emphasis>: Specify the behaviour when a fault occurs in this node container (see the 'exceptions' section for more details).</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- FOR EACH -->
+      <listitem>
+        <para><emphasis role="strong">For Each</emphasis>: A for each node is a special kind of composite node that allows you to execute the contained flow multiple times, once for each element in a collection.  A for each node should have one incoming connection and one outgoing connection. A for each node waits for completion of the embedded flow for each of its elements before continuing.  It contains the following properties:</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>StartNodeId</emphasis>: The id of the node (inside this node container) that should be triggered for each of the elements in a collection.</para></listitem>
+          <listitem><para><emphasis>EndNodeId</emphasis>: The id of the node (inside this node container) that represents the end of the flow contained in this node.  When this node is completed, the execution of the for each node will also be completed for that element.  and trigger its outgoing connection.  All other executing nodes within this composite node will be cancelled.</para></listitem>
+          <listitem><para><emphasis>CollectionExpression</emphasis>: The name of a variable that represents the collection of elements that should be iterated over.  The collection variable should be of type java.util.Collection.</para></listitem>
+          <listitem><para><emphasis>VariableName</emphasis>: The name of the variable that will contain the selected element from the collection.  This can be used to gives nodes inside this composite node access to the selected element.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+      <!-- WORK ITEMS -->
+      <listitem>
+        <para><emphasis role="strong">Work Item</emphasis>: Represents an (abstract) unit of work that should be executed in this process.  All work that is executed outside the process engine should be represented (in a declarative way) using a work item.  Different types of work items are predefined, like for example sending an email, logging a message, etc.  However, the user can define domain-specific work items (using a unique name and by defining the paramaters (input) and results (output) that are associated with this type of work).  See the chapter about domain-specific processes for a detailed explanation and illustrative examples of how to define and use work items in your processes.  When a work item node is reached in the process, the associated work item is executed.  A work item node should have one incoming connection and one outgoing connection.</para>
+        <itemizedlist>
+          <listitem><para><emphasis>Id</emphasis>: The id of the node (which is unique within one node container).</para></listitem>
+          <listitem><para><emphasis>Name</emphasis>: The display name of the node.</para></listitem>
+          <listitem><para><emphasis>Wait for completion</emphasis>: If the property "Wait for completion" is true, the WorkItem node will only continue if the created work item has terminated its execution (completed or aborted); otherwise it will continue immediately after starting the work item.</para></listitem>
+          <listitem><para><emphasis>Parameter mapping</emphasis>: Allows copying the value of process variables to parameters of the work item.  Upon creation of the work item, the values will be copied.</para></listitem>
+          <listitem><para><emphasis>Result mapping</emphasis>: Allows copying the value of result parameters of the work item to a process variable.  Each type of work can define result parameters that will (potentially) be returned after the work item has been completed.  A result mapping can be used to copy the value of the given result parameter to the given variable in this process.  For example, the "FileFinder" work item returns a list of files that match the given search criteria as a result parameter 'Files'.  This list of files can then be bound to a process variable for use within the process. Upon completion of the work item, the values will be copied.  Note that can only use result mappings when "Wait for completion" is set to true.</para></listitem>
+          <listitem><para><emphasis>On entry/exit actions</emphasis>: Actions that are executed upon entry / exit of this node.</para></listitem>
+          <listitem><para><emphasis>Timers</emphasis>: Timers that are linked to this node (see the 'timers' section for more details).</para></listitem>
+          <listitem><para><emphasis>Additional parameters</emphasis>: Each type of work item can define additional parameters that are relevant for that type of work.  For example, the "Email" work item defines additional parameters like 'From', 'To', 'Subject' and 'Body'.  The user can either fill in values for these parameters directly, or define a parameter mapping that will copy the value of the given variable in this process to the given parameter (if both are specified, the mapping will have precedence).  Parameters of type String can use the #{variableName} to embed the value of a variable in the String.  The value of the variable will be retrieved when creating the work item and the #{...} will be replaced by the toString() value of the variable.</para></listitem>
+        </itemizedlist>
+      </listitem>
+
+    </orderedlist>
+    </para>
+  </section>
+
+  <section>
+    <title>Data</title>
+
+    <para>While the flow graph focusses on specifying the control flow of the process, it is usually also
+    necessary to look at the process from a data perspective.  During the execution of a process, data
+    can retrieved, stored, passed on and (re)used throughout the entire process.
+    </para>
+
+    <para>Runtime data can be stored during the execution of the process using variables.  A variable is defined
+    by a name and a data type.  This could be a basic data types (e.g. boolean, integer, String) or any kind of
+    Object.  Variables can be defined inside a variable scope.  The top-level scope is the variable scope of the
+    process itself.  Sub-scopes can be defined using a composite node.  Variables that are defined in a sub-scope
+    are only accessible for nodes within that scope.</para>
+
+    <para>Whenever a variable is accessed, the process will search for the appropriate variable scope that defines
+    the variable.  Nesting of variable scopes is allowed: a node will always search for a variable in its
+    parent container.  If the variable cannot be found, it will look in that one's parent container, etc. until the
+    process instance itself is reached.  If the variable cannot be found, either null will be returned (in case of
+    a read) or an error message will be shown that the variable could not be found (in case of a write), after which
+    the process will continue without setting the paramater.</para>
+
+    <para>Variables can be used in various ways:
+      <itemizedlist>
+        <listitem>Process-level variables can be set when starting a process by providing a map of parameters when
+        invoking the startProcess method.  These parameters will be set as variables on the process scope.</listitem>
+        <listitem>Actions can read/write variables through the process context using
+        <programlisting>Object value = context.getVariable(variableName);</programlisting> and
+        <programlisting>context.setVariable(variableName, value);</programlisting></listitem>
+        <listitem>Work items and sub-flows can pass the value of parameters to the outside world by mapping the variable to one
+        of the work item parameters (either using a parameter mapping or by using #{variableName} directly inside
+        a String parameter.  The results of a work item can also be copied to a variable using a result mapping.</listitem>
+        <listitem>Sub-processes can also mapWork items can pass the value of parameters to the outside world by mapping the variable to one
+        of the work item parameters (either using a parameter mapping or by using #{variableName} directly inside
+        a String parameter.  The results of a work item can also be copied to a variable using a result mapping.</listitem>
+      </itemizedlist>
+manipulating data: parameters when starting process, parameter mapping (sub-flow, work item, etc.) actions (context.get/setParameter()), various nodes do automatic mapping of data to a variable (event node, exception handler)</para>
+
+    <para>globals, data in working memory, etc</para>
+  </section>
+
+  <section>
+    <title>Constraints</title>
+
+    <para>Two types of constraints:
+      <itemizedlist>
+        <listitem>rule: Rule constraints are equals to rule conditions and refer to data in the working memory.</listitem>
+        <listitem>code: Code constraints are expressions that return a boolean value.  They have access to the context variable.  MVEL code constraints also have direct access to the variables.</listitem>
+      </itemizedlist>
+    </para>
+
+    <para>Both rule and code constraints have access to globals that are defined for
+    the process and can reuse imports at the process level.</para>
+  </section>
+
+  <section>
+    <title>Actions</title>
+
+    <para>Actions can be used in different ways:
+      <itemizedlist>
+        <listitem>Action node: </listitem>
+        <listitem>On entry/exit actions: </listitem>
+        <listitem>Actions that specify the behaviour of exception handlers</listitem>
+      </itemizedlist>
+    </para>
+
+    <para>Actions have access to globals that are defined for
+    the process and the context variable.  The context variable can be used for
+      <itemizedlist>
+        <listitem>Getting the current node instance (if applicable).  The node instance could be queried for data (name, type).  You can also cancel the current node instance.</listitem>
+        <listitem>Getting the current process instance.  This process instance could be queried for data (name, id, processId, etc.), abort process instance.</listitem>
+        <listitem>Signalling events: internal or external</listitem>
+      </itemizedlist>
+    </para>
+  </section>
+  
+  <section>
+    <title>Events</title>
+
+        <figure>
+          <title>A sample process using events</title>
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Flow/EventProcess.png" format="PNG" role="" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+    <para>During the execution of a process, the process engine makes sure that all the relevant
+    tasks are executed according to the process plan, by requesting the execution of work items
+    and waiting for the results.  However, it is also possible that the process should respond to
+    events that were not directly requested by the process engine.  Explicitly representing these
+    events in a process allows the process author to specify how the process should react whenever
+    such events occur.</para>
+
+    <para>Events have a type and possibly data associated with the event.  Users are free to define
+    their own types of events and the data that is associated with this event.
+    </para>
+
+    <para>A process can specify how to respond to events by using event nodes.  An event node needs
+    to specify the type of event the node is interested in.  It can also define a variable name, which
+    defines the variable that the data that is associated with the event will be copied to.  This allows
+    subsequent nodes in the process to access the event data and take appropriate action based on this
+    data.</para>
+
+    <para>An event can be signalled to a running instance of a process in a number of ways:
+      <itemizedlist>
+        <listitem>Internal event: Any action inside a process (e.g. the action of an action node,
+        or on-entry or on-exit actions of nodes) can signal the occurence of an internal event to
+        the surrounding process instance using
+        <programlisting>context.getProcessInstance().signalEvent(type, eventData);</programlisting></listitem>
+        <listitem>External event: A process instance can be notified of an event from outside using
+        <programlisting>processInstance.signalEvent(type, eventData);</programlisting></listitem>
+        <listitem>External event using event correlation: Instead of notifying a process instance directly,
+        it is also possible to have the engine automatically determine which process instances might be interested
+        in an event using event correlation (based on the event type).  All process instances that have specified
+        they are interested in receiving external events of that type (e.g. by having an event node that is
+        listening to external events of that type) will be notified. You can signal such
+        an event to the process engine using
+        <programlisting>workingMemory.signalEvent(type, eventData);</programlisting></listitem>
+      </itemizedlist>
+    </para>
+
+    <para>Events could also be used to start a process.  Whenever a start node defines an event trigger of a
+    specific type, a new process instance will be started every time that type of event is signalled to the
+    process engine.
+    </para>
+
+  </section>
+  
+  <section>
+    <title>Exceptions</title>
+
+        <figure>
+          <title>A sample process using exception handlers</title>
+          <mediaobject>
+            <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Flow/FaultProcess.png" format="PNG" role="" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+    <para>Whenever an exceptional condition occurs during the execution of a process, a fault could be raised
+    to signal the occurrence of this exception.  The process will then search for an appropriate exception handler
+    that is capable of handling such a fault.</para>
+
+    <para>Similar to events, faults also have a type and possibly data associated with the fault.  Users are free to define
+    their own types of faults and the data that is associated with this fault.</para>
+
+    <para>Faults can be created using a fault node: A fault node generates a fault of the given type (i.e. the fault name).
+    If the fault node specifies a fault variable, the value of the given variable will be associated with the fault.</para>
+
+    <para>Whenever a fault is created, the process will search for an appropriate exception handler that is capable
+    of handling the given type of fault.  Processes and composite nodes both can define exception handlers for handling
+    faults.  Nesting of exception handlers is allowed: a node will always search for an appropriate exception handler in its
+    parent container.  If none is found, it will look in that one's parent container, etc. until the process instance
+    itself is reached.  If no exception handler can be found, the process instance will be aborted, resulting in the cancellation
+    of all nodes inside the process.</para>
+
+    <para>Exception handlers can also specify a fault variable.  The data associated with the fault (if any) will be copied
+    to this variable if the exception handler is selected to handle the fault.  This allows subsequent actions / nodes in the
+    process to access the fault data and take appropriate action based on this data.</para>
+
+    <para>Exception handlers need to define an action that specifies how to respond to the given fault.  In most cases, the
+    behaviour that is needed to react to the given fault cannot be handled in one action.  It is therefore recommended
+    to have the exception handler signal an event of a specific type (in this case "Fault") using
+    <programlisting>context.getProcessInstance().signalEvent("FaultType", context.getVariable("FaultVariable");</programlisting>
+    </para>
+
+  </section>
+  
+  <section>
+    <title>Timers</title>
+
+    <para>Timers can be used to wait for a predefined amount of time, before
+    triggering.  They could be used to specify timeout behaviour, to trigger
+    certain logic after a certain period or repeat it at regular intervals.</para>
+
+    <para>A timer needs to specify a delay and a period.  The delay specifies the
+    amount of time (in milliseconds) to wait after activation before triggering the
+    timer the first time.  The period defines the time between subsequent activations.
+    If the period is 0, the timer will only be triggered once.</para>
+
+    <para>The timer service is responsible for making sure that timers get triggered
+    at the appropriate times.  Timers can also be cancelled, meaning that the timer
+    will no longer be triggered.</para>
+
+    <para>Timers can be used in two ways inside a process:
+      <itemizedlist>
+        <listitem>TimerNode: A timer node is a node that can be added to the process flow.
+        When the timer node is triggered, the associated timer is activated.  The timer node
+        will trigger the next node whenever the timer is triggered.  This means that the
+        outgoing connection of a timer node can be triggered multiple times if a period is used.
+        Cancelling a timer node also cancels the associated timer.</listitem>
+        <listitem>Timers associated to nodes: it is also possible to add timers to event-based
+        nodes like work items, sub-flows, etc.  The timers associated with these nodes are activated
+        once the node is triggered.  The associated action is executed if the timer is triggered.
+        This could for example be used to send out notifications at regular time intervals when
+        the execution of a task takes too long, or signal an event or a fault in case of a time-out.
+        When the node these timers are defined for is completed, the timers are automatically
+        cancelled.</listitem>
+      </itemizedlist>
+    </para>
+  </section>
+  
+  <section>
+    <title>Assigning rules to a ruleflow group</title>
+
+  <para>Drools already provides some functionality to define the order in
+  which rules should be executed, like salience, activation groups, etc. When
+  dealing with (possibly a lot of) large rule-sets, managing the order in
+  which rules are evaluated might become complex. Ruleflow allows you to
+  specify the order in which rule sets should be evaluated by using a flow
+  chart. This allows you to define which rule sets should be evaluated in
+  sequence or in parallel, to specify conditions under which rule sets should
+  be evaluated, etc. This chapter contains a few ruleflow examples.</para>
+
+  <para>A rule flow is a graphical description of a sequence of steps that the
+  rule engine needs to take, where the order is important. The ruleflow can
+  also deal with conditional branching, parallelism, synchonization, etc.</para>
+
+  <para>To use a ruleflow to describe the order in which rules should be
+  evaluatied, you should first group rules into rulefow-groups using the ruleflow-group
+  rule attribute ("options" in the GUI).  Then you should create a ruleflow 
+  graph (which is a flow chart) that graphically describe the order in which the rules
+  should be considered (by specifying the order in which the ruleflow-groups should
+  be evaluated).</para>
+
+    <programlisting>
+  rule 'YourRule'
+     ruleflow-group 'group1'
+     when
+      ...
+     then
+      ...
+    end  
+  </programlisting>
+
+    <para>This rule will then be placed in the ruleflow-group called "group1".</para>
+  </section>
+
+  <section>
+    <title>A simple ruleflow</title>
+
+    <figure>
+      <title>Ruleflow</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Flow/RuleFlowSimple.png" format="PNG"
+                     role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The above rule flow specifies that the rules in the group "Check Order" must be
+    executed before the rules in the group "Process Order". This means that only
+    rules which are marked as having a ruleflow-group of "Check Order" will be
+    considered first, and then "Process Order". That's about it. You could
+    achieve similar results with either using salience (setting priorities, but this
+    is harder to maintain, and makes the time-relationship implicit in the
+    rules), or agenda groups. However, using a ruleflow makes the order of
+    processing explicit, almost like a meta-rule, and makes managing more complex
+    situations a lot easier.</para>
+
+    <para>In practice, if you are using ruleflow, you will most likely be
+    doing more then setting a simple sequence of groups to progress though.
+    You are more likely modeling branches of processing. In this case you use
+    "Split" and "Join" items from the component pallette. You use connections
+    to connect from the start to ruleflow groups, or to Splits, and from
+    splits to groups, joins etc. (i.e. basically like a simple flow chart that
+    models your processing). You can work entirely graphically until you get
+    the graph approximately right.</para>
+
+    <figure>
+      <title>Complex ruleflow</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Flow/RFComplex.png" format="PNG"
+                     role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The above flow is a more complex example. This example is an
+    insurance claim processing rule flow. A description: Initially the claim
+    data validation rules are processed (these check for data integrity and
+    consistency, that all the information is there). Next there is a decision
+    "split" - based on a condition which the rule flow checks (the value of
+    the claim), it will either move on to an "auto-settlement" group, or to
+    another "split", which checks if there was a fatality in the claim. If
+    there was a fatality then it determines if the "regular" of fatality
+    specific rules will take effect. And so on. What you can see from this is
+    based on a few conditions in the rule flow the steps that the processing
+    takes can be very different. Note that all the rules can be in one package
+    - making maintenance easy. You can separate out the flow control from the
+    actual rules.</para>
+
+    <figure>
+      <title>Split types</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Flow/RFSplitType.png" format="PNG"
+                     role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Split types (referring to the above): When you click on a split, you
+    will see the above properties panel. You then have to choose the type:
+    AND, OR, and XOR. The interesting ones are OR and XOR: if you choose OR,
+    then any of the "outputs" of the split can happen (i.e. processing can
+    proceed in parallel down more then one path). If you chose XOR, then it
+    will be only one path.</para>
+
+    <para>If you choose OR or XOR, then in the row that has constraints, you
+    will see a button on the right hand side that has "..." - click on this,
+    and you will see the constraint editor. From this constraint editor, you
+    set the conditions which the split will use to decide which "output path"
+    will be chosen.</para>
+
+    <figure>
+      <title>Edit constraints</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Flow/RFEditConstraints.png"
+                     format="PNG" role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Choose the output path you want to set the constraints for (eg
+    Autosettlement), and then you should see the following constraint
+    editor:</para>
+
+    <figure>
+      <title>Constraint editor</title>
+
+      <mediaobject>
+        <imageobject>
+		<imagedata align="center" fileref="images/Chapter-Flow/RFConstraintEditor.png"
+                     format="PNG" role="" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>This is a text editor where the constraints (which are like the
+    condition part of a rule) are entered. These constraints operate on facts
+    in the working memory (eg. in the above example, it is checking for claims
+    with a value of less than 250). Should this condition be true, then the
+    path specified by it will be followed.</para>
+  </section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Flow/Chapter-RuleFlow.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/Chapter-GettingStarted.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/Chapter-GettingStarted.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/Chapter-GettingStarted.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./">
+  <title>Getting Started</title>
+  <para>This section describes how to get started with Drools Flow.  It
+  will guide you to create and exectue your first Drools Flow process.</para>
+
+  <section>
+    <title>Installation</title>
+    <para>The best way to get started is to use the Drools Eclipse IDE.  This
+    is a plugin for the Eclipse developement environment that allows users to
+    create, execute and debug Drools processes and rules.</para>
+
+    <para>To get started, you need an Eclipse 3.4.x, as well as the Eclipse
+    Graphical Editing Framework (GEF) plugin installed.  Eclipse can be downloaded
+    from <ulink url="http://www.eclipse.org/downloads/">
+    http://www.eclipse.org/downloads/</ulink> (choose either the Eclipse IDE for Java
+    Developers or the Eclipse Classic).  Eclipse GEF can also be downloaded from
+    <ulink url="http://www.eclipse.org/gef/downloads/">
+    http://www.eclipse.org/gef/downloads/</ulink> (choose the corresponding version) or
+    by using an update site.</para>
+
+    <para>Download the Drools Eclipse IDE plugin from <ulink
+    url="http://www.jboss.org/auth/drools/downloads.html">
+    http://www.jboss.org/auth/drools/downloads.html</ulink> (the latest snapshot build
+    can also be downloaded from <ulink url="https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/">https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/</ulink>), unzip it in your eclipse
+    folder and (re)start Eclipse.  To check that installation was successful, open
+    the Drools perspective: Click the 'Open Perspective' button in the top right corner
+    of your eclipse window, select 'Other...' and pick the Drools perspective.</para>
+  </section>
+
+  <section>
+    <title>Creating your first process</title>
+
+    <para>If you haven't done so already, you should switch to the Drools perspective within
+    Eclipse first, as this will open all the relevant views for you.  You can do this by
+    clicking on the Open Perspective button (top right of your screen) and selecting Other ...
+    -> Drools.</para>
+
+    <para>A new project wizard can be used to setup an executable project to start using
+    processes immediately. This will setup a basic structure, classpath, sample
+    process and execution code to get you started.  To create a new Drools Project, select
+    File -> New -> Project ... and in the Drools folder, select Drools Project.  This should
+    open the following dialog:</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-GettingStarted/project-wizard1.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    <para>Give your project a name and click Next.  In the following dialog you can select
+    which elements are added to your project by default.  Since we are creating a new process,
+    deselect the first two checkboxes and select the last two.  This will generate a sample
+    process and a class to execute this process in your project.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-GettingStarted/project-wizard2.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    <para>The end result should look like this and contains:</para>
+    <orderedlist>
+      <listitem>
+        <para>ruleflow.rf : the process definition, which is a very simple process containing
+        a start node (the entry points), and action node (that prints out 'Hello World') and an
+        end node (the end of the process).</para>
+      </listitem>
+      <listitem>
+        <para>RuleFlowTest.java : a Java class that executes the process.</para>
+      </listitem>
+      <listitem>
+        <para>The necessary libraries are automatically added to the project classpath as a
+        Drools library.</para>
+      </listitem>
+    </orderedlist>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-GettingStarted/initial.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    <para>The RuleFlow editor contains a graphical representation of your process definition.  It
+    consists of nodes that are connected.  The editor shows the overall control flow, while the
+    details of each of the elements can be viewed (and edited) in the Properties View at the bottom.
+    The editor contains a palette at the left that can be used to drag-and-drop new nodes, and an
+    outline view at the right.</para>
+
+    <para>This process is a simple sequence of three nodes.  The start node defines the start of the
+    process.  It is connected to an action node (called 'Hello' that simply prints out 'Hello World'
+    to the standard output.  You can see this by clicking on the Hello node and checking the action
+    property in the properties view below.  This node is then connected to an end node, signalling
+    the end of the process.</para>
+
+    <para>While it is probably easier to edit processes using the graphical editor, user can also
+    modify the underlying XML directly.  The XML for our sample process is shown below (note that we
+    did not include the graphical information here for simplicity).  The process element contains
+    parameters like the name and id of the process, and consists of three main subsections: a header
+    (where information like variables, globals and imports can be defined), the nodes and the
+    connections.</para>
+
+<programlisting>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;process xmlns="http://drools.org/drools-4.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0/process drools-processes-4.0.xsd"
+         type="RuleFlow" name="ruleflow" id="com.sample.ruleflow" package-name="com.sample" &gt;
+
+  &lt;header&gt;
+  &lt;/header&gt;
+
+  &lt;nodes&gt;
+    &lt;start id="1" name="Start" x="16" y="16" /&gt;
+    &lt;actionNode id="2" name="Hello" x="128" y="16" &gt;
+      &lt;action type="expression" dialect="mvel" &gt;System.out.println("Hello World");&lt;/action&gt;
+    &lt;/actionNode&gt;
+    &lt;end id="3" name="End" x="240" y="16" /&gt;
+  &lt;/nodes&gt;
+
+  &lt;connections&gt;
+    &lt;connection from="1" to="2" /&gt;
+    &lt;connection from="2" to="3" /&gt;
+  &lt;/connections&gt;
+
+&lt;/process&gt;
+</programlisting>
+
+  </section>
+
+  <section>
+    <title>Executing your first process</title>
+    <para>To execute this process, right-click on RuleFlowTest.java and select Run As - Java
+    Application.  When the process in executed, the following output should appear on the 
+    console:</para>
+<programlisting>
+Hello World
+</programlisting>
+
+    <para>If you look at the RuleFlowTest code (see below), you will see that executing a process
+    requires a few steps:</para>
+    <orderedlist>
+      <listitem>
+        <para>You should first create a knowledge base.  A knowledge base contains all the process
+        definitions and rules that are relevant in your application.  This knowledge base can be
+        created only once and can be reused.</para>
+      </listitem>
+      <listitem>
+        <para>Next, you should create a session to interact with the engine.</para>
+      </listitem>
+      <listitem>
+        <para>Finally, you can start a new process instance of our process by invoking the
+        startProcess("ruleflowId") method of the session.  This will start the execution of your
+        process.  Since our process does not contain any wait states, the process will execute
+        until it is completed in this case, passing through the start, action and end node.</para>
+      </listitem>
+    </orderedlist>
+
+<programlisting>
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+/**
+ * This is a sample file to launch a ruleflow.
+ */
+public class RuleFlowTest {
+
+  public static final void main(String[] args) {
+    try {
+      //load the process
+      RuleBase ruleBase = createKnowledgeBase();
+      // create a new session
+      StatefulSession session = ruleBase.newStatefulSession();
+      // start a new process instance
+      session.startProcess("com.sample.ruleflow");
+    } catch (Throwable t) {
+      t.printStackTrace();
+    }
+  }
+
+  /**
+   * Creates the knowledge base by loading the process definition.
+   */
+  private static RuleBase createKnowledgeBase() throws Exception {
+    // create a builder
+    PackageBuilder builder = new PackageBuilder();
+    // load the process
+    Reader source = new InputStreamReader(
+      RuleFlowTest.class.getResourceAsStream("/ruleflow.rf"));
+    builder.addProcessFromXml(source);
+    // create the knowledge base 
+    Package pkg = builder.getPackage();
+    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    ruleBase.addPackage(pkg);
+    return ruleBase;
+  }
+
+}
+</programlisting>
+
+    <para>Congratulations, you have successfully executed your first process!  You can now
+    start experimenting and designing your own process by modifying our example.  Note that
+    you can validate your process by clicking on the green check box action in the upper toolbar.
+    Processes will also be validated upon save and errors will be shown in the error view. Or
+    you can continue reading our documentation to learn about our more advanced features.</para>
+
+  </section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-GettingStarted/Chapter-GettingStarted.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/Chapter-HumanTasks.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/Chapter-HumanTasks.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/Chapter-HumanTasks.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./">
+
+  <title>Human Tasks</title>
+
+  <para></para>
+
+  <section>
+    <title>Human tasks inside processes</title>
+
+  </section>
+
+  <section>
+    <title>Human task management component</title>
+
+  </section>
+
+  <section>
+    <title>Human task management interface</title>
+
+    <section>
+      <title>Eclipse integration</title>
+    </section>
+
+  </section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-HumanTasks/Chapter-HumanTasks.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/Chapter-Introduction.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/Chapter-Introduction.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/Chapter-Introduction.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" >
+  <title>Introduction</title>
+  <para>Drools Flow is a workflow and process engine that allows
+  advanced integration of processes and rules.</para>
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-Introduction/Chapter-Introduction.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="./" >
+  <title>Rules and Processes</title>
+  <para>Drools Flow is a workflow and process engine that allows
+  advanced integration of processes and rules.  This chapter gives an
+  overview of how to integrate rules and processes, ranging from simple
+  to advanced.</para>
+
+  <section>
+    <title>Why use rules in processes?</title>
+    <para>
+      Workflow languages that depend purely on process constructs (like nodes and connections) to describe
+      the business logic of (a part of) an application tend to be quite complex.  While these workflow
+      constructs are very well suited to describe the overall control flow of an application, it can be
+      very difficult to describe complex logic and exceptional situations.  Therefore, executable processes
+      tend to become very complex.  We believe that, by extending a process engine with support for declarative
+      rules in combination with these regular process constructs, this complexity can be kept under control. 
+      <orderedlist>
+        <listitem>
+          <para>Simplicity: Complex decisions are usually easier to specify using a set of rules.  Rules can
+          describe complex business logic more easily by using an advanced constraint language.  Multiple
+          rules can be combined, each describing a part of the business logic.</para>
+        </listitem>
+        <listitem>
+          <para>Agility: Rules and processes can have a separate life cycle.  This means that for example
+          we can change the rules describing some crucial decision points without having to change the process
+          itself.  Rules can be added, removed or modified to fine-tune the behaviour of the process to the
+          constantly evolving requirements and environment.</para>
+        </listitem>
+        <listitem>
+          <para>Different scope: Rules can be reused accross processes or outside processes.  Therefore, your
+          business logic is not locked inside your processes.</para>
+        </listitem>
+        <listitem>
+          <para>Declarative: Focus on describing 'what' instead of 'how'.</para>
+        </listitem>
+        <listitem>
+          <para>Granularity: It is easy to write simple rules that handle specific circumstances.  Processes
+          more suited to describe the overall control flow but tend to become very complex if they also need
+          to describe a lot of exceptional situations.</para>
+        </listitem>
+        <listitem>
+          <para>Data-centric: Rules can easily handle large data sets.</para>
+        </listitem>
+        <listitem>
+          <para>Performance: Rule evaluation is optimized.</para>
+        </listitem>
+        <listitem>
+          <para>Advanced condition and action language: Rule languages supports advanced features like custom
+          functions, collections, not, exists, for all, etc.</para>
+        </listitem>
+        <listitem>
+          <para>Higher-level: Using DSLs, business editors, decision tables, decision trees, etc. your business
+          logic could be described in a way that can be understood (and possibly even modified) by business users.</para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </section>
+
+  <section>
+    <title>Why integrate rules and processes in a single engine?</title>
+    <para>
+      Drools Flow combines a process and a rules engine in one software product.  This offers several advantages
+      (compared to trying to loosely coupling an existing process and rules product):
+      <orderedlist>
+        <listitem>
+          <para>Simplicity: Easier for end user to combine both rules and processes.</para>
+        </listitem>
+        <listitem>
+          <para>Encapsulation: Sometimes close integration between processes and rules is beneficial.</para>
+        </listitem>
+        <listitem>
+          <para>Performance: No unnecessary passing, transformation or synchronization of data</para>
+        </listitem>
+        <listitem>
+          <para>Learning curve: Easier to learn one product.</para>
+        </listitem>
+        <listitem>
+          <para>Manageability: Easier to manage one product, rules and processes can be similar artefacts in a larger knowledge repository.</para>
+        </listitem>
+        <listitem>
+          <para>Integration of features: We provide an integrated IDE, audit log, web-based management platform, repository, debugging, etc.</para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </section>
+
+  <section>
+    <title>Approach</title>
+    <para>
+    Workflow languages describe the order in which activities should be performed using a flow chart.
+    A process engine is responsible for selecting which activities should be executed based on the current
+    state of the executing processes.
+    Rules on the other hand are composed of a set of conditions that describe when a rule is applicable
+    and an action that is executed when the rule is applicable.  The rules engine is then responsible for
+    evaluating and executing the rules.  It decides which rules need to be executed based on the current
+    state of the application.
+    </para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/rulesAndProcesses.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    <para>
+    Workflow processes are very good at describing the overall control flow of (possibly long-running)
+    applications.  However, processes that are used to define complex business decisions or contain a lot
+    of exceptional situations or need to respond to various external events tend to become very complex.
+    Rules on the other hand are very good at describing complex decisions and reasoning about large amounts
+    of data or events.  It is however not trivial to define long-running processes using rules.
+    </para>
+
+    <para>
+    In the past, users were forced to choose between defining their business logic using either a process
+    or rules engine.  Problems that required complex reasoning about large amounts of data used a rules engine,
+    while users that wanted to focus on describing the control flow of their processes were forced to use a
+    process engine. However, businesses nowadays might want to combine both processes and rules in order to
+    be able to define all their business logic in the format that best suits their needs.
+    </para>
+
+    <para>
+    Basically, both a rules and a process engine will derive the next steps that need to be executed by
+    looking at its knowledge base (a set of rules or processes respectively) and the current known state
+    of the application (the data in the working memory or the state of the executing process instances
+    respectively).  If we want to integrate rules and processes, we need an engine that can decide the next
+    steps taking into account the logic that is defined inside both the processes and the rules.
+    </para>
+
+    <section>
+      <title>Teaching a rules engine about processes</title>
+      <para>
+      It is very difficult (and probably very inefficient as well) to extend a process engine to also take
+      rules into account: the process engine would need to check for rules that might need to be executed
+      at every step and would have to keep the data that is used by the rules engine up to date.  However,
+      it is not that difficult to 'teach' a rules engine about processes.  If the current state of the processes
+      is also inserted as part of the data the rules engine reasons about, and we 'learn' the rules engine how
+      to derive the next steps of an executing process, the rules engine will then be able to derive the next steps
+      taking both rules and processes into account.
+      </para>
+    </section>
+
+    <section>
+      <title>Inversion of control</title>
+      <para>
+      From the process perspective, this means that there is an inversion of control.  In a normal
+      proces engine, the engine is in full control and derives the next steps based on the current state of the
+      process instance.  If needed, it can contact external services to retrieve additional information (e.g. invoke
+      a rules engine to request a decision), but it solely decides which steps to take, and is responsible for executing
+      these steps.
+      </para>
+
+      <para>
+      However, only our extended rules engine (that can reason about both rules and processes) is capable of deriving the next
+      steps taking both rules and processes into account.  If a part of the process needs to be executed, the rules engine
+      will request the process engine to execute this step.  Once this step has been performed, the process engine returns
+      control to the rules engine to again derive the next steps.  This means that the control on what to do next has been
+      inverted: the process engine itself no longer decides the next step to take but our extended rules engine will be in
+      control, notifying the process engine when to execute the next step.
+      </para>
+    </section>
+
+  </section>
+
+
+  <section>
+    <title>Example</title>
+    <para>
+    The drools-examples project contains a sample process (org.drools.examples.process.order)
+    that illustrates some of the advantages of being able to combine processes and rules.  This
+    process describes an order application where incoming orders are validated, possible discount
+    are calculated and shipping of the goods is requested.
+    </para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/orderProcess.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    <section>
+      <title>Evaluating a set of rules in your process</title>
+      <para>Drools Flow can easily include a set of rules as part of the process.
+      The rules that need to be evaluated should be grouped in a ruleflow
+      group (using the ruleflow-group rule attribute) and a RuleSet node
+      can be used to trigger the evaluation of these rules in your process.  This example
+      uses two RuleSet nodes in the process: one for the validation of the order
+      and one for calculating the discount.  For example, one of the rules for validiting
+      an order looks like this (note the ruleflow-group attribute, which makes sure that
+      this rule is evaluated as part of the RuleSet node with the same ruleflow-group):</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/validation.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+    <section>
+      <title>Using rules for evaluating constraints</title>
+	<para>Rules can be used for expressing and evaluating complex constraints
+      in your process.  For example, when a decision should be made which execution
+      paths should be selected at a split, rules could be used to define these
+      conditions.  Similarly, a wait state could use a rule to define how long
+      to wait.  This example uses rules for deciding the next action after validating
+      the order.  If the order contains errors, a sales representative should try to
+      correct the order.  Orders with a value &gt; 1000$ are more important and a senior
+      sales representative should follow up the order. All other orders should just
+      proceed normally.  An decision node is used to select one of these alternatives,
+      and rules are used to describe the constraints for each of them:</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/constraints.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+    <section>
+      <title>Assignment rules</title>
+	<para>Human tasks can be used in a process to describe work that needs to
+      be executed by a human actor.  Which actor could be based on the current
+      state of the process, and the history.  Assignment rules can be used to
+	describe how to the actor based on this information.  These assignment rules
+      will then be applied automatically whenever a new human task needs to be
+      executed.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/assignment.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+    <section>
+      <title>Describing exceptional situations using rules</title>
+	<para>Rules can be used for describing exceptional situations and how to respond
+      to these situations.  Adding all this information in the control flow of the main
+      process would make the basic process much more complex.  Rules can be used to
+      handle each of these situations separately, without making the core process more
+      complex.  It also makes it much easier to adapt existing processes to take new
+      unanticipated events into account.</para>
+    </section>
+
+    <section>
+      <title>Modularizing concerns using rules</title>
+      <para>The process defines the overall control flow.  Rules could be used
+      to add additional concerns to this process without making the overall control
+      flow more complex.  For example, rules could be defined to log certain information
+      during the execution of the process.  The original process is not altered and
+      all logging functionality is cleanly modularized as a set of rules.  This
+      greatly improves reusability (allows users to easily apply the same strategy
+      on different processes), readability (control flow of the original process
+      is still the same) and modifiability (you can easily add, remove or change the
+      logging strategy by adding, removing or changing the rules, the process should not
+      be modified).</para>
+    </section>
+
+    <section>
+      <title>Using rules to dynamically alter the behaviour of the process</title>
+      <para>Rules can be used to dynamically fine-tune the behaviour of your processes.
+      For example, if a problem is encountered at runtime with one of the processes, new rules
+      could be added at runtime to log additional information or handle
+      specific cases of the process.  Once the problem is solved or the circumstances have
+      changed, these rules can easily be removed again.  Based on
+      the current status, different strategies could be selected dynamically.
+      For example, based on the current load of all the services, rules could be used
+      to optimize the process to the current load.  This process contains a simple example
+      that allows you to dynamically add or remove logging for the 'Check Order' task.  When the
+      'Debugging output' checkbox in the main application window is checked, a rule is dynamically
+      loaded to add a logging statement to the console whenever the 'Check Order' task is requested.
+      Unchecking the box will dynamically remove the rule again.
+      </para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/dynamicLogging.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+    <section>
+      <title>Integrated tooling</title>
+      <para>Processes and rules are integrated in the Drools Eclipse IDE.  Both processes and rules
+      are simply considered as different types of business logic, but are managed almost identical.
+      For example, loading a process or a set of rules into the engine is very similar:</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/loading.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+      <para>Our audit log also contains an integrated view, showing how rules and processes are influencing
+      each other.  For example, a part of the log shows how the '5% discount' rule is executed as part of the
+      'Calculate Discount' node.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/audit.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+    <section>
+      <title>Domain-specific rules and processes</title>
+      <para>Rules do not need to be defined using the core rule language syntax, but they also can be defined
+      using our more advanced rule editors like domain-specific languages, decision tables, guided editors, etc.
+      Our examples defines a domain-specific language for describing assignment rules, based on the type of
+      task, its properties, the process it is defined in, etc.  This makes the assignment rules much more
+      understandable for non-experts.</para>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" format="BMP" role="" 
+                   fileref="images/Chapter-RulesAndProcesses/assignment.bmp"/>
+      </imageobject>
+    </mediaobject>
+
+    </section>
+
+  </section>
+
+</chapter>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/index.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/index.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/index.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <title>Drools</title>
+</head>
+<frameset cols="25%,*">
+ <frame src="bk01-toc.html" name="list">
+ <frame src="title.html" name="body">
+</frameset>
+</html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/index.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+
+  <info>
+    <title>Drools Flow User Guide</title>
+
+    <releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+    <author>
+      <firstname>Kris</firstname>
+      <surname>Verlaenen</surname>
+    </author>
+
+    <author>
+      <firstname>Mark</firstname>
+      <surname>Proctor</surname>
+    </author>
+
+    <author>
+      <firstname>Michael</firstname>
+      <surname>Neale</surname>
+    </author>
+
+    <author>
+      <firstname>Edson</firstname>
+      <surname>Tirelli</surname>
+    </author>
+    
+  </info>
+
+<!--
+  <preface id="preface" revision="2">
+    <title>Preface</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="drools_logo.png" />
+      </imageobject>
+    </mediaobject>
+
+    <para />
+  </preface>
+-->      
+
+  <xi:include href="Chapter-Introduction/Chapter-Introduction.xml" />
+  <xi:include href="Chapter-GettingStarted/Chapter-GettingStarted.xml" />
+  <xi:include href="Chapter-Flow/Chapter-RuleFlow.xml" />
+  <xi:include href="Chapter-RulesAndProcesses/Chapter-RulesAndProcesses.xml" />
+  <xi:include href="Chapter-DomainSpecificProcesses/Chapter-DomainSpecificProcesses.xml" />
+  <xi:include href="Chapter-HumanTasks/Chapter-HumanTasks.xml" />
+  <xi:include href="Chapter-Debugging/Chapter-Debugging.xml" />
+  <xi:include href="Chapter-Eclipse/Chapter-Eclipse.xml" />
+    
+  <index/>
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/audit.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/audit.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-1.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-1.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2a.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2a.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2b.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-2b.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-3a.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-3a.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-4.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example-debug-4.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/example.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/process-instances.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Debugging/process-instances.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/CDSSExample.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/CDSSExample.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/NotificationPalette.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-DomainSpecificProcesses/NotificationPalette.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/BPMN.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/BPMN.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/RuleFlow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/RuleFlow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/preferences.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Eclipse/preferences.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/EventProcess.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/EventProcess.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/FaultProcess.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/FaultProcess.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/NewRF.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/NewRF.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFComplex.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFComplex.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFConstraintEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFConstraintEditor.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFEditConstraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFEditConstraints.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFGroupProperties.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFGroupProperties.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNameGroups.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNameGroups.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNewWizard.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFNewWizard.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFSplitType.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RFSplitType.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlow.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlow.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlowSimple.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/RuleFlowSimple.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/ruleflow_nodes.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-Flow/ruleflow_nodes.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/initial.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/initial.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard1.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard1.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard2.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-GettingStarted/project-wizard2.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/assignment.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/assignment.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/audit.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/audit.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/constraints.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/constraints.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/dynamicLogging.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/dynamicLogging.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/loading.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/loading.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/orderProcess.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/orderProcess.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/rulesAndProcesses.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/rulesAndProcesses.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/validation.bmp
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/Chapter-RulesAndProcesses/validation.bmp
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-flow/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-fusion/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-fusion/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 
+    <modelVersion>4.0.0</modelVersion>
+ 
+  <parent>
+    <artifactId>drools-docs</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.0.0.SNAPSHOT</version>
+  </parent>  
+  
+    <artifactId>drools-docs-fusion</artifactId>
+    <packaging>jdocbook</packaging>
+    <name>Drools :: Documentation :: Drools :: Fusion</name>
+    <description>Drools Fusion Documentation</description> 
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Chapter-Fusion.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Chapter-Fusion.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Chapter-Fusion.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+      <title>Drools Fusion</title>
+      <xi:include href="Section-Fusion.xml" />
+    </chapter>  
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Chapter-Fusion.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Section-Fusion.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Section-Fusion.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Section-Fusion.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Fusion</title>
+
+  <para>Drools CEP project</para>
+  
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/Chapter-Fusion/Section-Fusion.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/index.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/index.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/index.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <title>Drools</title>
+</head>
+<frameset cols="25%,*">
+ <frame src="bk01-toc.html" name="list">
+ <frame src="title.html" name="body">
+</frameset>
+</html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/index.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+
+  <info>
+    <title>Drools Fusion User Guide</title>
+
+    <releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+    <author>
+      <firstname>Mark</firstname>
+      <surname>Proctor</surname>
+    </author>
+
+    <author>
+      <firstname>Michael</firstname>
+      <surname>Neale</surname>
+    </author>
+
+    <author>
+      <firstname>Edson</firstname>
+      <surname>Tirelli</surname>
+    </author>
+    
+  </info>
+
+<!--
+  <preface id="preface" revision="2">
+    <title>Preface</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="drools_logo.png" />
+      </imageobject>
+    </mediaobject>
+
+    <para />
+  </preface>
+-->      
+<xi:include href="Chapter-Fusion/Chapter-Fusion.xml" />  
+
+  <index/>
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-fusion/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 
+    <modelVersion>4.0.0</modelVersion>
+ 
+  <parent>
+    <artifactId>drools-docs</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.0.0.SNAPSHOT</version>
+  </parent>  
+  
+    <artifactId>drools-docs-guvnor</artifactId>
+    <packaging>jdocbook</packaging>
+    <name>Drools :: Documentation :: Drools :: Guvnor</name>
+    <description>Drools Guvnor Documentation</description>
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Chapter-Guvnor.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Chapter-Guvnor.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Chapter-Guvnor.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+        <title>The Guvnor (Business Rule Management System)</title>
+
+        <xi:include href="Section-Introduction.xml" />
+
+        <xi:include href="Section-AdminGuide.xml" />
+
+        <xi:include href="Section-Architecture.xml" />
+
+        <xi:include href="Section-UserGuide.xml" />
+
+        
+      </chapter>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Chapter-Guvnor.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-AdminGuide.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-AdminGuide.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-AdminGuide.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Administration guide</title>
+
+  <para>This chapter covers installation and administration issues of the
+  BRMS.</para>
+
+  <para>The BRMS is a web application that can run in multiple environments,
+  and be configured to suit most situations. There is also some initial setup
+  of data, and export/import functions covered.</para>
+
+  <section>
+    <title>Installation</title>
+
+    <para>Installation for most people is very simple. The BRMS application is
+    deployed as a .war file, which can be deployed in application servers or
+    servlet containers with little or no configuration if you are happy with
+    the defaults.</para>
+
+    <para>When you have downloaded the BRMS distribution (which you can get
+    from http://www.jboss.org/drools), you will find the
+    drools-jbrms.war file in the zip file. Copy the WAR file into the
+    deployment directory of you app server, and then start your app server. If
+    you need to customize some settings, you can first "explode" (unzip) the
+    war file, and change any configuration settings, and then either zip it
+    up, or deploy it "exploded".</para>
+
+    <para>Once the drools-jbrms.war has been placed in the deployment
+    directory, and the application server started, you should navigate to
+    http://localhost/drools-jbrms and check that the BRMS appears. (Obviously
+    substitute the URL for what your application server is configured
+    to).</para>
+
+    <para>Once that shows up, you are deployed and ready to go !</para>
+
+    <section>
+      <title>Supported and recommended platforms</title>
+
+      <para>The BRMS is capable of running in any application server that
+      supports Java SE5 (JEE 5 is not required) - this includes servlet
+      containers like tomcat.</para>
+
+      <para>It is actively tested on JBoss platforms, and these are
+      recommended if you are able to use them, or don't have any existing
+      infrastructure. However, it is possible to use any container/app server,
+      in some cases with minor configuration tweaks (consult the wiki for
+      specific tips).</para>
+
+      <para>The following are a list of recommended platforms (all freely
+      available), in all cases, you can substitute newer versions of the same
+      and it should work (as time may have passed since this was
+      written):</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>JBoss Application Server 4.0.5</para>
+
+          <para>This is recommended as a general application server solution,
+          if you need to run other applications alongside the BRMS.</para>
+        </listitem>
+
+        <listitem>
+          <para>JBoss Web 1.0.1</para>
+
+          <para>This is an ideal solution if you need a "lighter" server to
+          run just the BRMS (perhaps stand alone).</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>You can of course download these from www.jboss.com for every
+      operating system.</para>
+
+      <para>Deployment into JBoss platforms: If you are installing a new JBoss
+      platform, the WAR can be copied to [app server
+      directory]/server/default/deploy. You then start up the server by
+      running run.sh or run.bat in the [app server directory/bin]
+      directory.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Database configuration</title>
+
+    <para>The BRMS uses the JCR standard for storing assets (such as rules).
+    The default implementation is Apache Jackrabbit
+    (http://jackrabbit.apache.org/). This includes an out of the box storage
+    engine/database, which you can use as is, or configure to use an existing
+    RDBMS if needed.</para>
+
+    <section>
+      <title>Changing the location of the data store</title>
+
+      <para>When you run the BRMS for the first time (starting up the app
+      server), it will create a database in the [app server directory]/bin/
+      directory (assuming you used on of the JBoss platforms). There is a
+      repository.xml file, and a repository directory that are automatically
+      created.</para>
+
+      <para>The location of the data store should be a secure location, that
+      is backed up. The default location may not be suitable for this, so the
+      easiest way is to set a more suitable location. If you want to change
+      this, please make sure you have stopped the BRMS (ie stopped the app
+      server or undeployed the application).</para>
+
+      <para>To change the location, unzip the WAR file, and locate the
+      components.xml file in the WEB-INF directory. This is a JBoss Seam
+      configuration file (Seam is the framework used) which allows various
+      parts of the system to be customized. When you have located the
+      components.xml file, you should see something like the following:</para>
+
+      <programlisting>&lt;component name="repositoryConfiguration"&gt;
+ &lt;!--
+  *** This is for configuring the "home" directory for the repository storage. the directory must exist. ***
+     &lt;property name="homeDirectory"&gt;/home/michael/RulesRepository_001&lt;/property&gt;
+   --&gt;  
+
+   ...
+&lt;/component&gt;
+</programlisting>
+
+      <para>Find the component with a name of "repositoryConfiguration" and
+      the property with the name of "homeDirectory".</para>
+
+      <para>If you un comment this (as in the example above it is commented
+      out), you can set whatever path you need for the repository data to be
+      stored in. You can also use this to move the repository around. In that
+      case, when you have set the location in the components.xml you can
+      simply move the repository.xml AND the repository directory to the new
+      location that you set in the components.xml.</para>
+
+      <para>If there is no repository at the location specified (or in the
+      default location) then the BRMS will create a new empty one.</para>
+
+      <para>There are many more options which can be configured in the
+      repository.xml, but for the most part, it is not recommended to change
+      the defaults.</para>
+    </section>
+
+    <section>
+      <title>Configuring the BRMS to use an external RDBMS</title>
+
+      <para>In some cases it may be a requirement that you use an external
+      RDBMS, such as Oracle, MySQL, or Microsoft SQL Server as the data store
+      - this is permitted. In this case, the easiest thing to do is to start
+      up the BRMS with defaults (or with a suitable home directory as
+      specified above) to let it generate the default repository.xml
+      scaffolding.</para>
+
+      <para>Locate the repository.xml file that was generated, and open it -
+      it will be annotated with comments describing many of the different
+      options. From here on, you will need to know a little about Jackrabbit
+      Persistence managers:
+      http://jackrabbit.apache.org/doc/config.html</para>
+
+      <para>There are a few persistence managers, some are database specific
+      (eg Oracle). There is a SimpleDBPersistenceManager which works with any
+      database that supports JDBC - you also specify the database type, so it
+      uses the specific DDL to create the table structure (all major databases
+      are supported).</para>
+
+      <para>The BRMS will create the tables the first time it is started up if
+      it is running against a fresh (empty) RDBMS - so its important to note
+      that the user credentials supplied have permissions to create tables (at
+      least initially, on first run, after that they could be locked
+      down).</para>
+    </section>
+
+    <section>
+      <title>Searching and indexing, Version storage</title>
+
+      <para>Jackrabbit has a separate storage area for version storage (as
+      over time, the number of old versions will increase, yet it should not
+      slow down the performance of the main data store). The version storage
+      also has its own persistence manage configuration in the repository.xml,
+      but for most purposes you can use the same database as the main storage
+      (just with a different schema object prefix - ie in your database, all
+      the version data will be prefixed with "version_" but otherwise in the
+      same tablespace). See the repository.xml for more details of
+      this.</para>
+
+      <para>Lucene is used to provide indexing across the semi structured
+      data, and across versions. This indexing is generally best stored on a
+      filesystem, local to the BRMS (as per the default in the repository.xml)
+      - in most cases the default is fine.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Security - Authentication and basic access</title>
+
+    <para>Please note that giving someone access to the BRMS indicates a level
+    of trust. Being able to editing and build rules is providing a great deal
+    of power to a user. Thus you should not open up the BRMS to your entire
+    organisation - but instead to a select few. Use https (http with TLS/SSL)
+    whereever possible (even internally in a companies network this is a good
+    idea). Use this power wisely - this not a "run of the mill" application
+    that provides read/write access to a database, but something much more
+    power. Just imagine you are spider man - with great power comes great
+    responsibility (of course even more so for super man).</para>
+
+    <para>Security is configured by using the components.xml file in the war
+    file. To customize this, you will need to unzip the war file, and locate
+    the components.xml file which is in the WEB-INF directory.</para>
+
+    <para>The JAAS standard is used as the underlying authentication and
+    authorization mechanism, the upshot of which means its very flexable and
+    able to integrate into most existing environments.</para>
+
+    <para>Out of the box, the BRMS shows a login screen, but no security
+    credentials are enforced - the user name is used, but no password check is
+    performed. To enforce authentication, you need to configure it to use an
+    appropriate user directory (you may have Active Directory or similar
+    already).</para>
+
+    <para>In the components.xml file, you should located a security
+    configuration section like the following:</para>
+
+    <programlisting>&lt;!-- SECURITY CONFIGURATION --&gt;
+    
+&lt;!-- default (will take any username, useful if you want to keep track of users but not authenticate --&gt;
+&lt;security:identity authenticate-method="#{defaultAuthenticator.authenticate}"/&gt;
+
+&lt;!-- NO authentication. This will bypass the login screen when you hit the app. Everyone is "guest" --&gt;
+&lt;!-- &lt;security:identity authenticate-method="#{nilAuthenticator.authenticate}"/&gt; --&gt;   </programlisting>
+
+    <para>As you can see from above, the 2 "out of the box" options are pass
+    through - which means any user is allowed in, or bypassed, in which case
+    there is no login screen (eg you may be securing access to the app via a
+    web server anyway).</para>
+
+    <section>
+      <title>Using your containers security and LDAP</title>
+
+      <para>Every application server supports advanced configurations which
+      can work with your existing security infrastructure. The case of JBoss
+      AS will be shown here as an example.</para>
+
+      <programlisting>&lt;security:identity authenticate-method="#{authenticator.authenticate}" 
+                      jaas-config-name="other"/&gt;</programlisting>
+
+      <para>This will use the "other" jaas config in JBoss AS. If you look in
+      [jboss install dir]/server/default/conf you will see a login-config.xml
+      file. This file contains various configs. If you use "other" like the
+      one above, then it will look for users.properties and roles.properties
+      in the conf directory for usernames and passwords to authenticate
+      against (this is fine for a fixed small number of users).</para>
+
+      <para>LDAP is perhaps the most popular choice for larger enterprises, so
+      following is an example that works with Active Directory. You can get
+      much more information on how to configure JBoss AS for all scenarios
+      with LDAP from http://wiki.jboss.org/wiki/Wiki.jsp?page=LdapLoginModule
+      and http://wiki.jboss.org/wiki/Wiki.jsp?page=LdapExtLoginModule.</para>
+
+      <programlisting>&lt;application-policy name="brms"&gt;
+    &lt;authentication&gt;
+        &lt;login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" &gt;
+            &lt;!--
+                Some AD configurations may require searching against
+                the Global Catalog on port 3268 instead of the usual
+                port 389.  This is most likely when the AD forest
+                includes multiple domains.
+            --&gt;
+            &lt;module-option name="java.naming.provider.url"&gt;ldap://ldap.jboss.org:389&lt;/module-option&gt;
+            &lt;module-option name="bindDN"&gt;JBOSS\someadmin&lt;/module-option&gt;
+            &lt;module-option name="bindCredential"&gt;password&lt;/module-option&gt;
+            &lt;module-option name="baseCtxDN"&gt;cn=Users,dc=jboss,dc=org&lt;/module-option&gt;
+            &lt;module-option name="baseFilter"&gt;(sAMAccountName={0})&lt;/module-option&gt;
+
+            &lt;module-option name="rolesCtxDN"&gt;cn=Users,dc=jboss,dc=org&lt;/module-option&gt;
+            &lt;module-option name="roleFilter"&gt;(sAMAccountName={0})&lt;/module-option&gt;
+            &lt;module-option name="roleAttributeID"&gt;memberOf&lt;/module-option&gt;
+            &lt;module-option name="roleAttributeIsDN"&gt;true&lt;/module-option&gt;
+            &lt;module-option name="roleNameAttributeID"&gt;cn&lt;/module-option&gt;
+
+            &lt;module-option name="roleRecursion"&gt;-1&lt;/module-option&gt;
+            &lt;module-option name="searchScope"&gt;ONELEVEL_SCOPE&lt;/module-option&gt;
+        &lt;/login-module&gt;
+    &lt;/authentication&gt;
+&lt;/application-policy&gt;</programlisting>
+
+      <para>To use the above, you would put jaas-config-name="brms" in the
+      security:identity tag in the components.xml for the BRMS.</para>
+
+      <para>Similar configuration examples can be found for other directory
+      services.</para>
+
+      <para>LDAP isn't the final word, you can use JDBC against a database of
+      user name, or you can write your own login module to use any sort of
+      weird and wonderful authentication and authorization systems that you
+      may have to deal with (that would be an extreme case, but its possible).
+      Refer to JBoss AS documentation (or documentation for your existing
+      application server).</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Fine grained permissions and security</title>
+
+    <para>The above section talks about establishing identity and access for
+    users. This section talks about granting specific permissions to these
+    users (to control data visibility and access). This can be used to
+    partition data, or to control access for "non power users" which can limit
+    the damage they can do.</para>
+
+    <figure>
+      <title>Administer user permissions</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/AdminPermissions.png"
+                     format="PNG" scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A common need and desire of the web interface of Guvnor is to be
+    able to have users of different technical abilities interact with it.
+    Another need is to be able to allocate people different sets of data to
+    "own".</para>
+
+    <para>Typically users identities are managed in a centralised directory -
+    application servers can integrate with these directories (eg active
+    directory, LDAP) so users to guvnor can be authenticated without having to
+    create another duplicate identity. It is also possible (thanks to JAAS) to
+    define what users have the "admin" role for Guvnor (note that an Admin
+    user of Guvnor doesn't have to really be a system administrator). Further
+    to this, guvnor augments this identity with data specific permissions,
+    which are managed in Guvnor itself.</para>
+
+    <figure>
+      <title>User listing</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/AdminPermissionsList.png"
+                     format="PNG" scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Note that the above users identities are not stored in Guvnor, only
+    their permission mappings are which are specific to Guvnor.</para>
+
+    <para>There are really 2 system wide roles: Users who are Administrators
+    and users who are not. Easy ! Administrators can see and do anything. Out
+    of the box, the permission system is turned off, and every user is an
+    administrator (this is pretty much how things used to work). There is also
+    a system setting in components.xml that can turn the permissions system on
+    and off (so people can manually override if needs be). A administrator can
+    also give other users admin rights, regardless of their roles in the
+    external directory service.</para>
+
+    <figure>
+      <title>Editing</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/AdminPermissionEdit.png"
+                     format="PNG" scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>There are several types of permissions: Per package: Package
+    Administrator ("owns" a package - can deploy etc, but has no
+    administrative rights to the system). Package developer - this permissions
+    allows users to create new items, edit etc - but only at the package level
+    (not deploy). They can also run and create tests. Package readonly - well
+    this one is pretty obvious. Per Category: This is the "interesting" one -
+    as assets (rules) can be tagged with multiple categories, you can use
+    these to assign permissions to an "analyst" type of user. A user can be
+    assigned multiple categories. A user can then edit and view any asset that
+    is tagged in that category (regardless of package). A user that only has
+    category permissions will not be shown any package views or details, and
+    will only see the simple categories view. This allows administrators and
+    managers to control exactly what these users can and can't see. Note that
+    per category permissions can also be set as "read only" so a user can view
+    all the assets in a category, but not make changes to them.</para>
+
+    <figure>
+      <title>The analyst view</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/AdminAnalyst.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The per category "analist" permissions are quite useful - you can
+    also augment their permissions with a specific package (so on top of their
+    category rights, they can see and play with a particular package - which
+    may be used as a "practice" area, or test area for instance). The above
+    provides a few ways to manage permissions in a coarse or fine grained way,
+    as suits the different types of users.</para>
+
+    <section>
+      <title>Enabling fine grained authorization</title>
+
+      <para>By default authorization is not enabled. To enable it, edit the
+      components.xml file in the WEB-INF directory:</para>
+
+      <programlisting>
+    &lt;security:role-based-permission-resolver enable-role-based-authorization="true"/&gt;	  
+</programlisting>
+    </section>
+  </section>
+
+  <section>
+    <title>Data management</title>
+
+    <section>
+      <title>Backups</title>
+
+      <para>How backups are performed is dependent on what persistence manager
+      scheme you are using. Using the default one - then its a matter of
+      backing up the repository directory (wherever you have it configured to
+      be). Restoring it is simply a matter of copying across the repository
+      directory.</para>
+
+      <para>Ideally you will either stop the BRMS application while a file
+      backup is being done, or ensure that no one is using it.</para>
+
+      <para>In the case of using an external database (eg Oracle, MySQL), then
+      the normal scheme can apply that you would use to backup those database
+      (you do back them up, right?). In this case, when restoring, it is also
+      a good idea to clear the indexes (delete the directory where the indexes
+      are) so they are created fresh from the data (and thus guaranteed to be
+      in sync).</para>
+    </section>
+
+    <section>
+      <title>Asset list customization</title>
+
+      <para>In a few places in the BRMS there is an asset list: this list can
+      be customized by looking for the AssetListTable.properties file. You can
+      then set the header names and the "getter" methods that are used to
+      populate the columns. eg you could add in getCreator, or
+      getExternalSource as extra fields if you were using them.</para>
+    </section>
+
+    <section>
+      <title>Customised selectors for package building</title>
+
+      <para>When building packages (from the "Packages" feature) you have the
+      option to specify the name of a "selector". This selector will filter
+      the list of rules that are built into the package. What you enter in the
+      selector text box, is the name of a selector as configured on the
+      server.</para>
+
+      <para>To configure a selector, you will need to "explode" the war file
+      for the BRMS, and locate the selectors.properties file (note you can
+      also put your own selectors.properties file in the system classpath if
+      you like). In this file, you will find details on how you can configure
+      a custom selector. The options are to use a drl file, or the name of a
+      class that you have written (and which is available on the classpath).
+      Classes must implement the AssetSelector interface. DRL files can also
+      be used (there is an example one in the selectors.properties file). Each
+      selector you configure has a unique name in this properties file - and
+      this is the name that you can use when building packages.</para>
+    </section>
+
+    <section>
+      <title>Adding your own logos or styles to the BRMS web GUI</title>
+
+      <para>Everyone loves having their own logo on screen - this is to ensure
+      that the people using the application don't forget who they work for or
+      what product they are using for more then a nanosecond (the consequences
+      of them forgetting are too terrible con contemplate).</para>
+
+      <para>To achieve, this, you can "explode" the deployment war file, and
+      locate the JBRMS.html file.</para>
+
+      <programlisting>
+&lt;html&gt;
+&lt;head&gt;
+  &lt;meta name='gwt:module' content='org.drools.brms.JBRMS'&gt;
+  &lt;link rel='stylesheet' href='JBRMS.css'&gt;
+  &lt;title&gt;JBoss Business Rules Management System&lt;/title&gt;
+     &lt;link rel="shortcut icon" href="images/drools.gif" type="image/gif"&gt;
+     &lt;link rel="icon" href="images/drools.gif" type="image/gif"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+     &lt;div class="headerBarblue"&gt;&lt;img src="images/jbossrules_hdrlogo.png" width="279" height="70" /&gt;&lt;/d
+ &lt;!-- This script is the bootstrap stuff that simply must be there; it is sent down uncompressed --&gt; 
+  &lt;script language='javascript' src='gwt.js'&gt;&lt;/script&gt;
+  &lt;iframe id='__gwt_historyFrame' style='width:0;height:0;border:0'&gt;&lt;/iframe&gt;
+&lt;/body&gt;
+&lt;/html&gt;</programlisting>
+
+      <para>The above is the contents of the JBRMS.html file - it is fairly
+      empty (as most of the work is done by the GWT - the GUI is built
+      dynamically in the browser). The parts you can customise are the style
+      sheet - you can either edit the JBRMS.css (or better yet, take a copy,
+      and change the style to be what you need), the "shortcut icon" (its what
+      shows in the address bar in the browser etc - also change the "icon"
+      link to be the same so it works in IE), and the header logo. The rest
+      should be left as is, to allow the GWT components to be loaded and
+      attached to the page. This html page is loaded only once by the browser
+      when the user accesses the BRMS web GUI.</para>
+
+      <para>The best way to customize is to take a copy of the JBRMS.html -
+      and then edit. You can also change the URL by editing the web.xml via
+      the normal means.</para>
+    </section>
+
+    <section>
+      <title>Import and Export</title>
+
+      <para>A JCR standard export/import feature is available from the Admin
+      part of the web interface.</para>
+
+      <para>This will export the entire repository to an XML format as defined
+      by the JCR standard.</para>
+
+      <para>In the case of import, it will clear any existing content in the
+      database.</para>
+
+      <para>This is not a substitute for backup but can be useful when
+      migrating. It is important to note that version history is not exported
+      this way, only the current state. Hence it is still recommended that a
+      formal backup regime be used at all times on the repository database
+      itself.</para>
+    </section>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-AdminGuide.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Architecture.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Architecture.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Architecture.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Architecture</title>
+
+  <para>This section covers the technical aspects of the Business Rules Management System (BRMS), it is not necessary to
+  use this if you are integrating or an end user of the BRMS application.
+  However, JBoss Rules is open source, so build instructions form part of the
+  manual.</para>
+
+  <para>You may want to build from source if you want to re-use components, or
+  embed the application within another.</para>
+
+  <figure>
+      <title>Architectural diagram</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/Architecture.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+  <para>The above diagram shows the major components of the system and how
+  they integrate and are deployed. The User Guide has more details on the
+  parts that are highly configurable (eg database).</para>
+
+  <para>The BRMS is deployed as a war, which provides user interfaces over the
+  web, and provides binary packages via URLs (or files). It utilized the
+  JSR-170 standard for data storage (JCR). JBoss Seam is used as the component
+  framework, and GWT is used as the widget toolkit for constructing the ajax
+  based web user interface.</para>
+
+  <section>
+    <title>Building from source</title>
+
+    <para>This section will go over the steps necessary to build
+    various components. Mostly this is automated, but the manual process is
+    described for thoroughness.</para>
+
+    <section>
+      <title>Modules</title>
+
+      <para>There are 2 modules: drools-repository (back end) and drools-jbrms
+      (front end and rules integration). The drools-jbrms module depends on
+      the drools-repository module, as well as other components. The BRMS is
+      part of the main build for all of Drools - when building Drools, the BRMS is built alongside it.</para>
+    </section>
+
+    <section>
+      <title>Working with Maven 2</title>
+
+      <para>Maven 2 is used as the build system. To get started, the WHOLE of the source tree for JBoss Rules will need to be checked out. This includes the other modules, and the top level lib and repository directories (which are needed by the build); as the BRMS build is part of the main drools build.</para>
+
+      <para>Initially, go into the root of the jboss-rules checked
+      out source tree, and run mvn install to install all the components for
+      the inter project dependencies. If the build is broken (all care is taken for this eventuality not to occur), the flag -Dmaven.test.skip=true can be used to prevent failing
+      unit tests from preventing the build.</para>
+
+      <para>When wishing to build the BRMS, go into the
+      drools-jbrms directory, and run <code>mvn package</code>. This will run the tests,
+      and then build a deployable war. The only thing this will not do is rebuild
+      the GWT front end (see the next section for details on that). Once the war file is in the target directory, the BRMS is ready to go.</para>
+    </section>
+
+    <section>
+      <title>Working with GWT</title>
+
+      <para>The GUI widgets for the web front end are developed with GWT
+      (Google Web Toolkit). If there is a need to make changes to or build the GUI, GWT will need to be downloaded separately. Once GWT is downloaded, the <filename>build.properties</filename> file in the drools-jbrms directory to
+      point to where GWT is installed. Once this is completed, the
+      ant tasks can be used to build the GWT components, as well as launch GWT in
+      debug/hosted mode if it is desired. If running the build, it will
+      update the webapp directory in the project with the new <emphasis>compiled</emphasis>
+      artifacts (GWT does not use JSP, only html and javascript at
+      runtime).</para>
+    </section>
+
+    <section>
+      <title>Debugging, Editing and running with Eclipse</title>
+
+      <para>Each module has a ready to go and up to date eclipse project
+      configuration, so they can merely be imported into the eclipse workspace.
+      These projects are generated by Maven (<code>mvn eclipse:eclipse</code> to refresh
+      them in case they are wrong or outdated). They have been manually
+      modified to have project dependencies (this means the code can be stepped through when debugging).</para>
+
+      <para>Some environment variables are required in eclipse
+      (for Window: &gt;Preferences-&gt;Java-&gt;Build path-&gt;Classpath
+      variables): the M2_REPO, as normal, to point to where Maven downloads
+      shared dependencies. GWT_HOME should point to where you installed GWT.
+      GWT_DEV must point to the platform specific "dev" jar that ships with
+      the version of GWT you have.</para>
+
+      <para>How to launch from Eclipse: unit tests can be launched, as normal
+      (in which case only M2_REPO setup is needed, GWT does not need to be downloaded seperately), or it can be launched it in <emphasis>hosted mode</emphasis> using
+      the GWT browser, which is great for debugging (from GUI to back end, the code can be stepped through, and  changes made on the fly and simply hit
+      refresh). There is a <filename>JBRMS.launch</filename> file in in the drools-jbrms directory.
+      To launch the JBRMS in debug mode, open the
+      Run dialog (Run-&gt;Run), and then choose <emphasis>JBRMS</emphasis> from the list.
+      Launching this will open a new window, with the BRMS in debug mode,
+      ready to go</para>
+
+      <para>Normally</para>
+
+      <para>Downloading and debugging the BRMS with GWT is optional, so if there are no GUI issues being worked on then this step can be safely skipped.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Re-usable components</title>
+
+    <para>The BRMS uses a service interface to separate the GUI from the back
+    end functionality. In this case the back end both includes the asset
+    repository (drools-repository and JCR) as well as the compiler specifics
+    to deal with rules. </para>
+
+    <para>The main interface is RepositoryService, which is implemented in
+    ServiceImplementation. The GWT ajax front end talks to this interface (via
+    the asynchrony callback mechanism that GWT uses). The seam configuration file
+    is <filename>components.xml</filename> (consult Seam documentation, and the components.xml file
+    for details).</para>
+
+    <para>This service interface may be re-used by alternative components or
+    front ends.</para>
+
+    <para>The GWT user interface may be re-used, as it is GWT is only
+    one html page: <filename>JBRMS.html</filename>. For those familiar with GWT, each of the
+    <emphasis>features</emphasis> can be used separate (eg in a portal), look at the
+    <classname>JBRMSFeature</classname> class and the classes that implement it (they can in theory
+    be stand alone).</para>
+
+    <para>Normally the BRMS is intended to be deployed as its own war, however
+    it can be combined with another application (with some care), but it is easier to keep it as a separate war. Deploying the BRMS by itself will also make it easier
+    to upgrade to newer releases as they come out.</para>
+    
+    <para>The <filename>JBRMS.html</filename> file can be customized. For example to change logos or embed
+    the BRMS in another page. Take a look at the <filename>JBRMS.html</filename> file for details.
+    </para>
+  </section>
+
+  <section>
+    <title>Versioning and Storage</title>
+
+    <para>The User Guide, Admin Section covers configuration options in some detail, for
+    database and filesystems.</para>
+
+    <para>Versions of assets are stored in the database along with the data.
+    </para>
+
+    <para>When <emphasis>snapshots</emphasis> are created, copies are made of the entire package
+    into a separate location in the JCR database. </para>
+
+    <para>For those familiar with jcr and jackrabbit, the *.cnd files are in the source for the node type definitions as some wish to view these. In a nutshell, a
+    package is a <emphasis>folder</emphasis> and each asset is a file: an asset can either be
+    textual or have a binary attachment.</para>
+  </section>
+
+  <section>
+    <title>Contributing</title>
+
+    <para>As an open source project, contributions from the wider community are encouraged. In order to contribute consult the wiki and project home pages. A useful way to contribute is via logging issues or feature
+    requests in JIRA. However, when creating an issue in JIRA for the
+    BRMS, it is important to choose <emphasis>drools-brms</emphasis> as the component in
+    the list in JIRA (or else it may become lost)</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Architecture.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-ExamplesAndTutorials.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-ExamplesAndTutorials.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-ExamplesAndTutorials.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Examples and tutorials</title>
+
+  <section>
+    <title>Discount insurance brokers</title>
+
+    <section>
+      <title>Quick Start demo</title>
+
+      <para>Fernando runs a dodgy fly by night insurance operation in Sao
+      Paulo, Brasil. These are his rules - would you buy insurance from him ?
+      (I wouldn't).</para>
+
+      <para>This example takes you through the key steps in using the BRMS
+      with an example repository, and using rules in a very very simple
+      application (which you can use as a basis for your applications).</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Download the latest version of BRMS from
+          http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules</para>
+
+          <para>Deploy BRMS WAR file into JBoss4.2 AS or JBossWeb, other
+          containers can be used as well (possibly with some tweaking of
+          dependencies).</para>
+
+          <para>Check you can access and run the BRMS.</para>
+        </listitem>
+
+        <listitem>
+          <para>Check out the demo project from the Drools subversion
+          repository (this will be included in future distributions):</para>
+
+          <para>http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-examples/drools-examples-brms/</para>
+        </listitem>
+
+        <listitem>
+          <para>Import the demo business rules insurance repository file into
+          BRMS, the compressed can be found at "files" folder in the demo
+          project.</para>
+
+          <para>To do this, open the "files" directory, unzip the file there
+          locally, and then go to the "Admin" section and "Manage backups" of
+          the BRMS, select the file, and press "Import" - follow
+          instructions.</para>
+        </listitem>
+
+        <listitem>
+          <para>Navigate through the BRMS web application to see how things
+          are placed and organized and try to create some rules.</para>
+
+          <para>Go to the "Packages" feature and build the package (you should
+          see no errors).</para>
+        </listitem>
+
+        <listitem>
+          <para>Now go to the "Deployment" feature, when you click on the
+          package, it will show you one snapshot (which was part of the
+          import, you can create more if you like from the previous
+          step).</para>
+
+          <para>Open a snapshot.</para>
+
+          <para>Copy the snapshot url that is displayed.</para>
+
+          <para>Locate the file brmsdeployedrules.properties</para>
+
+          <para>Place the copied URL in the brmsdeployedrules.properties
+          file.</para>
+        </listitem>
+
+        <listitem>
+          <para>OPTIONAL: To use a file or directory deployment in the rule
+          agent just update brmsdeployedrules.properties according the
+          documentation.</para>
+        </listitem>
+
+        <listitem>
+          <para>Import the example project into eclipse and execute the
+          MainClass. The program will show the following trace (and away you
+          go !).</para>
+
+          <programlisting>
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Configuring with newInstance=true, secondsToRefresh=30
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Configuring package provider : URLScanner monitoring URLs: http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance/fmeyer With local cache dir of /Users/fernandomeyer/projects/jbossrules/drools-examples/drools-examples-brms/cache
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Applying changes to the rulebase.
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Creating a new rulebase as per settings.
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Adding package called org.acme.insurance
+APPROVED: due to no objections.
+APPROVED: Driver is safe and mature.
+APPROVED: due to no objections.
+REJECTED: Too many accidents
+</programlisting>
+
+          <para>The Rule Agent will pick up any changes that happen
+          automatically - as soon as you create a new snapshot of the rules
+          you want to deploy.</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-ExamplesAndTutorials.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Introduction.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Introduction.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Introduction.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Introduction</title>
+
+  <para>This section introduces the BRMS. See the other relevant sections for
+  installation, usage and administration.</para>
+
+  <figure>
+    <title>The BRMS main screen</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" fileref="images/Chapter-Guvnor/NewMainScreen.png" format="PNG"
+                   scalefit="1" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <section>
+    <title>What is a BRMS?</title>
+
+    <para>BRMS stands for Business Rules Management System.</para>
+
+    <para>This is the component of JBoss Rules which covers rule management,
+    storage, editing and deployment. A Web based user interface is provided so
+    this tool can be used by people who don't work in IDEs or text editors,
+    but it is intended for a wide audience.</para>
+
+    <para>A BRMS allows people to manage rules in a multi user environment, it
+    is a single point of truth for your business rules, allowing change in a
+    controlled fashion, with user friendly interfaces.</para>
+
+    <section>
+      <title>When to use a BRMS</title>
+
+      <para>You should consider a BRMS if any of the following apply to you:
+      You need to manage versions/deployment of rules, you need to let
+      multiple users of different skill levels access and edit rules, you
+      don't have any existing infrastructure to manage rules, you have lots of
+      "business" rules (as opposed to technical rules as part of an
+      application). </para>
+
+      <para>A BRMS can be used on its own, or with the IDE tooling (often both
+      together). </para>
+
+      <para>A BRMS can be "branded" and made part of your application, or it
+      can be a central rule repository.</para>
+
+      <section>
+        <title>When to not use a BRMS</title>
+
+        <para>In some situations applications may exist which have
+        the rules in a database (for instance as part of an existing application), 
+        and no new application is needed to manage the rules. </para>
+
+        <para>Otherwise, perhaps an existing rule management system and user interface
+        already exists (and is tailored to your environment already) - in this
+        case migrating to the BRMS may not be necessary.</para>
+
+        <para>If you are using rules to solve complex algorithmic problems,
+        and the rules are essentially an integral part of the application (and
+        don't need to be managed separately to the code).</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Who uses a BRMS</title>
+
+      <para>The main roles of people who would use a BRMS are: Business
+      Analyst, Rule expert, Developer, Administrators (rule administrators etc).
+      </para>
+
+      <para>The BRMS is designed in such a way as these different roles can be
+      accommodated, it can be controlled how much is exposed to different users in a safe fashion.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Features outline</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Multiple types of rule editors (GUI, text)</para>
+      </listitem>
+      <listitem>
+        <para>Version control (historical assets)</para>
+      </listitem>
+      <listitem>
+        <para>Categorization</para>
+      </listitem>
+      <listitem>
+        <para>Build and deploy</para>
+      </listitem>
+      <listitem>
+        <para>Store multiple rule "assets" together as a package</para>
+      </listitem>
+      
+      
+      
+      
+    </itemizedlist>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-Introduction.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-UserGuide.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-UserGuide.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-UserGuide.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,1811 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Quick start guide</title>
+
+  <section>
+    <title>Quick start guide</title>
+
+    <para>If you are reading this, you must be the impatient type who wants to
+    kick the tyres (and light the fires) and have a look around as soon as
+    possible. This section will provide a quick end to end tour of the steps
+    involved (but does not go through the concepts in detail). This assumes
+    you have installed the repository correctly, and are able to access the
+    main login screen.</para>
+
+    <para>You can also consult the wiki:
+    http://wiki.jboss.org/wiki/Wiki.jsp?page=RulesRepository for some
+    tutorials and user tips (it IS a wiki, so you can even contribute your own
+    tips and examples and even upload files if you desire !).</para>
+
+    <figure>
+      <title>Main feature areas of BRMS</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/Features.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>The above picture shows the main feature areas of the BRMS.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Info: This is the initial screen, with links to
+        resources.</para>
+      </listitem>
+
+      <listitem>
+        <para>Rules: This is the category and business user
+        perspective.</para>
+      </listitem>
+
+      <listitem>
+        <para>Package: This is where packages are configured and
+        managed.</para>
+      </listitem>
+
+      <listitem>
+        <para>Deployment: this is where deployment snapshots are
+        managed.</para>
+      </listitem>
+
+      <listitem>
+        <para>Admin: Administrative functions (categories, statuses, import
+        and export)</para>
+      </listitem>
+    </itemizedlist>
+
+    <section>
+      <title>Supported browser platforms</title>
+
+      <para>The supported server side platforms are mentioned in the
+      installation guide. For browsers - the major ones are supported, this
+      includes Firefox (1.5 and up), IE7 and up, Opera, Safari, Google Chrome
+      etc. The preferred browser for most platforms is firefox, it is widely
+      available and free, if you have any choice at all, Firefox is the
+      preferred platform, followed by safari on mac. IE6 users can experience
+      some poor perforamnce, and as this is a dangerously insecure browser IE7
+      or a superior browser (such as Google Chrome, Firefox, Safari) is
+      recommended.</para>
+    </section>
+
+    <section>
+      <title>Initial configuration</title>
+
+      <para>Some initial setup is required the first time. The first time the
+      server starts up, it will create an empty repository, then take the
+      following steps:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Once deployed, go to "http://&lt;your
+          server&gt;/drools-jbrms/" (This will show the initial info screen -
+          or login screen depending on the configuration).</para>
+        </listitem>
+
+        <listitem>
+          <para>If it is a brand new repository, you will want to go to
+          "Admin", and choose "Manage Categories"</para>
+
+          <para>(Add a few categories of your choosing, categories are only
+          for classification, not for execution or anything else.)</para>
+        </listitem>
+
+        <listitem>
+          <para>Rules need a fact model (object model) to work off, so next
+          you will want to go to the Package management feature. From here you
+          can click on the icon to create a new package (give it a meaningful
+          name, with no spaces).</para>
+        </listitem>
+
+        <listitem>
+          <para>To upload a model, use a jar which has the fact model (API)
+          that you will be using in your rules and your code (go and make one
+          now if you need to !). When you are in the model editor screen, you
+          can upload a jar file, choose the package name from the list that
+          you created in the previous step.</para>
+        </listitem>
+
+        <listitem>
+          <para>Now edit your package configuration (you just created) to
+          import the fact types you just uploaded (add import statements), and
+          save the changes.</para>
+        </listitem>
+
+        <listitem>
+          <para>At this point, the package is configured and ready to go (you
+          generally won't have to go through that step very often).</para>
+
+          <para>(Note that you can also import an existing drl package - it
+          will store the rules in the repository as individual assets).</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Writing some rules</title>
+
+      <itemizedlist>
+        <listitem>
+          <para>Once you have at least one category and one package setup, you
+          can author rules.</para>
+        </listitem>
+
+        <listitem>
+          <para>There are multiple rule "formats", but from the BRMS point of
+          view, they are all "assets".</para>
+        </listitem>
+
+        <listitem>
+          <para>You create a rule by clicking the icon with the rules logo
+          (the head), and from that you enter a name.</para>
+        </listitem>
+
+        <listitem>
+          <para>You will also have to choose one category. Categories provide
+          a way of viewing rules that is separate to packages (and you can
+          make rules appear in multiple packages) - think of it like
+          tagging.</para>
+        </listitem>
+
+        <listitem>
+          <para>Chose the "Business rule (guided editor)" formats.</para>
+        </listitem>
+
+        <listitem>
+          <para>This will open a rule modeler, which is a guided editor. You
+          can add and edit conditions and actions based on the model that is
+          in use in the current package. Also, any DSL sentence templates
+          setup for the package will be available.</para>
+        </listitem>
+
+        <listitem>
+          <para>When you are done with rule editing, you can check in the
+          changes (save), or you can validate or "view source" (for the
+          effective source).</para>
+        </listitem>
+
+        <listitem>
+          <para>You can also add/remove categories from the rule editor, and
+          other attributes such as documentation (if you aren't sure what to
+          do, write a document in natural language describing the rule, and
+          check it in, that can also serve as a template later)</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Finding stuff</title>
+
+      <para>In terms of navigating, you can either use the Rules feature,
+      which shows things grouped by categories, or you can use the Package
+      feature, and view by package (and rule type). If you know the name or
+      part of the name of an asset, you can also use the "Quick find", start
+      typing a rule name and it will return a list of matches as you type (so
+      if you have a sensible naming scheme, it will make it very quick to find
+      stuff).</para>
+    </section>
+
+    <section>
+      <title>Deployment</title>
+
+      <itemizedlist>
+        <listitem>
+          <para>After you have edited some rules in a package, you can click
+          on the package feature, open the package that you wish, and build
+          the whole package.</para>
+        </listitem>
+
+        <listitem>
+          <para>If that succeeds, then you will be able to download a binary
+          package file which can be deployed into a runtime system.</para>
+        </listitem>
+
+        <listitem>
+          <para>You can also take a "snapshot" of a package for deployment.
+          This freezes the package at that point in time, so any concurrent
+          changes to not effect the package. It also makes the package
+          available on a URL of the form: "http://&lt;your
+          server&gt;/drools-jbrms/org.drools.brms.JBRMS/packages/&lt;packageName&gt;/&lt;snapshotName&gt;"
+          (where you can use that URL and downloads will be covered in the
+          section on deployment).</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+
+  <section>
+    <title>BRMS concepts</title>
+
+    <section>
+      <title>Rules are assets</title>
+
+      <para>As the BRMS can manage many different types of rules (and more),
+      they are all classed as "assets". An asset is anything that can be
+      stored as a version in the repository. This includes decision tables,
+      models, DSLs and more. Sometimes the word "rule" will be used to really
+      mean "asset" (ie the things you can do also apply to the other asset
+      types). You can think of asset as a lot like a file in a folder. Assets
+      are grouped together for viewing, or to make a package for deployment
+      etc.</para>
+    </section>
+
+    <section>
+      <title>Categorisation</title>
+
+      <figure>
+        <title>Categories</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/CatZoom.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Categories allow rules (assets) to be labeled (or tagged) with any
+      number of categories that you define. This means that you can then view
+      a list of rules that match a specific category. Rules can belong to any
+      number of categories. In the above diagram, you can see this can in
+      effect create a folder/explorer like view of assets. The names can be
+      anything you want, and are defined by the BRMS administrator (you can
+      also remove/add new categories - you can only remove them if they are
+      not currently in use).</para>
+
+      <para>Generally categories are created with meaningful name that match
+      the area of the business the rule applies to (if the rule applies to
+      multiple areas, multiple categories can be attached). Categories can
+      also be used to "tag" rules as part of their life-cycle, for example to
+      mark as "Draft" or "For Review".</para>
+
+      <figure>
+        <title>Assets can have multiple categories</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/CatEdit.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The view above shows the category editor/viewer that is seen when
+      you open an asset. In this example you can see the asset belongs to 2
+      categories, with a "+" button to add additional items (use the trash can
+      item to remove them). This means that when either category is used to
+      show a list of assets, you will see that asset.</para>
+
+      <para>In the above example, the first Category "Finance" is a "top
+      level" category. The second one: "HR/Awards/QAS" is a still a single
+      category, but its a nested category: Categories are hierarchical. This
+      means there is a category called "HR", which contains a category
+      "Awards" (it will in fact have more sub-categories of course), and
+      "Awards" has a sub-category of QAS. The screen shows this as
+      "HR/Awards/QAS" - its very much like a folder structure you would have
+      on your hard disk (the notable exception is of course that rules can
+      appear in multiple places).</para>
+
+      <para>When you open an asset to view or edit, it will show a list of
+      categories that it currently belongs to If you make a change (remove or
+      add a category) you will need to save the asset - this will create a new
+      item in the version history. Changing the categories of a rule has no
+      effect on its execution.</para>
+
+      <figure>
+        <title>Creating categories</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/AdminCats.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above view shows the administration screen for setting up
+      categories (there) are no categories in the system by default. As the
+      categories can be hierarchical you chose the "parent" category that you
+      want to create a sub-category for. From here categories can also be
+      removed (but only if they are not in use by any current versions of
+      assets).</para>
+
+      <para>As a general rule, an asset should only belong to 1 or 2
+      categories at a time. Categories are critical in cases where you have
+      large numbers of rules. The hierarchies do not need to be too deep, but
+      should be able to see how this can help you break down rules/assets into
+      manageable chunks. Its ok if its not clear at first, you are free to
+      change categories as you go.</para>
+    </section>
+
+    <section>
+      <title>The asset editor</title>
+
+      <figure>
+        <title>The Asset editor view</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/AssetEditor.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above diagram shows the "asset editor" with some annotated
+      areas. The asset editor is where all rule changes are made. Below is a
+      list which describes the different parts of the editor.</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>A</para>
+
+          <para>This is where the "editor widget" lives - exactly what form
+          the editor takes depends on the asset or rule type.</para>
+        </listitem>
+
+        <listitem>
+          <para>B</para>
+
+          <para>This is the documentation area - a free text area where
+          descriptions of the rule can live. It is encouraged to write a plain
+          description in the rule here before editing.</para>
+        </listitem>
+
+        <listitem>
+          <para>C</para>
+
+          <para>These are the actions - for saving, archiving, changing status
+          etc. Archiving is the equivalent of deleting an asset.</para>
+        </listitem>
+
+        <listitem>
+          <para>D</para>
+
+          <para>This has the asset name, as well as the list of categories
+          that the asset belongs to.</para>
+        </listitem>
+
+        <listitem>
+          <para>E</para>
+
+          <para>This section contains read-only meta data, including when
+          changes were made, and by whom.</para>
+
+          <para>"Modified on:" - this is the last modified date.</para>
+
+          <para>"By:" - who made the last change.</para>
+
+          <para>"Note:" - this is the comment made when the asset was last
+          updated (ie why a change was made)</para>
+
+          <para>"Version:" - this is a number which is incremented by 1 each
+          time a change is checked in (saved).</para>
+
+          <para>"Created on:" - the date and time the asset was
+          created.</para>
+
+          <para>"Created by:" - this initial author of the asset.</para>
+
+          <para>"Format:" - the short format name of the type of asset.</para>
+        </listitem>
+
+        <listitem>
+          <para>F</para>
+
+          <para>This shows what package the asset belong to (you can also
+          change it from here).</para>
+        </listitem>
+
+        <listitem>
+          <para>G</para>
+
+          <para>This is some more (optional) meta data (taken from the Dublin
+          Core meta data standard)</para>
+        </listitem>
+
+        <listitem>
+          <para>H</para>
+
+          <para>This will show the version history list when requested.</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Rule authoring</title>
+
+      <para>The BRMS supports a (growing) list of formats of assets (rules).
+      Here the key ones are described. Some of these are covered in other
+      parts of the manual, and the detail will not be repeated here.</para>
+
+      <section>
+        <title>Business rules with the guided editor</title>
+
+        <para>Guided editor style "Business rules": (also known as "BRL
+        format"). These rules use the guided GUI which controls and prompts
+        user input based on knowledge of the object model. This can also be
+        augmented with DSL sentences.</para>
+
+        <para>IMPORTANT: to use the BRL guided editor, someone will need to
+        have you package configured before hand.</para>
+
+        <para>Also note that there is a guided editor in the Eclipse plug in,
+        most of the details in this section can also apply to it.</para>
+
+        <figure>
+          <title>The guided BRL editor</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/GuidedEditor.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>The above diagram shows the editor in action. The following
+        description apply to the letter boxes in the diagram above:</para>
+
+        <para>A: The different parts of a rule. The "WHEN" part is the
+        condition, "THEN" action, and "(options)" are optional attributes that
+        may effect the operation of the rule.</para>
+
+        <para>B: This shows a pattern which is declaring that the rule is
+        looking for a "Driver" fact (the fields are listed below, in this case
+        just "age"). Note the green triangle, it will popup a list of options
+        to add to the fact declaration: you can add more fields (eg their
+        "location"), or you can assign a variable name to the fact (which you
+        can use later on if needs be). As well as adding more fields to this
+        pattern - you can add "multiple field" constraints - ie constraints
+        that span across fields (eg age &gt; 42 or risk &gt; 2). The popup
+        dialog shows the options.</para>
+
+        <para>C: The small "-" icons indicate you can remove something - in
+        this case it would remove the whole Driver fact declaration. If its
+        the one below, it would remove just the age constraint.</para>
+
+        <para>D: The "+" symbols allow you to add more patterns to the
+        condition or the action part of the rule, or more attributes. In all
+        cases, a popup option box is provided. For the "WHEN" part of the
+        rule, you can choose to add a constraint on a fact (it will give you a
+        list of facts), or you can use another conditional element, the
+        choices which are : "There is no" - which means the fact+constraints
+        must not exist, "There exists" - which means that there exists at
+        least one match (but there only needs to be one - it will not trigger
+        for each match), and "Any of" - which means that any of the patterns
+        can match (you then add patterns to these higher level patterns). If
+        you just put a fact (like is shown above) then all the patterns are
+        combined together so they are all true ("and").</para>
+
+        <para>E: This shows the constraint for the "age" field. (Looking from
+        left to right) the green triangle allows you to "assign" a variable
+        name to the "age" field, which you may use later on in the rule. Next
+        is the list of constraint operations - this list changes depending on
+        the data type. After that is the value field - the value field will be
+        one of: a) a literal value (eg number, text), b) a "formula" - in
+        which case it is an expression which is calculated (this is for
+        advanced users) or b) a variable (in which case a list will be
+        provided to choose values from). After this there is a horizontal
+        arrow icon, this is for "connective constraints" : these are
+        constraints which allow you to have alternative values to check a
+        field against, for example: "age is less than 42 or age is not equal
+        to 39" is possibly this way.</para>
+
+        <para>F: This shows an "action" of the rule, a rule consists of a list
+        of actions. In this case, we are asserting/inserting a new fact, which
+        is a rejection (with the "reason" field set to an explanation). There
+        are quite a few other types of actions you can use: you can modify an
+        existing fact (which tells the engine the fact has changed) - or you
+        can simply set a field on a fact (in which case the engine doesn't
+        know about the change - normally because you are setting a result).
+        You can also retract a fact. In most cases the green arrow will give
+        you a list of fields you can add so you can change the value. The
+        values you enter are "literal" - in the sense that what you type is
+        what the value is. If it needs to be a calculation, then add an "=" at
+        the start of the value - this will be interpreted as a "formula" (for
+        advanced users only) ! and the calculation will be performed (not
+        unlike a spreadsheet).</para>
+
+        <para>G: This is where the rule options live. In this case, only
+        salience is used which is a numeric value representing the rules
+        "priority". This would probably be the most common option to
+        use.</para>
+
+        <section>
+          <title>User driven drop down lists</title>
+
+          <figure>
+            <title>Data enumeration showing as a drop down list</title>
+
+            <mediaobject>
+              <imageobject>
+                <imagedata align="center" fileref="images/Chapter-Guvnor/EnumDropDown.png"
+                           format="PNG" scalefit="1" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para>Note that is it possible to limit field values to items in a
+          pre configured list. This list is configured as part of the package
+          (using a data enumeration to provide values for the drop down list).
+          These values can be a fixed list, or (for example) loaded from a
+          database. This is useful for codes, and other fields where there are
+          set values. It is also possible to have what is displayed on screen,
+          in a drop down, be different to the value (or code) used in a rule.
+          See the section on data enumerations for how these are
+          configured.</para>
+        </section>
+
+        <section>
+          <title>Augmenting with DSL sentences</title>
+
+          <para>If the package the rule is part of has a dsl configuration,
+          when when you add conditions or actions, then it will provide a list
+          of "DSL Sentences" which you can choose from - when you choose one,
+          it will add a row to the rule - where the DSL specifies values come
+          from a user, then a edit box (text) will be shown (so it ends up
+          looking a bit like a form). This is optional, and there is another
+          DSL editor. Please note that the DSL capabilities in this editor are
+          slightly less then the full set of DSL features (basically you can
+          do [when] and [then] sections of the DSL only - which is no
+          different to drools 3 in effect).</para>
+
+          <para>The following diagram shows the DSL sentences in action in the
+          guided editor:</para>
+
+          <figure>
+            <title>DSL in guided editor</title>
+
+            <mediaobject>
+              <imageobject>
+                <imagedata align="center" fileref="images/Chapter-Guvnor/GuidedDSL.png" format="PNG"
+                           scalefit="1" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+        </section>
+
+        <section>
+          <title>A more complex example:</title>
+
+          <figure>
+            <title>A more complex BRL example</title>
+
+            <mediaobject>
+              <imageobject>
+                <imagedata align="center" fileref="images/Chapter-Guvnor/GuidedComplex.png"
+                           format="PNG" scalefit="1" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para>In the above example, you can see it is using a mixture of
+          literal values, and formulas. The second constraint on the "Person"
+          fact, is a formula (in this case it is doing a silly calculation on
+          the persons age, and checking something against their name - both
+          "age" and "name" are fields of the Person fact in this case. In the
+          3rd line (which says "age is less than .." - it is also using a
+          formula, although, in this case the formula does a calculation and
+          returns a value (which is used in the comparison) - in the former
+          case, it had to return True or False (in this case, its a value).
+          Obvious formulas are basically pieces of code - so this is for
+          experienced users only.</para>
+
+          <para>Looking at the "Board" pattern (the second pattern with the
+          horizontal grey bar): this uses a top level conditional element
+          ("There is no") - this means that the pattern is actually looking
+          for the "non existence" of a fact that matches the pattern. Note the
+          "Any of:" - this means that EITHER the "type" field constraint is
+          matched, or the "name" field is matched (to "myname" in the case
+          above). This is what is termed a Multiple field constraint (you can
+          nest these, and have it as complex as you like, depending on how
+          much you want the next person to hate you: Some paraphrased advice:
+          Write your rules in such as way as if the person who has to
+          read/maintain them is a psychopath, has a gun, and knows where you
+          live).</para>
+
+          <figure>
+            <title>Adding constraints</title>
+
+            <mediaobject>
+              <imageobject>
+                <imagedata align="center" fileref="images/Chapter-Guvnor/GuidedLHSConstraints.png"
+                           format="PNG" scalefit="1" />
+              </imageobject>
+            </mediaobject>
+          </figure>
+
+          <para>The above dialog is what you will get when you want to add
+          constraints to the Person fact. In the top half are the simple
+          options: you can either add a field straight away (a list of fields
+          of the Person fact will be shown), or you can add a "Multiple field
+          constraint" - of a given type (which is described above). The
+          Advanced options: you can add a formula (which resolves to True or
+          False - this is like in the example above: "age &lt; (age * 2)
+          ...."). You can also assign a Variable name to the Person fact
+          (which means you can then access that variable on the action part of
+          the rule, to set a value etc).</para>
+        </section>
+      </section>
+
+      <section>
+        <title>DSL rules</title>
+
+        <para>DSL rules are textual rules, that use a language configuration
+        asset to control how they appear.</para>
+
+        <figure>
+          <title>DSL rule</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/DSLRule.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>A dsl rule is a single rule. Referring to the picture above, you
+        can a text editor. You can use the icons to the right to provide lists
+        of conditions and actions to choose from (or else press Control +
+        Space at the same time to pop up a list).</para>
+      </section>
+
+      <section>
+        <title>Spreadsheet decision tables</title>
+
+        <para>Multiple rules can be stored in a spreadsheet (each row is a
+        rule). The details of the spreadsheet are not covered in this chapter
+        (as there is a separate chapter for them).</para>
+
+        <figure>
+          <title>Spreadsheet decision table</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/DecisionTable.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>To use a spreadsheet, you upload an xls (and can download the
+        current version, as per the picture above). To create a new decision
+        table, when you launch the rule wizard, you will get an option to
+        create one (after that point, you can upload the xls file).</para>
+      </section>
+
+      <section>
+        <title>Guided decision tables (web based)</title>
+
+        <para>The guided decision table feature allows decision tables to be
+        edited in place on the web. This works similar to the guided editor by
+        introspecting what facts and fields are available to guide the
+        creation of a decision table.</para>
+
+        <figure>
+          <title>Decision table</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/WebDT.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>At the top right there is a button which shows the configuration
+        area of the guided decision table:</para>
+
+        <figure>
+          <title>Decision table config</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/WebDT-config.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>It is in this section where condition and action columns are
+        configured. "Attribute columns" are for setting attributes on a per
+        rule (row) basis, such as salience. Web based decision tables are
+        compiled into DRL like all other rule assets.</para>
+      </section>
+
+      <section>
+        <title>Rule flows</title>
+
+        <para>Rule flows: Rule flows allow you to visually describe the steps
+        taken - so not all rules are evaluated at once, but there is a flow of
+        logic. Rule flows are not covered in this chapter on the BRMS, but you
+        can use the IDE to graphically draw ruleflows, and upload the .rfm
+        file to the BRMS.</para>
+
+        <para>Similar to spreadsheets, you upload/download ruleflow files (the
+        eclipse IDE has a graphical editor for them). The details of Rule
+        Flows are not discussed here.</para>
+      </section>
+
+      <section>
+        <title>Technical rules (drl)</title>
+
+        <para>Technical (drl) rules are stored as text - they can be managed
+        in the BRMS. A DRL can either be a whole chunk of rules, or an
+        individual rule. if its an individual rule, no package statement or
+        imports are required (in fact, you can skip the "rule" statement
+        altogether, just use "when" and "then" to mark the condition and
+        action sections respectively). Normally you would use the IDE to edit
+        raw DRL files, since it has all the advanced tooling and content
+        assistance and debugging, however there are times when a rule may have
+        to deal with something fairly technical. In any typical package of
+        rules, you generally have a been for some "technical rules" - you can
+        mix and match all the rule types together of course.</para>
+
+        <figure>
+          <title>DRL technical rule</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/DRLRule.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+      </section>
+
+      <section>
+        <title>Functions</title>
+
+        <para>Functions are another asset type. They are NOT rules, and should
+        only be used when necessary. The function editor is a textual editor.
+        Functions</para>
+
+        <figure>
+          <title>Function</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/Function.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+      </section>
+
+      <section>
+        <title>Data enumerations (drop down list configurations)</title>
+
+        <para>Data enumerations are an optional asset type that technical folk
+        can configure to provide drop down lists for the guided editor. These
+        are stored and edited just like any other asset, and apply to the
+        package that they belong to.</para>
+
+        <para>The contents of an enum config are a mapping of Fact.field to a
+        list of values to be used in a drop down. That list can either be
+        literal, or use a utility class (which you put on the classpath) to
+        load a list of strings. The strings are either a value to be shown on
+        a drop down, or a mapping from the code value (what ends up used in
+        the rule) and a display value (see the example below, using the
+        '=').</para>
+
+        <figure>
+          <title>Data enumeration</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/EnumConfig.png" format="PNG"
+                         scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>
+
+        <para>In the above diagram - the "MM" indicates a value that will be
+        used in the rule, yet "Mini Mal" will be displayed in the GUI.</para>
+
+        <para>Getting data lists from external data sources: It is possible to
+        have the BRMS call a piece of code which will load a list of Strings.
+        To do this, you will need a bit of code that returns a java.util.List
+        (of String's) to be on the classpath of the BRMS. Instead of
+        specifying a list of values in the BRMS itself - the code can return
+        the list of Strings (you can use the "=" inside the strings if you
+        want to use a different display value to the rule value, as normal).
+        For example, in the 'Person.age' line above, you could change it to:
+        <programlisting> 'Person.age' : (new com.yourco.DataHelper()).getListOfAges()</programlisting>
+        This assumes you have a class called "DataHelper" which has a method
+        "getListOfAges()" which returns a List of strings (and is on the
+        classpath). You can of course mix these "dynamic" enumerations with
+        fixed lists. You could for example load from a database using JDBC.
+        The data enumerations are loaded the first time you use the guided
+        editor in a session. If you have any guided editor sessions open - you
+        will need to close and then open the rule to see the change. To check
+        the enumeration is loaded - if you go to the Package configuration
+        screen, you can "save and validate" the package - this will check it
+        and provide any error feedback.</para>
+      </section>
+
+      <section>
+        <title>Advanced enumeration concepts</title>
+
+        <para>There are a few other advanced things you can do with data
+        enumerations.</para>
+
+        <para>Drop down lists that depend on field values: Lets imagine a
+        simple fact model, we have a class called Vehicle, which has 2 fields:
+        "engineType" and "fuelType". We want to have a choice for the
+        "engineType" of "Petrol" or "Diesel". Now, obviously the choice type
+        for fuel must be dependent on the engine type (so for Petrol we have
+        ULP and PULP, and for Diesel we have BIO and NORMAL). We can express
+        this dependency in an enumerattion as:</para>
+
+        <programlisting>
+ 'Vehicle.engineType' : ['Petrol', 'Diesel']
+ 'Vehicle.fuelType[engineType=Petrol]' : ['ULP', 'PULP' ]
+ 'Vehicle.fuelType[engineType=Diesel]' : ['BIO', 'NORMAL' ]  
+</programlisting>
+
+        <para>This shows how it is possible to make the choices dependent on
+        other field values. Note that once you pick the engineType, the choice
+        list for the fuelType will be determined.</para>
+
+        <para>Loading enums programmatically: In some cases, people may want
+        to load their enumeration data entirely from external data source
+        (such as a relational database). To do this, you can implement a class
+        that returns a Map. The key of the map is a string (which is the
+        Fact.field name as shown above), and the value is a java.util.List of
+        Strings.</para>
+
+        <programlisting>
+public class SampleDataSource2 {
+
+  public Map&lt;String&gt;, List&lt;String&gt;&gt; loadData() {
+    Map data = new HashMap();
+
+    List d = new ArrayList();
+    d.add("value1");
+    d.add("value2");
+    data.put("Fact.field", d);
+
+    return data;
+ }
+
+}
+</programlisting>
+
+        <para>And in the enumeration in the brms, you put:</para>
+
+        <programlisting>=(new SampleDataSource2()).loadData()
+</programlisting>
+
+        <para>The "=" tells it to load the data by executing your code.</para>
+
+        <para>Mode advanced enumerations: In the above cases, the values in
+        the lists are calculated up front. This is fine for relatively static
+        data, or small amounts of data. Imagine a scenario where you have
+        lists of countries, each country has a list of states, each state has
+        a list of localities, each locality has a list of streets and so on...
+        You can see how this is a lot of data, and it can not be loaded up.
+        The lists should be loaded dependent on what country was selected
+        etc...</para>
+
+        <para>Well the above can be addressed in the following fashion:
+        <programlisting>
+      'Fact.field[dependentField1, dependentField2]' : '(new com.yourco.DataHelper()).getListOfAges("@{dependentField1}", "@{dependentField2}")'
+    </programlisting> Similar to above, but note that we have just specified
+        what fields are needed, and also on the right of the ":" there are
+        quotes around the expression. This expression will then be evaluated,
+        only when needed, substituting the values from the fields specified.
+        This means you can use the field values from the GUI to drive a
+        database query, and drill down into data etc. When the drop down is
+        loaded, or the rule loaded, it will refresh the list based on the
+        fields. 'depenentField1' and 'dependentField2' are names of fields on
+        the 'Fact' type - these are used to calculate the list of values which
+        will be shown in a drop down if values for the "field".</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Templates of assets/rules</title>
+
+      <para>Tip: As you may have many similar rules, you can create rule
+      templates, which are simply rules which are kept in an inactive package
+      - you can then categories templates accordingly, and copy them as needed
+      (choosing a live package as the target package).</para>
+    </section>
+
+    <section>
+      <title>Status management</title>
+
+      <para>Each asset (and also package) in the BRMS has a status flag set.
+      The values of the status flag are set in the Administration section of
+      the BRMS. (you can add your own status names). Similar to Categories,
+      Statuses do NOT effect the execution in any way, and are purely
+      informational. Unlike categories, assets only have one status AT A
+      TIME.</para>
+
+      <para>Using statuses is completely optional. You can use it to manage
+      the lifecycle of assets (which you can alternatively do with categories
+      if you like).</para>
+
+      <figure>
+        <title>Asset status</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/AssetChangeStatus.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can change the status of an individual asset (like in the
+      diagram above). Its change takes effect immediately, no separate save is
+      needed.</para>
+
+      <figure>
+        <title>Asset status</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/PackageChangeStatus.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can change the status of a whole package - this sets the
+      status flag on the package itself, but it ALSO changes the statuses on
+      ALL the assets that belong to this package in one hit (to be the same as
+      what you set the package to).</para>
+    </section>
+
+    <section>
+      <title>Package management</title>
+
+      <para>Configuring packages is generally something that is done once, and
+      by someone with some experience with rules/models. Generally speaking,
+      very few people will need to configure packages, and once they are
+      setup, they can be copied over and over if needed. Package configuration
+      is most definitely a technical task that requires the appropriate
+      expertise.</para>
+
+      <para>All assets live in "packages" in the BRMS - a package is like a
+      folder (it also serves as a "namespace"). A home folder for rule assets
+      to live in. Rules in particular need to know what the fact model is,
+      what the namespace is etc.</para>
+
+      <para><figure>
+          <title>The package explorer</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/PackageExplorer.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>The above picture shows the package explorer. Clicking on an
+      asset type will show a list of matches (for packages with thousands of
+      rules, showing the list may take several seconds - hence the importance
+      of using categories to help you find your way around).</para>
+
+      <para>So whilst rules (and assets in general) can appear in any number
+      of categories, they only live in one package. If you think of the BRMS
+      as a file system, then each package is a folder, and the assets live in
+      that folder - as one big happy list of files. When you create a
+      deployment snapshot of a package, you are effectively copying all the
+      assets in that "folder" into another special "folder".</para>
+
+      <para>The package management feature allows you to see a list of
+      packages, and then "expand" them, to show lists of each "type" of asset
+      (there are many assets, so some of them are grouped together):</para>
+
+      <para>The asset types: <itemizedlist>
+          <listitem>
+            <para>Business assets: this shows a list of all "business rule"
+            types, which include decision tables, business rules etc.
+            etc.</para>
+          </listitem>
+
+          <listitem>
+            <para>Technical assets: this is a list of items that would be
+            considered technical (eg DRL rules, data enumerations and rule
+            flows).</para>
+          </listitem>
+
+          <listitem>
+            <para>Functions: In the BRMS you can also have functions defined
+            (optionally of course).</para>
+          </listitem>
+
+          <listitem>
+            <para>DSL: Domain Specific Languages can also be stored as an
+            asset. If they exist (generally there is only one), then they will
+            be used in the appropriate editor GUIs.</para>
+          </listitem>
+
+          <listitem>
+            <para>Model: A package requires at least one model - for the
+            rules.</para>
+          </listitem>
+        </itemizedlist></para>
+
+      <para><figure>
+          <title>Creating new assets</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/PackageNewItemTooltip.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure> From the package explorer you can create new rules, or new
+      assets. Some assets you can only create from the package explorer. The
+      above picture shows the icons which launch wizards for this purpose. If
+      you hover the mouse over them, a tooltip will tell you what they
+      do.</para>
+
+      <para><figure>
+          <title>Package configuration</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/PackageConfig.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>One of the most critical things you need to do is configure
+      packages. This is mostly importing the classes used by the rules, and
+      globals variables. Once you make a change, you need to save it, and that
+      package is then configured and ready to be built. For example, you may
+      add a model which has a class called "com.something.Hello", you would
+      then add "import com.something.Hello" in your package configuration and
+      save the change.</para>
+
+      <para><figure>
+          <title>Package building</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="images/Chapter-Guvnor/PackageBuild.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>Finally you would "build" a package. Any errors caught are
+      then shown at this point. If the build was successful, then you will
+      have the option to create a snapshot for deployment. You can also view
+      the "drl" that this package results in. WARNING: in cases of large
+      numbers of rules, all these operations can take some time.</para>
+
+      <para>It is optional at this stage to enter the name of a "selector" -
+      see the admin section for details on how to configure custom selectors
+      for your system (if you need them - selecters allow you to filter down
+      what you build into a package - if you don't know what they are for, you
+      probably don't need to use them).</para>
+
+      <section>
+        <title>Importing drl packages</title>
+
+        <para>It is also possible to create a package by importing an existing
+        "drl" file. When you choose to create a new package, you can choose an
+        option to upload a .drl file. The BRMS will then attempt to understand
+        that drl, break create a package for you. The rules in it will be
+        stored as individual assets (but still as drl text content). Note that
+        to actually build the package, you will need to upload an appropriate
+        model (as a jar) to validate against, as a separate step.</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Version management</title>
+
+      <para>Both assets and whole packages of assets are "versioned" in the
+      BRMS, but the mechanism is slightly different. Individual assets are
+      saved a bit like a version of a file in a source control system.
+      However, packages of assets are versioned "on demand" by taking a
+      snapshot (typically which is used for deployment). The next section
+      talks about deployment management and snapshots.</para>
+
+      <figure>
+        <title>Asset versions</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/AssetVersionHistory.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Each time you make a change to an asset, it creates a new item in
+      the version history. This is a bit like having an unlimited undo. You
+      can look back through the history of an individual asset like the list
+      above, and view it (and restore it) from that point in time.</para>
+    </section>
+
+    <section>
+      <title>Deployment management</title>
+
+      <para>Snapshots, URLS and binary packages:</para>
+
+      <para>URLs are central to how built packages are provided. The BRMS
+      provides packages via URLs (for download and use by the Rule Agent).
+      These URLs take the form of:
+      http://&lt;server&gt;/drools-jbrms/org.drools.brms.JBRMS/package/&lt;packageName&gt;/&lt;packageVersion&gt;</para>
+
+      <para>&lt;packageName&gt; is the name you gave the package.
+      &lt;packageVersion&gt; is either the name of a snapshot, or "LATEST" (if
+      its LATEST, then it will be the latest built version from the main
+      package, not a snapshot). You can use these in the agent, or you can
+      paste them into your browser and it will download them as a file.</para>
+
+      <para>Refer to the section on the Rule Agent for details on how you can
+      use these URLs (and binary downloads) in your application, and how rules
+      can be updated on the fly.</para>
+
+      <figure>
+        <title>Deployment snapshots</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/Snapshots.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above shows deployment snapshots view. On the left there is a
+      list of packages. Clicking on a specific package will show you a list of
+      snapshots for that package (if any). From there you can copy, remove or
+      view an asset snapshot. Each snapshot is available for download or
+      access via a URL for deployment.</para>
+    </section>
+
+    <section>
+      <title>Navigating and finding rules</title>
+
+      <para>The two main ways of viewing the repository are by using
+      user-driven Categorization (tagging) as outlined above, and the package
+      explorer view.</para>
+
+      <para>The category view provides a way to navigate your rules in a way
+      that makes sense to your organization.</para>
+
+      <figure>
+        <title>Category view</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/CategoryExplorer.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above diagram shows categories in action. Generally under each
+      category you should have no more then a few dozen rules, if
+      possible.</para>
+
+      <para>The alternative and more technical view is to use the package
+      explorer. This shows the rules (assets) closer to how they are actually
+      stored in the database, and also separates rules into packages (name
+      spaces) and their type (format, as rules can be in many different
+      formats).</para>
+
+      <figure>
+        <title>Package view</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/PackageExplorer.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above shows the alternate way of exploring - using
+      packages.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Creating a business user view</title>
+    <para>
+      In most cases not all users will want to see all the functionality described here. You could have a subset of users who you only want to let view or edit certain sets of rules, without getting confused by all the other stuff. 
+In this case you can use fine grained authorization (see the Admin Guide on how to initialize this). By setting permissions on a per category basis, users that only have category permissions will see a limited subset of functionality, and only items that are tagged with those categories. 
+    </para>
+  </section>
+
+  <section>
+    <title>The fact model (object model)</title>
+
+    <para>For any rule base application, a fact model is needed to drive the
+    rules. The fact model typically overlaps with the applications domain
+    model, but in general it will be decoupled from it (as it makes the rules
+    easier to manage over time).</para>
+
+    <para>There are 2 ways to to do this: you can upload jar files containing
+    classes which your application and the rules both use, or you can use
+    models that are declared along with the rules.</para>
+
+    <figure>
+      <title>Choosing a model type</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/ModelChooseType.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>When a jar is uploaded, it will add import statements to the package
+    configuration (you can then review and change them).</para>
+
+    <para>Using declared models, you will see an editor like the
+    following:</para>
+
+    <figure>
+      <title>Choosing a model type</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/ModelEdit.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>In here you can define types, and add fields (each field has a
+    type). The type of a field is suggested by a list (but this list is not
+    exhaustive):</para>
+
+    <figure>
+      <title>Choosing a model type</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Guvnor/ModelChooseFieldType.png"
+                     format="PNG" scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>These fact models can be used like normal fact objects, however the
+    way you create them is different (as they are not on your applications
+    classpath). To create these objects, they are available from the RuleBase
+    instance. <programlisting>
+          // Retrieve the generated fact type
+        FactType cheeseFact = ruleBase.getFactType( "org.drools.generatedbeans.Cheese" );
+
+        // Create a new Fact instance
+        Object cheese = cheeseFact.newInstance();
+
+        cheeseFact.set( cheese,
+                        "type",
+                        "stilton" );
+
+</programlisting> The "cheese" object above can then be inserted into working
+    memory just like a normal pojo based fact.</para>
+
+    <para>Note that the namespace of the declared type is the package
+    namespace where it was declared (in the above case
+    "org.drools.generatedbeans").</para>
+
+    <para>Why would you chose declared types over jar files: generally this
+    reinforces the fact that the model "belongs" to the rulebase, rather then
+    the application, and allows the model to have a lifecycle separate from
+    the application. It also removed the hassle of keeping jar files in sync
+    between rules and the applications that use the rules. </para>
+  </section>
+
+  <section>
+    <title>The business user perspective</title>
+
+    <para>You can see from this manual, that some expertise and practice is
+    required to use the BRMS. In fact any software system in some sense
+    requires that people be "technical" even if it has a nice looking GUI.
+    Having said that, in the right hands the BRMS can be setup to provide a
+    suitable environment for non technical users.</para>
+
+    <para>The most appropriate rule formats for this use are using the Guided
+    editor, Decision tables and DSL rules. You can use some DSL expressions
+    also in the guided editor (so it provides "forms" for people to enter
+    values).</para>
+
+    <para>You can use categories to isolate rules and assets from non
+    technical users. Only assets which have a category assigned will appear in
+    the "categories" view.</para>
+
+    <para>The initial setup of the BRMS will need to be done by a
+    developer/technical person who will set the foundations for all the rules.
+    They may also create "templates" which are rules which may be copied (they
+    would typically live in a "dummy" package, and have a category of
+    "template" - this can also help ease the way).</para>
+
+    <para>Deployment should also not be done by non technical users (as
+    mentioned previously this happens from the "Package" feature).</para>
+  </section>
+
+  <section>
+    <title>Deployment: Integrating rules with your applications</title>
+
+    <para>Its all very interesting to manage rules, but how to you use or
+    "consume" them in your application? This section covers the usage of the
+    RuleAgent deployment component that automates most of this for you.</para>
+
+    <section>
+      <title>The Rule Agent</title>
+
+      <para>The rule agent is a component which is embedded in the core
+      runtime of the rules engine. To use this, you don't need any extra
+      components. In fact, if you are using the BRMS, your application should
+      only need to include the drools-core dependencies in its classpath
+      (drools and mvel jars only), and no other rules specific
+      dependencies.</para>
+
+      <para>Note that there is also a drools-ant ant task, so you can build
+      rules as part of an ant script (for example in cases where the rules are
+      edited in the IDE) without using the BRMS at all - the drools-ant task
+      will generate .pkg files the same as the BRMS.</para>
+
+      <para>Once you have "built" your rules in a package in the BRMS (or from
+      the ant task), you are ready to use the agent in your target
+      application.</para>
+
+      <para>To use the rule agent, you will use a call in your applications
+      code like:</para>
+
+      <programlisting>RuleAgent agent = RuleAgent.newRuleAgent("/MyRules.properties");     
+RuleBase rb = agent.getRuleBase(); 
+rb.newStatefulSession.... 
+//now assert your facts into the session and away you go !
+</programlisting>
+
+      <para>IMPORTANT: You should only have one instance of the RuleAgent per
+      rulebase you are using. This means you should (for example) keep the
+      agent in a singleton, JNDI (or similar). In practice most people are
+      using frameworks like Seam or Spring - in which case they will take care
+      of managing this for you (in fact in Seam - it is already integrated -
+      you can inject rulebases into Seam components). Note that the RuleBase
+      can be used multiple times by multiple threads if needed (no need to
+      have multiple copies of it).</para>
+
+      <para>This assumes that there is a MyRules.properties in the root of
+      your classpath. You can also pass in a Properties object with the
+      parameters set up (the parameters are discussed next).</para>
+
+      <para>The following shows the content of MyRules.properties:</para>
+
+      <programlisting>##
+## RuleAgent configuration file example
+##
+
+newInstance=true
+file=/foo/bar/boo.pkg /foo/bar/boo2.pkg
+dir=/my/dir
+url=http://some.url/here http://some.url/here
+localCacheDir=/foo/bar/cache
+poll=30
+
+
+name=MyConfig</programlisting>
+
+      <para>You can only have one type of key in each configuration (eg only
+      one "file", "dir" etc - even though you can specify multiple items by
+      space separating them). Note also, instead of a discrete properties
+      file, you can construct a java.utils.Properties object, and pass it in
+      to the RuleBase methods.</para>
+
+      <para>Referring to the above example, the "keys" in the properties
+      are:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>newInstance</para>
+
+          <para>Setting this to "true" means that the RuleBase instance will
+          be created fresh each time there is a change. this means you need to
+          do agent.getRuleBase() to get the new updated rulebase (any existing
+          ones in use will be untouched). The default is false, which means
+          rulebases are updated "in place" - ie you don't need to keep calling
+          getRuleBase() to make sure you have the latest rules (also any
+          StatefulSessions will be updated automatically with rule
+          changes).</para>
+        </listitem>
+
+        <listitem>
+          <para>file</para>
+
+          <para>This is a space-separated list of files - each file is a
+          binary package as exported by the BRMS. You can have one or many.
+          The name of the file is not important. Each package must be in its
+          own file.</para>
+
+          <para>NOTE: it is also possible to specify .drl files - and it will
+          compile it into the package. However, note that for this to work,
+          you will need the drools-compiler dependencies in your applications
+          classpath (as opposed to just the runtime dependencies).</para>
+
+          <para>Please note that if the path has a space in it, you will need
+          to put double quotes around it (as the space is used to separate
+          different items, and it will not work otherwise). Generally spaces
+          in a path name are best to avoid.</para>
+        </listitem>
+
+        <listitem>
+          <para>dir</para>
+
+          <para>This is similar to file, except that instead of specifying a
+          list of files you specify a directory, and it will pick up all the
+          files in there (each one is a package) and add them to the rulebase.
+          Each package must be in its own file.</para>
+
+          <para>Please note that if the path has a space in it, you will need
+          to put double quotes around it (as the space is used to separate
+          different items, and it will not work otherwise). Generally spaces
+          in a path name are best to avoid.</para>
+        </listitem>
+
+        <listitem>
+          <para>url</para>
+
+          <para>This is a space separated list of URLs to the BRMS which is
+          exposing the packages (see below for more details).</para>
+        </listitem>
+
+        <listitem>
+          <para>localCacheDir</para>
+
+          <para>This is used in conjunction with the url above, so that if the
+          BRMS is down (the url is not accessible) then if the runtime has to
+          start up, it can start up with the last known "good" versions of the
+          packages.</para>
+        </listitem>
+
+        <listitem>
+          <para>poll</para>
+
+          <para>This is set to the number of seconds to check for changes to
+          the resources (a timer is used).</para>
+        </listitem>
+
+        <listitem>
+          <para>name</para>
+
+          <para>This is used to specify the name of the agent which is used
+          when logging events (as typically you would have multiple agents in
+          a system).</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Following shows the deployment screen of the BRMS, which provides
+      URLs and downloads of packages.</para>
+
+      <figure>
+        <title>Snapshot deployment</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/SnapshotDeploy.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can see the "Package URI" - this is the URL that you would
+      copy and paste into the agent .properties file to specify that you want
+      this package. It specifies an exact version (in this case to a snapshot)
+      - each snapshot has its own URL. If you want the "latest" - then replace
+      "NewSnapshot" with "LATEST".</para>
+
+      <para>You can also download a .pkg file from here, which you can drop in
+      a directory and use the "file" or "dir" feature of the RuleAgent if
+      needed (in some cases people will not want to have the runtime
+      automatically contact the BRMS for updates - but that is generally the
+      easiest way for many people).</para>
+    </section>
+
+    <section>
+      <title>Drools execution server</title>
+
+      <para>The drools execution server (drools-server) module is a war which
+      you can deploy to execute knowledgebases (rulebases) remotely for any
+      sort of client application. This is not limited to JVM application
+      clients, but any technology that can use HTTP, and either XML or JSON.
+      Currently this execution server is for stateless sessions (which also
+      makes it easy to scale out).</para>
+
+      <para>A "restful" style of interface is provided, with URLs defining
+      what knowledgebase is being accessed. Client applications then execute
+      knowledgebases remotely via HTTP(S). The rule execution server uses the
+      rule agent described in the sections above.</para>
+
+      <section>
+        <title>Configuration and deployment</title>
+
+        <para>drools-server is a war file, which can be deployed in a
+        application server (such as JBoss AS). As the service is stateless, it
+        is possible to have have as many of these services deployed as you
+        need to serve the client load. The war file should be expanded to a
+        folder for deployment (which will be clear later) - so you can deploy
+        this as a folder called drools-server.war.</para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/running_execution_server.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+
+        <para>Once the war has been deployed, you should be able to go to
+        http://localhost:8080/drools-server and see a page like the above
+        (obviously substitute a correct server address). The page shown should
+        provide information on how to use it, and indicates that it is
+        healthy.</para>
+
+        <para>To configure a "knowledgebase" - you create a properties file
+        with a rule agent configuration in it (see the section above for
+        details on the options in the rule agent configuration). The name of
+        this properties file will be the name in the URL that you use to
+        access this servive. So lets take the example of
+        teamallocation.properties: an agent configuration for a service that
+        will allocated some piece of work to a team. teamallocation.properties
+        should contain details on what packages are to be loaded, and from
+        where.</para>
+
+        <para>Place teamallocation.properties in the WEB-INF/classes directory
+        in the war directory (and restart the server if needed). Importantly,
+        you will ALSO need any jar files that your rules need placed in the
+        WEB-INF/lib directory of each execution server instance (eg your
+        model, if you are using pojo models, or supporting classes if needed -
+        you may not need any). Typically if you are using the execution
+        server, your client code will not use a object model jar to talk to
+        the service so</para>
+
+        <para>Once this is done, the server is accessed via a url of the
+        pattern: http://your-server/drools-server/knowledgebase/{agent
+        configuration name}. So in the example above it would be:
+        <programlisting>http://your-server/drools-server/knowledgebase/teamallocation</programlisting>
+        You can see from this that you can have as many agents configured as
+        you like, perhaps for many concurrent versions of
+        knowledgebases.</para>
+      </section>
+
+      <section>
+        <title>Consuming the service</title>
+
+        <para>Consuming the service is quite simple, you need to choose to use
+        either XML or JSON. By default XML is used, but by setting the
+        Content-Type HTTP header to application/json, JSON will be used (JSON
+        can be more performant in some circumstances).</para>
+
+        <para>Client libraries: one of the nice things about a REST service is
+        that no special client libraries are required, regardless of the
+        langugae used. In java however, Apache commons "HttpClient" is
+        recommended as an easier API to use then the defaults. Only HTTP is
+        required (of course https can be used for secure transport if on an
+        untrusted network).</para>
+
+        <para>A sample request:</para>
+
+        <programlisting>&lt;knowledgebase-request&gt;
+  &lt;globals&gt;
+    &lt;named-fact&gt;
+      &lt;id&gt;myglobal&lt;/id&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;Saab&lt;/carType&gt;
+        &lt;carPrice&gt;42&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/named-fact&gt;
+  &lt;/globals&gt;
+  &lt;inOutFacts&gt;
+    &lt;named-fact&gt;
+      &lt;id&gt;myfact&lt;/id&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;BMW&lt;/carType&gt;
+        &lt;carPrice&gt;50&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/named-fact&gt;
+  &lt;/inOutFacts&gt;
+  &lt;inFacts&gt;
+    &lt;anon-fact&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;Audi&lt;/carType&gt;
+        &lt;carPrice&gt;55&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/anon-fact&gt;
+    &lt;anon-fact&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;Mercedes&lt;/carType&gt;
+        &lt;carPrice&gt;65&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/anon-fact&gt;
+  &lt;/inFacts&gt;
+&lt;/knowledgebase-request&gt;</programlisting>
+
+        <para>Elements of the request: note that there are 3 parts: globals,
+        inOutFacts and inFacts. Both globals and inOutFacts are returned in
+        the response message. Globals and inOutFacts are named (each name must
+        be unique) for this purpose (in the case of globals, the name of the
+        global is the name used in the rules). The "id" tag is used for the
+        name. Note that the "fact" tag refers to a fact as used by the
+        knowledgebase - the fields inside that enclosing tag are defined by
+        the fact class itself. If a fact class has a nested class, then the
+        data for that nested data would show up as &lt;nestedFactFieldName&gt;
+        - where nestedFactFieldName is the name of the field in the "parent"
+        class. Inside that tag are the tags with the values of the fields for
+        that nested data (the class name is not needed as that is derived from
+        the parent fact).</para>
+
+        <para>A sample response:</para>
+
+        <programlisting>&lt;knowledgebase-response&gt;
+  &lt;globals&gt;
+    &lt;named-fact&gt;
+      &lt;id&gt;myglobal&lt;/id&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;Saab&lt;/carType&gt;
+        &lt;carPrice&gt;42&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/named-fact&gt;
+  &lt;/globals&gt;
+  &lt;inOutFacts&gt;
+    &lt;named-fact&gt;
+      &lt;id&gt;myfact&lt;/id&gt;
+      &lt;fact class="org.drools.server.ExampleFact"&gt;
+        &lt;carType&gt;BMW&lt;/carType&gt;
+        &lt;carPrice&gt;50&lt;/carPrice&gt;
+      &lt;/fact&gt;
+    &lt;/named-fact&gt;
+  &lt;/inOutFacts&gt;
+&lt;/knowledgebase-response&gt;</programlisting>
+
+        <para>Elements of response: Similar to the request (note the enclosing
+        tags are different) - of course only the global and inOutFacts have
+        their state returned.</para>
+
+        <para>JSON: (Javascript Object Notation) follows the same basic object
+        graph layout as the requests above. Some notes: in JSON, @class is
+        used to indicate the type of the fact that the rules use. Also, in
+        javascript, associative arrays (maps) are indicated by "{" and "}",
+        and arrays via "[" and "]". In some cases, if there would be a list
+        (array) but only 1 element of data is present, then "[" will not be
+        shown. eg {"a" : "b"} can have the same meaning as [{"a" : "b"}] in
+        results.</para>
+
+        <para>A sample request:</para>
+
+        <programlisting>{"knowledgebase-request":
+{"globals":{"named-fact":{"id":"myglobal","fact":{"@class":"org.drools.server.ExampleFact","carType":"Saab","carPrice":42}}},
+"inOutFacts":{"named-fact":{"id":"myfact","fact":{"@class":"org.drools.server.ExampleFact","carType":"BMW","carPrice":50}}},
+"inFacts":{"anon-fact":[{"fact":{"@class":"org.drools.server.ExampleFact","carType":"Audi","carPrice":55}},{"fact":{"@class":"org.drools.server.ExampleFact","carType":"Mercedes","carPrice":65}}]}}}</programlisting>
+
+        <para>A sample response:</para>
+
+        <programlisting>{"knowledgebase-response":
+{"globals":{"named-fact":{"id":"myglobal","fact":{"@class":"org.drools.server.ExampleFact","carType":"Saab","carPrice":42}}},
+"inOutFacts":{"named-fact":{"id":"myfact","fact":{"@class":"org.drools.server.ExampleFact","carType":"BMW","carPrice":50}}}}}</programlisting>
+
+        <para>Following is an example code snippet showing how a knowledgebase
+        is accessed using JSON from Ruby:</para>
+
+        <programlisting>
+    require 'json'
+    http = Net::HTTP.new('localhost', 8080)
+    path = "/drools-server/knowledgebase/teamallocation"
+    post_data = {"knowledgebase-request" =&gt; {                     
+                  :globals =&gt; {"named-fact" =&gt; [{:id =&gt; "a", :fact =&gt; {"@class" =&gt; "teamallocation.Assignment"}}]},
+                  :inFacts =&gt; {"anon-fact" =&gt; [{:fact =&gt; {"@class" =&gt; "teamallocation.Claim", "value" =&gt; 150}}]},
+                  :inOutFacts =&gt; {"named-fact" =&gt; [{:id =&gt; "x", :fact =&gt; {"@class" =&gt; "teamallocation.Team", "specialty" =&gt; "FATAL"}},
+                                                   {:id =&gt; "y", :fact =&gt; {"@class" =&gt; "teamallocation.Team"}}]}
+                                            }                    
+                 }
+    headers = {
+      "Content-Type" =&gt; "application/json"
+    }
+    resp, data = http.post(path, post_data.to_json, headers)
+    
+    
+    answer = JSON.parse(data)
+    #digging out the results:
+    puts answer["knowledgebase-response"]["globals"]["named-fact"]["fact"]["teamName"]
+    #if there is more then one fact, they are a list
+    puts answer["knowledgebase-response"]["inOutFacts"]["named-fact"][0]["fact"]["specialty"]
+</programlisting>
+      </section>
+    </section>
+
+    <section>
+      <title>JMS, SOAP/WSDL integration</title>
+
+      <para>A stateless rule execution server may not be enough for your
+      needs. If you require WSDL+SOAP, JMS or other integration, JBoss ESB
+      (http://www.jboss.org/JBossESB/) can be used.</para>
+
+      <para>The esb can provide stateful and stateless rule services via
+      multiple transport mechanisms (such as http/soap, or JMS, and many many
+      more) as needed. Load balancing, failover, monitoring and more is also
+      provided. Refer to the ESB site (http://www.jboss.org/JBossESB/) for
+      more information on this (it will not be covered in this manual).</para>
+    </section>
+
+    <section>
+      <title>Manual deployment</title>
+
+      <para>This section is only needed for advanced users who are integrating
+      deployment into their own mechanism. Normally you should use the rule
+      agent.</para>
+
+      <para>For those who do not wish to use the automatic deployment of the
+      RuleAgent, "rolling your own" is quite simple. The binary packages
+      emitted by the BRMS are serialized Package objects. You can deserialize
+      them and add them into any rulebase - essentially that is all you need
+      to do.</para>
+
+      <para>From the BRMS, binary packages are provided either from the latest
+      version of a package (once you have successfully validated and built a
+      package) or from the deployment snapshots. The URLs that the BRMS web
+      application exposes provide the binary package via http. You can also
+      issue a "HEAD" command to get the last time a package was
+      updated.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>WebDAV and HTTP</title>
+
+    <para>The repository back end can also be accessed via webdav. WebDAV is a
+    http based file system API - which has clients on all platforms (some
+    operating systems such as windows can connect directly to WebDAV
+    repositories almost like a file system.</para>
+
+    <section>
+      <title>WebDAV</title>
+
+      <figure>
+        <title>Windows webdav</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Guvnor/WebDAVWindows.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>In windows the "web folders" feature can be used. On OSX - the
+      free cyberduck client can work well. To access the repository as webdav,
+      you the url is the same as the web interface, only with /webdav at the
+      end, instead of Guvnor.html. Authentication will be required to get
+      access this way. This will show a packages and snapshots directory - the
+      snapshots directory is read only (a view of created snapshots of
+      packages). The packages directory will contain a list of packages in the
+      repository, drilling in to them will show the individual assets as
+      files.</para>
+    </section>
+
+    <section>
+      <title>URLs</title>
+
+      <para>There are a few other URLs which are handy to know exist. The
+      package deployment URL mentioned in the section about rule agent
+      deployment also has a few other features: By appending .drl to the end
+      of a URL, you will show the generated DRL for that package. eg:
+      /package/testPDSGetPackage/LATEST.drl - will show the DRL (not the
+      binary package) for the latest package. Further to this, you can append
+      /assetName.drl - and it will show the generated DRL for that item. (even
+      if it isn't a drl file). eg
+      /package/testPDSGetPackage/LATEST/SomeFile.drl.</para>
+    </section>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/Chapter-Guvnor/Section-UserGuide.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/index.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/index.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/index.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <title>Drools</title>
+</head>
+<frameset cols="25%,*">
+ <frame src="bk01-toc.html" name="list">
+ <frame src="title.html" name="body">
+</frameset>
+</html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/index.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+  
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+
+  <info>
+    <title>Drools Guvnor</title>
+
+    <releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+    <author>
+      <firstname>Michael</firstname>
+      <surname>Neale</surname>
+    </author>
+
+    <author>
+      <firstname>Fernando</firstname>
+      <surname>Meyer</surname>
+    </author>
+  </info>
+
+<!--
+  <preface id="preface" revision="2">
+    <title>Preface</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="drools_logo.png" />
+      </imageobject>
+    </mediaobject>
+
+    <para />
+  </preface>
+-->
+ 
+    <xi:include href="Chapter-Guvnor/Chapter-Guvnor.xml" />
+
+  <index/>
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminAnalyst.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminAnalyst.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminCats.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminCats.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionEdit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionEdit.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissions.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissions.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionsList.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AdminPermissionsList.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Architecture.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Architecture.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ArchitectureDiagram.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ArchitectureDiagram.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ArchitectureDiagram.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS"
+   sodipodi:docname="ArchitectureDiagram.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="375"
+     inkscape:cy="495.6882"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1400"
+     inkscape:window-height="976"
+     inkscape:window-x="0"
+     inkscape:window-y="26" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.43637654px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1872"
+       width="189.84933"
+       height="79.849342"
+       x="142.74355"
+       y="216.07384"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white"
+       id="rect1874"
+       width="254.28572"
+       height="151.42857"
+       x="289.28571"
+       y="444.50504"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:1.41401446px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1878"
+       width="606.49902"
+       height="262.44315"
+       x="50.686401"
+       y="328.0585"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="206.62802"
+       y="257.22705"
+       id="text1880"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1882"
+         x="206.62802"
+         y="257.22705">Browser</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1884"
+       transform="translate(-30.42712,-111.2394)"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1886"><rect
+           id="rect1888"
+           width="170.71577"
+           height="67.680222"
+           x="90.913727"
+           y="452.33157" /></flowRegion><flowPara
+         id="flowPara1890">Application Server</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1876"
+       width="305.10703"
+       height="147.94675"
+       x="91.267052"
+       y="400.45898"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1893"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       transform="translate(24.28571,-13.57143)"><flowRegion
+         id="flowRegion1895"><rect
+           id="rect1897"
+           width="204.96304"
+           height="19.53953"
+           x="112.12693"
+           y="425.05746" /></flowRegion><flowPara
+         id="flowPara1899">BRMS application (drools-jbrms)</flowPara><flowPara
+         id="flowPara1923" /></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.29710922px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1901"
+       width="129.04004"
+       height="54.458462"
+       x="101.06883"
+       y="475.49356"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1903"
+       width="129.091"
+       height="37.366558"
+       x="101.06332"
+       y="441.93256"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="117.85715"
+       y="464.50504"
+       id="text1925"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1927"
+         x="117.85715"
+         y="464.50504">drools-repository</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1929"><flowRegion
+         id="flowRegion1931"><rect
+           id="rect1933"
+           width="49.285713"
+           height="12.142858"
+           x="133.57143"
+           y="476.64789" /></flowRegion><flowPara
+         id="flowPara1935">JCRJJCR</flowPara><flowPara
+         id="flowPara1937" /></flowRoot>    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="122.85715"
+       y="504.505"
+       id="text1939"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1941"
+         x="122.85715"
+         y="504.505">JCR (jackrabbit)</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1943"
+       width="129.091"
+       height="37.366558"
+       x="253.31165"
+       y="443.67892"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="265.54575"
+       y="467.81558"
+       id="text1945"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1947"
+         x="265.54575"
+         y="467.81558">drools-compiler...</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.62447476px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1949"
+       width="206.66412"
+       height="150.21814"
+       x="415.95364"
+       y="397.61023"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1961"><flowRegion
+         id="flowRegion1963"><rect
+           id="rect1965"
+           width="1.4285715"
+           height="45.714287"
+           x="560"
+           y="445.93362" /></flowRegion><flowPara
+         id="flowPara1967"></flowPara></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1981"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1983"><rect
+           id="rect1985"
+           width="114.28571"
+           height="60"
+           x="445"
+           y="423.79074" /></flowRegion><flowPara
+         id="flowPara1987">User applications (may be seperate app servers)</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1989"
+       width="129.091"
+       height="37.366558"
+       x="440.4545"
+       y="480.82175"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="448.62793"
+       y="507.81558"
+       id="text1991"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1993"
+         x="448.62793"
+         y="507.81558">drools-core</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1999"
+       width="305.10703"
+       height="147.94675"
+       x="51.017918"
+       y="603.38885"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="78.571434"
+       y="676.64789"
+       id="text2001"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan2003"
+         x="78.571434"
+         y="676.64789">Data store (file system, or existing RDBMS)</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.13249958px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,531.07489 L 221.42857,604.36376"
+       id="path2009"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 416.42857,467.36218 L 396.42857,467.36218"
+       id="path2013"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,295.93361 L 221.42857,325.93361"
+       id="path2015"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ArchitectureDiagram.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetChangeStatus.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetChangeStatus.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetEditor.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetVersionHistory.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/AssetVersionHistory.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/BRMSFeatures.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/BRMSFeatures.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatEdit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatEdit.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatZoom.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CatZoom.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CategoryExplorer.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/CategoryExplorer.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DRLRule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DRLRule.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DSLRule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DSLRule.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DecisionTable.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/DecisionTable.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Deployment1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Deployment1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumConfig.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumConfig.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumDropDown.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/EnumDropDown.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Features.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Features.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Function.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Function.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedComplex.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedComplex.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedDSL.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedDSL.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedEditor.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedLHSConstraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/GuidedLHSConstraints.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Intro1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Intro1.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseFieldType.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseFieldType.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseType.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelChooseType.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelEdit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/ModelEdit.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewMainScreen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewMainScreen.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewSnapshot.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewSnapshot.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/NewUI2.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageBuild.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageBuild.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageChangeStatus.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageChangeStatus.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageConfig.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageConfig.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageExplorer.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageExplorer.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageNewItemTooltip.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/PackageNewItemTooltip.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/QA.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/QA.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Scenarios.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Scenarios.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/SnapshotDeploy.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/SnapshotDeploy.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Snapshots.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Snapshots.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/TestScenarioEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/TestScenarioEditor.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Thumbs.db
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/Thumbs.db
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDAVWindows.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDAVWindows.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT-config.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT-config.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/WebDT.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/analysis.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/analysis.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/rule_guis.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/rule_guis.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/running_execution_server.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/Chapter-Guvnor/running_execution_server.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 
+    <modelVersion>4.0.0</modelVersion>
+ 
+  <parent>
+    <artifactId>drools-docs</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.0.0.SNAPSHOT</version>
+  </parent>  
+  
+    <artifactId>drools-docs-introduction</artifactId>
+    <packaging>jdocbook</packaging>
+    <name>Drools :: Documentation :: Drools :: Introduction</name>
+    <description>Introduction Documentation</description>
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Chapter-Install.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Chapter-Install.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Chapter-Install.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+      <title>Installation and Setup (Core and IDE)</title>
+
+      <xi:include href="Section-Install.xml" />
+
+      <xi:include href="Section-Setup.xml" />
+
+      <xi:include href="Section-Checkout.xml" />
+
+      <xi:include href="Section-Maven_build.xml" />
+
+      <xi:include href="Section-Eclipse.xml" />
+</chapter> 
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Chapter-Install.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Checkout.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Checkout.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Checkout.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Source Checkout</title>
+
+  <para>Drools is available from two <indexterm>
+      <primary>subversion</primary>
+    </indexterm>Subversion repositories.</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>Anonymous SVN</para>
+
+      <para>http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/</para>
+    </listitem>
+
+    <listitem>
+      <para>Developers secured SVN</para>
+
+      <para>https://svn.labs.jboss.com/labs/jbossrules/trunk/</para>
+    </listitem>
+  </itemizedlist>
+
+To checkout Drools source code just execute the following command.
+
+<programlisting>fmeyer:~/jboss $ svn checkout http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/ jbossrules</programlisting>
+
+And wait to complete the files download.
+
+<programlisting>A    jbossrules/drools-repository
+A    jbossrules/drools-repository/.classpath
+A    jbossrules/drools-repository/.project
+A    jbossrules/drools-repository/doc
+A    jbossrules/drools-repository/doc/repository_layout.jpeg
+A    jbossrules/drools-repository/doc/high_level_design.jpeg
+A    jbossrules/drools-repository/doc/javadoc
+A    jbossrules/drools-repository/doc/javadoc/serialized-form.html
+A    jbossrules/drools-repository/doc/javadoc/index-all.html
+A    jbossrules/drools-repository/doc/javadoc/stylesheet.css
+A    jbossrules/drools-repository/doc/javadoc/allclasses-frame.html
+A    jbossrules/drools-repository/doc/javadoc/package-list
+A    jbossrules/drools-repository/doc/javadoc/overview-tree.html
+A    jbossrules/drools-repository/doc/javadoc/org
+A    jbossrules/drools-repository/doc/javadoc/org/drools
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository/class-use
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository/class-use/RuleSet.html
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository/class-use/RulesRepositoryException.html
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository/class-use/RulesRepository.html
+A    jbossrules/drools-repository/doc/javadoc/org/drools/repository/RuleSet.html
+
+....
+
+snip 
+
+....
+
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz/waltz.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners/manners.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb/waltzdb.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rfm
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rf
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/calculate.rf
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rfm
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rfm
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/registerNeighbor.rf
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/killAll.rf
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/generation.rfm
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingSalience.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/golf.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/LogicalAssertionsNotPingPong.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleDynamicRule.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/sudoku
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/sudoku/sudoku.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HelloWorld.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ExamplePolicyPricing.xls
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HonestPolitician.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/Fibonacci.drl
+A    jbossrules/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingAgendGroup.drl
+A    jbossrules/drools-examples/drools-examples-drl/pom.xml
+A    jbossrules/drools-examples/drools-examples-drl/build.xml
+ U   jbossrules
+Checked out revision 13656.</programlisting>
+
+
+
+  <para>Although, we highly recommend command line tools to work with repository you can also use both Eclipse's integrated SVN client or TortoiseSVN</para> 
+
+  <para>Setup TortoiseSVN to checkout from the subversion repository and click
+  <literal>'OK'</literal> Once the checkout has finished you should see the
+  folders as shown below.</para>
+
+  <screenshot>
+    <screeninfo>Setup TortoiseSVN checkout</screeninfo>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Install/svn_checkout1.jpg" />
+      </imageobject>
+    </mediaobject>
+  </screenshot>
+
+  <screenshot>
+    <screeninfo>Finished Checkout</screeninfo>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Install/svn_checkout2.jpg" />
+      </imageobject>
+    </mediaobject>
+  </screenshot>
+
+  <screenshot>
+    <screeninfo>Checked out directories</screeninfo>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="images/Chapter-Install/svn_checkout3.jpg" />
+      </imageobject>
+    </mediaobject>
+  </screenshot>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Checkout.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Eclipse.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Eclipse.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Eclipse.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Eclipse</title>
+
+  <section>
+    <title>Generating Eclipse Projects</title>
+
+    <para>The Drools project has Eclipse projects checked in for convenience.
+    However, these are originally generated by maven 2. If you have maven 2
+    installed, you can also regenerate the Eclipse projects automatically, or
+    even generate it for IntelliJ etc, see the instructions below for this
+    (most people can ignore this section)</para>
+
+    <para><indexterm>
+        <primary>maven</primary>
+      </indexterm>Maven is able to generate standard <indexterm>
+        <primary>Eclipse</primary>
+      </indexterm>Eclipse projects, but it is not able to generate Eclipse
+    plug-in projects. To generate the Eclipse projects for drools-core,
+    drools-compiler and drools-jsr94 type <literal>'mvn
+    Eclipse:Eclipse'</literal>.</para>
+
+    <screenshot>
+      <screeninfo>Start Maven Eclipse project generation</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/mvn_eclipse1.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Finished Maven Eclipse project generation</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/mvn_eclipse2.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+  </section>
+
+  <section>
+    <title>Importing Eclipse Projects</title>
+
+    <para>With the <indexterm>
+        <primary>Eclipse</primary>
+      </indexterm>Eclispe project files generated they can now be imported
+    into Eclipse. When starting Eclipse open the workspace in the root of your
+    subversion checkout.</para>
+
+    <screenshot>
+      <screeninfo>Open Eclipse Workspace</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import1.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Select Import</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import2.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Import Existing Projects</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import3.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Select all ticked projects</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import4.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>When calling <literal>'mvn install'</literal> all the project
+    dependencies were downloaded and added to the local Maven repository.
+    Eclipse cannot find those dependencies unless you tell it where that
+    repository is. To do this setup an M2_REPO classpath variable.</para>
+
+    <screenshot>
+      <screeninfo>Open the Preferences dialogue window</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import6.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Select New Classpath Variable</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import7.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Set the M2_REPO location</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import8.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>M2_REPO is now set</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_import9.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+  </section>
+
+  <section>
+    <title>Exporting the IDE plug-in</title>
+
+    <para>The drools-ide project was checked out out using subversion and is
+    ready for exporting.</para>
+
+    <screenshot>
+      <screeninfo>Select Export on the drools-ide project</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin1.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Select Deployable plug-ins and fragments</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin2.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Only select org.drools.ide</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin3.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Wait while the plug-in is built and exported</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin4.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>Once the plug-in has been built open the output directory and copy
+    the jar to the Eclipse plug-in directory.</para>
+
+    <screenshot>
+      <screeninfo>Open the directory with the build jar</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin5.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Copy the jar to the Eclipse plug-in directory</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin6.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>At this point if Eclipse is already open it will need to be
+    restarted. At which point you show now see the new Drools menu icon and
+    drl's should have icons and be provided with syntax highlighting and
+    intellisense.</para>
+
+    <screenshot>
+      <screeninfo>The new Drools menu icon</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin7.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <screenshot>
+      <screeninfo>Drls with icons and syntax highlighting</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/eclipse_plugin8.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+  </section>
+
+  <section>
+    <title>Building the update site</title>
+
+    <para>There is also an update site for the plug-in. For developers who
+    want to update the update site (ha) you will need to get to the update
+    site project (or create a new one). They are kept in SVN, but in
+    /jbossrules/update instead of /trunk. They are plain vanilla Eclipse
+    feature and site projects.</para>
+
+    <para>PLEASE REMEMBER that the plug-in in the downloads directory, as a
+    zip, should also be updated at the same time as the update site (as they
+    are alternative ways ot getting the same plug-in).</para>
+
+    <para>Eclipse refreshing plug-ins in features and sites seems to not work,
+    so what is best is to manually edit the site.xml project and the
+    feature.xml. To do this, open the site.xml file in the drools-ide-update
+    project, it should look something like this: <programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;site&gt;
+   &lt;!-- change both the jar and the version number, make sure the new features jar is named
+        the same as what you put in --&gt;
+   &lt;feature url="features/org.drools.ide_1.0.2.jar" id="org.drools.ide" version="1.0.2"&gt;
+  &lt;category name="JBossRules"/&gt;
+   &lt;/feature&gt;
+   &lt;category-def name="JBossRules" label="JBoss Rules"/&gt;
+&lt;/site&gt;
+</programlisting> Change the version attribute to be something new, and also
+    the name of the feature jar to have a new version number at the
+    end.</para>
+
+    <para>Go into the /feature directory, and unzip the feature jar to get to
+    the feature.xml. (the feature jar really just contains the feature.xml).
+    Open the feature.xml, and it should look like: <programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;feature
+  id="org.drools.ide"
+  label="Drools Rule Workbench"
+  version="1.0.2"&gt; &lt;!-- UPDATE THIS !! --&gt;
+
+   &lt;description&gt;
+  JBoss Rules (Drools) Workbench for developers.
+   &lt;/description&gt;
+
+   &lt;copyright&gt;
+  Copyright 2005 JBoss Inc
+   &lt;/copyright&gt;
+
+   &lt;license&gt;
+  Licensed under the Apache License, Version 2.0(the &amp;quot;License&amp;quot;);
+ 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 &amp;quot;AS IS&amp;quot; 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.
+   &lt;/license&gt;
+
+   &lt;plug-in
+ id="org.drools.ide"
+ download-size="0"
+ install-size="0"
+ version="1.0.0"/&gt; &lt;!-- THIS JUST HAS TO BE CONSISTENT WITH THE plug-in --&gt;
+
+&lt;/feature&gt;
+</programlisting> Change the version number in the FEATURE tag to be the same
+    as what you referred to in the site.xml. If you changed the version number
+    of the main plug-in, you will need to put the version number in the plug
+    in tag (which refers to org.drools.ide plug-in). Then zip up the
+    feature.xml into a jar with the same name as you referred to in the
+    site.xml.</para>
+
+    <para>Finally, drop the plug-in jar into the /plugins jar directory of the
+    update site (get the actual plug-in from the exported plug-in in the
+    previous step). Now you can upload the site as is, and it will show up as
+    a new version for Eclipse clients.</para>
+  </section>
+  
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Eclipse.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Install.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Install.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Install.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Installing and using</title>
+
+  <para>Drools provides an Eclipse-based IDE (which is optional), but at its
+  core only Java 1.4 (J2SE) is required.</para>
+
+  <para>A simple way to get started is to download and install the Eclipse
+  plug-in - this will also require the Eclipse GEF framework to be installed
+  (see below, if you don't have it installed already). This will provide you
+  with all the dependencies you need to get going: you can simply create a new
+  rule project and everything will be done for you. Refer to the chapter on
+  the Rule Workbench and IDE for detailed instructions on this. Installing the
+  Eclipse plug-in is generally as simple as unzipping a file into your Eclipse
+  plug-in directory.</para>
+
+  <para>Use of the Eclipse plug-in is not required. Rule files are just
+  textual input (or spreadsheets as the case may be) and the IDE (also known
+  as the Rule Workbench) is just a convenience. People have integrated the
+  rule engine in many ways, there is no "one size fits all".</para>
+
+  <para>Alternatively, you can download the binary distribution, and include
+  the relevant jars in your projects classpath.</para>
+
+  <para></para>
+
+  <section>
+    <title>Dependencies and jars</title>
+
+    <para>Drools is broken down into a few modules, some are required during
+    rule development/compiling, and some are required at runtime. In many
+    cases, people will simply want to include all the dependencies at runtime,
+    and this is fine. It allows you to have the most flexibility. However,
+    some may prefer to have their "runtime" stripped down to the bare minimum,
+    as they will be deploying rules in binary form - this is also possible.
+    The core runtime engine can be quite compact, and only require a few 100
+    kilobytes across 2 jar files.</para>
+
+    <para>The following is a description of the important libraries that make
+    up JBoss Rules</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>drools-core.jar - this is the core engine, runtime component.
+        Contains both the RETE engine and the LEAPS engine. This is the only
+        runtime dependency if you are pre-compiling rules (and deploying via
+        Package or RuleBase objects).</para>
+      </listitem>
+
+      <listitem>
+        <para>drools-compiler.jar - this contains the compiler/builder
+        components to take rule source, and build executable rule bases. This
+        is often a runtime dependency of your application, but it need not be
+        if you are pre-compiling your rules. This depends on
+        drools-core</para>
+      </listitem>
+
+      <listitem>
+        <para>drools-jsr94.jar - this is the JSR-94 compliant implementation,
+        this is essentially a layer over the drools-compiler component. Note
+        that due to the nature of the JSR-94 specification, not all features
+        are easily exposed via this interface. In some cases, it will be
+        easier to go direct to the Drools API, but in some environments the
+        JSR-94 is mandated.</para>
+      </listitem>
+
+      <listitem>
+        <para>drools-decisiontables.jar - this is the decision tables
+        'compiler' component, which uses the drools-compiler component. This
+        supports both excel and CSV input formats.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>There are quite a few other dependencies which the above components
+    require, most of which are for the drools-compiler, drools-jsr94 or
+    drools-decisiontables module. Some of these (such as the XML libraries)
+    may not be required if you run in a Java 1.5 environment. Some key ones to
+    note are "JCI" - which is the apache Java Compiler Interface utility which
+    provides runtime compiling capability, "POI" which provides the
+    spreadsheet parsing ability, and "antlr" which provides the parsing for
+    the rule language itself.</para>
+
+    <para>NOTE: if you are using Drools in J2EE or servlet containers and you
+    come across classpath issues with "JDT", then you can switch to the janino
+    compiler. Set the system property "drools.compiler": For example:
+    -Ddrools.compiler=JANINO.</para>
+
+    <para>For up to date info on dependencies in a release, consult the
+    README_DEPENDENCIES.txt file, which can be found in the lib directory of
+    the download bundle, or in the root of the project directory.</para>
+  </section>
+
+  <section>
+    <title>Runtime</title>
+
+    <para>The "runtime" requirements mentioned here are if you are deploying
+    rules as their binary form (either as Package objects, or RuleBase objects
+    etc). This is an optional feature that allows you to keep your runtime
+    very light. You may use drools-compiler to produce rule packages "out of
+    process", and then deploy them to a runtime system. This runtime system
+    only requires drools-core.jar for execution. This is an optional
+    deployment pattern, and many people do not need to "trim" their
+    application this much, but it is an ideal option for certain
+    environments.</para>
+  </section>
+
+  <section>
+    <title>Installing IDE (Rule Workbench)</title>
+
+    <para>The rule workbench (for Eclipse) requires that you have Eclipse 3.2
+    or greater, as well as Eclipse GEF 3.2 or greater. You can install it
+    either by downloading the plug-in or, or using the update site.</para>
+
+    <para>Another option is to use the JBoss IDE, which comes with all the
+    plug-in requirements pre packaged, as well as a choice of other tools
+    separate to rules. You can choose just to install rules from the "bundle"
+    that JBoss IDE ships with.</para>
+
+    <section>
+      <title>Installing GEF (a required dependency)</title>
+
+      <para>GEF is the Eclipse Graphical Editing Framework, which is used for
+      graph viewing components in the plug-in.</para>
+
+      <para>If you don't have GEF installed, you can install it using the
+      built in update mechanism (or downloading GEF from the Eclipse.org
+      website not recommended). JBoss IDE has GEF already, as do many other "distributions" of
+      Eclipse, so this step may be redundant for some people.</para>
+
+      <para>First you open the Help-&gt;Software updates-&gt;Find and install
+      from the help menu. Then you choose the Calisto update site:</para>
+
+	  <para>If you aren't using Calisto you can use the following update site do download GEF</para>
+	  <programlisting>http://europa-mirror1.Eclipse.org/tools/gef/update-site/releases/</programlisting>
+	
+      <screenshot>
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Install/gef_update.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+
+      <para>Next you choose the GEF plug-in:</para>
+
+      <screenshot>
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Install/install_gef.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+
+      <para>Press next, and agree to install the plug-in (an Eclipse restart
+      may be required). Once this is completed, then you can continue on
+      installing the rules plug-in.</para>
+    </section>
+
+    <section>
+      <title>Installing from zip file</title>
+
+      <para>To install from the zip file, download and unzip the file. Inside
+      the zip you will see a plug-in directory, and the plug-in jar itself. You
+      place the plug-in jar into your Eclipse applications plug-in directory,
+      and restart Eclipse.</para>
+    </section>
+
+    <section>
+      <title>Installing from the update site</title>
+
+      <para>Using the update site is a handy way to install the plug-in, and
+      keep it up to date (the Eclipse platform will check for updates as
+      needed). It gives you a good chance of staying up to date with
+      improvements, fixes etc.</para>
+
+      <para>Some firewalls may cause trouble with using update sites in
+      Eclipse, if you have issues, then install it manually from the plug-in.
+      Also, if you have previously installed the plug-in manually, you will
+      need to manually remove it from your plug-in directory.</para>
+
+      <para>Step 1. Use the Eclipse help menu to find the feature installer.
+      <screenshot>
+          <screeninfo>Access the software updates menu</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/help_menu.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 2: Choose the option for installing a new feature (obviously
+      in future, if you want to check for updates, you use the other option
+      !). <screenshot>
+          <screeninfo>Search for new features</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/search_new_features.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 3: This screen will show what update sites are already
+      configured for your Eclipse instance. <screenshot>
+          <screeninfo>Update sites</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/update_sites_existing.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 4: This screen is where you enter in the remote site details.
+      You give it a name eg "JBoss Drools" and the url. <programlisting> Check the Drools IDE Update Site section of the Drools Downloads webpage: 
+				http://labs.jboss.com/drools/downloads.html</programlisting>
+      <screenshot>
+          <screeninfo>New remote site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/new_remote_site.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 5: Select the new update site you just added. Eclipse will
+      remember this for when it checks for updates automatically in the
+      future. <screenshot>
+          <screeninfo>Choose the newly added update site</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/update_sites.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 6: You should see the available features (Drools IDE)
+      retrieved from the update site. <screenshot>
+          <screeninfo>Available features</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/search_results.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 7: The license agreement. Choose the option to accept the
+      license agreement. Once this happens, the workbench will start
+      downloading. Might be an opportune time to go have a coffee. <screenshot>
+          <screeninfo>License</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/licence.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 8: Confirm that this is the feature you want. <screenshot>
+          <screeninfo>Confirmation</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/confirm.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 9: Press Accept to accept the fact that the feature is not
+      digitally signed. No one signs their features, its a silly default
+      screen in Eclipse. <screenshot>
+          <screeninfo>Verify</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/digital_sign.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Step 10: The workbench will need to restart now for the feature to
+      take effect. <screenshot>
+          <screeninfo>Restart the workbench</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/Chapter-Install/restart.png" />
+            </imageobject>
+          </mediaobject>
+        </screenshot></para>
+
+      <para>Now go have another coffee, and then take a look at the chapter on
+      the Rule Workbench for what you can do with it.</para>
+    </section>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Install.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Maven_build.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Maven_build.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Maven_build.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Build</title>
+
+  <section>
+    <title>Building the Source</title>
+
+    <para>Now that we have the source the next step is to build and install
+    the source. Since version 3.1 Drools uses <indexterm><primary>Maven 2</primary></indexterm> to build the system. There are two profiles
+    available which enable the associated modules "documentation" and
+    "Eclipse"; this enables quicker building of the core modules for
+    developers. The Eclipse profile will download Eclipse into the
+    drools-Eclipse folder, which is over 100MB download (It depends on your operating system), however this only
+    needs to be done once; if you wish you can move that Eclipse download into
+    another location and specify it with
+    -DlocalEclipseDrop=/folder/jboss-rules/local-Eclipse-drop-mirror. The
+    following builds all the jars, the documentation and the Eclipse zip with
+    a local folder specified to avoid downloading Eclipse:</para>
+
+    <para><programlisting>mvn -Declipse -Ddocumentation clean install -DlocalEclipseDrop=/folder/jboss-rules/local-Eclipse-drop-mirror </programlisting></para>
+
+    <para>You can produce distribution builds, which puts everything into
+    zips, as follows:
+<programlisting>mvn -Declipse -Ddocumentation clean install -DlocalEclipseDrop=/folder/jboss-rules/local-Eclipse-drop-mirror
+mvn -Ddocumentation -Declipse -Dmaven.test.skip package javadoc:javadoc assembly:assembly -DlocalEclipseDrop=/folder/jboss-rules/local-Eclipse-drop-mirror
+</programlisting></para>
+
+    <para>Note that install must be done first as javadoc:javadoc won't work
+    unless the jars are in the local maven repo, but the tests can be skipped
+    on the second run. assembly:assembly fails unless you increase the
+    available memory to Maven, on windows the following command worked well:
+    set MAVEN_OPTS=-Xmx512m</para>
+
+    <para>Type mvn clean to clear old artifacts, and then test and built the
+    source, and report on any errors.</para>
+
+    <para>The resulting jars are put in the /target directory from the top
+    level of the project.</para>
+
+    <para>As maven builds each module it will install the resulting jars in
+    the local Maven 2 repository automatically. Where it can be easily used
+    from other project <literal>pom.xml</literal> or copied else where.</para>
+
+    <screenshot>
+      <screeninfo>Installed Drools Jars</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/mvn_install4.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+  </section>
+
+  <section>
+    <title>Building the Manual</title>
+
+	<para>
+		The building of the manual is now integrated into the maven build process, and is built by either using the profile (-Ddocumentation) switch or 
+		cding into the main directory. The manual can still be built from ant command line too by cding into the documentation/manual itself.
+	</para>
+
+    <para>Drools uses <indexterm>
+        <primary>docbook</primary>
+      </indexterm>Docbook for this manual. Ant is used internally in maven to build documents and this build produces three different formats, 
+      all sharing the same images directory.</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>html_single</para>
+
+        <para>The entire manual in a single html document</para>
+      </listitem>
+
+      <listitem>
+        <para><indexterm>
+            <primary>html</primary>
+          </indexterm>html</para>
+
+        <para>The manual is split into multiple documents and placed in a
+        frameset. The left frame provides navigation</para>
+      </listitem>
+
+      <listitem>
+        <para>Eclipse</para>
+
+        <para>Documentation suitable for including in an Eclipse plug-in</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>The manual can be generated from the project pom.xml by
+    calling <literal>'mvn package'</literal> in the documentation directory or adding the -Ddocumentation switch when you build the sources, 
+	with the generated documentation being copied to <literal>'target/</literal>. What actually happens is that maven
+    call a separate ant build.xml for the manual, located at
+    <literal>documentation/manual</literal>; the documentation is generated
+    into <literal>documentation/manual/build</literal> before being copied to
+    <literal>'target/'.</literal>
+
+    <programlisting>fmeyer:~/projects/jbossrules/documentation $ mvn clean package
+[INFO] Scanning for projects...
+[INFO] ----------------------------------------------------------------------------
+[INFO] Building Drools :: Documentation
+[INFO]    task-segment: [install]
+[INFO] ----------------------------------------------------------------------------
+[INFO] [antrun:run {execution: manual}]
+[INFO] Executing tasks
+ [delete] Deleting directory /Users/fernandomeyer/projects/jbossrules/documentation/manual/build
+
+clean:
+
+all.doc:
+
+lang.all:
+
+lang.misc:
+   [copy] Copying 188 files to /Users/fernandomeyer/projects/jbossrules/documentation/manual/build/en/shared/images
+   [copy] Copying 1 file to /Users/fernandomeyer/projects/jbossrules/documentation/manual/build/en/shared/css
+
+lang.dochtml:
+  [mkdir] Created dir: /Users/fernandomeyer/projects/jbossrules/documentation/manual/build/en/html
+   [copy] Copying 1 file to /Users/fernandomeyer/projects/jbossrules/documentation/manual/build/en/html
+   [java] Writing bk01-toc.html for book
+   [java] Writing pr01.html for preface(preface)
+   [java] Writing ch01s02.html for section
+   [java] Writing ch01s03.html for section
+   [java] Writing ch01s04.html for section
+   [java] Writing ch01s05.html for section
+   [java] Writing ch01s06.html for section
+   [java] Writing ch01.html for chapter
+   [java] Writing ch02s02.html for section
+   [java] Writing ch02s03.html for section
+   [java] Writing ch02s04.html for section
+   [java] Writing ch02s05.html for section
+   [java] Writing ch02.html for chapter
+   [java] Writing ch03s02.html for section
+   [java] Writing ch03s03.html for section
+   [java] Writing ch03s04.html for section
+   [java] Writing ch03s05.html for section
+   [java] Writing ch03s06.html for section
+   [java] Writing ch03s07.html for section
+   [java] Writing ch03s08.html for section
+   [java] Writing ch03s09.html for section
+   [java] Writing ch03.html for chapter
+   [java] Writing ch04.html for chapter
+   [java] Writing ch05.html for chapter
+   [java] Writing ch06s02.html for section
+   [java] Writing ch06s03.html for section
+   [java] Writing ch06s04.html for section
+   [java] Writing ch06s05.html for section
+   [java] Writing ch06.html for chapter
+   [java] Writing ch07s02.html for section
+   [java] Writing ch07s03.html for section
+   [java] Writing ch07.html for chapter
+   [java] Writing ch08.html for chapter
+   [java] Writing ch09.html for chapter
+   [java] Writing ch10s02.html for section
+   [java] Writing ch10.html for chapter
+   [java] Writing ch11.html for chapter
+   [java] Writing pt01.html for part
+   [java] Writing ix01.html for index
+   [java] Writing title.html for book
+
+...snip ...
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 51 seconds
+[INFO] Finished at: Mon Jul 21 12:03:38 BRT 2007
+[INFO] Final Memory: 5M/10M
+[INFO] ------------------------------------------------------------------------&gt;</programlisting>
+    </para>
+    <para>The generated manual can be found in the
+    <literal>target\drools-documentation$VERSION.jar'</literal> file, a compressed archive with all formats.</para>
+
+    <screenshot>
+      <screeninfo>Generated documentation</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/manual4.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+
+    <para>The manual was first generated into the manual's
+    <literal>build</literal> directory, as shown below, before being copied
+    across.</para>
+
+    <screenshot>
+      <screeninfo>Generated documentation</screeninfo>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Install/manual3.jpg" />
+        </imageobject>
+      </mediaobject>
+    </screenshot>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Maven_build.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Setup.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Setup.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Setup.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Setup from source</title>
+
+  <para>As Drools is an open source project, instructions for building from
+  source are part of the manual ! Building from source means you can stay on
+  top with the latest features. Whilst aspects of Drools are quite
+  complicated, many users have found ways to become contributors.</para>
+
+  <para>Drools works with JDK1.5 and above. you will need also need to have
+  the following tools installed. Minimum requirement version numbers
+  provided.</para>
+
+  <itemizedlist>
+    <listitem>
+      <para><indexterm>
+          <primary>eclipse</primary>
+        </indexterm>Eclipse 3.2 </para>
+
+      <para>http://www.eclipse.org/</para>
+    </listitem>
+
+    <listitem>
+      <para><indexterm>
+          <primary>subversion</primary>
+        </indexterm>Subversion Client 1.3</para>
+
+      <para>http://subversion.tigris.org</para>
+
+      <para><indexterm>
+          <primary>TortoiseSVN</primary>
+        </indexterm>http://tortoisesvn.tigris.org - recommended win32
+      client</para>
+    </listitem>
+
+    <listitem>
+      <para><indexterm>
+          <primary>maven</primary>
+        </indexterm>Maven 2.0.7</para>
+
+      <para>http://maven.apache.org/</para>
+    </listitem>
+
+
+    <listitem>
+      <para><indexterm>
+          <primary>ant</primary>
+        </indexterm>Ant 1.7.0</para>
+      <para>http://ant.apache.org</para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>Ensure the executables for ant, maven and java are in your <indexterm>
+      <primary>path</primary>
+    </indexterm>path. The examples given illustrative and are for a win32
+  system:</para>
+
+  <literallayout>Path=D:\java\j2sdk1.5.0_8\bin;D:\java\apache-ant-1.7\bin;D:\java\maven-2.0.7\bin</literallayout>
+
+  <para>Following environment variables will also need to be set. The examples
+  given illustrative and are for a win32 system::</para>
+
+  <literallayout>JAVA_HOME=D:\java\j2sdk1.5.0_8
+ANT_HOME=D:\java\apache-ant-1.6.5
+MAVEN_HOME=D:\java\maven-2.0.7
+
+</literallayout>
+	<para>
+		Past releases used to have an ant based build mechanism, but now maven is mandatory, although Ant is used internally in maven for document building proposes
+	</para>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Install/Section-Setup.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Chapter-ReleaseNotes.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Chapter-ReleaseNotes.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Chapter-ReleaseNotes.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+      <title>Drools 4.0 Release Notes</title>
+
+      <xi:include href="Section-What_is_new.xml" />
+
+      <xi:include href="Section-Upgrade_tips.xml" />
+    </chapter>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Chapter-ReleaseNotes.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-Upgrade_tips.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-Upgrade_tips.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-Upgrade_tips.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Upgrade tips from Drools 3.0.x to Drools 4.0.x</title>
+
+  <para>As mentioned before Drools 4.0 is a major update over the previous
+  Drools 3.0.x series. Unfortunately, in order to achieve the goals set for
+  this release, some backward compatibility issues were introduced, as
+  discussed in the mail list and blogs.</para>
+
+  <para>This section of the manual is a work in progress and will document a
+  simple how-to on upgrading from Drools 3.0.x to Drools 4.0.x.</para>
+
+  <section>
+    <title>API changes</title>
+
+    <para>There are a few API changes that are visible to regular users and
+    need to be fixed.</para>
+
+    <section>
+      <title>Working Memory creation</title>
+
+      <para>Drools 3.0.x had only one working memory type that worked like a
+      stateful working memory. Drools 4.0.x introduces separate APIs for
+      Stateful and Stateless working memories that are called now Rule
+      Sessions. In Drools 3.0.x, the code to create a working memory
+      was:</para>
+
+      <para><example>
+          <title>Drools 3.0.x: Working Memory Creation</title>
+
+          <programlisting>WorkingMemory wm = rulebase.newWorkingMemory();</programlisting>
+        </example>In Drools 4.0.x it must be changed to:</para>
+
+      <para><example>
+          <title>Drools 4.0.x: Stateful Rule Session Creation</title>
+
+          <programlisting>StatefulSession wm = rulebase.newStatefulSession();</programlisting>
+        </example>The StatefulSession object has the same behavior as the
+      Drools 3.0.x WorkingMemory (it even extends the WorkingMemory
+      interface), so there should be no other problems with this fix.</para>
+    </section>
+
+    <section>
+      <title>Working Memory Actions</title>
+
+      <para>Drools 4.0.x now supports pluggable dialects and has built-in
+      support for Java and MVEL scripting language. In order to avoid keyword
+      conflicts, the working memory actions were renamed as showed
+      bellow:</para>
+
+      <para></para>
+
+      <table>
+        <title>Working Memory Actions equivalent API methods</title>
+
+        <tgroup cols="2">
+          <tbody>
+            <row>
+              <entry><emphasis role="bold">Drools 3.0.x</emphasis></entry>
+
+              <entry><emphasis role="bold">Drools 4.0.x</emphasis></entry>
+            </row>
+
+            <row>
+              <entry>WorkingMemory.assertObject()</entry>
+
+              <entry>WorkingMemory.insert()</entry>
+            </row>
+
+            <row>
+              <entry>WorkingMemory.assertLogicalObject()</entry>
+
+              <entry>WorkingMemory.insertLogical()</entry>
+            </row>
+
+            <row>
+              <entry>WorkingMemory.modifyObject()</entry>
+
+              <entry>WorkingMemory.update()</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+    </section>
+  </section>
+
+  <section>
+    <title>Rule Language Changes</title>
+
+    <para>The DRL Rule Language also has some backward incompatible changes as
+    detailed bellow.</para>
+
+    <section>
+      <title>Working Memory Actions</title>
+
+      <para>The Working Memory actions in rule consequences were also changed
+      in a similar way to the change made in the API. The following table
+      summarizes the change:</para>
+
+      <table>
+        <title>Working Memory Actions equivalent DRL commands</title>
+
+        <tgroup cols="2">
+          <tbody>
+            <row>
+              <entry><emphasis role="bold">Drools 3.0.x</emphasis></entry>
+
+              <entry><emphasis role="bold">Drools 4.0.x</emphasis></entry>
+            </row>
+
+            <row>
+              <entry>assert()</entry>
+
+              <entry>insert()</entry>
+            </row>
+
+            <row>
+              <entry>assertLogical()</entry>
+
+              <entry>insertLogical()</entry>
+            </row>
+
+            <row>
+              <entry>modify()</entry>
+
+              <entry>update()</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+    </section>
+
+    <section>
+      <title>Primitive support and unboxing</title>
+
+      <para>Drools 3.0.x did not had native support for primitive types and
+      consequently, it auto-boxed all primitives in it's respective wrapper
+      classes. That way, any use of a boxed variable binding required a manual
+      unbox.</para>
+
+      <para>Drools 4.0.x has full support for primitive types and does not
+      wrap values anymore. So, all previous unwrap method calls must be
+      removed from the DRL.</para>
+
+      <example>
+        <title>Drools 3.0.x manual unwrap</title>
+
+        <programlisting>rule "Primitive int manual unbox"
+when
+    $c : Cheese( $price : price )
+then
+    $c.setPrice( $price<emphasis role="bold">.intValue()</emphasis> * 2 )
+end
+</programlisting>
+      </example>
+
+      <para>The above rule in 4.0.x would be:</para>
+
+      <example>
+        <title>Drools 4.0.x primitive support</title>
+
+        <programlisting>rule "Primitive support"
+when
+    $c : Cheese( $price : price )
+then
+    $c.setPrice( $price * 2 )
+end
+</programlisting>
+      </example>
+    </section>
+  </section>
+
+  <section>
+    <title>Drools Update Tool</title>
+
+    <para>The Drools Update tools is a simple program to help with the upgrade
+    of DRL files from Drools 3.0.x to Drools 4.0.x.</para>
+
+    <para>At this point, its main objective is to upgrade the memory action
+    calls from 3.0.x to 4.0.x, but expect it to grow over the next few weeks
+    covering additional scenarios. It is important to note that it does not
+    make a dumb text search and replace in rules file, but it actually parses
+    the rules file and try to make sure it is not doing anything unexpected,
+    and as so, it is a safe tool to use for upgrade large sets of rule
+    files.</para>
+
+    <para>The Drools update tool can be found as a maven project in the
+    following source repository
+    http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/experimental/drools-update/
+    you just need to check it out, and execute the maven clean install action
+    with the project's pom.xml file. After resolve all the class path
+    dependencies you are able to run the toll with the following
+    command:</para>
+
+    <programlisting>java -cp $CLASSPATH org.drools.tools.update.UpdateTool -f &lt;filemask&gt; [-d &lt;basedir&gt;] [-s &lt;sufix&gt;]</programlisting>
+
+    <para>The program parameters are very easy to understand as following.
+    <itemizedlist>
+        <listitem>
+          <para>-h,--help, Shows a very simple list the usage help</para>
+        </listitem>
+
+        <listitem>
+          <para>-d your source base directory</para>
+        </listitem>
+
+        <listitem>
+          <para>-f pattern for the files to be updated. The format is the same
+          as used by ANT: * = single file, directory ** = any level of
+          subdirectories EXAMPLE: src/main/resources/**/*.drl = matches all
+          DRL files inside any subdirectory of /src/main/resources</para>
+        </listitem>
+
+        <listitem>
+          <para>-s,--sufix the sufix to be added to all updated files</para>
+        </listitem>
+      </itemizedlist></para>
+  </section>
+
+  <section>
+    <title>DSL Grammars in Drools 4.0</title>
+
+    <para>It is important to note that the DSL template engine was rewritten
+    from scratch to improve flexibility. One of the new features of DSL
+    grammars is the support to Regular Expressions. This way, now you can
+    write your mappings using regexp to have additional flexibility, as
+    explained in the DSL chapter. Although, now you have to escape characters
+    with regexp meaning. Example: if previously you had a matching
+    like:</para>
+
+    <example>
+      <title>Drools 3.0.x mapping</title>
+
+      <programlisting>[when][]- the {attr} is in [ {values} ]={attr} in ( {values} )</programlisting>
+    </example>
+
+    <para>Now, you need to escape '[' and ']' characters, as they have special
+    meaning in regexps. So, the same mapping in Drools 4.0 would be:</para>
+
+    <example>
+      <title>Drools 4.0.x mapping with escaped characters</title>
+
+      <programlisting>[when][]- the {attr} is in \[ {values} \]={attr} in ( {values} )</programlisting>
+    </example>
+  </section>
+
+  <section>
+    <title>Rule flow Update for 4.0.2</title>
+
+    <para>
+    	The Rule flow feature was updated for 4.0.2, and now all your ruleflows must declare a package name.
+    </para>
+
+  <figure>
+      <title>Rule Flow properties</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/Chapter-Release_Notes/ruleflowproperties.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+  </section>
+  
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-Upgrade_tips.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-What_is_new.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-What_is_new.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-What_is_new.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+  <title>What is new in Drools 4.0</title>
+
+  <para>Drools 4.0 is a major update over the previous Drools 3.0.x series. A
+  whole new set of features were developed which special focus on language
+  expressiveness, engine performance and tools availability. The following is
+  a list of the most interesting changes.</para>
+
+  <section>
+    <title>Language Expressiveness Enhancements</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>New Conditional Elements: from, collect, accumulate and
+        forall</para>
+      </listitem>
+
+      <listitem>
+        <para>New Field Constraint operators: not matches, not contains, in,
+        not in, memberOf, not memberOf</para>
+      </listitem>
+
+      <listitem>
+        <para>New Implicit Self Reference field: this</para>
+      </listitem>
+
+      <listitem>
+        <para>Full support for Conditional Elements nesting, for First Order
+        Logic completeness.</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for multi-restrictions and constraint connectives
+        &amp;&amp; and ||</para>
+      </listitem>
+
+      <listitem>
+        <para>Parser improvements to remove previous language limitations,
+        like character escaping and keyword conflicts</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for pluggable dialects and full support for MVEL
+        scripting language</para>
+      </listitem>
+
+      <listitem>
+        <para>Complete rewrite of DSL engine, allowing for full l10n</para>
+      </listitem>
+
+      <listitem>
+        <para>Fact attributes auto-vivification for return value restrictions
+        and inline-eval constraints</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for nested accessors, property navigation and simplified
+        collection, arrays and maps syntax</para>
+      </listitem>
+
+      <listitem>
+        <para>Improved support for XML rules</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+
+  <section>
+    <title>Core Engine Enhancements</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Native support for primitive types, avoiding constant
+        autoboxing</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for transparent optional Shadow Facts</para>
+      </listitem>
+
+      <listitem>
+        <para>Rete Network performance improvements for complex rules</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for Rule-Flows</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for Stateful and Stateless working memories (rule engine
+        sessions)</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for Asynchronous Working Memory actions</para>
+      </listitem>
+
+      <listitem>
+        <para>Rules Engine Agent for hot deployment and BRMS
+        integration</para>
+      </listitem>
+
+      <listitem>
+        <para>Dynamic salience for rules conflict resolution</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for Parameterized Queries</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for halt command</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for sequential execution mode</para>
+      </listitem>
+
+      <listitem>
+        <para>Support for pluggable global variable resolver</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+
+  <section>
+    <title>IDE Enhancements</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Support for rule break-points on debugging</para>
+      </listitem>
+
+      <listitem>
+        <para>WYSIWYG support for rule-flows</para>
+      </listitem>
+
+      <listitem>
+        <para>New guided editor for rules authoring</para>
+      </listitem>
+
+      <listitem>
+        <para>Upgrade to support all new engine features</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+
+  <section>
+    <title>Business Rules Management System - BRMS</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>New BRMS tool</para>
+      </listitem>
+
+      <listitem>
+        <para>User friendly web interface with nice WEB 2.0 ajax
+        features</para>
+      </listitem>
+
+      <listitem>
+        <para>Package configuration</para>
+      </listitem>
+
+      <listitem>
+        <para>Rule Authoring easy to edit rules both with guided editor (
+        drop-down menus ) and text editor</para>
+      </listitem>
+
+      <listitem>
+        <para>Package compilation and deployment</para>
+      </listitem>
+
+      <listitem>
+        <para>Easy deployment with Rule Agent</para>
+      </listitem>
+
+      <listitem>
+        <para>Easy to organize with categories and search assets</para>
+      </listitem>
+
+      <listitem>
+        <para>Versioning enabled, you can easily replace yours assets with
+        previously saved</para>
+      </listitem>
+
+      <listitem>
+        <para>JCR compliant rule assets repository</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+
+  <section>
+    <title>Miscellaneous Enhancements</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Slimmed down dependencies and smaller memory footprint</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+</section>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/Chapter-Release_Notes/Section-What_is_new.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook">
+  <info>
+    <title>Drools Introduction and General User Guide</title>
+
+    <releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+    <author>
+      <firstname>Mark</firstname>
+      <surname>Proctor</surname>
+    </author>
+
+    <author>
+      <firstname>Michael</firstname>
+      <surname>Neale</surname>
+    </author>
+
+    <author>
+      <firstname>Edson</firstname>
+      <surname>Tirelli</surname>
+    </author>
+  </info>
+
+<!--
+  <preface id="preface" revision="2">
+    <title>Preface</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="drools_logo.png" />
+      </imageobject>
+    </mediaobject>
+
+    <para />
+  </preface>
+-->
+
+    <xi:include href="Chapter-Release_Notes/Chapter-ReleaseNotes.xml" />
+
+    <xi:include href="Chapter-Install/Chapter-Install.xml" />
+
+  <index/>
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/confirm.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/confirm.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/digital_sign.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/digital_sign.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import2.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import2.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import3.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import3.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import4.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import4.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import5.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import5.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import6.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import6.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import7.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import7.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import8.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import8.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import9.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_import9.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin2.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin2.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin3.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin3.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin4.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin4.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin5.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin5.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin6.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin6.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin7.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin7.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin8.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/eclipse_plugin8.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/gef_update.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/gef_update.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/help_menu.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/help_menu.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/install_gef.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/install_gef.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/licence.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/licence.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual3.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual3.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual4.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/manual4.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse2.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_eclipse2.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install2.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install2.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install3.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install3.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install4.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/mvn_install4.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/new_remote_site.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/new_remote_site.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/restart.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/restart.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_new_features.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_new_features.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_results.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/search_results.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout1.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout1.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout2.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout2.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout3.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/svn_checkout3.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites_existing.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Install/update_sites_existing.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Release_Notes/ruleflowproperties.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/Chapter-Release_Notes/ruleflowproperties.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-introduction/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,18 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 
+    <modelVersion>4.0.0</modelVersion>
+ 
+  <parent>
+    <artifactId>drools-docs</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.0.0.SNAPSHOT</version>
+  </parent>  
+  
+    <artifactId>drools-docs-solver</artifactId>
+
+    <packaging>jdocbook</packaging>
+    <name>Drools :: Documentation :: Drools :: Solver</name>
+    <description>Drools Solver Documentation</description>
+</project>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Chapter-Solver.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Chapter-Solver.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Chapter-Solver.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
+
+	<title>User Guide</title>
+
+	<xi:include href="Section-Solver_introduction.xml" />
+
+	<xi:include href="Section-Solver_examples.xml" />
+
+	<xi:include href="Section-Solver_configuration.xml" />
+
+	<xi:include href="Section-Score_calculation.xml" />
+
+	<xi:include href="Section-Local_Search_Solver.xml" />
+</chapter>
+
+
+        


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Chapter-Solver.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Local_Search_Solver.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Local_Search_Solver.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Local_Search_Solver.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,818 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Local search solver</title>
+
+  <section>
+    <title>Overview</title>
+
+    <para>In number of possible solutions for a planning problem can be mind
+    blowing. For example:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>4 queens has 256 possible solutions (<literal>n ^ n</literal>)
+        and 2 optimal solutions.</para>
+      </listitem>
+
+      <listitem>
+        <para>5 queens has 3125 possible solutions (<literal>n ^ n</literal>)
+        and 1 optimal solution.</para>
+      </listitem>
+
+      <listitem>
+        <para>8 queens has 16777216 possible solutions (<literal>n ^
+        n</literal>) and 92 optimal solutions.</para>
+      </listitem>
+
+      <listitem>
+        <para>Most real-life planning problems have an incredible number of
+        possible solutions and only 1 optimal solution.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>An algorithm that checks every possible solution (even with pruning)
+    can easily run for a couple of years on a single real-life planning
+    problem. Most of the time, we are happy with a feasible solution found in
+    a limited amount of time. Local search tends to find a feasible solution
+    relatively fast. Because it acts very much like a human, it is also pretty
+    natural to program.</para>
+
+    <para>Local search solves a problem making a move on the current solution
+    to change it into a better solution. It does that number of times till it
+    is satisfied with the solution. It starts with the starting
+    solution.</para>
+
+    <para>A local search algorithm and the drools rule engine turn out to be a
+    really nice combination, because:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>A rule engine such as Drools is <emphasis role="bold">great for
+        calculating the score</emphasis> of a solution of a planning problem.
+        It make it easy to add additional soft or hard constraints such as "a
+        teacher shouldn't teach more then 7 hours a day". However it tends to
+        be too complex to use to actually find new solutions.</para>
+      </listitem>
+
+      <listitem>
+        <para>A local search algorithm is <emphasis role="bold">great at
+        finding new improving solutions</emphasis> for a planning problem,
+        without brute-forcing every possibility. However it needs to know the
+        score of a solution and normally offers no support in calculating that
+        score.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Drools-solver's local search implementation combines both. On top of
+    that, it also offers additional support for benchmarking etc.</para>
+  </section>
+
+  <section>
+    <title>A move</title>
+
+    <para>A move is the change from a solution A to a solution B. For example,
+    below you can see a single move on the starting solution of 4 queens that
+    moves a single queen to another row:</para>
+
+    <figure>
+      <title>A single move (4 queens example)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/singleMoveNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>A move can have a small or large impact. In the above example, the
+    move of queen <emphasis>C0 to C2</emphasis> is a small move. Some moves
+    are the same move type. These are some possibilities for move types in n
+    queens:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Move a single queen to another row. This is a small move. For
+        example, move queen <emphasis>C0 to C2</emphasis>.</para>
+      </listitem>
+
+      <listitem>
+        <para>Move all queens a number of rows down or up. This a big
+        move.</para>
+      </listitem>
+
+      <listitem>
+        <para>Move a single queen to another column. This is a small move. For
+        example, move queen <emphasis>C2 to A0</emphasis> (placing it on top
+        of queen A0).</para>
+      </listitem>
+
+      <listitem>
+        <para>Add a queen to the board at a certain row and column.</para>
+      </listitem>
+
+      <listitem>
+        <para>Remove a queen from the board.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Because we have decided that all queens will be on the board at all
+    times and each queen has an appointed column (for performance reasons),
+    only the first 2 move types are usable in our example. Furthermore, we 're
+    only using the first move type in the example because we think it gives
+    the best performance, but you are welcome to prove us wrong.</para>
+
+    <para>Each of your move types will be an implementation of the
+    <literal>Move</literal> interface:</para>
+
+    <programlisting>public interface Move {
+
+    boolean isMoveDoable(EvaluationHandler evaluationHandler);
+
+    Move createUndoMove(EvaluationHandler evaluationHandler);
+
+    void doMove(EvaluationHandler evaluationHandler);
+
+}</programlisting>
+
+    <para>Let's take a look at the <literal>Move</literal> implementation for
+    4 queens which moves a queen to a different row:</para>
+
+    <programlisting>public class YChangeMove implements Move {
+
+    private Queen queen;
+    private int toY;
+
+    public YChangeMove(Queen queen, int toY) {
+        this.queen = queen;
+        this.toY = toY;
+    }
+
+    // ... see below
+
+}</programlisting>
+
+    <para>An instance of <literal>YChangeMove</literal> moves a queen from
+    it's current y to a different y.</para>
+
+    <para>Drool-solver calls the <literal>doMove(WorkingMemory)</literal>
+    method to do a move. The <literal>Move</literal> implementation must
+    notify the working memory of any changes it does on the solution
+    facts:</para>
+
+    <programlisting>    public void doMove(WorkingMemory workingMemory) {
+        FactHandle queenHandle = workingMemory.getFactHandle(queen);
+        workingMemory.modifyRetract(queenHandle); // before changes are made
+        queen.setY(toY);
+        workingMemory.modifyInsert(queenHandle, queen); // after changes are made
+    }</programlisting>
+
+    <para>Drools-solver disables shadow facts for increased performance, so
+    you cannot use the <literal>workingMemory.update(FactHandle,
+    Object)</literal> method, instead you need to call the
+    <literal>workingMemory.modifyRetract(FactHandle)</literal> method before
+    modifying the fact and the <literal>workingMemory.modifyInsert(FactHandle,
+    Object)</literal> method after modifying the fact. Note that you can alter
+    multiple facts in a single move and effectively create a big move (also
+    known as a coarse-grained move).</para>
+
+    <para>Drools-solver automatically filters out <emphasis>non doable
+    moves</emphasis> by calling the <literal>isDoable(WorkingMemory)</literal>
+    method on a move. A <emphasis>non doable move</emphasis> is:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>A move that changes nothing on the current solution. For
+        example, moving queen B0 to row 0 is not doable.</para>
+      </listitem>
+
+      <listitem>
+        <para>A move that is impossible to do on the current solution. For
+        example, moving queen B0 to row 10 is not doable because it would move
+        it outside the board limits.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>In the n queens example, a move which moves the queen from it's
+    current row to the same row isn't doable:</para>
+
+    <programlisting>    public boolean isMoveDoable(WorkingMemory workingMemory) {
+        int fromY = queen.getY();
+        return fromY != toY;
+    }</programlisting>
+
+    <para>Because we won't generate a move which can move a queen outside the
+    board limits, we don't need to check it. A move that is currently not
+    doable can become doable on a later solution.</para>
+
+    <para>Each move has an <emphasis>undo move</emphasis>: a move (usually of
+    the same type) which does the exact opposite. In the above example the
+    undo move of <emphasis>C0 to C2</emphasis> would be the move <emphasis>C2
+    to C0</emphasis>. An undo move can be created from a move, but only before
+    the move has been done on the current solution.</para>
+
+    <programlisting>    public Move createUndoMove(WorkingMemory workingMemory) {
+        return new YChangeMove(queen, queen.getY());
+    }</programlisting>
+
+    <para>Notice that if C0 would have already been moved to C2, the undo move
+    would create the move <emphasis>C2 to C2</emphasis>, instead of the move
+    <emphasis>C2 to C0</emphasis>.</para>
+
+    <para>The local search solver can do and undo a move more than once, even
+    on different (successive) solutions.</para>
+
+    <para>A move must implement the <literal>equals()</literal> and
+    <literal>hashcode()</literal> methods. 2 moves which make the same change
+    on a solution, must be equal.</para>
+
+    <programlisting>    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        } else if (o instanceof YChangeMove) {
+            YChangeMove other = (YChangeMove) o;
+            return new EqualsBuilder()
+                    .append(queen, other.queen)
+                    .append(toY, other.toY)
+                    .isEquals();
+        } else {
+            return false;
+        }
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+                .append(queen)
+                .append(toY)
+                .toHashCode();
+    }</programlisting>
+
+    <para>In the above example, the <literal>Queen</literal> class uses the
+    default <literal>Object</literal> <literal>equal()</literal> and
+    <literal>hashcode()</literal> implementations. Notice that it checks if
+    the other move is an instance of the same move type. This is important
+    because a move will be compared to a move with another move type if you're
+    using more then 1 move type.</para>
+
+    <para>It's also recommended to implement the <literal>toString()</literal>
+    method as it allows you to read drools-solver's logging more
+    easily:</para>
+
+    <programlisting>    public String toString() {
+        return queen + " =&gt; " + toY;
+    }</programlisting>
+
+    <para>Now that we can make a single move, let's take a look at generating
+    moves.</para>
+  </section>
+
+  <section>
+    <title>Move generation</title>
+
+    <para>At each solution, local search will try all possible moves and pick
+    the best move to change to the next solution. It's up to you to generate
+    those moves. Let's take a look at all the possible moves on the starting
+    solution of 4 queens:</para>
+
+    <figure>
+      <title>Possible moves at step 0 (4 queens example)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/possibleMovesNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>As you can see, not all the moves are doable. At the starting
+    solution we have 12 doable moves (<literal>n * (n - 1)</literal>), one of
+    which will be move which changes the starting solution into the next
+    solution. Notice that the number of possible solutions is 256 (<literal>n
+    ^ n</literal>), much more that the amount of doable moves. Don't create a
+    move to every possible solution. Instead use moves which can be
+    sequentially combined to reach every possible solution.</para>
+
+    <para>It's highly recommended that you verify all solutions are connected
+    by your move set. This means that by combining a finite number of moves
+    you can reach any solution from any solution. Otherwise you're already
+    excluding solutions at the start. Especially if you're using only big
+    moves, you should check it. Just because big moves outperform small moves
+    in a short test run, it doesn't mean that they will outperform them in a
+    long test run.</para>
+
+    <para>You can mix different move types. Usually you're better off
+    preferring small (fine-grained) moves over big (course-grained) moves
+    because the score delta calculation will pay off more. However, as the
+    traveling tournament example proves, if you can remove a hard constraint
+    by using a certain set of big moves, you can win performance and
+    scalability. Try it yourself: run both the simple (small moves) and the
+    smart (big moves) version of the traveling tournament example. The smart
+    version evaluates a lot less unfeasible solutions, which enables it to
+    outperform and outscale the simple version.</para>
+
+    <para>Move generation currently happens with a
+    <literal>MoveFactory</literal>:</para>
+
+    <programlisting>public class NQueensMoveFactory extends CachedMoveListMoveFactory {
+
+    public List&lt;Move&gt; createMoveList(Solution solution) {
+        NQueens nQueens = (NQueens) solution;
+        List&lt;Move&gt; moveList = new ArrayList&lt;Move&gt;();
+        for (Queen queen : nQueens.getQueenList()) {
+            for (int n : nQueens.createNList()) {
+                moveList.add(new YChangeMove(queen, n));
+            }
+        }
+        return moveList;
+    }
+
+}</programlisting>
+
+    <para>But we'll be making move generation part of the drl's soon.</para>
+  </section>
+
+  <section>
+    <title>A step</title>
+
+    <para>A step is the winning move. The local search solver tries every move
+    on the current solution and picks the best accepted move as the
+    step:</para>
+
+    <figure>
+      <title>Decide the next step at step 0 (4 queens example)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/decideNextStepNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Because the move <emphasis>B0 to B3</emphasis> has the highest score
+    (<literal>-3</literal>), it is picked as the next step. Notice that
+    <emphasis>C0 to C3</emphasis> (not shown) could also have been picked
+    because it also has the score <literal>-3</literal>. If multiple moves
+    have the same highest score, one is picked randomly, in this case
+    <emphasis>B0 to B3</emphasis>.</para>
+
+    <para>The step is made and from that new solution, the local search solver
+    tries all the possible moves again, to decide the next step after that. It
+    continually does this in a loop, and we get something like this:</para>
+
+    <figure>
+      <title>All steps (4 queens example)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/allStepsNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Notice that the local search solver doesn't use a search tree, but a
+    search path. The search path is highlighted by the green arrows. At each
+    step it tries all possible moves, but unless it's the step, it doesn't
+    investigate that solution further. This is one of the reasons why local
+    search is very scalable.</para>
+
+    <para>As you can see, the local search solver solves the 4 queens problem
+    by starting with the starting solution and make the following steps
+    sequentially:</para>
+
+    <orderedlist>
+      <listitem>
+        <para><emphasis>B0 to B3</emphasis></para>
+      </listitem>
+
+      <listitem>
+        <para><emphasis>D0 to B2</emphasis></para>
+      </listitem>
+
+      <listitem>
+        <para><emphasis>A0 to B1</emphasis></para>
+      </listitem>
+    </orderedlist>
+
+    <para>If we turn on INFO logging, this is reflected into the
+    logging:</para>
+
+    <programlisting>INFO  Solving with random seed (0).
+INFO  Initial score (-6.0) is starting best score. Updating best solution and best score.
+INFO  Step (0), time spend (0) doing next step ([Queen-1] 1 @ 0 =&gt; 3).
+INFO  New score (-3.0) is better then last best score (-6.0). Updating best solution and best score.
+INFO  Step (1), time spend (0) doing next step ([Queen-3] 3 @ 0 =&gt; 2).
+INFO  New score (-1.0) is better then last best score (-3.0). Updating best solution and best score.
+INFO  Step (2), time spend (15) doing next step ([Queen-0] 0 @ 0 =&gt; 1).
+INFO  New score (0.0) is better then last best score (-1.0). Updating best solution and best score.
+INFO  Solved in 3 steps and 15 time millis spend.</programlisting>
+
+    <para>Notice that the logging used the <literal>toString()</literal>
+    method from our <literal>Move</literal> implementation: <literal>[Queen-1]
+    1 @ 0 =&gt; 3</literal>.</para>
+
+    <para>The local search solver solves the 4 queens problem in 3 steps, by
+    evaluating only 37 possible solutions (3 steps with 12 moves each + 1
+    starting solution), which is only fraction of all 256 possible solutions.
+    It solves 16 queens in 31 steps, by evaluating only 7441 out of
+    18446744073709551616 possible solutions.</para>
+  </section>
+
+  <section>
+    <title>Getting stuck in local optima</title>
+
+    <para>A <emphasis>simple local search</emphasis> always takes improving
+    moves. This may seem like a good thing, but it's not. It suffers from a
+    number of problems:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>It can get stuck in a local optimum. For example if it reaches a
+        solution X with a score -1 and there is no improving move, it is
+        forced to take a next step that leads to a solution Y with score -2,
+        after that however, it's very real that it will pick the step back to
+        solution X with score -1. It will then start looping between solution
+        X and Y.</para>
+      </listitem>
+
+      <listitem>
+        <para>It can start walking in it's own footsteps, picking the same
+        next step at every step.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Of course drools-solver implements better local searches, such
+    <emphasis>tabu search</emphasis> and <emphasis>simulated
+    annealing</emphasis> which can avoid these problems. It's recommended to
+    never use a simple local search, unless you're absolutely sure there are
+    no local optima in your planning problem.</para>
+  </section>
+
+  <section>
+    <title>Deciding the next step</title>
+
+    <para>The local search solver decides the next step with the aid of 3
+    configurable components:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>A <emphasis>selector</emphasis> which selects (or generates) the
+        possible moves of the current solution.</para>
+      </listitem>
+
+      <listitem>
+        <para>An <emphasis>accepter</emphasis> which filters out unacceptable
+        moves. It can also weigh a move it accepts.</para>
+      </listitem>
+
+      <listitem>
+        <para>A <emphasis>forager</emphasis> which gathers all accepted moves
+        and picks the next step from them.</para>
+      </listitem>
+    </itemizedlist>
+
+    <figure>
+      <title>Decide the next step at step 0 (4 queens example)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/decideNextStepNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>In the above example the selector generated the moves shown with the
+    blue lines, the accepter accepted all of them and the forager picked the
+    move <emphasis>B0 to B3</emphasis>.</para>
+
+    <para>If we turn on DEBUG logging, we can see the decision making in the
+    log:</para>
+
+    <programlisting>INFO  Solving with random seed (0).
+INFO  Initial score (-6.0) is starting best score. Updating best solution and best score.
+DEBUG     Move ([Queen-0] 0 @ 0 =&gt; 0) ignored because not doable.
+DEBUG     Move ([Queen-0] 0 @ 1 =&gt; 1) with score (-4.0) and acceptChance (1.0).
+DEBUG     Move ([Queen-0] 0 @ 2 =&gt; 2) with score (-4.0) and acceptChance (1.0).
+...
+DEBUG     Move ([Queen-1] 1 @ 3 =&gt; 3) with score (-3.0) and acceptChance (1.0).
+...
+DEBUG     Move ([Queen-3] 3 @ 3 =&gt; 3) with score (-4.0) and acceptChance (1.0).
+INFO  Step (0), time spend (0) doing next step ([Queen-1] 1 @ 0 =&gt; 3).
+INFO  New score (-3.0) is better then last best score (-6.0). Updating best solution and best score.
+...</programlisting>
+
+    <section>
+      <title>Selector</title>
+
+      <para>A selector is currently based on a <literal>MoveFactory</literal>.
+      We're working on improving this.</para>
+
+      <programlisting>    &lt;selector&gt;
+        &lt;moveFactoryClass&gt;org.drools.solver.examples.nqueens.solver.NQueensMoveFactory&lt;/moveFactoryClass&gt;
+    &lt;/selector&gt;</programlisting>
+
+      <para>You're not obligated to generate the same stable set of moves at
+      each step. You could start with generating only big moves initially, and
+      gradually switch to small moves. There's no build-in support for this
+      yet though.</para>
+    </section>
+
+    <section>
+      <title>Accepter</title>
+
+      <para>An accepter is used (together with a forager) to active tabu
+      search, simulated annealing, great deluge, ... For each move it
+      generates an accept chance. If a move is rejected it is given an accept
+      chance of <literal>0.0</literal>.</para>
+
+      <para>You can implement your own <literal>Accepter</literal>, although
+      the build-in accepters should suffice for most needs. You can also
+      combine multiple accepters.</para>
+
+      <section>
+        <title>Tabu search accepter</title>
+
+        <para>When tabu search takes steps it creates tabu's. It does not
+        accept a move as the next step if that move breaks tabu. Drools-solver
+        implements several tabu types:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para><emphasis>Solution tabu</emphasis> makes recently visited
+            solutions tabu. It does not accept a move that leads to one of
+            those solutions. If you can spare the memory, don't be cheap on
+            the tabu size. We recommend this type of tabu because it tends to
+            give the best results and requires little or no tweaking.</para>
+
+            <programlisting>    &lt;accepter&gt;
+        &lt;completeSolutionTabuSize&gt;1000&lt;/completeSolutionTabuSize&gt;
+    &lt;/accepter&gt;</programlisting>
+          </listitem>
+
+          <listitem>
+            <para><emphasis>Move tabu</emphasis> makes recent steps tabu. It
+            does not accept a move equal to one of those steps.</para>
+
+            <programlisting>    &lt;accepter&gt;
+        &lt;completeMoveTabuSize&gt;1000&lt;/completeMoveTabuSize&gt;
+    &lt;/accepter&gt;</programlisting>
+          </listitem>
+
+          <listitem>
+            <para><emphasis>Undo move tabu </emphasis>makes the undo move of
+            recent steps tabu.</para>
+
+            <programlisting>    &lt;accepter&gt;
+        &lt;completeUndoMoveTabuSize&gt;1000&lt;/completeUndoMoveTabuSize&gt;
+    &lt;/accepter&gt;</programlisting>
+          </listitem>
+
+          <listitem>
+            <para><emphasis>Property tabu</emphasis> makes a property of
+            recent steps tabu. For example, it can make the queen tabu, so
+            that a recently moved queen can't be moved.</para>
+
+            <programlisting>    &lt;accepter&gt;
+        &lt;completePropertyTabuSize&gt;1000&lt;/completePropertyTabuSize&gt;
+    &lt;/accepter&gt;</programlisting>
+
+            <para>To use property tabu, your moves must implement the
+            <literal>TabuPropertyEnabled</literal> interface, for
+            example:</para>
+
+            <programlisting>public class YChangeMove implements Move, TabuPropertyEnabled {
+
+    private Queen queen;
+    private int toY;
+
+    // ...
+
+    public List&lt;? extends Object&gt; getTabuPropertyList() {
+        return Collections.singletonList(queen);
+    }
+
+}</programlisting>
+          </listitem>
+        </itemizedlist>
+
+        <para>You can even combine tabu types:</para>
+
+        <programlisting>    &lt;accepter&gt;
+        &lt;completeSolutionTabuSize&gt;1000&lt;/completeSolutionTabuSize&gt;
+        &lt;completeUndoMoveTabuSize&gt;10&lt;/completeUndoMoveTabuSize&gt;
+    &lt;/accepter&gt;</programlisting>
+
+        <para>If you pick a too small tabu size, your solver can still get
+        stuck in a local optimum. On the other hand, with the exception of
+        solution tabu, if you pick a too large tabu size, your solver can get
+        stuck by bouncing of the walls. Use the benchmarker to fine tweak your
+        configuration.</para>
+
+        <para>A tabu search accepter should be combined with a
+        <emphasis>maximum score of all</emphasis> or <emphasis>first best
+        score improving</emphasis> forager.</para>
+      </section>
+
+      <section>
+        <title>Simulated annealing accepter</title>
+
+        <para>Simulated annealing does not pick the move with the highest
+        score, neither does it evaluate all moves. At least at first.</para>
+
+        <para>It gives unimproving moves a chance, depending on it's score and
+        the temperature. The <emphasis>temperature</emphasis> is relative to
+        how long it has been solving. In the end, it gradually turns into a
+        simple local search, only accepting improving moves.</para>
+
+        <para>A simulated annealing accepter should be combined with a
+        <emphasis>first randomly accepted</emphasis> forager.</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Forager</title>
+
+      <para>A forager gathers all accepted moves and picks the move which is
+      the next step. A forager can choose to allow only a subset of all
+      selected moves to be evaluated, by quitting early if a suitable move has
+      been accepted.</para>
+
+      <para>You can implement your own <literal>Forager</literal>, although
+      the build-in foragers should suffice for most needs.</para>
+
+      <section>
+        <title>Maximum score of all forager</title>
+
+        <para>Allows all selected moves to be evaluated and picks the accepted
+        move with the highest score. If several accepted moves have the
+        highest score, one is picked randomly, weighted on their accept
+        chance.</para>
+
+        <programlisting>    &lt;forager&gt;
+        &lt;foragerType&gt;MAX_SCORE_OF_ALL&lt;/foragerType&gt;
+    &lt;/forager&gt;</programlisting>
+      </section>
+
+      <section>
+        <title>First best score improving forager</title>
+
+        <para>Picks the first accepted move that improves the best score. If
+        none improve the best score, it behaves exactly like the maximum score
+        of all forager.</para>
+
+        <programlisting>    &lt;forager&gt;
+        &lt;foragerType&gt;FIRST_BEST_SCORE_IMPROVING&lt;/foragerType&gt;
+    &lt;/forager&gt;</programlisting>
+      </section>
+
+      <section>
+        <title>First last step score improving forager</title>
+
+        <para>Picks the first accepted move that improves the last step score.
+        If none improve the last step score, it behaves exactly like the
+        maximum score of all forager.</para>
+
+        <programlisting>    &lt;forager&gt;
+        &lt;foragerType&gt;FIRST_BEST_SCORE_IMPROVING&lt;/foragerType&gt;
+    &lt;/forager&gt;</programlisting>
+      </section>
+
+      <section>
+        <title>First randomly accepted forager</title>
+
+        <para>Generates a random number for each accepted move and if the
+        move's accept chance is higher, it picks that move as the next
+        move.</para>
+
+        <programlisting>    &lt;forager&gt;
+        &lt;foragerType&gt;FIRST_RANDOMLY_ACCEPTED&lt;/foragerType&gt;
+    &lt;/forager&gt;</programlisting>
+      </section>
+    </section>
+  </section>
+
+  <section>
+    <title>Best solution</title>
+
+    <para>Because the current solution can degrade (especially in tabu search
+    and simulated annealing), the local search solver remembers the best
+    solution it has encountered through the entire search path. Each time the
+    current solution is better than the last best solution, the current
+    solution is cloned and referenced as the new best solution.</para>
+  </section>
+
+  <section>
+    <title>Finish</title>
+
+    <para>Sooner or later the local search solver will have to stop solving.
+    This can be because of a number of reasons: the time is up, the perfect
+    score has been reached, ... The only thing you can't depend on is on
+    finding the optimal solution (unless you know the optimal score), because
+    a local search solver doesn't know that when it finds the optimal
+    solution. For real-life problems this doesn't turn out to be much of a
+    problem, because finding the optimal solution would take years, so you 'll
+    want to finish early anyway.</para>
+
+    <para>You can configure when a local search solver needs to stop by
+    configuring a Finish. You can implement your own
+    <literal>Finish</literal>, although the build-in finishes should suffice
+    for most needs.</para>
+
+    <section>
+      <title>TimeMillisSpendFinish</title>
+
+      <para>Finishes when an amount of time has been reached:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;maximumMinutesSpend&gt;2&lt;/maximumMinutesSpend&gt;
+    &lt;/finish&gt;</programlisting>
+
+      <para>or</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;maximumHouresSpend&gt;1&lt;/maximumHouresSpend&gt;
+    &lt;/finish&gt;</programlisting>
+
+      <para>Note that the time taken by a
+      <literal>StartingSolutionInitializer</literal> also is taken into
+      account by this finish. So if you give the solver 2 minutes to solve
+      something, but the initializer takes 1 minute, the local search solver
+      will only have a minute left.</para>
+
+      <para>Note that if you use this finish, you will most likely sacrifice
+      reproducability. The best solution will depend on available CPU time,
+      not only because it influences the amount of steps taken, but also
+      because time gradient based algorithms (such as simulated annealing)
+      will probably act differently on each run.</para>
+    </section>
+
+    <section>
+      <title>StepCountFinish</title>
+
+      <para>Finishes when an amount of steps has been reached:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;maximumStepCount&gt;100&lt;/maximumStepCount&gt;
+    &lt;/finish&gt;</programlisting>
+    </section>
+
+    <section>
+      <title>FeasableScoreFinish</title>
+
+      <para>Finishes when a feasible score has been reached. You can also use
+      this finish if you know the perfect score, for example for 4
+      queens:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;feasableScore&gt;0.0&lt;/feasableScore&gt;
+    &lt;/finish&gt;</programlisting>
+    </section>
+
+    <section>
+      <title>UnimprovedStepCountFinish</title>
+
+      <para>Finishes when the best score hasn't improved in a number of
+      steps:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;maximumUnimprovedStepCount&gt;100&lt;/maximumUnimprovedStepCount&gt;
+    &lt;/finish&gt;</programlisting>
+
+      <para>If it hasn't improved recently, it's probably not going to improve
+      soon anyway and it's not worth the effort to continue. We have observed
+      that once a new best solution is found (even after a long time of no
+      improvement on the best solution), the next few step tend to improve the
+      best solution too.</para>
+    </section>
+
+    <section>
+      <title>Combining finishes</title>
+
+      <para>Finishes can be combined, for example: finish after 100 steps or
+      if a score of 0.0 has been reached:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;finishCompositionStyle&gt;OR&lt;/finishCompositionStyle&gt;
+        &lt;maximumStepCount&gt;100&lt;/maximumStepCount&gt;
+        &lt;feasableScore&gt;0.0&lt;/feasableScore&gt;
+    &lt;/finish&gt;</programlisting>
+
+      <para>Alternatively you can use AND, for example: finish after reaching
+      a feasible score of at least -100 and no improvements in 5 steps:</para>
+
+      <programlisting>    &lt;finish&gt;
+        &lt;finishCompositionStyle&gt;AND&lt;/finishCompositionStyle&gt;
+        &lt;maximumUnimprovedStepCount&gt;5&lt;/maximumUnimprovedStepCount&gt;
+        &lt;feasableScore&gt;-100.0&lt;/feasableScore&gt;
+    &lt;/finish&gt;</programlisting>
+
+      <para>This ensures it doesn't just finish after finding a feasible
+      solution, but also makes any obvious improvements on that solution
+      before finishing.</para>
+    </section>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Local_Search_Solver.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Score_calculation.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Score_calculation.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Score_calculation.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Score calculation with a rule engine</title>
+
+  <section>
+    <title>Rule based score calculation</title>
+
+    <para>The score calculation of a planning problem is based on constraints
+    (such as hard constraints, soft constraints, rewards, ...). A rules
+    engine, such as drools, makes it easy to implement those constraints as
+    <emphasis>score rules</emphasis>.</para>
+
+    <para>Here's an example of a constraint implemented as a score rule in
+    drools:</para>
+
+    <programlisting>rule "multipleQueensHorizontal"
+    when
+        $q1 : Queen($id : id, $y : y);
+        $q2 : Queen(id &gt; $id, y == $y);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("multipleQueensHorizontal", $q1, $q2));
+end</programlisting>
+
+    <para>This score rule will fire once for every 2 queens with the same
+    <literal>y</literal>. The <literal>(id &gt; $id)</literal> condition is
+    needed to assure that for 2 queens A and B, it can only fire for (A, B)
+    and not for (B, A), (A, A) or (B, B). Let's take a closer look at this
+    score rule on the starting solution of 4 queens:</para>
+
+    <figure>
+      <title>Starting solution for the 4 queens puzzle</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/unsolvedNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>In this starting solution the multipleQueensHorizontal score rule
+    will fire for 6 queen couples: (A, B), (A, C), (A, D), (B, C), (B, D) and
+    (C, D). Because none of the queens are on the same vertical or diagonal
+    line, this starting solution will have a score of <literal>-6</literal>.
+    An optimal solution of 4 queens has a score of
+    <literal>0</literal>.</para>
+
+    <para>You need to add your score rules drl files in the solver
+    configuration, for example:</para>
+
+    <programlisting>    &lt;scoreDrl&gt;/org/drools/solver/examples/nqueens/solver/nQueensScoreRules.drl&lt;/scoreDrl&gt;</programlisting>
+
+    <para>You can add multiple <literal>&lt;scoreDrl&gt;</literal> entries if
+    needed.</para>
+
+    <para>It's recommended to use drools in forward-chaining mode (which is
+    the default behaviour), as for most solver implementations this will
+    create the effect of a <emphasis>delta based score calculation</emphasis>
+    instead of a full score calculation on each solution evaluation. For
+    example, if a single queen moves from y <literal>0</literal> to
+    <literal>3</literal>, it won't bother to recalculate the "multiple queens
+    on the same horizontal line" constraint for queens with y
+    <literal>1</literal> or <literal>2</literal>. This is a huge performance
+    gain. <emphasis role="bold">Drools-solver gives you this huge performance
+    gain without forcing you to write a very complicated delta based score
+    calculation algorithm.</emphasis> Just let the drools rule engine do the
+    hard work.</para>
+
+    <para><emphasis role="bold">Adding more constraints is <emphasis
+    role="bold">easy and </emphasis>scalable</emphasis> (if you understand the
+    drools rule syntax). This allows you to add it a bunch of soft constraint
+    score rules on top of the hard constraints score rules with little effort
+    and at a reasonable performance cost. For example, for a freight routing
+    problem you could add a soft constraint to avoid the certain flagged
+    highways at rush hour.</para>
+  </section>
+
+  <section>
+    <title>The ScoreCalculator interface</title>
+
+    <para>The <literal>ScoreCalculator</literal> interface allows the solver
+    to calculate the score of the currently evaluated solution. The score must
+    a <literal>Number</literal> instance and the instance type (for example
+    <literal>Double</literal> or <literal>Integer</literal>) must be stable
+    throughout the problem.</para>
+
+    <para>The solver aims to find the solution with the highest score.
+    <emphasis>The best solution</emphasis> is the solution with the highest
+    score that it has encountered during its solving.</para>
+
+    <para>Most planning problems tend to use negative scores (the amount of
+    negative constraints being broken) with an impossible perfect score of 0.
+    This explains why the score of a solution of 4 queens is the negative of
+    the number of queen couples that can attack each other.</para>
+
+    <para>A <literal>ScoreCalculator</literal> instance is configured in the
+    solver configuration:</para>
+
+    <programlisting>    &lt;scoreCalculator&gt;
+        &lt;scoreCalculatorType&gt;SIMPLE&lt;/scoreCalculatorType&gt;
+    &lt;/scoreCalculator&gt;</programlisting>
+
+    <para>There are a couple of build-in <literal>ScoreCalculator</literal>
+    implementations:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>SIMPLE: A <literal>SimpleScoreCalculator</literal> instance
+        which has a <literal>setScore(Number)</literal> method for use in the
+        score rules.</para>
+      </listitem>
+
+      <listitem>
+        <para>HARD_AND_SOFT_CONSTRAINTS: A
+        <literal>HardAndSoftConstraintScoreCalculator</literal> instance,
+        which has a <literal>setHardConstraintsBroken(Number)</literal> and a
+        <literal>setSoftConstraintsBroken(Number)</literal> method for use in
+        the score rules.</para>
+      </listitem>
+
+      <listitem>
+        <para>DYNAMIC_HARD_AND_SOFT_CONSTRAINTS: A special
+        <literal>HardAndSoftConstraintScoreCalculator</literal> instance, for
+        more information see the javadocs.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>You can implement your own <literal>ScoreCalculator</literal>,
+    although the build-in score calculators should suffice for most
+    needs.</para>
+
+    <para>The <literal>ScoreCalculator</literal> instance is asserted into the
+    working memory as a global called <literal>scoreCalculator</literal>. Your
+    score rules need to (indirectly) update that instance. Usually you 'll
+    make a single rule as an aggregation of the other rules to update the
+    score:</para>
+
+    <programlisting>global SimpleScoreCalculator scoreCalculator;
+
+rule "multipleQueensHorizontal"
+    when
+        $q1 : Queen($id : id, $y : y);
+        $q2 : Queen(id &gt; $id, y == $y);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("multipleQueensHorizontal", $q1, $q2));
+end
+
+// multipleQueensVertical is obsolete because it is always 0
+
+rule "multipleQueensAscendingDiagonal"
+    when
+        $q1 : Queen($id : id, $ascendingD : ascendingD);
+        $q2 : Queen(id &gt; $id, ascendingD == $ascendingD);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("multipleQueensAscendingDiagonal", $q1, $q2));
+end
+
+rule "multipleQueensDescendingDiagonal"
+    when
+        $q1 : Queen($id : id, $descendingD : descendingD);
+        $q2 : Queen(id &gt; $id, descendingD == $descendingD);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("multipleQueensDescendingDiagonal", $q1, $q2));
+end
+
+rule "hardConstraintsBroken"
+    when
+        $occurrenceCount : Number() from accumulate(
+            $unweightedConstraintOccurrence : UnweightedConstraintOccurrence(),
+            count($unweightedConstraintOccurrence)
+        );
+    then
+        scoreCalculator.setScore(- $occurrenceCount.intValue());
+end</programlisting>
+
+    <para>Optionally, you can also weigh your constraints differently, by
+    multiplying the count of each score rule with its weight. For example in
+    freight routing, you can make 5 broken "avoid crossroads" soft constraints
+    count as much as 1 broken "avoid highways at rush hour" soft constraint.
+    This allows your business analysts to easily tweak the score function as
+    they see fit.</para>
+
+    <para>Here's an example of all the NQueens constraints written as a single
+    rule, using multi pattern accumulates and making multipleQueensHorizontal
+    constraint outweigh the other constraints 5 times:</para>
+
+    <programlisting>// Warning: This currently triggers backwards chaining instead of forward chaining and seriously hurts performance and scalability.
+rule "constraintsBroken"
+    when
+        $multipleQueensHorizontal : Long()
+        from accumulate(
+            $q1 : Queen($id : id, $y : y)
+            and Queen(id &gt; $id, y == $y),
+           count($q1)
+        );
+        $multipleQueensAscendingDiagonal : Long()
+        from accumulate(
+            $q2 : Queen($id : id, $ascendingD : ascendingD)
+            and Queen(id &gt; $id, ascendingD == $ascendingD),
+           count($q2)
+        );
+        $multipleQueensDescendingDiagonal : Long()
+        from accumulate(
+            $q3 : Queen($id : id, $descendingD : descendingD)
+            and Queen(id &gt; $id, descendingD == $descendingD),
+           count($q3)
+        );
+    then
+        scoreCalculator.setScore(- (5 * $multipleQueensHorizontal) - $multipleQueensAscendingDiagonal - $multipleQueensDescendingDiagonal);
+end</programlisting>
+  </section>
+
+  <section>
+    <title>Tips and tricks</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>If you know a certain constraint can never be broken, don't
+        bother writing a score rule for it. For example, the n queens example
+        doesn't have a "multipleQueensVertical" rule because a queen's
+        <literal>x</literal> never changes and the starting solution puts each
+        queen on a different <literal>x</literal>. This tends to give a huge
+        performance gain, not just because the score function is faster, but
+        mainly because most solver implementations will spend less time
+        evaluating unfeasible solutions.</para>
+      </listitem>
+
+      <listitem>
+        <para>Verify that your score calculation happens in the correct Number
+        type. If you're making the sum of integer values, don't let drools use
+        Double's or your performance will hurt. Solver implementations will
+        usually spend most of their execution time running the score
+        function.</para>
+      </listitem>
+
+      <listitem>
+        <para>In case you haven't figured it out yet: performance (and
+        scalability) is very important for solving planning problems. What
+        good is a real-time freight routing solver that takes a day to find a
+        feasible solution? Even small and innocent looking problems can hide
+        an enormous problem size. For example, they probably still don't know
+        the optimal solution of the traveling tournament problem for as little
+        as 10 traveling teams.</para>
+      </listitem>
+
+      <listitem>
+        <para>Always remember that premature optimization is the root of all
+        evil. Make sure your design is flexible enough to allow configuration
+        based tweaking.</para>
+      </listitem>
+
+      <listitem>
+        <para>Currently, don't allow drools to backward chain instead of
+        forward chain, so avoid query's. It kills scalibilty.</para>
+      </listitem>
+
+      <listitem>
+        <para>Currently, don't allow drools to switch to MVEL mode, for
+        performance. You can avoid this by using <literal>eval</literal> in
+        the score rules, for example: <literal>eval(day.getIndex() ==
+        $day1.getIndex() + 3)</literal>.</para>
+      </listitem>
+
+      <listitem>
+        <para>For optimal performance, use at least java 1.6 and always use
+        server mode (<literal>java -server</literal>). We have seen
+        performance increases of 30% by switching from java 1.5 to 1.6 and 50%
+        by turning on server mode.</para>
+      </listitem>
+
+      <listitem>
+        <para>If you're doing performance tests, always remember that the JVM
+        needs to warm up. First load your solver and do a short run, before
+        you start benchmarking it.</para>
+      </listitem>
+    </itemizedlist>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Score_calculation.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_configuration.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_configuration.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_configuration.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,490 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Solver configuration</title>
+
+  <section>
+    <title>Types of solvers</title>
+
+    <para>Different solvers solve problems in different ways. Each type has
+    advantages and disadvantages. We 'll roughly discuss a few of the solver
+    types here. You can safely skip this section.</para>
+
+    <section>
+      <title>Brute force</title>
+
+      <para>Brute force creates and evaluates every possible solution, usually
+      by creating a search tree.</para>
+
+      <para>Advantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It finds an optimal solution. If there is more then 1 optimal
+          solution, it finds all optimal solutions.</para>
+        </listitem>
+
+        <listitem>
+          <para>It is straightforward and simple to implement.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Disadvantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It has a horrible performance and scalability. Mostly unusable
+          for a real-world problem due to time constraints.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Brute force is currently not implemented in drools-solver. But we
+      have plans to implement it in the future, as a reference for validating
+      the output of the other solver types.</para>
+    </section>
+
+    <section>
+      <title>Branch and bound</title>
+
+      <para>Branch and bound is an improvement over brute force, as it prunes
+      away subsets of solutions which cannot have a better solution than the
+      best solution already found at that point.</para>
+
+      <para>Advantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It finds an optimal solution. If there is more then 1 optimal
+          solution, it can find all optimal solutions if needed.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Disadvantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It still scales very badly.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Branch and bound is currently not implemented in
+      drools-solver.</para>
+    </section>
+
+    <section>
+      <title>Simplex</title>
+
+      <para>Simplex turns all constraints and data into a big equation, which
+      it transmutes into a mathematical function without local optima. It then
+      finds an optimal solution to the planning problem by finding an optima
+      of that mathematical function.</para>
+
+      <para>Advantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It finds an optimal solution.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Disadvantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It's usually rather complex and mathematical to implement
+          constraints.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Drools-solver does not currently implement simplex.</para>
+    </section>
+
+    <section>
+      <title>Local search (tabu search, simulated annealing, ...)</title>
+
+      <para>Local search starts from an initial solution and evolves that
+      single solution into a better and better solution. It uses a single
+      search path of solutions. At each solution in this path it evaluates a
+      number of possible moves on the solution and applies the most suitable
+      move to take the step to the next solution.</para>
+
+      <para>Local search works a lot like a human planner: it uses a single
+      search path and moves facts around to find a good feasible
+      solution.</para>
+
+      <para>A simple local search can easily get stuck in a local optima, but
+      improvements (such as tabu search and simulated annealing) address this
+      problem.</para>
+
+      <para>Advantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It's relatively simple and natural to implement constraints
+          (at least in drools-solver's implementation).</para>
+        </listitem>
+
+        <listitem>
+          <para>It's very scalable, even when adding extra constraints (at
+          least in drools-solver's implementation).</para>
+        </listitem>
+
+        <listitem>
+          <para>It generally needs to worry about less negative hard
+          constraints, because the move pattern can fulfill a number of the
+          negative hard constraints.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Disadvantages:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It does not know when it has found an optimal solution.</para>
+        </listitem>
+
+        <listitem>
+          <para>If the optimal score is unknown (which is usually the case),
+          it must be told when to stop looking (for example based on time
+          spend, user input, ...).</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Drools-solver implements local search, including tabu search and
+      simulated annealing.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>The Solver interface</title>
+
+    <para>Every build-in solver implemented in drools-solver implements the
+    <literal>Solver</literal> interface:</para>
+
+    <programlisting>public interface Solver {
+
+    void setStartingSolution(Solution solution);
+
+    Number getBestScore();
+    Solution getBestSolution();
+    
+    void solve();
+
+    // ...
+
+}</programlisting>
+
+    <para>Solving a planning problem with drools-solver consists out of 4
+    steps:</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Build a solver, for example a tabu search solver for any NQueens
+        puzzle.</para>
+      </listitem>
+
+      <listitem>
+        <para>Set a starting solution on the solver, for example a 4 Queens
+        puzzle instance.</para>
+      </listitem>
+
+      <listitem>
+        <para>Solve it.</para>
+      </listitem>
+
+      <listitem>
+        <para>Get the best solution found by the solver.</para>
+      </listitem>
+    </orderedlist>
+
+    <para>A <literal>Solver</literal> should currently directly be accessed
+    from a single thread. Support from accessing it from a different thread,
+    for example to finish solving early or to change the problem facts in
+    real-time, will be added in future releases.</para>
+  </section>
+
+  <section>
+    <title>Building a solver</title>
+
+    <para>You can build a <literal>Solver</literal> instance with the
+    <literal>XmlSolverConfigurer</literal>. Configure it with a solver
+    configuration xml file:</para>
+
+    <programlisting>    XmlSolverConfigurer configurer = new XmlSolverConfigurer();
+    configurer.configure("/org/drools/solver/examples/nqueens/solver/nqueensSolverConfig.xml");
+    Solver solver = configurer.buildSolver();</programlisting>
+
+    <para>A basic solver configuration file looks something like this:</para>
+
+    <programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;localSearchSolver&gt;
+    &lt;scoreDrl&gt;/org/drools/solver/examples/nqueens/solver/nQueensScoreRules.drl&lt;/scoreDrl&gt;
+    &lt;scoreCalculator&gt;
+        &lt;scoreCalculatorType&gt;SIMPLE&lt;/scoreCalculatorType&gt;
+    &lt;/scoreCalculator&gt;
+    &lt;finish&gt;
+        &lt;feasableScore&gt;0.0&lt;/feasableScore&gt;
+    &lt;/finish&gt;
+    &lt;selector&gt;
+        &lt;moveFactoryClass&gt;org.drools.solver.examples.nqueens.solver.NQueensMoveFactory&lt;/moveFactoryClass&gt;
+    &lt;/selector&gt;
+    &lt;accepter&gt;
+        &lt;completeSolutionTabuSize&gt;1000&lt;/completeSolutionTabuSize&gt;
+    &lt;/accepter&gt;
+    &lt;forager&gt;
+        &lt;foragerType&gt;MAX_SCORE_OF_ALL&lt;/foragerType&gt;
+    &lt;/forager&gt;
+&lt;/localSearchSolver&gt;</programlisting>
+
+    <para>This is a tabu search configuration for n queens. We 'll explain the
+    various parts of a configuration later in this manual.</para>
+
+    <para><emphasis role="bold">Drools-solver makes it relatively easy to
+    switch a solver type just by changing the configuration.</emphasis>
+    There's even a benchmark utility which allows you to play out different
+    configurations against each other and report the most appropriate
+    configuration for your problem. You could for example play out tabu search
+    versus simulated annealing, on 4 queens and 64 queens.</para>
+
+    <para>A solver has a single <literal>Random</literal> instance. Some
+    solver configurations use that instance a lot more than others. For
+    example simulated annealing depends highly on random numbers, while tabu
+    search only depends on it to deal with score ties. In any case, during
+    your testing it's advisable to set that <literal>Random</literal>
+    instance, so your tests are reproducible.</para>
+  </section>
+
+  <section>
+    <title>The Solution interface</title>
+
+    <para>A Solver can only solve 1 problem at a time.</para>
+
+    <para>You need to present the problem as a starting
+    <literal>Solution</literal> instance to the solver.</para>
+
+    <para>You need to implement the <literal>Solution</literal>
+    interface:</para>
+
+    <programlisting>public interface Solution {
+
+    Collection&lt;? extends Object&gt; getFacts();
+
+    Solution cloneSolution();
+
+}</programlisting>
+
+    <para>For example, an NQueens instance just holds a list of all it's
+    queens:</para>
+
+    <programlisting>public class NQueens implements Solution {
+
+    private List&lt;Queen&gt; queenList;
+
+    // ...
+
+}</programlisting>
+
+    <section>
+      <title>The getFacts method</title>
+
+      <para>All Objects returned by the <literal>getFacts()</literal> method
+      will be asserted into the drools working memory. Those facts can be used
+      by the score rules. For example, <literal>NQueens</literal> just returns
+      all <literal>Queen</literal> instances.</para>
+
+      <programlisting>    public Collection&lt;? extends Object&gt; getFacts() {
+        return queenList;
+    }</programlisting>
+    </section>
+
+    <section>
+      <title>The cloneSolution method</title>
+
+      <para>Most solvers use the <literal>cloneSolution()</literal> method to
+      clone the solution each time they encounter a new best solution. The
+      <literal>NQueens</literal> implementation just clones all
+      <literal>Queen</literal> instances:</para>
+
+      <programlisting>    public NQueens cloneSolution() {
+        NQueens clone = new NQueens();
+        List&lt;Queen&gt; clonedQueenList = new ArrayList&lt;Queen&gt;(queenList.size());
+        for (Queen queen : queenList) {
+            clonedQueenList.add(queen.clone());
+        }
+        clone.queenList = clonedQueenList;
+        return clone;
+    }</programlisting>
+
+      <para>The <literal>cloneSolution()</literal> method should clone no more
+      and no less than the parts of the <literal>Solution</literal> that can
+      change during solving. For example, in the lesson schedule example the
+      lessons are cloned, but teachers, groups and timeslots are not cloned
+      because only a lesson's appointed timeslot changes during
+      solving:</para>
+
+      <programlisting>    /**
+     * Clone will only deep copy the lessons
+     */
+    public LessonSchedule cloneSolution() {
+        LessonSchedule clone = new LessonSchedule();
+        clone.timeslotList = timeslotList; // No Deep copy
+        clone.teacherList = teacherList; // No Deep copy
+        clone.groupList = groupList; // No Deep copy
+        List&lt;Lesson&gt; clonedLessonList = new ArrayList&lt;Lesson&gt;(lessonList.size());
+        for (Lesson lesson : lessonList) {
+            clonedLessonList.add(lesson.clone());
+        }
+        clone.lessonList = clonedLessonList;
+        return clone;
+    }</programlisting>
+    </section>
+  </section>
+
+  <section>
+    <title>The starting solution</title>
+
+    <para>First, you will need to make a starting solution and set that on the
+    solver:</para>
+
+    <programlisting>solver.setStartingSolution(startingSolution);</programlisting>
+  </section>
+
+  <section>
+    <title>A simple filler algorithm</title>
+
+    <para>For 4 queens we use a simple filler algorithm that creates a
+    starting solution with all queens on a different x and on the same y (with
+    y = 0).</para>
+
+    <figure>
+      <title>Starting solution for the 4 queens puzzle</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/unsolvedNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>Here's how we generate it:</para>
+
+    <programlisting>    private NQueens createNQueens(int n) {
+        NQueens nQueens = new NQueens();
+        nQueens.setId(0L);
+        List&lt;Queen&gt; queenList = new ArrayList&lt;Queen&gt;(n);
+        for (int i = 0; i &lt; n; i++) {
+            Queen queen = new Queen();
+            queen.setId((long) i);
+            queen.setX(i); // Different column
+            queen.setY(0); // Same row
+            queenList.add(queen);
+        }
+        nQueens.setQueenList(queenList);
+        return nQueens;
+    }</programlisting>
+
+    <para>The starting solution will probably be far from optimal (or even
+    feasible). Here it's actually the worst possible solution. However, we 'll
+    let the solver find a much better solution for us anyway.</para>
+
+    <section>
+      <title>StartingSolutionInitializer</title>
+
+      <para>For large problems, a simple filler algorithm like
+      <literal>createNQueens(int)</literal> doesn't suffice. A (local search)
+      solver starting from a bad starting solution wastes a lot of time to
+      reach a solution which an initializer algorithm can generate in a
+      fraction of that time.</para>
+
+      <para>An initializer algorithm ussually works something like
+      this:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>It sorts the unplanned elements in a queue according to some
+          general rules, for example by exam student size.</para>
+        </listitem>
+
+        <listitem>
+          <para>Next, it plans them in the order they come from the queue.
+          Each element is put the best still available spot.</para>
+        </listitem>
+
+        <listitem>
+          <para>It doesn't change an already planned element. It exits when
+          the queue is empty and all elements are planned.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Such an algorithm is very deterministic: it's really fast, but you
+      can't give it more time to generate an even better solution. In some
+      cases the solution it generates will be feasible, but in most cases it
+      won't. You 'll need a real solver to get to a feasible or more optimal
+      solution. Nevertheless you 'll want to such an initializer to give the
+      real solver a serious head start. You can do this by implementing the
+      <literal>StartingSolutionInitializer</literal> interface:</para>
+
+      <programlisting>public interface StartingSolutionInitializer extends SolverAware {
+
+    boolean isSolutionInitialized(Solution solution);
+
+    void initializeSolution(Solution solution);
+
+}</programlisting>
+
+      <para>You'll need to set a (uninitialized) solution on the solver. Once
+      the solver starts, it will first call the
+      <literal>StartingSolutionInitializer</literal> to initialize the
+      solution. If the <literal>StartingSolutionInitializer</literal> adds,
+      edits or removes facts it needs to notify the workingMemory about this.
+      It can use score calculation during its intialization process.</para>
+
+      <para>Here's an example on how you add the
+      <literal>StartingSolutionInitializer</literal> to the
+      configuration:</para>
+
+      <programlisting>&lt;localSearchSolver&gt;
+    ...
+    &lt;startingSolutionInitializerClass&gt;org.drools.solver.examples.itc2007.examination.solver.solution.initializer.ExaminationStartingSolutionInitializer&lt;/startingSolutionInitializerClass&gt;
+    ...
+&lt;/localSearchSolver&gt;</programlisting>
+    </section>
+  </section>
+
+  <section>
+    <title>Solving a problem</title>
+
+    <para>Solving a problem is quite easy once you have a solver and the
+    starting solution:</para>
+
+    <programlisting>    solver.setStartingSolution(startingSolution);
+    solver.solve();
+    Solution bestSolution = solver.getBestSolution();</programlisting>
+
+    <para>The <literal>solve()</literal> method will take a long time
+    (depending on the problem size and the solver configuration). The solver
+    will remember (actually clone) the best solution it encounters during its
+    solving. Depending on a number factors (including problem size, how long
+    you allow the solver to work, which solver type you use, ...), that best
+    solution will be a feasible or even an optimal solution.</para>
+
+    <figure>
+      <title>Best solution for the 4 queens puzzle (also an optimal
+      solution)</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/Chapter-Solver/solvedNQueens04.png" format="PNG" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+    <para>After a problem is solved, you can reuse the same solver instance to
+    solve another problem (of the same problem type).</para>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_configuration.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_examples.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_examples.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_examples.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,970 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Solver examples</title>
+
+  <section>
+    <title>Introduction</title>
+
+    <para>Drools-solver has several examples. In this manual we explain
+    drools-solver mainly using the n queens example. So it's advisable to read
+    at least the section about that example.</para>
+  </section>
+
+  <section>
+    <title>The n queens example</title>
+
+    <section>
+      <title>Running the example</title>
+
+      <para>In the directory
+      <literal>/drools-solver/drools-solver-examples/</literal> run the
+      following command:</para>
+
+      <programlisting>$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.nqueens.app.NQueensApp"
+...</programlisting>
+    </section>
+
+    <section>
+      <title>Screenshot</title>
+
+      <para>Here is a screenshot of the example:</para>
+
+      <figure>
+        <title>Screenshot of the n queens example</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Solver/screenshotNQueens.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+    </section>
+
+    <section>
+      <title>Problem statement</title>
+
+      <para>The <emphasis>n queens puzzle</emphasis> is a puzzle with the
+      follow constraints:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Use a chessboard of n rows and n columns.</para>
+        </listitem>
+
+        <listitem>
+          <para>Place n queens on the chessboard.</para>
+        </listitem>
+
+        <listitem>
+          <para>No 2 queens can attack each other. Note that a queen can
+          attack any other queen on the same horizontal, vertical or diagonal
+          line.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>The most common n queens puzzle is the 8 queens puzzle, with
+      <emphasis>n = 8</emphasis>. We 'll explain drools-solver using the 4
+      queens puzzle as the primary example.</para>
+
+      <para>A proposed solution could be:</para>
+
+      <figure>
+        <title>A wrong solution for the 4 queens puzzle</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center"
+                       fileref="images/Chapter-Solver/partiallySolvedNQueens04Explained.png"
+                       format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above solution is wrong because queens A1 and B0 can attack
+      each other (as can queens B0 and D0). Removing queen B0 would respect
+      the "no 2 queens can attack each other" constraint, but would break the
+      "place n queens" constraint.</para>
+    </section>
+
+    <section>
+      <title>Solution(s)</title>
+
+      <para>Below is a correct solution:</para>
+
+      <figure>
+        <title>A correct solution for the 4 queens puzzle</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Solver/solvedNQueens04.png"
+                       format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>All the constraints have been met, so the solution is correct.
+      Note that most n queens puzzles have multiple correct solutions. We 'll
+      focus on finding a single correct solution for a given n, not on finding
+      the number of possible correct solutions for a given n.</para>
+    </section>
+
+    <section>
+      <title>Problem size</title>
+
+      <para>These numbers might give you some insight on the size of this
+      problem.</para>
+
+      <table>
+        <title>NQueens problem size</title>
+
+        <tgroup cols="5">
+          <thead>
+            <row>
+              <entry># queens (n)</entry>
+
+              <entry># possible solutions (each queen it's own column)</entry>
+
+              <entry># feasible solutions (distinct)</entry>
+
+              <entry># optimal solutions (distinct)</entry>
+
+              <entry># possible / # optimal</entry>
+            </row>
+          </thead>
+
+          <tbody>
+            <row>
+              <entry>4</entry>
+
+              <entry>256</entry>
+
+              <entry>2</entry>
+
+              <entry>2</entry>
+
+              <entry>128</entry>
+            </row>
+
+            <row>
+              <entry>8</entry>
+
+              <entry>16777216</entry>
+
+              <entry>64</entry>
+
+              <entry>64</entry>
+
+              <entry>262144</entry>
+            </row>
+
+            <row>
+              <entry>16</entry>
+
+              <entry>18446744073709551616</entry>
+
+              <entry>14772512</entry>
+
+              <entry>14772512</entry>
+
+              <entry>1248720872503</entry>
+            </row>
+
+            <row>
+              <entry>32</entry>
+
+              <entry>1.46150163733090291820368483e+48</entry>
+
+              <entry>?</entry>
+
+              <entry>?</entry>
+
+              <entry>?</entry>
+            </row>
+
+            <row>
+              <entry>64</entry>
+
+              <entry>3.94020061963944792122790401e+115</entry>
+
+              <entry>?</entry>
+
+              <entry>?</entry>
+
+              <entry>?</entry>
+            </row>
+
+            <row>
+              <entry>n</entry>
+
+              <entry>n ^ n</entry>
+
+              <entry>?</entry>
+
+              <entry># feasible solutions</entry>
+
+              <entry>?</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+    </section>
+
+    <section>
+      <title>Domain class diagram</title>
+
+      <para>Use a good domain model and it will be easier to understand and
+      solve your problem with drools-solver. We 'll use this domain model for
+      the n queens example:</para>
+
+      <figure>
+        <title>NQueens domain class diagram</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="images/Chapter-Solver/nQueensDomainDiagram.png"
+                       format="PNG" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>A <literal>Queen</literal> instance has an x (its column, for
+      example: 0 is column A, 1 is column B, ...) and a y (its row, for
+      example: 0 is row 0, 1 is row 1, ...). Based on the x and y, the
+      ascending diagonal line as well as the descending diagonal line can be
+      calculated. The x and y indexes start from the upper left corner of the
+      chessboard.</para>
+
+      <table>
+        <title>A solution for the 4 queens puzzle shown in the domain
+        model</title>
+
+        <tgroup cols="6">
+          <thead>
+            <row>
+              <entry align="center">A solution</entry>
+
+              <entry align="center">Queen</entry>
+
+              <entry>x</entry>
+
+              <entry>y</entry>
+
+              <entry>ascendingD (x + y)</entry>
+
+              <entry>descendingD (x - y)</entry>
+            </row>
+          </thead>
+
+          <tbody>
+            <row>
+              <entry morerows="3"><mediaobject>
+                  <imageobject>
+                    <imagedata fileref="images/Chapter-Solver/partiallySolvedNQueens04Explained.png"
+                               format="PNG" />
+                  </imageobject>
+                </mediaobject></entry>
+
+              <entry>A1</entry>
+
+              <entry>0</entry>
+
+              <entry>1</entry>
+
+              <entry>1 (**)</entry>
+
+              <entry>-1</entry>
+            </row>
+
+            <row>
+              <entry>B0</entry>
+
+              <entry>1</entry>
+
+              <entry>0 (*)</entry>
+
+              <entry>1 (**)</entry>
+
+              <entry>1</entry>
+            </row>
+
+            <row>
+              <entry>C2</entry>
+
+              <entry>2</entry>
+
+              <entry>2</entry>
+
+              <entry>4</entry>
+
+              <entry>0</entry>
+            </row>
+
+            <row>
+              <entry>D0</entry>
+
+              <entry>3</entry>
+
+              <entry>0 (*)</entry>
+
+              <entry>3</entry>
+
+              <entry>3</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+
+      <para>A single <literal>NQueens</literal> instance contains a list of
+      all <literal>Queen</literal> instances. It is the
+      <literal>Solution</literal> implementation which will be supplied to and
+      retrieved from drools-solver. Notice that in the 4 queens example,
+      NQueens's <literal>getN()</literal> method will always return 4.</para>
+
+      <para>You can find the source code of this example (as well as well as
+      several other examples) in the drools-solver-examples src
+      distribution.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>The lesson schedule example</title>
+
+    <section>
+      <title>Running the example</title>
+
+      <para>In the directory
+      <literal>/drools-solver/drools-solver-examples/</literal> run the
+      following command:</para>
+
+      <programlisting>$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.lessonschedule.app.LessonScheduleApp"
+...</programlisting>
+    </section>
+
+    <section>
+      <title>Screenshot</title>
+
+      <para>Here is a screenshot of the example:</para>
+
+      <figure>
+        <title>Screenshot of the lesson schedule example</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Solver/screenshotLessonSchedule.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+    </section>
+
+    <section>
+      <title>Problem statement</title>
+
+      <para>Schedule lessons with the follow constraints:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>No teacher with 2 lessons in the same timeslot</para>
+        </listitem>
+
+        <listitem>
+          <para>No group with 2 lessons in the same timeslot</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+
+  <section>
+    <title>The traveling tournament example</title>
+
+    <section>
+      <title>Running the example</title>
+
+      <para>In the directory
+      <literal>/drools-solver/drools-solver-examples/</literal> run one of the
+      the following commands:</para>
+
+      <programlisting>$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.travelingtournament.app.simple.SimpleTravelingTournamentApp"
+...
+$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.travelingtournament.app.smart.SmartTravelingTournamentApp"
+...</programlisting>
+
+      <para>The smart implementation performs and scales a lot better than the
+      simple implementation.</para>
+    </section>
+
+    <section>
+      <title>Screenshot</title>
+
+      <para>Here is a screenshot of the example:</para>
+
+      <figure>
+        <title>Screenshot of the traveling tournament example</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Solver/screenshotTravelingTournament.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+    </section>
+
+    <section>
+      <title>Problem statement</title>
+
+      <para>Schedule matches between teams with the following hard
+      constraints:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Each team plays twice against every other team: once home and
+          once away</para>
+        </listitem>
+
+        <listitem>
+          <para>Each team has exactly 1 match on each playing day</para>
+        </listitem>
+
+        <listitem>
+          <para>No more than 3 consecutive home or 3 consecutive away matches
+          for any team</para>
+        </listitem>
+
+        <listitem>
+          <para>No repeaters: 2 consecutive matches of the same 2 teams (so
+          each team plays once home and once away</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>and the following soft constraints:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Minimize the total distance traveled of all teams.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para><ulink url="http://mat.gsia.cmu.edu/TOURN/">You can find a
+      detailed description as well as several records of this problem
+      here.</ulink></para>
+    </section>
+
+    <section>
+      <title>Problem size</title>
+
+      <para>These numbers might give you some insight on the size of this
+      problem.</para>
+
+      <table>
+        <title>Traveling tournament problem size</title>
+
+        <tgroup cols="7">
+          <thead>
+            <row>
+              <entry># teams</entry>
+
+              <entry># days</entry>
+
+              <entry># matches</entry>
+
+              <entry># possible solutions (simple)</entry>
+
+              <entry># possible solutions (smart)</entry>
+
+              <entry># feasible solutions</entry>
+
+              <entry># optimal solutions</entry>
+            </row>
+          </thead>
+
+          <tbody>
+            <row>
+              <entry>4</entry>
+
+              <entry>6</entry>
+
+              <entry>12</entry>
+
+              <entry>2176782336</entry>
+
+              <entry>&lt;= 518400</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>6</entry>
+
+              <entry>10</entry>
+
+              <entry>30</entry>
+
+              <entry>1000000000000000000000000000000</entry>
+
+              <entry>&lt;= 47784725839872000000</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>8</entry>
+
+              <entry>14</entry>
+
+              <entry>56</entry>
+
+              <entry>1.52464943788290465606136043e+64</entry>
+
+              <entry>&lt;= 5.77608277425558771434498864e+43</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>10</entry>
+
+              <entry>18</entry>
+
+              <entry>90</entry>
+
+              <entry>9.43029892325559280477052413e+112</entry>
+
+              <entry>&lt;= 1.07573451027871200629339068e+79</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>12</entry>
+
+              <entry>22</entry>
+
+              <entry>132</entry>
+
+              <entry>1.58414112478195320415135060e+177</entry>
+
+              <entry>&lt;= 2.01650616733413376416949843e+126</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>14</entry>
+
+              <entry>26</entry>
+
+              <entry>182</entry>
+
+              <entry>3.35080635695103223315189511e+257</entry>
+
+              <entry>&lt;= 1.73513467024013808570420241e+186</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>16</entry>
+
+              <entry>30</entry>
+
+              <entry>240</entry>
+
+              <entry>3.22924601799855400751522483e+354</entry>
+
+              <entry>&lt;= 2.45064610271441678267620602e+259</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>n</entry>
+
+              <entry>2 * (n - 1)</entry>
+
+              <entry>n * (n - 1)</entry>
+
+              <entry>(2 * (n - 1)) ^ (n * (n - 1))</entry>
+
+              <entry>&lt;= (((2 * (n - 1))!) ^ (n / 2))</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+    </section>
+  </section>
+
+  <section>
+    <title>The ITC2007 examination example</title>
+
+    <section>
+      <title>Running the example</title>
+
+      <para>In the directory
+      <literal>/drools-solver/drools-solver-examples/</literal> run the
+      following command:</para>
+
+      <programlisting>$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.itc2007.examination.app.ExaminationApp"
+...</programlisting>
+    </section>
+
+    <section>
+      <title>Screenshot</title>
+
+      <para>Here is a screenshot of the example:</para>
+
+      <figure>
+        <title>Screenshot of the examination example</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Solver/screenshotExamination.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+    </section>
+
+    <section>
+      <title>Problem statement</title>
+
+      <para>Schedule each exam into a period and into a room. Multiple exams
+      can share the same room during the same period.</para>
+
+      <para>There are a number of hard constraints that cannot be
+      broken:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Exam conflict: 2 exams that share students should not occur in
+          the same period.</para>
+        </listitem>
+
+        <listitem>
+          <para>Room capacity: A room's seating capacity should suffice at all
+          times.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period duration: A period's duration should suffice for all of
+          its exams.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period related hard constraints should be fulfilled:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>Coincidence: 2 exams should use the same period (but
+              possibly another room).</para>
+            </listitem>
+
+            <listitem>
+              <para>Exclusion: 2 exams should not use the same period.</para>
+            </listitem>
+
+            <listitem>
+              <para>After: 1 exam should occur in a period after another
+              exam's period.</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>Room related hard constraints should be fulfilled:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>Exclusive: 1 exam should not have to share its room with
+              any other exam.</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+      </itemizedlist>
+
+      <para>There are also a number of soft constraints that should be
+      minimized (each of which has parameterized penalty's):</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>2 exams in a row.</para>
+        </listitem>
+
+        <listitem>
+          <para>2 exams in a day.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period spread: 2 exams that share students should be a number
+          of periods apart.</para>
+        </listitem>
+
+        <listitem>
+          <para>Mixed durations: 2 exams that share a room should not have
+          different durations.</para>
+        </listitem>
+
+        <listitem>
+          <para>Front load: Large exams should be scheduled earlier in the
+          schedule.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period penalty: Some periods have a penalty when used.</para>
+        </listitem>
+
+        <listitem>
+          <para>Room penalty: Some rooms have a penalty when used.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>It uses large test data sets of real-life universities.</para>
+
+      <para><ulink
+      url="http://www.cs.qub.ac.uk/itc2007/examtrack/exam_track_index.htm">You
+      can find a more detailed description of this problem
+      here.</ulink></para>
+    </section>
+
+    <section>
+      <title>Problem size</title>
+
+      <para>These numbers might give you some insight on the size of this
+      problem.</para>
+
+      <table>
+        <title>Examination problem size</title>
+
+        <tgroup cols="8">
+          <thead>
+            <row>
+              <entry>Set</entry>
+
+              <entry># students</entry>
+
+              <entry># exams/topics</entry>
+
+              <entry># periods</entry>
+
+              <entry># rooms</entry>
+
+              <entry># possible solutions</entry>
+
+              <entry># feasible solutions</entry>
+
+              <entry># optimal solutions</entry>
+            </row>
+          </thead>
+
+          <tbody>
+            <row>
+              <entry>exam_comp_set1</entry>
+
+              <entry>7883</entry>
+
+              <entry>607</entry>
+
+              <entry>54</entry>
+
+              <entry>7</entry>
+
+              <entry>1.11000574474221096210367623e+1052</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set2</entry>
+
+              <entry>12484</entry>
+
+              <entry>870</entry>
+
+              <entry>40</entry>
+
+              <entry>49</entry>
+
+              <entry>2.86903028422562597982749122e+5761</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set3</entry>
+
+              <entry>16365</entry>
+
+              <entry>934</entry>
+
+              <entry>36</entry>
+
+              <entry>48</entry>
+
+              <entry>5.74648299136737635070728795e+5132</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set4</entry>
+
+              <entry>4421</entry>
+
+              <entry>273</entry>
+
+              <entry>21</entry>
+
+              <entry>1</entry>
+
+              <entry>1.44349601026818742275741580e+51</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set5</entry>
+
+              <entry>8719</entry>
+
+              <entry>1018</entry>
+
+              <entry>42</entry>
+
+              <entry>3</entry>
+
+              <entry></entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set6</entry>
+
+              <entry>7909</entry>
+
+              <entry>242</entry>
+
+              <entry>16</entry>
+
+              <entry>8</entry>
+
+              <entry></entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set7</entry>
+
+              <entry>13795</entry>
+
+              <entry>1096</entry>
+
+              <entry>80</entry>
+
+              <entry>28</entry>
+
+              <entry></entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>exam_comp_set8</entry>
+
+              <entry>7718</entry>
+
+              <entry>598</entry>
+
+              <entry>80</entry>
+
+              <entry>8</entry>
+
+              <entry></entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+
+            <row>
+              <entry>?</entry>
+
+              <entry>s</entry>
+
+              <entry>t</entry>
+
+              <entry>p</entry>
+
+              <entry>r</entry>
+
+              <entry>(t ^ p) ^ r</entry>
+
+              <entry>?</entry>
+
+              <entry>1?</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </table>
+    </section>
+
+    <section>
+      <title>Domain class diagram</title>
+
+      <para>Below you can see the main examination domain classes:</para>
+
+      <figure>
+        <title>Examination domain class diagram</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/Chapter-Solver/examinationDomainDiagram.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Notice that we've split up the exam concept into an
+      <literal>Exam</literal> class and a <literal>Topic</literal> class. The
+      <literal>Exam</literal> instances change during solving, when they get
+      another period or room. The <literal>Topic</literal>,
+      <literal>Period</literal> and <literal>Room</literal> instances never
+      change during solving.</para>
+    </section>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_examples.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_introduction.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_introduction.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_introduction.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section  version="5.0" xmlns="http://docbook.org/ns/docbook"
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"
+                    xmlns:svg="http://www.w3.org/2000/svg"
+                    xmlns:m="http://www.w3.org/1998/Math/MathML"
+                    xmlns:html="http://www.w3.org/1999/xhtml"
+                    xmlns:db="http://docbook.org/ns/docbook" xml:base="../../">
+  <title>Solver introduction</title>
+
+  <section>
+    <title>What is a Solver?</title>
+
+    <para>Drools-solver combines a search algorithm with the power of the
+    drools rule engine to solve planning problems. Good examples of such
+    planning problems include:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Employee shift rostering</para>
+      </listitem>
+
+      <listitem>
+        <para>Freight routing</para>
+      </listitem>
+
+      <listitem>
+        <para>Supply sorting</para>
+      </listitem>
+
+      <listitem>
+        <para>Lesson scheduling</para>
+      </listitem>
+
+      <listitem>
+        <para>Exam scheduling</para>
+      </listitem>
+
+      <listitem>
+        <para><ulink
+        url="http://en.wikipedia.org/wiki/Travelling_salesman_problem">The
+        traveling salesman problem</ulink></para>
+      </listitem>
+
+      <listitem>
+        <para><ulink url="http://mat.gsia.cmu.edu/TOURN/">The traveling
+        tournament problem</ulink></para>
+      </listitem>
+
+      <listitem>
+        <para>Miss manners too (although drools-solver would solve this
+        differently than the pure drools rule engine example)</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>A planning problem consists out of a number of constraints.
+    Generally, there are 3 types of constraints:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>A <emphasis>(negative) hard constraint</emphasis> must not be
+        broken. For example: <emphasis>1 teacher can not teach 2 different
+        lessons at the same time</emphasis>.</para>
+      </listitem>
+
+      <listitem>
+        <para>A <emphasis>(negative) soft constraint</emphasis> should not be
+        broken if it can be avoided. For example: <emphasis>Teacher A does not
+        like to teach on Friday afternoon</emphasis>.</para>
+      </listitem>
+
+      <listitem>
+        <para>A <emphasis>positive constraint (or reward)</emphasis> should be
+        fulfilled if possible. For example: <emphasis>Teacher B likes to teach
+        on Monday morning</emphasis>.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>These constraints define the <emphasis>score function</emphasis> of
+    a planning problem. This is where the drools rule engine comes into play:
+    <emphasis role="bold">adding constraints with score rules is easy and
+    scalable</emphasis>.</para>
+
+    <para>A planning problem has a number of <emphasis>solutions</emphasis>.
+    Each solution has a score. We can break down the solutions of a planning
+    problem into 3 categories:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>A <emphasis>possible solution</emphasis> is a solution that does
+        or does not break any number of constraints. Planning problems tend to
+        have a incredibly large number of possible solutions. Most of those
+        solutions are worthless.</para>
+      </listitem>
+
+      <listitem>
+        <para>A <emphasis>feasible solution</emphasis> is a solution that does
+        not break any (negative) hard constraints. The number of feasible
+        solutions tends to be relative to the number of possible solutions.
+        Sometimes there are no feasible solutions.</para>
+      </listitem>
+
+      <listitem>
+        <para>An <emphasis>optimal solution</emphasis> is a solution with the
+        highest score. Planning problems tend to have 1 or a few optimal
+        solutions. There is always at least 1 optimal solution, even in the
+        remote case that it's not a feasible solution because there are no
+        feasible solutions.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Drools-solver supports several search algorithms to efficiently wade
+    through the incredbly large number of possible solutions. <emphasis
+    role="bold">It makes it easy to switch the search algorithm</emphasis>, by
+    simply changing the solver configuration.</para>
+  </section>
+
+  <section>
+    <title>Status of drools-solver</title>
+
+    <para>Drools-solver is an <emphasis role="bold">experimental</emphasis>
+    module of Drools. The API is far from stable and backward incompatible
+    changes occur now and then. A recipe to upgrade and apply those API
+    changes between versions will be maintained soon.</para>
+
+    <para>You can download an alfa release of Drools-solver from <ulink
+    url="http://www.jboss.org/drools/downloads.html">the drools download
+    site</ulink>.</para>
+  </section>
+
+  <section>
+    <title>Building drools-solver and running an example</title>
+
+    <para>You can also easily build it from source yourself. Check out drools
+    from subversion and do a maven 2 build with the solver profile:</para>
+
+    <programlisting>$ svn checkout http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/ drools
+...
+$ cd drools
+$ mvn -Dmaven.test.skip clean install
+...</programlisting>
+
+    <para>After that, you can run any example directly from the command line,
+    for example to run the n queens example, run:</para>
+
+    <programlisting>$ cd drools-solver/drools-solver-examples/
+$ mvn exec:exec -Dexec.mainClass="org.drools.solver.examples.nqueens.app.NQueensApp"
+...</programlisting>
+
+    <para>You will use drools-solver with the latest, unstable snapshot of the
+    drools rule engine. If you would rather use a stable version of the drools
+    rule engine, edit <literal>/drools-solver/pom.xml</literal> and overwrite
+    the drools jar versions, before building and running the examples:</para>
+
+    <programlisting>    &lt;dependencyManagement&gt;
+        &lt;dependencies&gt;
+            &lt;dependency&gt;
+                &lt;groupId&gt;org.drools&lt;/groupId&gt;
+                &lt;artifactId&gt;drools-core&lt;/artifactId&gt;
+                &lt;version&gt;4.0.3&lt;/version&gt;
+            &lt;/dependency&gt;
+            &lt;dependency&gt;
+                &lt;groupId&gt;org.drools&lt;/groupId&gt;
+                &lt;artifactId&gt;drools-compiler&lt;/artifactId&gt;
+                &lt;version&gt;4.0.3&lt;/version&gt;
+            &lt;/dependency&gt;
+        &lt;/dependencies&gt;
+    &lt;/dependencyManagement&gt;</programlisting>
+  </section>
+</section>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/Chapter-Solver/Section-Solver_introduction.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/index.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/index.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/index.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <title>Drools</title>
+</head>
+<frameset cols="25%,*">
+ <frame src="bk01-toc.html" name="list">
+ <frame src="title.html" name="body">
+</frameset>
+</html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/index.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/master.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/master.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/master.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+	xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
+	<info>
+		<title>Drools Solver (experimental)</title>
+
+		<releaseinfo>5.0.0.SNAPSHOT</releaseinfo>
+
+		<author>
+			<firstname>Geoffrey</firstname>
+
+			<surname>De Smet</surname>
+		</author>
+	</info>
+
+	<!--
+		<preface id="preface" revision="2"> <title>Preface</title>
+
+		<mediaobject> <imageobject> <imagedata fileref="drools_logo.png" />
+		</imageobject> </mediaobject> <para /> </preface>
+	-->
+
+
+	<xi:include href="Chapter-Solver/Chapter-Solver.xml" />
+	<index />
+</book>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/en-US/master.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,7069 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="670"
+   height="725.41364"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="allStepsNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\allStepsNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4439" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="948"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.99667275"
+     inkscape:cx="355"
+     inkscape:cy="309.5994"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(5.9604645e-8,-639.65536)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(140,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(110,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(80,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(50,-649.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2296"
+     transform="translate(135,-639.65536)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2298"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2300"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2302"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2304"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2306"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2308"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2310"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2312"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2314"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2316"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2318"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2320"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2322"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2324"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2326"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2328"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(275,-679.65536)"
+     id="g2330">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2332"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2334"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2336"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2338"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2340"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2342"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2344"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2346"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2348"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2350"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2352"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2354"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(245,-679.65536)"
+     id="g2356">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2358"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2360"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2362"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2364"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2366"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2368"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2370"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2372"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2374"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2376"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2378"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2380"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(215,-679.65536)"
+     id="g2382">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2384"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2386"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2388"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2390"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2392"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2394"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2396"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2398"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2400"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2402"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2404"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2406"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(185,-619.65536)"
+     id="g2408">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2410"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2412"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2414"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2416"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2418"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2420"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2422"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2424"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2426"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2428"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2430"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2432"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(285,-639.65536)"
+     id="g2434">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2436"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2438"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2440"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2442"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2444"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2446"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2448"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2450"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2452"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2454"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2456"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2458"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2460"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2462"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2464"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2466"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g2468"
+     transform="translate(425,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2470"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2472"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2474"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2476"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2478"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2480"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2482"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2484"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2486"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2488"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2490"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2492"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2494"
+     transform="translate(395,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2496"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2498"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2500"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2502"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2504"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2506"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2508"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2510"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2512"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2514"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2516"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2518"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2520"
+     transform="translate(365,-589.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2522"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2524"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2526"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2528"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2530"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2532"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2534"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2536"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2538"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2540"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2542"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2544"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2546"
+     transform="translate(335,-679.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2548"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2550"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2552"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2554"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2556"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2558"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2560"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2562"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2564"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2566"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2568"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2570"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="339.80014"
+     y="270.35547"
+     id="text2572"
+     transform="scale(1.0698385,0.9347205)"><tspan
+       sodipodi:role="line"
+       id="tspan2574"
+       x="339.80014"
+       y="270.35547">...</tspan></text>
+  <g
+     id="g2576"
+     transform="translate(214.50003,-809.65536)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2578"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2580"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2582"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2584"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2586"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2588"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2590"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2592"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2594"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2596"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2598"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2602"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2604"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2606"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2608"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(354.50003,-849.65536)"
+     id="g2610">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2612"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2614"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2616"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2618"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2620"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2622"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2624"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2626"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2628"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2630"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2632"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2634"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(324.50003,-849.65536)"
+     id="g2636">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2638"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2640"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2642"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2644"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2646"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2648"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2650"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2652"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2654"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2656"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2658"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2660"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(294.50003,-849.65536)"
+     id="g2662">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2664"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2666"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2668"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2670"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2672"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2674"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2676"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2678"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2680"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2682"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2684"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2686"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(264.50003,-849.65536)"
+     id="g2688">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2690"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2692"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2694"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2696"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2698"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2700"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2702"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2704"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2706"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2708"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2710"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2712"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <text
+     transform="scale(1.0446886,0.9572231)"
+     id="text2716"
+     y="17.97588"
+     x="310.9856"
+     style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="17.97588"
+       x="310.9856"
+       id="tspan2718"
+       sodipodi:role="line">A</tspan></text>
+  <text
+     transform="scale(1.1873587,0.8422055)"
+     id="text2720"
+     y="20.430693"
+     x="297.38446"
+     style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan2722"
+       y="20.430693"
+       x="297.38446"
+       sodipodi:role="line">B</tspan></text>
+  <text
+     transform="scale(1.1342596,0.8816324)"
+     id="text2724"
+     y="19.304672"
+     x="338.58643"
+     style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="19.304672"
+       x="338.58643"
+       id="tspan2726"
+       sodipodi:role="line">C</tspan></text>
+  <text
+     transform="scale(1.0907069,0.9168366)"
+     id="text2728"
+     y="18.767597"
+     x="379.0188"
+     style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="18.767597"
+       x="379.0188"
+       id="tspan2730"
+       sodipodi:role="line">D</tspan></text>
+  <rect
+     y="0.50000006"
+     x="0.50000006"
+     height="724.41364"
+     width="669"
+     id="rect2748"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2" />
+  <g
+     id="g2767"
+     transform="translate(435,-639.65536)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2769"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2771"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2773"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2775"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2777"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2779"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2781"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2783"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2785"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2787"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2789"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2791"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2793"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2795"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2797"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2799"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <text
+     transform="scale(1.0698385,0.9347205)"
+     id="text2801"
+     y="271.42529"
+     x="479.07349"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="271.42529"
+       x="479.07349"
+       id="tspan2803"
+       sodipodi:role="line">...</tspan></text>
+  <g
+     transform="translate(575,-589.65536)"
+     id="g2805">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2807"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2809"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2811"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2813"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2815"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2817"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2819"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2821"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2823"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2825"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2827"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2829"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(545,-679.65536)"
+     id="g2831">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2833"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2835"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2837"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2839"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2841"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2843"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2845"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2847"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2849"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2851"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2853"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2855"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(515,-679.65536)"
+     id="g2857">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2859"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2861"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2863"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2865"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2867"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2869"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2871"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2873"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2875"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2877"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2879"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2881"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(485,-679.65536)"
+     id="g2883">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2885"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2887"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2889"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2891"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2893"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2895"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2897"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2899"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2901"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2903"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2905"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2907"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 375,152.70682 C 300,182.70682 300,182.70682 300,182.70682 L 300,182.70682 C 300,172.70682 300,172.70682 300,172.70682"
+     id="path2909" />
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 300.45456,182.70682 C 315.00002,182.70682 315.00002,182.70682 315.00002,182.70682 L 315.00002,182.70682"
+     id="path2911" />
+  <g
+     style="fill:none;stroke:#0000ff;stroke-width:1.24354005;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g6793"
+     transform="matrix(2.5866667,0,0,1,-595,-639.65536)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.24354005;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path6795" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.24354005;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       id="path6797" />
+  </g>
+  <g
+     style="fill:none;stroke:#009900;stroke-width:2.15052247;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g6799"
+     transform="matrix(-0.8649123,0,0,1,699.34211,-639.65536)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path6801" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300.74521,822.36218 C 317.19066,822.36218 317.19066,822.36218 317.19066,822.36218 L 317.19066,822.36218"
+       id="path6803" />
+  </g>
+  <g
+     transform="matrix(-2.8533338,0,0,1,1445.0001,-639.65536)"
+     id="g6805"
+     style="fill:none;stroke:#0000ff;stroke-width:1.1840055;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+    <path
+       id="path6807"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.1840055;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path6809"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.1840055;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="445"
+     y="87.706818"
+     id="text6813"><tspan
+       sodipodi:role="line"
+       x="445"
+       y="87.706818"
+       id="tspan6817">Score -6</tspan></text>
+  <text
+     id="text6821"
+     y="333.09744"
+     x="130"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6823"
+       y="333.09744"
+       x="130"
+       sodipodi:role="line">Score -4</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="265"
+     y="333.09744"
+     id="text6827"><tspan
+       sodipodi:role="line"
+       x="265"
+       y="333.09744"
+       id="tspan6829">Score -4</tspan></text>
+  <text
+     id="text6831"
+     y="332.70682"
+     x="416.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6833"
+       y="332.70682"
+       x="416.70703"
+       sodipodi:role="line">Score -3</tspan></text>
+  <text
+     id="text6835"
+     y="332.70682"
+     x="566.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6837"
+       y="332.70682"
+       x="566.70703"
+       sodipodi:role="line">Score -4</tspan></text>
+  <path
+     sodipodi:type="arc"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:1.89466202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path6839"
+     sodipodi:cx="445"
+     sodipodi:cy="967.36218"
+     sodipodi:rx="35"
+     sodipodi:ry="10"
+     d="M 480,967.36218 A 35,10 0 1 1 410,967.36218 A 35,10 0 1 1 480,967.36218 z"
+     transform="matrix(1.1142855,0,0,1,-50.857047,-639.65536)" />
+  <g
+     transform="translate(5.9604645e-8,-449.65536)"
+     id="g2562">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2564"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2566"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2568"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2570"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2572"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2574"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2576"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2579"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2581"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2583"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2585"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2587"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2589"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2591"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2593"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2595"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(140,-489.65536)"
+     id="g2597">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2599"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2601"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2603"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2605"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2607"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2609"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2611"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2613"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2615"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2617"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2619"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2621"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(110,-489.65536)"
+     id="g2623">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2625"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2627"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2629"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2631"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2633"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2635"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2637"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2639"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2641"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2643"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2645"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2647"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(80,-399.65536)"
+     id="g2649">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2651"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2653"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2655"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2657"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2659"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2661"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2663"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2665"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2667"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2669"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2671"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2673"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(50,-459.65536)"
+     id="g2675">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2677"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2679"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2681"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2683"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2685"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2687"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2689"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2691"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2693"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2695"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2697"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2699"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(135,-449.65536)"
+     id="g2701">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2703"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2705"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2707"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2709"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2711"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2713"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2715"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2717"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2719"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2721"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2723"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2725"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2727"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2729"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2731"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2733"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g2735"
+     transform="translate(275,-489.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2737"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2739"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2741"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2743"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2745"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2747"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2749"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2751"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2753"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2755"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2757"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2759"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2761"
+     transform="translate(245,-489.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2763"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2765"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2767"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2769"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2771"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2773"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2775"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2777"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2779"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2781"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2783"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2785"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2787"
+     transform="translate(215,-399.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2790"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2792"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2794"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2796"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2798"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2800"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2802"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2804"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2806"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2808"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2810"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2812"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2814"
+     transform="translate(185,-429.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2816"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2818"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2820"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2822"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2824"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2826"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2828"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2830"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2832"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2834"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2836"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2838"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2840"
+     transform="translate(285,-449.65536)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2842"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2844"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2846"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2848"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2850"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2852"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2854"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2856"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2858"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2860"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2862"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2864"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2866"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2868"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2870"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2872"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(425,-429.65536)"
+     id="g2874">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2876"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2878"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2880"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2882"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2884"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2886"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2888"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2890"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2892"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2894"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2896"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2898"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(395,-489.65536)"
+     id="g2900">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2902"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2904"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2906"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2908"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2910"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2912"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2914"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2916"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2918"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2920"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2922"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2924"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(365,-399.65536)"
+     id="g2926">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2928"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2930"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2932"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2934"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2936"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2938"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2940"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2942"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2944"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2946"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2948"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2950"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(335,-489.65536)"
+     id="g2952">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2954"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2956"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2958"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2960"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2962"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2964"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2966"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2968"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2970"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2972"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2974"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2976"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <text
+     transform="scale(1.0698385,0.9347205)"
+     id="text2978"
+     y="473.62469"
+     x="339.80014"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="473.62469"
+       x="339.80014"
+       id="tspan2980"
+       sodipodi:role="line">...</tspan></text>
+  <g
+     transform="translate(420,-449.65536)"
+     id="g2982">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2984"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2986"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2988"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2990"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2992"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2994"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2996"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2998"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3000"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3002"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3004"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3006"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3008"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3010"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3012"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3014"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g3020"
+     transform="translate(560,-399.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3022"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3024"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3026"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3028"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3030"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3032"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3034"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3036"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3038"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3040"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3042"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3044"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3046"
+     transform="translate(530,-489.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3048"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3050"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3052"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3054"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3056"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3058"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3060"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3062"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3064"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3066"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3068"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3070"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3072"
+     transform="translate(500,-399.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3074"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3076"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3078"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3080"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3082"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3084"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3086"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3088"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3090"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3092"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3094"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3096"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3098"
+     transform="translate(470,-489.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3100"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3102"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3104"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3106"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3108"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3110"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3112"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3114"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3116"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3118"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3120"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3122"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <path
+     id="path3124"
+     d="M 444,342.70682 C 300,372.70682 300,372.70682 300,372.70682 L 300,372.70682 C 300,362.70682 300,362.70682 300,362.70682"
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     id="path3126"
+     d="M 300.45456,372.70682 C 315.00002,372.70682 315.00002,372.70682 315.00002,372.70682 L 315.00002,372.70682"
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(3.5067172,0,0,1,-871.01516,-449.65536)"
+     id="g3128"
+     style="fill:none;stroke:#0000ff;stroke-width:1.0680207;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+    <path
+       id="path3130"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.0680207;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path3132"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.0680207;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     transform="matrix(-0.8649123,0,0,1,699.34211,-449.65536)"
+     id="g3134"
+     style="fill:none;stroke:#009900;stroke-width:2.15052247;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+    <g
+       id="g3770"
+       style="stroke:#009900;stroke-linejoin:round;stroke-opacity:1">
+      <path
+         sodipodi:nodetypes="cc"
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 294.06694,792.36218 C 294.06694,822.36218 294.06694,822.36218 294.06694,822.36218"
+         id="path3136" />
+    </g>
+    <path
+       style="opacity:1;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="M 430,622.36218 C 445,632.36218 445,632.36218 445,632.36218 L 460,622.36218"
+       id="path4746"
+       transform="matrix(-1.1561866,0,0,1,808.56997,190)" />
+  </g>
+  <g
+     style="fill:none;stroke:#0000ff;stroke-width:1.52556074;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g3140"
+     transform="matrix(-1.7187035,0,0,1,1090.5138,-449.65536)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.52556074;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path3142" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.52556074;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       id="path3144" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="130"
+     y="523.09747"
+     id="text3146"><tspan
+       sodipodi:role="line"
+       x="130"
+       y="523.09747"
+       id="tspan3764">Score -1</tspan></text>
+  <text
+     id="text3150"
+     y="523.09747"
+     x="265"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan3152"
+       y="523.09747"
+       x="265"
+       sodipodi:role="line">Score -3</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="416.70703"
+     y="522.70685"
+     id="text3154"><tspan
+       sodipodi:role="line"
+       x="416.70703"
+       y="522.70685"
+       id="tspan3156">Score -1</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="551.70703"
+     y="522.70685"
+     id="text3158"><tspan
+       sodipodi:role="line"
+       x="551.70703"
+       y="522.70685"
+       id="tspan3160">Score -4</tspan></text>
+  <path
+     transform="matrix(1.1142855,0,0,1,-50.857047,-449.65536)"
+     d="M 480,967.36218 A 35,10 0 1 1 410,967.36218 A 35,10 0 1 1 480,967.36218 z"
+     sodipodi:ry="10"
+     sodipodi:rx="35"
+     sodipodi:cy="967.36218"
+     sodipodi:cx="445"
+     id="path3162"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:1.89466202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     sodipodi:type="arc" />
+  <g
+     id="g3164"
+     transform="translate(5.9604645e-8,-259.65536)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3166"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3168"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3170"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3172"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3174"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3176"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3178"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3180"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3182"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3184"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3186"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3188"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3190"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3192"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3194"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3196"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g3198"
+     transform="translate(140,-239.69423)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3200"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3202"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3204"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3206"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3208"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3210"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3212"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3214"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3216"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3218"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3220"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3222"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3224"
+     transform="translate(110,-299.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3226"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3228"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3230"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3232"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3234"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3236"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3238"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3240"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3242"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3244"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3246"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3248"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3250"
+     transform="translate(80,-209.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3252"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3254"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3256"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3258"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3260"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3262"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3264"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3266"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3268"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3270"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3272"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3274"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3276"
+     transform="translate(50,-269.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3278"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3280"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3282"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3284"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3286"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3288"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3290"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3292"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3294"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3296"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3298"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3300"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3302"
+     transform="translate(135,-259.65536)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3304"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3306"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3308"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3310"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3312"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3314"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3316"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3318"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3320"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3322"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3324"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3326"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3328"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3330"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3332"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3334"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(275,-239.65536)"
+     id="g3336">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3338"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3340"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3342"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3344"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3346"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3348"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3350"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3352"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3354"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3356"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3358"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3360"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(245,-299.65536)"
+     id="g3362">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3364"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3366"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3368"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3370"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3372"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3374"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3376"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3378"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3380"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3382"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3384"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3386"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(215,-209.65536)"
+     id="g3388">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3390"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3392"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3394"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3396"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3398"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3400"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3402"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3404"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3406"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3408"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3410"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3412"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(185,-239.65536)"
+     id="g3414">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3416"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3418"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3420"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3422"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3424"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3426"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3428"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3430"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3432"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3434"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3436"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3438"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(285,-259.65536)"
+     id="g3440">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3442"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3444"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3446"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3448"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3450"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3452"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3454"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3456"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3458"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3460"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3462"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3464"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3466"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3468"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3470"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3472"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g3474"
+     transform="translate(425,-269.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3476"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3478"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3480"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3482"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3484"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3486"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3488"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3490"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3492"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3494"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3496"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3498"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3500"
+     transform="translate(395,-299.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3502"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3504"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3506"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3508"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3510"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3512"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3514"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3516"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3518"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3520"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3522"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3524"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3526"
+     transform="translate(365,-209.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3528"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3530"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3532"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3534"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3536"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3538"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3540"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3542"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3544"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3546"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3548"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3550"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3552"
+     transform="translate(335,-299.65536)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3554"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3556"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3558"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3560"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3562"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3564"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3566"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3568"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3570"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3572"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3574"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3576"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="339.80014"
+     y="676.89398"
+     id="text3578"
+     transform="scale(1.0698385,0.9347205)"><tspan
+       sodipodi:role="line"
+       id="tspan3580"
+       x="339.80014"
+       y="676.89398">...</tspan></text>
+  <g
+     id="g3582"
+     transform="translate(420,-259.85361)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3584"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3586"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3588"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3590"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3592"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3594"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3596"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3598"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3600"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3602"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3604"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3606"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3608"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3610"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3612"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3614"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(560,-209.85361)"
+     id="g3620">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3622"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3624"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3626"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3628"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3630"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3632"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3634"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3636"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3638"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3640"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3642"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3644"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(530,-299.85361)"
+     id="g3646">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3648"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3650"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3652"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3654"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3656"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3658"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3660"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3662"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3664"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3666"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3668"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3670"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(500,-209.85361)"
+     id="g3672">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3674"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3676"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3678"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3680"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3682"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3684"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3686"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3688"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3690"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3692"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3694"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3696"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(470,-299.85361)"
+     id="g3698">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3700"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path3702"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path3704"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path3706"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path3708"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3710"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3712"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3714"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3716"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path3718"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3720"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3722"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 300.45456,562.70682 C 315.00002,562.70682 315.00002,562.70682 315.00002,562.70682 L 315.00002,562.70682"
+     id="path3726" />
+  <text
+     id="text3746"
+     y="713.09747"
+     x="133.02637"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan3748"
+       y="713.09747"
+       x="133.02637"
+       sodipodi:role="line">Score 0</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="265"
+     y="713.09747"
+     id="text3750"><tspan
+       sodipodi:role="line"
+       x="265"
+       y="713.09747"
+       id="tspan3752">Score -3</tspan></text>
+  <text
+     id="text3754"
+     y="712.70685"
+     x="416.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan3756"
+       y="712.70685"
+       x="416.70703"
+       sodipodi:role="line">Score -3</tspan></text>
+  <text
+     id="text3758"
+     y="712.50861"
+     x="551.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan3760"
+       y="712.50861"
+       x="551.70703"
+       sodipodi:role="line">Score -4</tspan></text>
+  <path
+     sodipodi:type="arc"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:1.89466202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path3762"
+     sodipodi:cx="445"
+     sodipodi:cy="967.36218"
+     sodipodi:rx="35"
+     sodipodi:ry="10"
+     d="M 480,967.36218 A 35,10 0 1 1 410,967.36218 A 35,10 0 1 1 480,967.36218 z"
+     transform="matrix(1.1142855,0,0,1,-335.85704,-258.65536)" />
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 444,532.70682 C 300,562.70682 300,562.70682 300,562.70682 L 300,562.70682 C 300,552.70682 300,552.70682 300,552.70682"
+     id="path4748" />
+  <g
+     style="fill:none;stroke:#009900;stroke-width:1.0680207;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g4750"
+     transform="matrix(3.5067172,0,0,1,-871.01516,-259.65536)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:1.0680207;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path4752" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#009900;stroke-width:1.0680207;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       id="path4754" />
+  </g>
+  <g
+     style="fill:none;stroke:#0000ff;stroke-width:2.15052247;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g4756"
+     transform="matrix(-0.8649123,0,0,1,699.34211,-259.65536)">
+    <g
+       style="stroke:#0000ff;stroke-linejoin:round;stroke-opacity:1"
+       id="g4758">
+      <path
+         id="path4760"
+         d="M 294.06694,792.36218 C 294.06694,822.36218 294.06694,822.36218 294.06694,822.36218"
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         sodipodi:nodetypes="cc" />
+    </g>
+    <path
+       transform="matrix(-1.1561866,0,0,1,808.56997,190)"
+       id="path4762"
+       d="M 430,622.36218 C 445,632.36218 445,632.36218 445,632.36218 L 460,622.36218"
+       style="opacity:1;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+  <g
+     transform="matrix(-1.7187035,0,0,1,1090.5138,-259.65536)"
+     id="g4764"
+     style="fill:none;stroke:#0000ff;stroke-width:1.52556074;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+    <path
+       id="path4766"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.52556074;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path4768"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.52556074;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="8.6816406"
+     y="88.546661"
+     id="text7677"><tspan
+       sodipodi:role="line"
+       id="tspan7679"
+       x="8.6816406"
+       y="88.546661">Step 0</tspan></text>
+  <text
+     id="text7681"
+     y="258.54666"
+     x="8.6816406"
+     style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="258.54666"
+       x="8.6816406"
+       sodipodi:role="line"
+       id="tspan7685">Step 1</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="8.6816406"
+     y="448.54666"
+     id="text7689"><tspan
+       sodipodi:role="line"
+       x="8.6816406"
+       y="448.54666"
+       id="tspan7693">Step 2</tspan></text>
+  <text
+     id="text7697"
+     y="638.54669"
+     x="8.6816406"
+     style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan7699"
+       y="638.54669"
+       x="8.6816406"
+       sodipodi:role="line">Step 3</tspan></text>
+  <g
+     transform="translate(215.50001,-810.35332)"
+     id="g4074">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text3352"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan3354"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text3356"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan3358"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text3360"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan3362"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text3364"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan3366"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/allStepsNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/curriculumcourse.jude
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/curriculumcourse.jude
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,2801 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="585"
+   height="345.00006"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="decideNextStepNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\decideNextStepNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective5266" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="938"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="0.6775234"
+     inkscape:cx="372.04724"
+     inkscape:cy="526.18109"
+     inkscape:window-x="4"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-84.999992,-642.36212)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(55.000008,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(25.000008,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(-4.9999923,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(-34.999992,-652.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2296"
+     transform="translate(50.000008,-642.36212)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2298"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2300"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2302"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2304"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2306"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2308"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2310"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2312"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2314"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2316"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2318"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2320"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2322"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2324"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2326"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2328"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(190.00001,-682.36212)"
+     id="g2330">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2332"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2334"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2336"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2338"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2340"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2342"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2344"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2346"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2348"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2350"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2352"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2354"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(160.00001,-682.36212)"
+     id="g2356">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2358"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2360"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2362"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2364"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2366"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2368"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2370"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2372"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2374"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2376"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2378"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2380"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(130.00001,-682.36212)"
+     id="g2382">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2384"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2386"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2388"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2390"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2392"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2394"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2396"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2398"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2400"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2402"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2404"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2406"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(100.00001,-622.36212)"
+     id="g2408">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2410"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2412"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2414"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2416"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2418"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2420"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2422"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2424"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2426"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2428"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2430"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2432"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(200.00001,-642.36212)"
+     id="g2434">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2436"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2438"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2440"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2442"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2444"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2446"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2448"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2450"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2452"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2454"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2456"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2458"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect2460"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect2462"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2464"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect2466"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g2468"
+     transform="translate(340.00001,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2470"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2472"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2474"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2476"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2478"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2480"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2482"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2484"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2486"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2488"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2490"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2492"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2494"
+     transform="translate(310.00001,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2496"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2498"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2500"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2502"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2504"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2506"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2508"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2510"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2512"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2514"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2516"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2518"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2520"
+     transform="translate(280.00001,-592.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2522"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2524"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2526"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2528"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2530"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2532"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2534"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2536"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2538"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2540"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2542"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2544"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g2546"
+     transform="translate(250.00001,-682.36212)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect2548"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2550"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2552"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2554"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2556"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2558"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2560"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2562"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2564"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path2566"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path2568"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path2570"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="260.34894"
+     y="267.45966"
+     id="text2572"
+     transform="scale(1.0698385,0.9347205)"><tspan
+       sodipodi:role="line"
+       id="tspan2574"
+       x="260.34894"
+       y="267.45966">...</tspan></text>
+  <g
+     id="g2576"
+     transform="translate(129.50004,-812.36212)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2578"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2580"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2582"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2584"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2586"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2588"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2590"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2592"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2594"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2596"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2598"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2602"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2604"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2606"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2608"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <g
+     transform="translate(269.50004,-852.36212)"
+     id="g2610">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2612"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2614"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2616"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2618"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2620"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2622"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2624"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2626"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2628"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2630"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2632"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2634"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(239.50004,-852.36212)"
+     id="g2636">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2638"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2640"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2642"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2644"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2646"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2648"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2650"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2652"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2654"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2656"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2658"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2660"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(209.50004,-852.36212)"
+     id="g2662">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2664"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2666"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2668"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2670"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2672"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2674"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2676"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2678"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2680"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2682"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2684"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2686"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(179.50004,-852.36212)"
+     id="g2688">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2690"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2692"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2694"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2696"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2698"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2700"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2702"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2704"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2706"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2708"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2710"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2712"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <text
+     transform="scale(1.0446886,0.9572231)"
+     id="text2716"
+     y="15.148148"
+     x="229.62163"
+     style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="15.148148"
+       x="229.62163"
+       id="tspan2718"
+       sodipodi:role="line">A</tspan></text>
+  <text
+     transform="scale(1.1873587,0.8422055)"
+     id="text2720"
+     y="17.216799"
+     x="225.797"
+     style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan2722"
+       y="17.216799"
+       x="225.797"
+       sodipodi:role="line">B</tspan></text>
+  <text
+     transform="scale(1.1342596,0.8816324)"
+     id="text2724"
+     y="16.234512"
+     x="263.64767"
+     style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="16.234512"
+       x="263.64767"
+       id="tspan2726"
+       sodipodi:role="line">C</tspan></text>
+  <text
+     transform="scale(1.0907069,0.9168366)"
+     id="text2728"
+     y="15.815298"
+     x="301.08771"
+     style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="15.815298"
+       x="301.08771"
+       id="tspan2730"
+       sodipodi:role="line">D</tspan></text>
+  <rect
+     y="0.50000006"
+     x="0.50000006"
+     height="344.00006"
+     width="584"
+     id="rect2748"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2" />
+  <g
+     id="g2767"
+     transform="translate(350.00001,-642.36212)">
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2769"
+       width="30"
+       height="30"
+       x="100.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2771"
+       width="30"
+       height="30"
+       x="130.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2773"
+       width="30"
+       height="30"
+       x="160.5"
+       y="921.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2775"
+       width="30"
+       height="30"
+       x="190.5"
+       y="921.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2777"
+       width="30"
+       height="30"
+       x="130.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2779"
+       width="30"
+       height="30"
+       x="160.5"
+       y="891.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2781"
+       width="30"
+       height="30"
+       x="100.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2783"
+       width="30"
+       height="30"
+       x="190.5"
+       y="891.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2785"
+       width="30"
+       height="30"
+       x="100.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2787"
+       width="30"
+       height="30"
+       x="130.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2789"
+       width="30"
+       height="30"
+       x="160.5"
+       y="861.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2791"
+       width="30"
+       height="30"
+       x="190.5"
+       y="861.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2793"
+       width="30"
+       height="30"
+       x="130.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2795"
+       width="30"
+       height="30"
+       x="160.5"
+       y="831.86218" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2797"
+       width="30"
+       height="30"
+       x="100.5"
+       y="831.86218" />
+    <rect
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2799"
+       width="30"
+       height="30"
+       x="190.5"
+       y="831.86218" />
+  </g>
+  <text
+     transform="scale(1.0698385,0.9347205)"
+     id="text2801"
+     y="268.52948"
+     x="399.62228"
+     style="font-size:12.83806229px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       y="268.52948"
+       x="399.62228"
+       id="tspan2803"
+       sodipodi:role="line">...</tspan></text>
+  <g
+     transform="translate(490.00001,-592.36212)"
+     id="g2805">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2807"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2809"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2811"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2813"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2815"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2817"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2819"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2821"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2823"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2825"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2827"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2829"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(460.00001,-682.36212)"
+     id="g2831">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2833"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2835"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2837"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2839"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2841"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2843"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2845"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2847"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2849"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2851"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2853"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2855"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(430.00001,-682.36212)"
+     id="g2857">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2859"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2861"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2863"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2865"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2867"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2869"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2871"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2873"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2875"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2877"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2879"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2881"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <g
+     transform="translate(400.00001,-682.36212)"
+     id="g2883">
+    <rect
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2885"
+       width="30"
+       height="30"
+       x="50.5"
+       y="871.86218" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       id="path2887"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       id="path2889"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       id="path2891"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       id="path2893"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2895"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2897"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2899"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2901"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)" />
+    <path
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       id="path2903"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2905"
+       sodipodi:cx="31.698114"
+       sodipodi:cy="874.30286"
+       sodipodi:rx="6.1455526"
+       sodipodi:ry="8.8948793"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2907"
+       sodipodi:cx="49.654312"
+       sodipodi:cy="907.57715"
+       sodipodi:rx="10.047844"
+       sodipodi:ry="1.6502695"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)" />
+  </g>
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 290.00001,150.00006 C 215.00001,180.00006 215.00001,180.00006 215.00001,180.00006 L 215.00001,180.00006 C 215.00001,170.00006 215.00001,170.00006 215.00001,170.00006"
+     id="path2909" />
+  <path
+     style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 215.45457,180.00006 C 230.00003,180.00006 230.00003,180.00006 230.00003,180.00006 L 230.00003,180.00006"
+     id="path2911" />
+  <g
+     style="fill:none;stroke:#0000ff;stroke-width:1.24354005;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g6793"
+     transform="matrix(2.5866667,0,0,1,-679.99999,-642.36212)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.24354005;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path6795" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.24354005;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       id="path6797" />
+  </g>
+  <g
+     style="fill:none;stroke:#0000ff;stroke-width:2.15052247;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="g6799"
+     transform="matrix(-0.8649123,0,0,1,614.34212,-642.36212)">
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       id="path6801" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:2.15052247;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 300.74521,822.36218 C 317.19066,822.36218 317.19066,822.36218 317.19066,822.36218 L 317.19066,822.36218"
+       id="path6803" />
+  </g>
+  <g
+     transform="matrix(-2.8533338,0,0,1,1360.0001,-642.36212)"
+     id="g6805"
+     style="fill:none;stroke:#0000ff;stroke-width:1.1840055;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+    <path
+       id="path6807"
+       d="M 375,792.36218 C 300,822.36218 300,822.36218 300,822.36218 L 300,822.36218 C 300,812.36218 300,812.36218 300,812.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.1840055;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path6809"
+       d="M 300,822.36218 C 310,822.36218 310,822.36218 310,822.36218 L 310,822.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#0000ff;stroke-width:1.1840055;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="360"
+     y="85.000061"
+     id="text6813"><tspan
+       sodipodi:role="line"
+       x="360"
+       y="85.000061"
+       id="tspan6817">Score -6</tspan></text>
+  <text
+     id="text6821"
+     y="330.39069"
+     x="45.000008"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6823"
+       y="330.39069"
+       x="45.000008"
+       sodipodi:role="line">Score -4</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="180.00002"
+     y="330.39069"
+     id="text6827"><tspan
+       sodipodi:role="line"
+       x="180.00002"
+       y="330.39069"
+       id="tspan6829">Score -4</tspan></text>
+  <text
+     id="text6831"
+     y="330.00006"
+     x="331.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6833"
+       y="330.00006"
+       x="331.70703"
+       sodipodi:role="line">Score -3</tspan></text>
+  <text
+     id="text6835"
+     y="330.00006"
+     x="481.70703"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     xml:space="preserve"><tspan
+       id="tspan6837"
+       y="330.00006"
+       x="481.70703"
+       sodipodi:role="line">Score -4</tspan></text>
+  <path
+     sodipodi:type="arc"
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:1.89466202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path6839"
+     sodipodi:cx="445"
+     sodipodi:cy="967.36218"
+     sodipodi:rx="35"
+     sodipodi:ry="10"
+     d="M 480,967.36218 A 35,10 0 1 1 410,967.36218 A 35,10 0 1 1 480,967.36218 z"
+     transform="matrix(1.1142855,0,0,1,-135.85704,-642.36212)" />
+  <g
+     transform="translate(130.50002,-813.06008)"
+     id="g4074">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text3352"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan3354"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text3356"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan3358"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text3360"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan3362"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text3364"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan3366"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/decideNextStepNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examination.jude
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examination.jude
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examinationDomainDiagram.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/examinationDomainDiagram.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.dia
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.dia
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/nQueensDomainDiagram.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,726 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="156"
+   height="156"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="partiallySolvedNQueens04Explained.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\partiallySolvedNQueens04Explained.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective4852" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="948"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="4.7564103"
+     inkscape:cx="157.5"
+     inkscape:cy="159.6545"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="g5308"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-79.5,-811.86218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <path
+     sodipodi:type="arc"
+     style="fill:#ff0000;fill-opacity:0.6;fill-rule:nonzero;stroke:#ff0000;stroke-width:0.83333337;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path5169"
+     sodipodi:cx="115"
+     sodipodi:cy="877.36218"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     d="M 125,877.36218 A 10,10 0 1 1 105,877.36218 A 10,10 0 1 1 125,877.36218 z"
+     transform="matrix(1.2,0,0,1.2,-72,-1017.8346)" />
+  <g
+     id="g2236"
+     transform="translate(-79.5,-811.86218)">
+    <path
+       id="path2249"
+       d="M 101.06653,877.36218 L 147.26051,877.36218 L 219.85105,877.36218 L 219.85105,877.36218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       id="path3221"
+       d="M 115,831.86632 L 115,878.52975 L 115,951.85798 L 115,951.85798"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       id="path3223"
+       d="M 100.5,862.86215 C 189.49999,951.86214 189.49999,951.86214 189.49999,951.86214"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       id="path4198"
+       d="M 100.5,891.86218 C 159.5,832.86218 159.5,832.86218 159.5,832.86218 L 159.5,832.86218"
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(-29.5,-821.86218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(60.5,-851.86218)"
+     inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\partiallySolvedNQueens04Explained.png"
+     inkscape:export-xdpi="90"
+     inkscape:export-ydpi="90">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(30.5,-791.86218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(0.5,-851.86218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3220"
+     transform="translate(-79.5,-811.86218)" />
+  <g
+     id="g3277"
+     transform="translate(-79.5,-811.86218)">
+    <path
+       transform="scale(1.0397801,0.9617418)"
+       style="font-size:14.26302528px;font-style:normal;font-weight:normal;opacity:0.09090899;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       d=""
+       id="text3304" />
+    <path
+       style="font-size:14.26302528px;font-style:normal;font-weight:normal;opacity:0.09090899;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       d=""
+       id="text3324"
+       transform="scale(1.0397801,0.9617418)" />
+  </g>
+  <g
+     id="g5308"
+     transform="translate(-79.5,-811.86218)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text2242"
+       y="864.33582"
+       x="105.18259"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="864.33582"
+         x="105.18259"
+         id="tspan2244"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text3336"
+       y="982.37567"
+       x="116.31025"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan3340"
+         y="982.37567"
+         x="116.31025"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text3344"
+       y="938.23114"
+       x="149.03542"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="938.23114"
+         x="149.03542"
+         id="tspan3346"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text3348"
+       y="902.40961"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="902.40961"
+         x="181.89893"
+         id="tspan3350"
+         sodipodi:role="line">D</tspan></text>
+    <rect
+       y="812.36218"
+       x="80"
+       height="155"
+       width="155"
+       id="rect3368"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2" />
+    <g
+       transform="translate(0.4999876,-0.5000605)"
+       id="g4074">
+      <text
+         xml:space="preserve"
+         style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="67.903915"
+         y="1044.647"
+         id="text3352"
+         transform="scale(1.2251409,0.8162327)"><tspan
+           sodipodi:role="line"
+           id="tspan3354"
+           x="67.903915"
+           y="1044.647">0</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="63.251419"
+         y="1144.1229"
+         id="text3356"
+         transform="scale(1.2959246,0.7716499)"><tspan
+           sodipodi:role="line"
+           id="tspan3358"
+           x="63.251419"
+           y="1144.1229">1</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="65.482925"
+         y="1155.9114"
+         id="text3360"
+         transform="scale(1.2662496,0.7897337)"><tspan
+           sodipodi:role="line"
+           id="tspan3362"
+           x="65.482925"
+           y="1155.9114">2</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="66.700623"
+         y="1172.045"
+         id="text3364"
+         transform="scale(1.2430621,0.804465)"><tspan
+           sodipodi:role="line"
+           id="tspan3366"
+           x="66.700623"
+           y="1172.045">3</tspan></text>
+    </g>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/partiallySolvedNQueens04Explained.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,810 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="160"
+   height="190"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="possibleMovesNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\possibleMovesNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective6199" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="938"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.7526316"
+     inkscape:cx="80"
+     inkscape:cy="95"
+     inkscape:window-x="4"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-75,-812.36218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(65,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(35,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(4.9999999,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(-25,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g6475"
+     transform="matrix(1.0050252,0,0,1,-76.055293,-811.86221)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text2242"
+       y="863.81348"
+       x="105.6612"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="863.81348"
+         x="105.6612"
+         id="tspan2244"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text3336"
+       y="981.78198"
+       x="116.73135"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan3340"
+         y="981.78198"
+         x="116.73135"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text3344"
+       y="937.664"
+       x="149.47623"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="937.664"
+         x="149.47623"
+         id="tspan3346"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text3348"
+       y="901.86426"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="901.86426"
+         x="181.89893"
+         id="tspan3350"
+         sodipodi:role="line">D</tspan></text>
+  </g>
+  <rect
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2"
+     id="rect3368"
+     width="159"
+     height="189"
+     x="0.49999991"
+     y="0.49999991" />
+  <g
+     id="g5272"
+     transform="matrix(1.0301311,0,0,1.0069611,-79.120349,-818.92902)">
+    <path
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 176.27372,875.50558 L 178.26229,880.39358 L 168.38339,881.86218 L 171.38339,879.40458 C 163.972,877.67738 163.11736,867.16968 171.38339,852.86218 L 173.38339,853.35368 C 165.98186,867.64338 165.35267,876.35378 173.38339,877.92998 L 176.27372,875.50558 z"
+       id="path2341"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="rect3222"
+       d="M 176.27372,898.92974 L 178.26229,908.87439 L 168.38339,911.86218 L 171.38339,906.86218 C 163.972,903.34832 163.11736,881.97067 171.38339,852.86218 L 173.38339,853.86218 C 165.98186,882.93423 165.35267,900.65546 173.38339,903.86218 L 176.27372,898.92974 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 176.27372,923.35392 L 178.26229,938.35518 L 168.38339,942.86218 L 171.38339,935.31981 C 163.972,930.01924 163.11736,897.7716 171.38339,853.86218 L 173.38339,855.37065 C 165.98186,899.2251 165.35267,925.95713 173.38339,930.79439 L 176.27372,923.35392 z"
+       id="path2343"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path2345"
+       d="M 174.52384,843.1625 L 176.51241,848.0505 L 166.63351,849.5191 L 169.63351,847.0615 C 161.25012,846.0191 163.25012,825.0191 177.5,839.98526 L 174.77194,839.86219 C 166.25012,832.0191 164.25012,843.0191 171.63351,845.5869 L 174.52384,843.1625 z"
+       style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="49.848633"
+     y="167.59766"
+     id="text3316"><tspan
+       sodipodi:role="line"
+       id="tspan3318"
+       x="49.848633"
+       y="167.59766">Not doable move</tspan><tspan
+       sodipodi:role="line"
+       x="49.848633"
+       y="180.09766"
+       id="tspan3320">(no change)</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+     x="49.204102"
+     y="153.09766"
+     id="text3326"><tspan
+       sodipodi:role="line"
+       id="tspan3328"
+       x="49.204102"
+       y="153.09766">Doable move</tspan></text>
+  <rect
+     style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect3330"
+     width="10"
+     height="10"
+     x="34.5"
+     y="160.5" />
+  <rect
+     style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4301"
+     width="10"
+     height="10"
+     x="34.5"
+     y="145.5" />
+  <g
+     id="g5278"
+     transform="matrix(1.028194,0,0,1.0069611,-108.80231,-818.92902)">
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5280"
+       d="M 176.27372,875.50558 L 178.26229,880.39358 L 168.38339,881.86218 L 171.38339,879.40458 C 163.972,877.67738 163.11736,867.16968 171.38339,852.86218 L 173.38339,853.35368 C 165.98186,867.64338 165.35267,876.35378 173.38339,877.92998 L 176.27372,875.50558 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.9827795;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98277956;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 176.27372,898.92974 L 178.26229,908.87439 L 168.38339,911.86218 L 171.38339,906.86218 C 163.972,903.34832 163.11736,881.97067 171.38339,852.86218 L 173.38339,853.86218 C 165.98186,882.93423 165.35267,900.65546 173.38339,903.86218 L 176.27372,898.92974 z"
+       id="path5282"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5284"
+       d="M 176.27372,923.35392 L 178.26229,938.35518 L 168.38339,942.86218 L 171.38339,935.31981 C 163.972,930.01924 163.11736,897.7716 171.38339,853.86218 L 173.38339,855.37065 C 165.98186,899.2251 165.35267,925.95713 173.38339,930.79439 L 176.27372,923.35392 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98277956;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.9827795;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 174.52384,843.1625 L 176.51241,848.0505 L 166.63351,849.5191 L 169.63351,847.0615 C 161.25012,846.0191 163.25012,825.0191 177.5,839.98526 L 174.77194,839.86219 C 166.25012,832.0191 164.25012,843.0191 171.63351,845.5869 L 174.52384,843.1625 z"
+       id="path5286"
+       sodipodi:nodetypes="cccccccc" />
+  </g>
+  <g
+     transform="matrix(1.0301311,0,0,1.0069611,-139.1354,-818.92902)"
+     id="g5288">
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5290"
+       d="M 176.27372,875.50558 L 178.26229,880.39358 L 168.38339,881.86218 L 171.38339,879.40458 C 163.972,877.67738 163.11736,867.16968 171.38339,852.86218 L 173.38339,853.35368 C 165.98186,867.64338 165.35267,876.35378 173.38339,877.92998 L 176.27372,875.50558 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 176.27372,898.92974 L 178.26229,908.87439 L 168.38339,911.86218 L 171.38339,906.86218 C 163.972,903.34832 163.11736,881.97067 171.38339,852.86218 L 173.38339,853.86218 C 165.98186,882.93423 165.35267,900.65546 173.38339,903.86218 L 176.27372,898.92974 z"
+       id="path5292"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5294"
+       d="M 176.27372,923.35392 L 178.26229,938.35518 L 168.38339,942.86218 L 171.38339,935.31981 C 163.972,930.01924 163.11736,897.7716 171.38339,853.86218 L 173.38339,855.37065 C 165.98186,899.2251 165.35267,925.95713 173.38339,930.79439 L 176.27372,923.35392 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 174.52384,843.1625 L 176.51241,848.0505 L 166.63351,849.5191 L 169.63351,847.0615 C 161.25012,846.0191 163.25012,825.0191 177.5,839.98526 L 174.77194,839.86219 C 166.25012,832.0191 164.25012,843.0191 171.63351,845.5869 L 174.52384,843.1625 z"
+       id="path5296"
+       sodipodi:nodetypes="cccccccc" />
+  </g>
+  <g
+     transform="matrix(1.0301311,0,0,1.0069611,-49.1204,-818.92902)"
+     id="g5298">
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5300"
+       d="M 176.27372,875.50558 L 178.26229,880.39358 L 168.38339,881.86218 L 171.38339,879.40458 C 163.972,877.67738 163.11736,867.16968 171.38339,852.86218 L 173.38339,853.35368 C 165.98186,867.64338 165.35267,876.35378 173.38339,877.92998 L 176.27372,875.50558 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 176.27372,898.92974 L 178.26229,908.87439 L 168.38339,911.86218 L 171.38339,906.86218 C 163.972,903.34832 163.11736,881.97067 171.38339,852.86218 L 173.38339,853.86218 C 165.98186,882.93423 165.35267,900.65546 173.38339,903.86218 L 176.27372,898.92974 z"
+       id="path5302"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path5304"
+       d="M 176.27372,923.35392 L 178.26229,938.35518 L 168.38339,942.86218 L 171.38339,935.31981 C 163.972,930.01924 163.11736,897.7716 171.38339,853.86218 L 173.38339,855.37065 C 165.98186,899.2251 165.35267,925.95713 173.38339,930.79439 L 176.27372,923.35392 z"
+       style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185515;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       style="fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98185509;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 174.52384,843.1625 L 176.51241,848.0505 L 166.63351,849.5191 L 169.63351,847.0615 C 161.25012,846.0191 163.25012,825.0191 177.5,839.98526 L 174.77194,839.86219 C 166.25012,832.0191 164.25012,843.0191 171.63351,845.5869 L 174.52384,843.1625 z"
+       id="path5306"
+       sodipodi:nodetypes="cccccccc" />
+  </g>
+  <g
+     transform="translate(-74.499994,-813.06014)"
+     id="g4074">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text5236"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan5238"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text5240"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan5242"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text5244"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan5246"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text5248"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan5250"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/possibleMovesNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotExamination.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotExamination.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotLessonSchedule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotLessonSchedule.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotNQueens.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotNQueens.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotTravelingTournament.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/screenshotTravelingTournament.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,1280 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="310"
+   height="150"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="singleMoveNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\singleMoveNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective6857" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="938"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="3.8032258"
+     inkscape:cx="155"
+     inkscape:cy="75"
+     inkscape:window-x="4"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-75,-812.36218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(65,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(35,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(4.9999999,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(-25,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <path
+     style="fill:#00ffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+     d="M 101.27372,86.567557 L 103.26229,96.512207 L 93.38339,99.499997 L 96.38339,94.499997 C 88.972,90.986137 88.11736,69.608487 96.38339,40.499997 L 98.38339,41.499997 C 90.98186,70.572047 90.35267,88.293277 98.38339,91.499997 L 101.27372,86.567557 z"
+     id="rect3222"
+     sodipodi:nodetypes="cccccccc" />
+  <g
+     id="g3228"
+     transform="translate(75,-812.36218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3230"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3232"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3234"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3236"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3238"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3240"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3242"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3244"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3246"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3248"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3250"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3252"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect3254"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect3256"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect3258"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect3260"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g3262"
+     transform="translate(215,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3264"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3266"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3268"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3270"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3272"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3274"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3276"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3278"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3280"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3282"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3284"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3286"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3288"
+     transform="translate(185,-792.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3290"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3292"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3294"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3296"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3298"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3300"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3302"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3304"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3306"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3308"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3310"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3312"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3314"
+     transform="translate(155,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3316"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3318"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3320"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3322"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3324"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3326"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3328"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3330"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3332"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3334"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3336"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3338"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g3340"
+     transform="translate(125,-852.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect3342"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3344"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3346"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3348"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3350"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3352"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3354"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3356"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3358"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3360"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path3362"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path3364"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g6475"
+     transform="matrix(1.0050252,0,0,1,-76.055293,-811.86221)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text2242"
+       y="863.81348"
+       x="105.6612"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="863.81348"
+         x="105.6612"
+         id="tspan2244"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text3336"
+       y="981.78198"
+       x="116.73135"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan3340"
+         y="981.78198"
+         x="116.73135"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text3344"
+       y="937.664"
+       x="149.47623"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="937.664"
+         x="149.47623"
+         id="tspan3346"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text3348"
+       y="901.86426"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="901.86426"
+         x="181.89893"
+         id="tspan3350"
+         sodipodi:role="line">D</tspan></text>
+  </g>
+  <rect
+     style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2"
+     id="rect3368"
+     width="309"
+     height="149"
+     x="0.49999994"
+     y="0.49999994" />
+  <g
+     id="g6485"
+     transform="matrix(1.0050252,0,0,1,73.9447,-811.86221)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text6487"
+       y="863.81348"
+       x="105.6612"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="863.81348"
+         x="105.6612"
+         id="tspan6489"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text6491"
+       y="981.78198"
+       x="116.73135"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan6493"
+         y="981.78198"
+         x="116.73135"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text6495"
+       y="937.664"
+       x="149.47623"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="937.664"
+         x="149.47623"
+         id="tspan6497"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text6499"
+       y="901.86426"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="901.86426"
+         x="181.89893"
+         id="tspan6501"
+         sodipodi:role="line">D</tspan></text>
+  </g>
+  <g
+     transform="translate(75.49999,-812.86224)"
+     id="g4074"
+     inkscape:export-xdpi="90"
+     inkscape:export-ydpi="90"
+     inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\singleMoveNQueens04.png">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text3352"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan3354"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text3356"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan3358"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text3360"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan3362"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text3364"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan3366"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+  <g
+     transform="translate(-74.499994,-813.06014)"
+     id="g4916">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text4918"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan4920"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text4922"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan4924"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text4926"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan4928"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text4930"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan4932"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/singleMoveNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="156"
+   height="156"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="solvedNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\solvedNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7082" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="938"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="4.5705128"
+     inkscape:cx="78"
+     inkscape:cy="78"
+     inkscape:window-x="4"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-80,-811.36218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(0,-761.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(-30,-821.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(60,-791.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(30,-851.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g5308"
+     transform="translate(-79.5,-811.86218)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text2242"
+       y="864.33582"
+       x="105.18259"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="864.33582"
+         x="105.18259"
+         id="tspan2244"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text3336"
+       y="982.37567"
+       x="116.31025"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan3340"
+         y="982.37567"
+         x="116.31025"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text3344"
+       y="938.23114"
+       x="149.03542"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="938.23114"
+         x="149.03542"
+         id="tspan3346"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text3348"
+       y="902.40961"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="902.40961"
+         x="181.89893"
+         id="tspan3350"
+         sodipodi:role="line">D</tspan></text>
+    <rect
+       y="812.36218"
+       x="80"
+       height="155"
+       width="155"
+       id="rect3368"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2" />
+  </g>
+  <g
+     transform="translate(-79.499994,-812.06014)"
+     id="g4074">
+    <text
+       xml:space="preserve"
+       style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="67.903915"
+       y="1044.647"
+       id="text4516"
+       transform="scale(1.2251409,0.8162327)"><tspan
+         sodipodi:role="line"
+         id="tspan4518"
+         x="67.903915"
+         y="1044.647">0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="63.251419"
+       y="1144.1229"
+       id="text4520"
+       transform="scale(1.2959246,0.7716499)"><tspan
+         sodipodi:role="line"
+         id="tspan4522"
+         x="63.251419"
+         y="1144.1229">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="65.482925"
+       y="1155.9114"
+       id="text4524"
+       transform="scale(1.2662496,0.7897337)"><tspan
+         sodipodi:role="line"
+         id="tspan4526"
+         x="65.482925"
+         y="1155.9114">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="66.700623"
+       y="1172.045"
+       id="text4528"
+       transform="scale(1.2430621,0.804465)"><tspan
+         sodipodi:role="line"
+         id="tspan4530"
+         x="66.700623"
+         y="1172.045">3</tspan></text>
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/solvedNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.svg	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,675 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="156"
+   height="156"
+   sodipodi:docbase="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver"
+   sodipodi:docname="unsolvedNQueens04.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\projects\jboss\drools\documentation\manual\en\Chapter-Solver\unsolvedNQueens04.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Geoffrey De Smet</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective7307" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="938"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="4.5705128"
+     inkscape:cx="78"
+     inkscape:cy="78"
+     inkscape:window-x="4"
+     inkscape:window-y="24"
+     inkscape:current-layer="g5308"
+     inkscape:grid-points="true"
+     inkscape:object-nodes="true"
+     inkscape:guide-points="true"
+     inkscape:object-points="true"
+     inkscape:object-bbox="true"
+     showgrid="true" />
+  <g
+     id="g8089"
+     transform="translate(-80,-811.36218)">
+    <rect
+       y="921.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect2165"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect4107"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5078"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="921.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5080"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5082"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5084"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5086"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="891.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5088"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5090"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5092"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5094"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="861.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5096"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="130.5"
+       height="30"
+       width="30"
+       id="rect5098"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="160.5"
+       height="30"
+       width="30"
+       id="rect5100"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="100.5"
+       height="30"
+       width="30"
+       id="rect5102"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="831.86218"
+       x="190.5"
+       height="30"
+       width="30"
+       id="rect5104"
+       style="fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g8075"
+     transform="translate(60,-851.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect5126"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8065"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8069"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8071"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8073"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8037"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8039"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8041"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8043"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8061"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path5124"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path5128"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8107"
+     transform="translate(30,-851.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8109"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8111"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8113"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8115"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8117"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8119"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8121"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8123"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8125"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8127"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8129"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8131"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8133"
+     transform="translate(0,-851.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8135"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8137"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8139"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8141"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8143"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8145"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8147"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8149"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8151"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8153"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8155"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8157"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g8159"
+     transform="translate(-30,-851.36218)">
+    <rect
+       y="871.86218"
+       x="50.5"
+       height="30"
+       width="30"
+       id="rect8161"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8163"
+       d="M 65,894.0583 L 60.259168,881.36218 L 60,894.31116 L 62.432525,894.86218 L 65,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8165"
+       d="M 66,894.0583 L 70.740832,881.36218 L 71,894.31116 L 68.567475,894.86218 L 66,894.0583 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8167"
+       d="M 62,894.04086 L 55,882.86218 L 56.843843,894.29921 L 59.352339,894.86218 L 62,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8169"
+       d="M 69,894.04086 L 76,882.86218 L 74.156157,894.29921 L 71.647661,894.86218 L 69,894.04086 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,49.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8171"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,60.68421,684.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8173"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,44.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8175"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,66.18421,686.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8177"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path8179"
+       d="M 68.000002,894.0957 L 65.506898,880.86221 L 63.000002,893.8597 L 65.368588,894.86221 L 68.000002,894.0957 z"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+    <path
+       transform="matrix(0.3254386,0,0,0.2248485,55.18421,683.2765)"
+       d="M 37.843667,874.30286 A 6.1455526,8.8948793 0 1 1 25.552562,874.30286 A 6.1455526,8.8948793 0 1 1 37.843667,874.30286 z"
+       sodipodi:ry="8.8948793"
+       sodipodi:rx="6.1455526"
+       sodipodi:cy="874.30286"
+       sodipodi:cx="31.698114"
+       id="path8181"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.69675326;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.9454765,0,0,1.2119233,18.553015,-205.05171)"
+       d="M 59.702156,907.57715 A 10.047844,1.6502695 0 1 1 39.606468,907.57715 A 10.047844,1.6502695 0 1 1 59.702156,907.57715 z"
+       sodipodi:ry="1.6502695"
+       sodipodi:rx="10.047844"
+       sodipodi:cy="907.57715"
+       sodipodi:cx="49.654312"
+       id="path8183"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.93419403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:type="arc" />
+  </g>
+  <g
+     id="g5308"
+     transform="translate(-79.5,-811.86218)">
+    <text
+       transform="scale(1.0446886,0.9572231)"
+       id="text2242"
+       y="864.33582"
+       x="105.18259"
+       style="font-size:14.33035374px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="864.33582"
+         x="105.18259"
+         id="tspan2244"
+         sodipodi:role="line">A</tspan></text>
+    <text
+       transform="scale(1.1873587,0.8422055)"
+       id="text3336"
+       y="982.37567"
+       x="116.31025"
+       style="font-size:16.28741074px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         id="tspan3340"
+         y="982.37567"
+         x="116.31025"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       transform="scale(1.1342596,0.8816324)"
+       id="text3344"
+       y="938.23114"
+       x="149.03542"
+       style="font-size:14.99653721px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="938.23114"
+         x="149.03542"
+         id="tspan3346"
+         sodipodi:role="line">C</tspan></text>
+    <text
+       transform="scale(1.0907069,0.9168366)"
+       id="text3348"
+       y="902.40961"
+       x="181.89893"
+       style="font-size:14.96160507px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"><tspan
+         y="902.40961"
+         x="181.89893"
+         id="tspan3350"
+         sodipodi:role="line">D</tspan></text>
+    <g
+       id="g4074">
+      <text
+         xml:space="preserve"
+         style="font-size:16.19810677px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="67.903915"
+         y="1044.647"
+         id="text3352"
+         transform="scale(1.2251409,0.8162327)"><tspan
+           sodipodi:role="line"
+           id="tspan3354"
+           x="67.903915"
+           y="1044.647">0</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:17.77658844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="63.251419"
+         y="1144.1229"
+         id="text3356"
+         transform="scale(1.2959246,0.7716499)"><tspan
+           sodipodi:role="line"
+           id="tspan3358"
+           x="63.251419"
+           y="1144.1229">1</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:17.06092262px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="65.482925"
+         y="1155.9114"
+         id="text3360"
+         transform="scale(1.2662496,0.7897337)"><tspan
+           sodipodi:role="line"
+           id="tspan3362"
+           x="65.482925"
+           y="1155.9114">2</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:16.76036072px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+         x="66.700623"
+         y="1172.045"
+         id="text3364"
+         transform="scale(1.2430621,0.804465)"><tspan
+           sodipodi:role="line"
+           id="tspan3366"
+           x="66.700623"
+           y="1172.045">3</tspan></text>
+    </g>
+    <rect
+       y="812.36218"
+       x="80"
+       height="155"
+       width="155"
+       id="rect3368"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.2" />
+  </g>
+</svg>


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/Chapter-Solver/unsolvedNQueens04.svg
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/drools_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-solver/src/main/docbook/images/drools_logo.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/mindmap/drools.html
===================================================================
--- labs/jbossrules/trunk/drools-docs/mindmap/drools.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/mindmap/drools.html	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,33 @@
+<?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 xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><title>Drools</title><script type="text/javascript" src="./drools.html_files/flashobject.js"> </script><style type="text/css">
+	
+	/* hide from ie on mac \*/
+	html {
+		height: 100%;
+		overflow: hidden;
+	}
+	
+	#flashcontent {
+		height: 100%;
+	}
+	/* end hide */
+
+	body {
+		height: 100%;
+		margin: 0;
+		padding: 0;
+		background-color: #9999ff;
+	}
+
+</style></head><body><div id="flashcontent">
+		 Flash plugin or Javascript are turned off.
+		 Activate both  and reload to view the mindmap
+	</div><script type="text/javascript">
+		var fo = new FlashObject("./drools.html_files/visorFreemind.swf", "visorFreeMind", "100%", "100%", 6, "#9999ff");
+		fo.addParam("quality", "high");
+		fo.addParam("bgcolor", "#ffffff");
+		fo.addVariable("openUrl", "_blank");
+		fo.addVariable("initLoadFile", "./drools.html_files/map.mm");
+		fo.addVariable("startCollapsedToLevel","5");
+		fo.write("flashcontent");
+	</script></body></html>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-docs/mindmap/drools.html
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/flashobject.js
===================================================================
--- labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/flashobject.js	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/flashobject.js	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,304 @@
+/*
+
+ * FlashObject embed
+
+ * by Geoff Stearns (geoff at deconcept.com, http://www.deconcept.com/)
+
+ *
+
+ * v1.1.1 - 05-17-2005
+
+ *
+
+ * writes the embed code for a flash movie, includes plugin detection
+
+ *
+
+ * Usage:
+
+ *
+
+ *	myFlash = new FlashObject("path/to/swf.swf", "swfid", "width", "height", flashversion, "backgroundcolor");
+
+ *	myFlash.write("objId");
+
+ *
+
+ * for best practices, see:
+
+ *  http://blog.deconcept.com/2005/03/31/proper-flash-embedding-flashobject-best-practices/
+
+ *
+
+ */
+
+
+
+var FlashObject = function(swf, id, w, h, ver, c) {
+
+	this.swf = swf;
+
+	this.id = id;
+
+	this.width = w;
+
+	this.height = h;
+
+	this.version = ver;
+
+	this.align = "middle";
+
+
+
+	this.params = new Object();
+
+	this.variables = new Object();
+
+
+
+	this.redirect = "";
+
+	this.sq = document.location.search.split("?")[1] || "";
+
+	this.bypassTxt = "<p>Already have Macromedia Flash Player? <a href='?detectflash=false&"+ this.sq +"'>Click here if you have Flash Player "+ this.version +" installed</a>.</p>";
+
+	
+
+	if (c) this.color = this.addParam('bgcolor', c);
+
+	this.addParam('quality', 'high'); // default to high
+
+	this.doDetect = getQueryParamValue('detectflash');
+
+}
+
+
+
+var FOP = FlashObject.prototype;
+
+
+
+FOP.addParam = function(name, value) { this.params[name] = value; }
+
+
+
+FOP.getParams = function() { return this.params; }
+
+
+
+FOP.getParam = function(name) { return this.params[name]; }
+
+
+
+FOP.addVariable = function(name, value) { this.variables[name] = value; }
+
+
+
+FOP.getVariable = function(name) { return this.variables[name]; }
+
+
+
+FOP.getVariables = function() { return this.variables; }
+
+
+
+FOP.getParamTags = function() {
+
+    var paramTags = "";
+
+    for (var param in this.getParams()) {
+
+        paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
+
+    }
+
+    return (paramTags == "") ? false:paramTags;
+
+}
+
+
+
+FOP.getHTML = function() {
+
+    var flashHTML = "";
+
+    if (navigator.plugins && navigator.mimeTypes.length) { // netscape plugin architecture
+
+        flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.swf + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '"';
+
+        for (var param in this.getParams()) {
+
+            flashHTML += ' ' + param + '="' + this.getParam(param) + '"';
+
+        }
+
+        if (this.getVariablePairs()) {
+
+            flashHTML += ' flashVars="' + this.getVariablePairs() + '"';
+
+        }
+
+        flashHTML += '></embed>';
+
+    } else { // PC IE
+
+        flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.width + '" height="' + this.height + '" name="' + this.id + '" align="' + this.align + '">';
+
+        flashHTML += '<param name="movie" value="' + this.swf + '" />';
+
+        if (this.getParamTags()) {
+
+            flashHTML += this.getParamTags();
+
+        }
+
+        if (this.getVariablePairs() != null) {
+
+            flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';
+
+        }
+
+        flashHTML += '</object>';
+
+    }
+
+    return flashHTML;	
+
+}
+
+
+
+FOP.getVariablePairs = function() {
+
+    var variablePairs = new Array();
+
+    for (var name in this.getVariables()) { 
+
+    	variablePairs.push(name + "=" + escape(this.getVariable(name))); 
+
+    }
+
+    return (variablePairs.length > 0) ? variablePairs.join("&"):false;
+
+}
+
+
+
+FOP.write = function(elementId) {
+
+	if(detectFlash(this.version) || this.doDetect=='false') {
+
+		if (elementId) {
+
+			document.getElementById(elementId).innerHTML = this.getHTML();
+
+		} else {
+
+			document.write(this.getHTML());
+
+		}
+
+	} else {
+
+		if (this.redirect != "") {
+
+			document.location.replace(this.redirect);
+
+		} else if (this.altTxt) {
+
+			if (elementId) {
+
+				document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;
+
+			} else {
+
+				document.write(this.altTxt +""+ this.bypassTxt);
+
+			}
+
+		}
+
+	}		
+
+}
+
+
+
+/* ---- detection functions ---- */
+
+function getFlashVersion() {
+
+	var flashversion = 0;
+
+	if (navigator.plugins && navigator.mimeTypes.length) {
+
+		var x = navigator.plugins["Shockwave Flash"];
+
+		if(x && x.description) {
+
+			var y = x.description;
+
+   			flashversion = y.charAt(y.indexOf('.')-1);
+
+		}
+
+	} else {
+
+		result = false;
+
+	    for(var i = 15; i >= 3 && result != true; i--){
+
+   			execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
+
+   			flashversion = i;
+
+   		}
+
+	}
+
+	return flashversion;
+
+}
+
+
+
+function detectFlash(ver) {	return (getFlashVersion() >= ver) ? true:false; }
+
+
+
+// get value of query string param
+
+function getQueryParamValue(param) {
+
+	var q = document.location.search || document.location.href.split("#")[1];
+
+	if (q) {
+
+		var detectIndex = q.indexOf(param +"=");
+
+		var endIndex = (q.indexOf("&", detectIndex) > -1) ? q.indexOf("&", detectIndex) : q.length;
+
+		if (q.length > 1 && detectIndex > -1) {
+
+			return q.substring(q.indexOf("=", detectIndex)+1, endIndex);
+
+		} else {
+
+			return "";
+
+		}
+
+	}
+
+}
+
+
+
+/* add Array.push if needed */
+
+if(Array.prototype.push == null){
+
+	Array.prototype.push = function(item) { this[this.length] = item; return this.length; }
+
+}
+


Property changes on: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/flashobject.js
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/map.mm
===================================================================
--- labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/map.mm	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/map.mm	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,149 @@
+<map version="0.9.0_Beta_8">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1183832698515" ID="Freemind_Link_1073969978" MODIFIED="1183910314578" TEXT="Drools">
+<node CREATED="1183832943750" HGAP="191" ID="Freemind_Link_33416065" MODIFIED="1183901302015" POSITION="left" TEXT="Rule Base" VSHIFT="207">
+<cloud/>
+<node CREATED="1183863759609" ID="Freemind_Link_1296880525" MODIFIED="1183863761109" TEXT="Rete"/>
+</node>
+<node CREATED="1183832746093" HGAP="81" ID="Freemind_Link_669795590" MODIFIED="1183901564203" POSITION="left" TEXT="Language" VSHIFT="-8">
+<cloud/>
+<node CREATED="1183832770687" HGAP="41" ID="Freemind_Link_517709211" MODIFIED="1183853523156" STYLE="fork" VSHIFT="-44">
+<richcontent TYPE="NODE"><html>
+  <head>
+    <style type="text/css">
+      <!--
+        p { margin-top: 0 }
+      -->
+    </style>
+    
+  </head>
+  <body>
+    <p style="text-align: center">
+      Conditional
+    </p>
+    <p style="text-align: center">
+      Elements
+    </p>
+  </body>
+</html>
+</richcontent>
+<node CREATED="1183832825125" ID="Freemind_Link_760771781" MODIFIED="1183832828093" STYLE="fork" TEXT="Pattern">
+<node CREATED="1183832830140" ID="Freemind_Link_747179825" MODIFIED="1183832834125" TEXT="Field Constraints">
+<node CREATED="1183863489937" ID="Freemind_Link_515329075" MODIFIED="1183901310187" TEXT="Litera Field Constrant"/>
+<node CREATED="1183863497187" ID="Freemind_Link_787693335" MODIFIED="1183863502312" TEXT="Variable Field Constraint"/>
+<node CREATED="1183863502859" ID="Freemind_Link_1715412752" MODIFIED="1183863509953" TEXT="Return Value Field Constraint"/>
+<node CREATED="1183863511312" ID="Freemind_Link_1847384863" MODIFIED="1183863524250" TEXT="inline-eval Constraint"/>
+<node CREATED="1183863553656" ID="Freemind_Link_46994851" MODIFIED="1183863558656" TEXT="connectives">
+<node CREATED="1183863560531" ID="Freemind_Link_874199161" MODIFIED="1183863570328" TEXT="conjuctive &apos;&amp;&amp;&apos;"/>
+<node CREATED="1183863570671" ID="Freemind_Link_499942646" MODIFIED="1183863577171" TEXT="disjuectionve &apos;||&apos;"/>
+</node>
+<node CREATED="1183863603906" ID="Freemind_Link_1764807838" MODIFIED="1183863610718" TEXT="Sepcial Operator">
+<node CREATED="1183863612156" ID="Freemind_Link_919273354" MODIFIED="1183863614859" TEXT="matches"/>
+<node CREATED="1183863617156" ID="Freemind_Link_869583570" MODIFIED="1183863618390" TEXT="in"/>
+<node CREATED="1183863619468" ID="Freemind_Link_553103240" MODIFIED="1183863620984" TEXT="not in"/>
+<node CREATED="1183863621609" ID="Freemind_Link_1455487968" MODIFIED="1183863634312" TEXT="memberof"/>
+<node CREATED="1183863635062" ID="Freemind_Link_479393124" MODIFIED="1183863638875" TEXT="not memberof"/>
+</node>
+<node CREATED="1183863670281" ID="Freemind_Link_1388808392" MODIFIED="1183863694062" TEXT="Nested Accessors"/>
+</node>
+</node>
+<node CREATED="1183863531203" ID="Freemind_Link_1230224564" MODIFIED="1183863534843" TEXT="&apos;eval&apos;"/>
+<node CREATED="1183832836437" ID="Freemind_Link_1380544593" MODIFIED="1183832839562" STYLE="fork" TEXT="&apos;or&apos;"/>
+<node CREATED="1183832854984" ID="Freemind_Link_133725732" MODIFIED="1183832860531" STYLE="fork" TEXT="&apos;and&apos;"/>
+<node CREATED="1183832996875" ID="Freemind_Link_1676215401" MODIFIED="1183833000875" STYLE="fork" TEXT="&apos;not&apos;"/>
+<node CREATED="1183833016812" ID="Freemind_Link_302051494" MODIFIED="1183833019546" TEXT="&apos;exists&apos;"/>
+<node CREATED="1183833024546" ID="Freemind_Link_255517917" MODIFIED="1183833028265" TEXT="&apos;forall&apos;"/>
+<node CREATED="1183855718281" ID="Freemind_Link_1388405971" MODIFIED="1183855722703" TEXT="&apos;accumulate&apos;"/>
+<node CREATED="1183855727390" ID="Freemind_Link_1115058684" MODIFIED="1183855735890" TEXT="&apos;collect&apos;"/>
+<node CREATED="1183855738109" ID="Freemind_Link_1543712627" MODIFIED="1183855741140" TEXT="&apos;from&apos;"/>
+</node>
+<node CREATED="1183855748906" ID="Freemind_Link_492955927" MODIFIED="1183855761500" TEXT="dialects">
+<node CREATED="1183855763718" ID="Freemind_Link_1713462662" MODIFIED="1183855765515" TEXT="Java"/>
+<node CREATED="1183855767359" ID="Freemind_Link_248269880" MODIFIED="1183855771312" TEXT="MVEL"/>
+</node>
+</node>
+<node CREATED="1183832933781" HGAP="-84" ID="Freemind_Link_1144464740" MODIFIED="1183901568265" POSITION="right" TEXT="Event Model" VSHIFT="428">
+<cloud/>
+<node CREATED="1183833445000" ID="Freemind_Link_828801058" MODIFIED="1183833454015" TEXT="WorkingMemoryEventListener"/>
+<node CREATED="1183833455359" ID="Freemind_Link_1551195634" MODIFIED="1183833459890" TEXT="AgendaEventListener"/>
+<node CREATED="1183833460703" ID="Freemind_Link_823505752" MODIFIED="1183833471062" TEXT="RuleFlowEventListener"/>
+</node>
+<node CREATED="1183832949218" HGAP="80" ID="Freemind_Link_248861333" MODIFIED="1183901441000" POSITION="right" TEXT="Working Memory" VSHIFT="-5">
+<cloud/>
+<node CREATED="1183832817171" HGAP="30" ID="Freemind_Link_1791382073" MODIFIED="1183863473734" TEXT="Agenda" VSHIFT="-16">
+<node CREATED="1183832723656" ID="_" MODIFIED="1183832729062" STYLE="fork" TEXT="Conflict Resolution"/>
+<node CREATED="1183863423250" ID="Freemind_Link_1751405497" MODIFIED="1183863429796" TEXT="Agenda Filters"/>
+</node>
+<node CREATED="1183836540484" ID="Freemind_Link_531729716" MODIFIED="1183836546562" TEXT="Working Memory Actions">
+<node CREATED="1183836548718" ID="Freemind_Link_596024985" MODIFIED="1183836552546" TEXT="Insert"/>
+<node CREATED="1183836554203" ID="Freemind_Link_338994460" MODIFIED="1183836556812" TEXT="Retract"/>
+<node CREATED="1183836562812" ID="Freemind_Link_35904310" MODIFIED="1183836565546" TEXT="Update"/>
+</node>
+<node CREATED="1183863443796" ID="Freemind_Link_206694522" MODIFIED="1183863448734" TEXT="Stateless Sessions"/>
+<node CREATED="1183863449328" HGAP="25" ID="Freemind_Link_230476364" MODIFIED="1183863476328" TEXT="Stateful Sessions" VSHIFT="42"/>
+</node>
+<node CREATED="1183863273406" HGAP="383" ID="Freemind_Link_902152893" MODIFIED="1183901427156" POSITION="right" TEXT="BRMS" VSHIFT="-112">
+<cloud/>
+</node>
+<node CREATED="1183863324171" HGAP="85" ID="Freemind_Link_937616124" MODIFIED="1183901498359" POSITION="right" TEXT="Execution" VSHIFT="10">
+<cloud/>
+<node CREATED="1183833383546" HGAP="155" ID="Freemind_Link_1689798977" MODIFIED="1183863385953" TEXT="Execution Behaviour" VSHIFT="7">
+<node CREATED="1183833657359" ID="Freemind_Link_1054362582" MODIFIED="1183833662265" TEXT="Pattern Matching"/>
+<node CREATED="1183833397812" ID="Freemind_Link_581322552" MODIFIED="1183833406921" TEXT="Recursion"/>
+<node CREATED="1183833408312" ID="Freemind_Link_1236929690" MODIFIED="1183833418453" TEXT="Cross Products">
+<node CREATED="1183834675203" ID="Freemind_Link_1613731113" MODIFIED="1183836333843" TEXT="Matching"/>
+</node>
+</node>
+<node CREATED="1183833155281" HGAP="171" ID="Freemind_Link_413542286" MODIFIED="1183863389609" TEXT="Execution Control" VSHIFT="40">
+<node CREATED="1183833340546" ID="Freemind_Link_1423744179" MODIFIED="1183833344265" TEXT="Salience"/>
+<node CREATED="1183833162687" ID="Freemind_Link_1002286117" MODIFIED="1183833300218" TEXT="Rule Flow Groups"/>
+<node CREATED="1183833194921" ID="Freemind_Link_151362928" MODIFIED="1183833206640" TEXT="Agenda Groups"/>
+<node CREATED="1183833213000" ID="Freemind_Link_1849239187" MODIFIED="1183833218484" TEXT="Activation Groups"/>
+<node CREATED="1183833325312" ID="Freemind_Link_1282976401" MODIFIED="1183833333734" TEXT="Semaphores"/>
+<node CREATED="1183833241593" ID="Freemind_Link_1812636782" MODIFIED="1183833305796" TEXT="No Loop"/>
+<node CREATED="1183833219375" ID="Freemind_Link_1568224009" MODIFIED="1183833314484" TEXT="Lock on Activate"/>
+</node>
+</node>
+<node CREATED="1183848341562" HGAP="65" ID="Freemind_Link_132623447" MODIFIED="1183901488265" POSITION="right" TEXT="Truth Maintenance" VSHIFT="-29">
+<cloud/>
+<node CREATED="1183848355328" HGAP="21" ID="Freemind_Link_459968689" MODIFIED="1183848368562" TEXT="Logical Assertions" VSHIFT="49"/>
+</node>
+<node CREATED="1183853368250" HGAP="168" ID="Freemind_Link_1864864371" MODIFIED="1183901558796" POSITION="left" TEXT="Authoring" VSHIFT="-7">
+<cloud/>
+<node CREATED="1183853467875" ID="Freemind_Link_633357908" MODIFIED="1183853470656" TEXT="DRL"/>
+<node CREATED="1183853375656" ID="Freemind_Link_198567497" MODIFIED="1183853480140" TEXT="DSLR"/>
+<node CREATED="1183853387875" ID="Freemind_Link_686756331" MODIFIED="1183853396421" TEXT="Guided Editor"/>
+<node CREATED="1183853381875" ID="Freemind_Link_302805738" MODIFIED="1183853387250" TEXT="Decision Tables"/>
+<node CREATED="1183854947093" ID="Freemind_Link_1194359296" MODIFIED="1183854953687" TEXT="Decision Trees"/>
+<node CREATED="1183854954546" ID="Freemind_Link_1294422394" MODIFIED="1183854959031" TEXT="Score Cards"/>
+</node>
+<node CREATED="1183854967437" HGAP="52" ID="Freemind_Link_449246094" MODIFIED="1183901482515" POSITION="right" TEXT="Belief Systems" VSHIFT="-10">
+<cloud/>
+<node CREATED="1183855697093" ID="Freemind_Link_998204143" MODIFIED="1183855702734" TEXT="Fuzzy Logic"/>
+</node>
+<node CREATED="1183855455828" HGAP="50" ID="Freemind_Link_1973486813" MODIFIED="1183901551359" POSITION="left" TEXT="Eclipse IDE" VSHIFT="-176">
+<cloud/>
+<node CREATED="1183855519375" ID="Freemind_Link_1678318207" MODIFIED="1183855543921" TEXT="DRL Editor">
+<node CREATED="1183863250859" ID="Freemind_Link_187994437" MODIFIED="1183863265437" TEXT="Context Assist"/>
+</node>
+<node CREATED="1183855495500" ID="Freemind_Link_1029964825" MODIFIED="1183855499421" TEXT="Rule Flow"/>
+<node CREATED="1183855510875" ID="Freemind_Link_636688110" MODIFIED="1183855517250" TEXT="Guided Editor"/>
+<node CREATED="1183855474078" ID="Freemind_Link_1895865224" MODIFIED="1183862846578" TEXT="Debug" VSHIFT="44">
+<node CREATED="1183855588140" ID="Freemind_Link_1713249504" MODIFIED="1183855598781" TEXT="Breakpoints"/>
+<node CREATED="1183855599328" ID="Freemind_Link_208481784" MODIFIED="1183855606062" TEXT="Viiews">
+<node CREATED="1183855607718" ID="Freemind_Link_1814080488" MODIFIED="1183855613265" TEXT="Working Memoiry View"/>
+<node CREATED="1183855613828" ID="Freemind_Link_139639601" MODIFIED="1183855616312" TEXT="Agenda View"/>
+<node CREATED="1183855617765" ID="Freemind_Link_1968645410" MODIFIED="1183855620875" TEXT="Globals"/>
+<node CREATED="1183855622046" ID="Freemind_Link_77694375" MODIFIED="1183855641296" TEXT="Audit View"/>
+</node>
+</node>
+</node>
+<node CREATED="1183862856250" HGAP="-12" ID="Freemind_Link_303917658" MODIFIED="1183901467187" POSITION="right" TEXT="Rule Agent" VSHIFT="-385">
+<cloud/>
+<node CREATED="1183862870703" ID="Freemind_Link_1085572943" MODIFIED="1183862881250" TEXT="Loading from Disk"/>
+<node CREATED="1183862882109" ID="Freemind_Link_737312092" MODIFIED="1183862886656" TEXT="Loading from ClassPath"/>
+<node CREATED="1183862888093" ID="Freemind_Link_857831131" MODIFIED="1183862892796" TEXT="Loading from URL"/>
+<node CREATED="1183862896078" ID="Freemind_Link_410025772" MODIFIED="1183862921640" TEXT="Auto update interval checks"/>
+</node>
+</node>
+</map>


Property changes on: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/map.mm
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/visorFreemind.swf
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/mindmap/drools.html_files/visorFreemind.swf
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/mindmap/drools.mm
===================================================================
--- labs/jbossrules/trunk/drools-docs/mindmap/drools.mm	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/mindmap/drools.mm	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,149 @@
+<map version="0.9.0_Beta_8">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1183832698515" ID="Freemind_Link_1073969978" MODIFIED="1183910314578" TEXT="Drools">
+<node CREATED="1183832943750" HGAP="191" ID="Freemind_Link_33416065" MODIFIED="1183901302015" POSITION="left" TEXT="Rule Base" VSHIFT="207">
+<cloud/>
+<node CREATED="1183863759609" ID="Freemind_Link_1296880525" MODIFIED="1183863761109" TEXT="Rete"/>
+</node>
+<node CREATED="1183832746093" HGAP="81" ID="Freemind_Link_669795590" MODIFIED="1183901564203" POSITION="left" TEXT="Language" VSHIFT="-8">
+<cloud/>
+<node CREATED="1183832770687" HGAP="41" ID="Freemind_Link_517709211" MODIFIED="1183853523156" STYLE="fork" VSHIFT="-44">
+<richcontent TYPE="NODE"><html>
+  <head>
+    <style type="text/css">
+      <!--
+        p { margin-top: 0 }
+      -->
+    </style>
+    
+  </head>
+  <body>
+    <p style="text-align: center">
+      Conditional
+    </p>
+    <p style="text-align: center">
+      Elements
+    </p>
+  </body>
+</html>
+</richcontent>
+<node CREATED="1183832825125" ID="Freemind_Link_760771781" MODIFIED="1183832828093" STYLE="fork" TEXT="Pattern">
+<node CREATED="1183832830140" ID="Freemind_Link_747179825" MODIFIED="1183832834125" TEXT="Field Constraints">
+<node CREATED="1183863489937" ID="Freemind_Link_515329075" MODIFIED="1183901310187" TEXT="Litera Field Constrant"/>
+<node CREATED="1183863497187" ID="Freemind_Link_787693335" MODIFIED="1183863502312" TEXT="Variable Field Constraint"/>
+<node CREATED="1183863502859" ID="Freemind_Link_1715412752" MODIFIED="1183863509953" TEXT="Return Value Field Constraint"/>
+<node CREATED="1183863511312" ID="Freemind_Link_1847384863" MODIFIED="1183863524250" TEXT="inline-eval Constraint"/>
+<node CREATED="1183863553656" ID="Freemind_Link_46994851" MODIFIED="1183863558656" TEXT="connectives">
+<node CREATED="1183863560531" ID="Freemind_Link_874199161" MODIFIED="1183863570328" TEXT="conjuctive &apos;&amp;&amp;&apos;"/>
+<node CREATED="1183863570671" ID="Freemind_Link_499942646" MODIFIED="1183863577171" TEXT="disjuectionve &apos;||&apos;"/>
+</node>
+<node CREATED="1183863603906" ID="Freemind_Link_1764807838" MODIFIED="1183863610718" TEXT="Sepcial Operator">
+<node CREATED="1183863612156" ID="Freemind_Link_919273354" MODIFIED="1183863614859" TEXT="matches"/>
+<node CREATED="1183863617156" ID="Freemind_Link_869583570" MODIFIED="1183863618390" TEXT="in"/>
+<node CREATED="1183863619468" ID="Freemind_Link_553103240" MODIFIED="1183863620984" TEXT="not in"/>
+<node CREATED="1183863621609" ID="Freemind_Link_1455487968" MODIFIED="1183863634312" TEXT="memberof"/>
+<node CREATED="1183863635062" ID="Freemind_Link_479393124" MODIFIED="1183863638875" TEXT="not memberof"/>
+</node>
+<node CREATED="1183863670281" ID="Freemind_Link_1388808392" MODIFIED="1183863694062" TEXT="Nested Accessors"/>
+</node>
+</node>
+<node CREATED="1183863531203" ID="Freemind_Link_1230224564" MODIFIED="1183863534843" TEXT="&apos;eval&apos;"/>
+<node CREATED="1183832836437" ID="Freemind_Link_1380544593" MODIFIED="1183832839562" STYLE="fork" TEXT="&apos;or&apos;"/>
+<node CREATED="1183832854984" ID="Freemind_Link_133725732" MODIFIED="1183832860531" STYLE="fork" TEXT="&apos;and&apos;"/>
+<node CREATED="1183832996875" ID="Freemind_Link_1676215401" MODIFIED="1183833000875" STYLE="fork" TEXT="&apos;not&apos;"/>
+<node CREATED="1183833016812" ID="Freemind_Link_302051494" MODIFIED="1183833019546" TEXT="&apos;exists&apos;"/>
+<node CREATED="1183833024546" ID="Freemind_Link_255517917" MODIFIED="1183833028265" TEXT="&apos;forall&apos;"/>
+<node CREATED="1183855718281" ID="Freemind_Link_1388405971" MODIFIED="1183855722703" TEXT="&apos;accumulate&apos;"/>
+<node CREATED="1183855727390" ID="Freemind_Link_1115058684" MODIFIED="1183855735890" TEXT="&apos;collect&apos;"/>
+<node CREATED="1183855738109" ID="Freemind_Link_1543712627" MODIFIED="1183855741140" TEXT="&apos;from&apos;"/>
+</node>
+<node CREATED="1183855748906" ID="Freemind_Link_492955927" MODIFIED="1183855761500" TEXT="dialects">
+<node CREATED="1183855763718" ID="Freemind_Link_1713462662" MODIFIED="1183855765515" TEXT="Java"/>
+<node CREATED="1183855767359" ID="Freemind_Link_248269880" MODIFIED="1183855771312" TEXT="MVEL"/>
+</node>
+</node>
+<node CREATED="1183832933781" HGAP="-84" ID="Freemind_Link_1144464740" MODIFIED="1183901568265" POSITION="right" TEXT="Event Model" VSHIFT="428">
+<cloud/>
+<node CREATED="1183833445000" ID="Freemind_Link_828801058" MODIFIED="1183833454015" TEXT="WorkingMemoryEventListener"/>
+<node CREATED="1183833455359" ID="Freemind_Link_1551195634" MODIFIED="1183833459890" TEXT="AgendaEventListener"/>
+<node CREATED="1183833460703" ID="Freemind_Link_823505752" MODIFIED="1183833471062" TEXT="RuleFlowEventListener"/>
+</node>
+<node CREATED="1183832949218" HGAP="80" ID="Freemind_Link_248861333" MODIFIED="1183901441000" POSITION="right" TEXT="Working Memory" VSHIFT="-5">
+<cloud/>
+<node CREATED="1183832817171" HGAP="30" ID="Freemind_Link_1791382073" MODIFIED="1183863473734" TEXT="Agenda" VSHIFT="-16">
+<node CREATED="1183832723656" ID="_" MODIFIED="1183832729062" STYLE="fork" TEXT="Conflict Resolution"/>
+<node CREATED="1183863423250" ID="Freemind_Link_1751405497" MODIFIED="1183863429796" TEXT="Agenda Filters"/>
+</node>
+<node CREATED="1183836540484" ID="Freemind_Link_531729716" MODIFIED="1183836546562" TEXT="Working Memory Actions">
+<node CREATED="1183836548718" ID="Freemind_Link_596024985" MODIFIED="1183836552546" TEXT="Insert"/>
+<node CREATED="1183836554203" ID="Freemind_Link_338994460" MODIFIED="1183836556812" TEXT="Retract"/>
+<node CREATED="1183836562812" ID="Freemind_Link_35904310" MODIFIED="1183836565546" TEXT="Update"/>
+</node>
+<node CREATED="1183863443796" ID="Freemind_Link_206694522" MODIFIED="1183863448734" TEXT="Stateless Sessions"/>
+<node CREATED="1183863449328" HGAP="25" ID="Freemind_Link_230476364" MODIFIED="1183863476328" TEXT="Stateful Sessions" VSHIFT="42"/>
+</node>
+<node CREATED="1183863273406" HGAP="383" ID="Freemind_Link_902152893" MODIFIED="1183901427156" POSITION="right" TEXT="BRMS" VSHIFT="-112">
+<cloud/>
+</node>
+<node CREATED="1183863324171" HGAP="85" ID="Freemind_Link_937616124" MODIFIED="1183901498359" POSITION="right" TEXT="Execution" VSHIFT="10">
+<cloud/>
+<node CREATED="1183833383546" HGAP="155" ID="Freemind_Link_1689798977" MODIFIED="1183863385953" TEXT="Execution Behaviour" VSHIFT="7">
+<node CREATED="1183833657359" ID="Freemind_Link_1054362582" MODIFIED="1183833662265" TEXT="Pattern Matching"/>
+<node CREATED="1183833397812" ID="Freemind_Link_581322552" MODIFIED="1183833406921" TEXT="Recursion"/>
+<node CREATED="1183833408312" ID="Freemind_Link_1236929690" MODIFIED="1183833418453" TEXT="Cross Products">
+<node CREATED="1183834675203" ID="Freemind_Link_1613731113" MODIFIED="1183836333843" TEXT="Matching"/>
+</node>
+</node>
+<node CREATED="1183833155281" HGAP="171" ID="Freemind_Link_413542286" MODIFIED="1183863389609" TEXT="Execution Control" VSHIFT="40">
+<node CREATED="1183833340546" ID="Freemind_Link_1423744179" MODIFIED="1183833344265" TEXT="Salience"/>
+<node CREATED="1183833162687" ID="Freemind_Link_1002286117" MODIFIED="1183833300218" TEXT="Rule Flow Groups"/>
+<node CREATED="1183833194921" ID="Freemind_Link_151362928" MODIFIED="1183833206640" TEXT="Agenda Groups"/>
+<node CREATED="1183833213000" ID="Freemind_Link_1849239187" MODIFIED="1183833218484" TEXT="Activation Groups"/>
+<node CREATED="1183833325312" ID="Freemind_Link_1282976401" MODIFIED="1183833333734" TEXT="Semaphores"/>
+<node CREATED="1183833241593" ID="Freemind_Link_1812636782" MODIFIED="1183833305796" TEXT="No Loop"/>
+<node CREATED="1183833219375" ID="Freemind_Link_1568224009" MODIFIED="1183833314484" TEXT="Lock on Activate"/>
+</node>
+</node>
+<node CREATED="1183848341562" HGAP="65" ID="Freemind_Link_132623447" MODIFIED="1183901488265" POSITION="right" TEXT="Truth Maintenance" VSHIFT="-29">
+<cloud/>
+<node CREATED="1183848355328" HGAP="21" ID="Freemind_Link_459968689" MODIFIED="1183848368562" TEXT="Logical Assertions" VSHIFT="49"/>
+</node>
+<node CREATED="1183853368250" HGAP="168" ID="Freemind_Link_1864864371" MODIFIED="1183901558796" POSITION="left" TEXT="Authoring" VSHIFT="-7">
+<cloud/>
+<node CREATED="1183853467875" ID="Freemind_Link_633357908" MODIFIED="1183853470656" TEXT="DRL"/>
+<node CREATED="1183853375656" ID="Freemind_Link_198567497" MODIFIED="1183853480140" TEXT="DSLR"/>
+<node CREATED="1183853387875" ID="Freemind_Link_686756331" MODIFIED="1183853396421" TEXT="Guided Editor"/>
+<node CREATED="1183853381875" ID="Freemind_Link_302805738" MODIFIED="1183853387250" TEXT="Decision Tables"/>
+<node CREATED="1183854947093" ID="Freemind_Link_1194359296" MODIFIED="1183854953687" TEXT="Decision Trees"/>
+<node CREATED="1183854954546" ID="Freemind_Link_1294422394" MODIFIED="1183854959031" TEXT="Score Cards"/>
+</node>
+<node CREATED="1183854967437" HGAP="52" ID="Freemind_Link_449246094" MODIFIED="1183901482515" POSITION="right" TEXT="Belief Systems" VSHIFT="-10">
+<cloud/>
+<node CREATED="1183855697093" ID="Freemind_Link_998204143" MODIFIED="1183855702734" TEXT="Fuzzy Logic"/>
+</node>
+<node CREATED="1183855455828" HGAP="50" ID="Freemind_Link_1973486813" MODIFIED="1183901551359" POSITION="left" TEXT="Eclipse IDE" VSHIFT="-176">
+<cloud/>
+<node CREATED="1183855519375" ID="Freemind_Link_1678318207" MODIFIED="1183855543921" TEXT="DRL Editor">
+<node CREATED="1183863250859" ID="Freemind_Link_187994437" MODIFIED="1183863265437" TEXT="Context Assist"/>
+</node>
+<node CREATED="1183855495500" ID="Freemind_Link_1029964825" MODIFIED="1183855499421" TEXT="Rule Flow"/>
+<node CREATED="1183855510875" ID="Freemind_Link_636688110" MODIFIED="1183855517250" TEXT="Guided Editor"/>
+<node CREATED="1183855474078" ID="Freemind_Link_1895865224" MODIFIED="1183862846578" TEXT="Debug" VSHIFT="44">
+<node CREATED="1183855588140" ID="Freemind_Link_1713249504" MODIFIED="1183855598781" TEXT="Breakpoints"/>
+<node CREATED="1183855599328" ID="Freemind_Link_208481784" MODIFIED="1183855606062" TEXT="Viiews">
+<node CREATED="1183855607718" ID="Freemind_Link_1814080488" MODIFIED="1183855613265" TEXT="Working Memoiry View"/>
+<node CREATED="1183855613828" ID="Freemind_Link_139639601" MODIFIED="1183855616312" TEXT="Agenda View"/>
+<node CREATED="1183855617765" ID="Freemind_Link_1968645410" MODIFIED="1183855620875" TEXT="Globals"/>
+<node CREATED="1183855622046" ID="Freemind_Link_77694375" MODIFIED="1183855641296" TEXT="Audit View"/>
+</node>
+</node>
+</node>
+<node CREATED="1183862856250" HGAP="-12" ID="Freemind_Link_303917658" MODIFIED="1183901467187" POSITION="right" TEXT="Rule Agent" VSHIFT="-385">
+<cloud/>
+<node CREATED="1183862870703" ID="Freemind_Link_1085572943" MODIFIED="1183862881250" TEXT="Loading from Disk"/>
+<node CREATED="1183862882109" ID="Freemind_Link_737312092" MODIFIED="1183862886656" TEXT="Loading from ClassPath"/>
+<node CREATED="1183862888093" ID="Freemind_Link_857831131" MODIFIED="1183862892796" TEXT="Loading from URL"/>
+<node CREATED="1183862896078" ID="Freemind_Link_410025772" MODIFIED="1183862921640" TEXT="Auto update interval checks"/>
+</node>
+</node>
+</map>


Property changes on: labs/jbossrules/trunk/drools-docs/mindmap/drools.mm
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossrules/trunk/drools-docs/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/pom.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/pom.xml	2008-11-05 20:27:32 UTC (rev 23727)
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>drools</artifactId>
+		<groupId>org.drools</groupId>
+		<version>5.0.0.SNAPSHOT</version>
+	</parent>
+
+	<artifactId>drools-docs</artifactId>
+	<packaging>pom</packaging>
+	<name>Drools :: Documentation</name>
+
+	<modules>
+		<module>docbook-xsl-drools</module>
+		<module>drools-docs-introduction</module>
+		<module>drools-docs-expert</module>
+		<module>drools-docs-flow</module>		
+	  <module>drools-docs-fusion</module>
+		<module>drools-docs-guvnor</module>
+		<module>drools-docs-solver</module>
+	</modules>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>docbook-xsl-drools</artifactId>
+				<version>1.1.0</version>
+			</dependency>
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-introduction</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-introduction</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-flow</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-fusion</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-guvnor</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-docs-solver</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.jboss.maven.plugins</groupId>
+				<artifactId>maven-jdocbook-plugin</artifactId>
+				<version>2.1.2</version>
+				<extensions>true</extensions>
+				<dependencies>
+					<dependency>
+						<groupId>org.drools</groupId>
+						<artifactId>docbook-xsl-drools</artifactId>
+						<version>1.1.0</version>
+					</dependency>
+					<dependency>
+						<groupId>org.jboss</groupId>
+						<artifactId>jbossorg-jdocbook-style</artifactId>
+						<version>1.1.0</version>
+						<type>jdocbook-style</type>
+					</dependency>
+				</dependencies>
+
+				<configuration>
+					<sourceDocumentName>master.xml</sourceDocumentName>
+					<masterTranslation>en-US</masterTranslation>
+					<translations>
+						<!--
+							<translation>es-ES</translation> <translation>fr-FR</translation>
+							<translation>ja-JP</translation> <translation>ko-KR</translation>
+							<translation>pt-BR</translation> <translation>zh-CN</translation>
+						-->
+					</translations>
+					<imageResource>
+						<directory>${basedir}/src/main/docbook</directory>
+						<includes>
+						<include>images/</include>
+						</includes>
+						<!-- <excludes>
+							<exclude>*.xml</exclude>
+							<exclude>**/*.xml</exclude>
+							<exclude>*.html</exclude>
+							<exclude>**/*.html</exclude>
+						</excludes> -->
+					</imageResource>
+					<formats>
+						<format>
+							<formatName>pdf</formatName>
+							<stylesheetResource>classpath:/org/jboss/pdf.xsl</stylesheetResource>
+							<finalName>${artifactId}.pdf</finalName>
+							<!-- <profilingTypeName>two_pass</profilingTypeName> -->
+						</format>
+						<format>
+							<formatName>html_single</formatName>
+							<stylesheetResource>classpath:/org/jboss/xhtml-single.xsl</stylesheetResource>
+							<finalName>index.html</finalName>
+							<!-- <profilingTypeName>two_pass</profilingTypeName> -->
+						</format>
+
+						<format>
+							<formatName>html</formatName>
+							<stylesheetResource>classpath:/org/jboss/xhtml.xsl</stylesheetResource>
+							<finalName>index.html</finalName>
+							<!-- <profilingTypeName>two_pass</profilingTypeName> -->
+						</format>
+
+						<format>
+							<formatName>eclipse</formatName>
+							<stylesheetResource>classpath:/org/jboss/eclipse.xsl</stylesheetResource>
+							<finalName>index.html</finalName>
+							<!-- <profilingTypeName>two_pass</profilingTypeName> -->
+						</format>
+					</formats>
+					<options>
+						<xmlTransformerType>saxon</xmlTransformerType>
+						<xincludeSupported>true</xincludeSupported>
+						<!-- <localeSeparator>-</localeSeparator> -->
+						<useRelativeImageUris>false</useRelativeImageUris>
+					</options>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>


Property changes on: labs/jbossrules/trunk/drools-docs/pom.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain




More information about the jboss-svn-commits mailing list